packages feed

vulkan-api 1.2.0.0 → 1.3.0.0

raw patch · 272 files changed

+68252/−138548 lines, 272 files

Files

src-gen/Graphics/Vulkan/Core_1_0.hsc view
@@ -34,29948 +34,30331 @@         --          -- ** API constants-        module Graphics.Vulkan.Types.Enum.Pipeline,-        pattern VK_LOD_CLAMP_NONE, pattern VK_REMAINING_MIP_LEVELS,-        pattern VK_REMAINING_ARRAY_LAYERS, pattern VK_WHOLE_SIZE,-        pattern VK_ATTACHMENT_UNUSED, pattern VK_TRUE, pattern VK_FALSE,-        pattern VK_QUEUE_FAMILY_IGNORED, pattern VK_SUBPASS_EXTERNAL,-        -- ** Device initialization-        VkCreateInstance, pattern VkCreateInstance, HS_vkCreateInstance,-        PFN_vkCreateInstance, vkCreateInstance, vkCreateInstanceUnsafe,-        vkCreateInstanceSafe, VkDestroyInstance, pattern VkDestroyInstance,-        HS_vkDestroyInstance, PFN_vkDestroyInstance, vkDestroyInstance,-        vkDestroyInstanceUnsafe, vkDestroyInstanceSafe,-        VkEnumeratePhysicalDevices, pattern VkEnumeratePhysicalDevices,-        HS_vkEnumeratePhysicalDevices, PFN_vkEnumeratePhysicalDevices,-        vkEnumeratePhysicalDevices, vkEnumeratePhysicalDevicesUnsafe,-        vkEnumeratePhysicalDevicesSafe, VkGetPhysicalDeviceFeatures,-        pattern VkGetPhysicalDeviceFeatures,-        HS_vkGetPhysicalDeviceFeatures, PFN_vkGetPhysicalDeviceFeatures,-        vkGetPhysicalDeviceFeatures, vkGetPhysicalDeviceFeaturesUnsafe,-        vkGetPhysicalDeviceFeaturesSafe,-        VkGetPhysicalDeviceFormatProperties,-        pattern VkGetPhysicalDeviceFormatProperties,-        HS_vkGetPhysicalDeviceFormatProperties,-        PFN_vkGetPhysicalDeviceFormatProperties,-        vkGetPhysicalDeviceFormatProperties,-        vkGetPhysicalDeviceFormatPropertiesUnsafe,-        vkGetPhysicalDeviceFormatPropertiesSafe,-        VkGetPhysicalDeviceImageFormatProperties,-        pattern VkGetPhysicalDeviceImageFormatProperties,-        HS_vkGetPhysicalDeviceImageFormatProperties,-        PFN_vkGetPhysicalDeviceImageFormatProperties,-        vkGetPhysicalDeviceImageFormatProperties,-        vkGetPhysicalDeviceImageFormatPropertiesUnsafe,-        vkGetPhysicalDeviceImageFormatPropertiesSafe,-        VkGetPhysicalDeviceProperties,-        pattern VkGetPhysicalDeviceProperties,-        HS_vkGetPhysicalDeviceProperties,-        PFN_vkGetPhysicalDeviceProperties, vkGetPhysicalDeviceProperties,-        vkGetPhysicalDevicePropertiesUnsafe,-        vkGetPhysicalDevicePropertiesSafe,-        VkGetPhysicalDeviceQueueFamilyProperties,-        pattern VkGetPhysicalDeviceQueueFamilyProperties,-        HS_vkGetPhysicalDeviceQueueFamilyProperties,-        PFN_vkGetPhysicalDeviceQueueFamilyProperties,-        vkGetPhysicalDeviceQueueFamilyProperties,-        vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe,-        vkGetPhysicalDeviceQueueFamilyPropertiesSafe,-        VkGetPhysicalDeviceMemoryProperties,-        pattern VkGetPhysicalDeviceMemoryProperties,-        HS_vkGetPhysicalDeviceMemoryProperties,-        PFN_vkGetPhysicalDeviceMemoryProperties,-        vkGetPhysicalDeviceMemoryProperties,-        vkGetPhysicalDeviceMemoryPropertiesUnsafe,-        vkGetPhysicalDeviceMemoryPropertiesSafe, VkGetInstanceProcAddr,-        pattern VkGetInstanceProcAddr, HS_vkGetInstanceProcAddr,-        PFN_vkGetInstanceProcAddr, vkGetInstanceProcAddr,-        vkGetInstanceProcAddrUnsafe, vkGetInstanceProcAddrSafe,-        VkGetDeviceProcAddr, pattern VkGetDeviceProcAddr,-        HS_vkGetDeviceProcAddr, PFN_vkGetDeviceProcAddr,-        vkGetDeviceProcAddr, vkGetDeviceProcAddrUnsafe,-        vkGetDeviceProcAddrSafe, module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Bitmasks,-        module Graphics.Vulkan.Types.Enum.Format,-        module Graphics.Vulkan.Types.Enum.Image,-        module Graphics.Vulkan.Types.Enum.InternalAllocationType,-        module Graphics.Vulkan.Types.Enum.Memory,-        module Graphics.Vulkan.Types.Enum.PhysicalDeviceType,-        module Graphics.Vulkan.Types.Enum.Queue,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Enum.SampleCountFlags,-        module Graphics.Vulkan.Types.Enum.StructureType,-        module Graphics.Vulkan.Types.Enum.SystemAllocationScope,-        module Graphics.Vulkan.Types.Funcpointers,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.AllocationCallbacks,-        module Graphics.Vulkan.Types.Struct.ApplicationInfo,-        module Graphics.Vulkan.Types.Struct.Extent,-        module Graphics.Vulkan.Types.Struct.FormatProperties,-        module Graphics.Vulkan.Types.Struct.Image,-        module Graphics.Vulkan.Types.Struct.InstanceCreateInfo,-        module Graphics.Vulkan.Types.Struct.Memory,-        module Graphics.Vulkan.Types.Struct.PhysicalDevice,-        module Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures,-        module Graphics.Vulkan.Types.Struct.QueueFamilyProperties,-        -- ** Device commands-        VkCreateDevice, pattern VkCreateDevice, HS_vkCreateDevice,-        PFN_vkCreateDevice, vkCreateDevice, vkCreateDeviceUnsafe,-        vkCreateDeviceSafe, VkDestroyDevice, pattern VkDestroyDevice,-        HS_vkDestroyDevice, PFN_vkDestroyDevice, vkDestroyDevice,-        vkDestroyDeviceUnsafe, vkDestroyDeviceSafe,-        module Graphics.Vulkan.Types.Enum.Device,-        module Graphics.Vulkan.Types.Struct.Device,-        -- ** Extension discovery commands-        VkEnumerateInstanceExtensionProperties,-        pattern VkEnumerateInstanceExtensionProperties,-        HS_vkEnumerateInstanceExtensionProperties,-        PFN_vkEnumerateInstanceExtensionProperties,-        vkEnumerateInstanceExtensionProperties,-        vkEnumerateInstanceExtensionPropertiesUnsafe,-        vkEnumerateInstanceExtensionPropertiesSafe,-        VkEnumerateDeviceExtensionProperties,-        pattern VkEnumerateDeviceExtensionProperties,-        HS_vkEnumerateDeviceExtensionProperties,-        PFN_vkEnumerateDeviceExtensionProperties,-        vkEnumerateDeviceExtensionProperties,-        vkEnumerateDeviceExtensionPropertiesUnsafe,-        vkEnumerateDeviceExtensionPropertiesSafe,-        module Graphics.Vulkan.Types.Struct.ExtensionProperties,-        -- ** Layer discovery commands-        VkEnumerateInstanceLayerProperties,-        pattern VkEnumerateInstanceLayerProperties,-        HS_vkEnumerateInstanceLayerProperties,-        PFN_vkEnumerateInstanceLayerProperties,-        vkEnumerateInstanceLayerProperties,-        vkEnumerateInstanceLayerPropertiesUnsafe,-        vkEnumerateInstanceLayerPropertiesSafe,-        VkEnumerateDeviceLayerProperties,-        pattern VkEnumerateDeviceLayerProperties,-        HS_vkEnumerateDeviceLayerProperties,-        PFN_vkEnumerateDeviceLayerProperties,-        vkEnumerateDeviceLayerProperties,-        vkEnumerateDeviceLayerPropertiesUnsafe,-        vkEnumerateDeviceLayerPropertiesSafe,-        module Graphics.Vulkan.Types.Struct.LayerProperties,-        -- ** queue commands-        VkGetDeviceQueue, pattern VkGetDeviceQueue, HS_vkGetDeviceQueue,-        PFN_vkGetDeviceQueue, vkGetDeviceQueue, vkGetDeviceQueueUnsafe,-        vkGetDeviceQueueSafe, VkQueueSubmit, pattern VkQueueSubmit,-        HS_vkQueueSubmit, PFN_vkQueueSubmit, vkQueueSubmit,-        vkQueueSubmitUnsafe, vkQueueSubmitSafe, VkQueueWaitIdle,-        pattern VkQueueWaitIdle, HS_vkQueueWaitIdle, PFN_vkQueueWaitIdle,-        vkQueueWaitIdle, vkQueueWaitIdleUnsafe, vkQueueWaitIdleSafe,-        VkDeviceWaitIdle, pattern VkDeviceWaitIdle, HS_vkDeviceWaitIdle,-        PFN_vkDeviceWaitIdle, vkDeviceWaitIdle, vkDeviceWaitIdleUnsafe,-        vkDeviceWaitIdleSafe,-        module Graphics.Vulkan.Types.Struct.SubmitInfo, -- ** Memory commands-                                                        VkAllocateMemory,-        pattern VkAllocateMemory, HS_vkAllocateMemory,-        PFN_vkAllocateMemory, vkAllocateMemory, vkAllocateMemoryUnsafe,-        vkAllocateMemorySafe, VkFreeMemory, pattern VkFreeMemory,-        HS_vkFreeMemory, PFN_vkFreeMemory, vkFreeMemory,-        vkFreeMemoryUnsafe, vkFreeMemorySafe, VkMapMemory,-        pattern VkMapMemory, HS_vkMapMemory, PFN_vkMapMemory, vkMapMemory,-        vkMapMemoryUnsafe, vkMapMemorySafe, VkUnmapMemory,-        pattern VkUnmapMemory, HS_vkUnmapMemory, PFN_vkUnmapMemory,-        vkUnmapMemory, vkUnmapMemoryUnsafe, vkUnmapMemorySafe,-        VkFlushMappedMemoryRanges, pattern VkFlushMappedMemoryRanges,-        HS_vkFlushMappedMemoryRanges, PFN_vkFlushMappedMemoryRanges,-        vkFlushMappedMemoryRanges, vkFlushMappedMemoryRangesUnsafe,-        vkFlushMappedMemoryRangesSafe, VkInvalidateMappedMemoryRanges,-        pattern VkInvalidateMappedMemoryRanges,-        HS_vkInvalidateMappedMemoryRanges,-        PFN_vkInvalidateMappedMemoryRanges, vkInvalidateMappedMemoryRanges,-        vkInvalidateMappedMemoryRangesUnsafe,-        vkInvalidateMappedMemoryRangesSafe, VkGetDeviceMemoryCommitment,-        pattern VkGetDeviceMemoryCommitment,-        HS_vkGetDeviceMemoryCommitment, PFN_vkGetDeviceMemoryCommitment,-        vkGetDeviceMemoryCommitment, vkGetDeviceMemoryCommitmentUnsafe,-        vkGetDeviceMemoryCommitmentSafe,-        module Graphics.Vulkan.Types.Struct.MappedMemoryRange,-        -- ** Memory management API commands-        VkBindBufferMemory, pattern VkBindBufferMemory,-        HS_vkBindBufferMemory, PFN_vkBindBufferMemory, vkBindBufferMemory,-        vkBindBufferMemoryUnsafe, vkBindBufferMemorySafe,-        VkBindImageMemory, pattern VkBindImageMemory, HS_vkBindImageMemory,-        PFN_vkBindImageMemory, vkBindImageMemory, vkBindImageMemoryUnsafe,-        vkBindImageMemorySafe, VkGetBufferMemoryRequirements,-        pattern VkGetBufferMemoryRequirements,-        HS_vkGetBufferMemoryRequirements,-        PFN_vkGetBufferMemoryRequirements, vkGetBufferMemoryRequirements,-        vkGetBufferMemoryRequirementsUnsafe,-        vkGetBufferMemoryRequirementsSafe, VkGetImageMemoryRequirements,-        pattern VkGetImageMemoryRequirements,-        HS_vkGetImageMemoryRequirements, PFN_vkGetImageMemoryRequirements,-        vkGetImageMemoryRequirements, vkGetImageMemoryRequirementsUnsafe,-        vkGetImageMemoryRequirementsSafe,-        -- ** Sparse resource memory management API commands-        VkGetImageSparseMemoryRequirements,-        pattern VkGetImageSparseMemoryRequirements,-        HS_vkGetImageSparseMemoryRequirements,-        PFN_vkGetImageSparseMemoryRequirements,-        vkGetImageSparseMemoryRequirements,-        vkGetImageSparseMemoryRequirementsUnsafe,-        vkGetImageSparseMemoryRequirementsSafe,-        VkGetPhysicalDeviceSparseImageFormatProperties,-        pattern VkGetPhysicalDeviceSparseImageFormatProperties,-        HS_vkGetPhysicalDeviceSparseImageFormatProperties,-        PFN_vkGetPhysicalDeviceSparseImageFormatProperties,-        vkGetPhysicalDeviceSparseImageFormatProperties,-        vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe,-        vkGetPhysicalDeviceSparseImageFormatPropertiesSafe,-        VkQueueBindSparse, pattern VkQueueBindSparse, HS_vkQueueBindSparse,-        PFN_vkQueueBindSparse, vkQueueBindSparse, vkQueueBindSparseUnsafe,-        vkQueueBindSparseSafe, module Graphics.Vulkan.Types.Enum.Sparse,-        module Graphics.Vulkan.Types.Struct.Bind,-        module Graphics.Vulkan.Types.Struct.Offset,-        module Graphics.Vulkan.Types.Struct.Sparse, -- ** Fence commands-                                                    VkCreateFence,-        pattern VkCreateFence, HS_vkCreateFence, PFN_vkCreateFence,-        vkCreateFence, vkCreateFenceUnsafe, vkCreateFenceSafe,-        VkDestroyFence, pattern VkDestroyFence, HS_vkDestroyFence,-        PFN_vkDestroyFence, vkDestroyFence, vkDestroyFenceUnsafe,-        vkDestroyFenceSafe, VkResetFences, pattern VkResetFences,-        HS_vkResetFences, PFN_vkResetFences, vkResetFences,-        vkResetFencesUnsafe, vkResetFencesSafe, VkGetFenceStatus,-        pattern VkGetFenceStatus, HS_vkGetFenceStatus,-        PFN_vkGetFenceStatus, vkGetFenceStatus, vkGetFenceStatusUnsafe,-        vkGetFenceStatusSafe, VkWaitForFences, pattern VkWaitForFences,-        HS_vkWaitForFences, PFN_vkWaitForFences, vkWaitForFences,-        vkWaitForFencesUnsafe, vkWaitForFencesSafe,-        module Graphics.Vulkan.Types.Enum.Fence,-        module Graphics.Vulkan.Types.Struct.Fence, -- ** Queue semaphore commands-                                                   VkCreateSemaphore,-        pattern VkCreateSemaphore, HS_vkCreateSemaphore,-        PFN_vkCreateSemaphore, vkCreateSemaphore, vkCreateSemaphoreUnsafe,-        vkCreateSemaphoreSafe, VkDestroySemaphore,-        pattern VkDestroySemaphore, HS_vkDestroySemaphore,-        PFN_vkDestroySemaphore, vkDestroySemaphore,-        vkDestroySemaphoreUnsafe, vkDestroySemaphoreSafe,-        module Graphics.Vulkan.Types.Struct.Semaphore, -- ** Event commands-                                                       VkCreateEvent,-        pattern VkCreateEvent, HS_vkCreateEvent, PFN_vkCreateEvent,-        vkCreateEvent, vkCreateEventUnsafe, vkCreateEventSafe,-        VkDestroyEvent, pattern VkDestroyEvent, HS_vkDestroyEvent,-        PFN_vkDestroyEvent, vkDestroyEvent, vkDestroyEventUnsafe,-        vkDestroyEventSafe, VkGetEventStatus, pattern VkGetEventStatus,-        HS_vkGetEventStatus, PFN_vkGetEventStatus, vkGetEventStatus,-        vkGetEventStatusUnsafe, vkGetEventStatusSafe, VkSetEvent,-        pattern VkSetEvent, HS_vkSetEvent, PFN_vkSetEvent, vkSetEvent,-        vkSetEventUnsafe, vkSetEventSafe, VkResetEvent,-        pattern VkResetEvent, HS_vkResetEvent, PFN_vkResetEvent,-        vkResetEvent, vkResetEventUnsafe, vkResetEventSafe,-        module Graphics.Vulkan.Types.Struct.EventCreateInfo,-        -- ** Query commands-        VkCreateQueryPool, pattern VkCreateQueryPool, HS_vkCreateQueryPool,-        PFN_vkCreateQueryPool, vkCreateQueryPool, vkCreateQueryPoolUnsafe,-        vkCreateQueryPoolSafe, VkDestroyQueryPool,-        pattern VkDestroyQueryPool, HS_vkDestroyQueryPool,-        PFN_vkDestroyQueryPool, vkDestroyQueryPool,-        vkDestroyQueryPoolUnsafe, vkDestroyQueryPoolSafe,-        VkGetQueryPoolResults, pattern VkGetQueryPoolResults,-        HS_vkGetQueryPoolResults, PFN_vkGetQueryPoolResults,-        vkGetQueryPoolResults, vkGetQueryPoolResultsUnsafe,-        vkGetQueryPoolResultsSafe, module Graphics.Vulkan.Types.Enum.Query,-        module Graphics.Vulkan.Types.Struct.QueryPoolCreateInfo,-        -- ** Buffer commands-        VkCreateBuffer, pattern VkCreateBuffer, HS_vkCreateBuffer,-        PFN_vkCreateBuffer, vkCreateBuffer, vkCreateBufferUnsafe,-        vkCreateBufferSafe, VkDestroyBuffer, pattern VkDestroyBuffer,-        HS_vkDestroyBuffer, PFN_vkDestroyBuffer, vkDestroyBuffer,-        vkDestroyBufferUnsafe, vkDestroyBufferSafe,-        module Graphics.Vulkan.Types.Enum.Buffer,-        module Graphics.Vulkan.Types.Enum.SharingMode,-        module Graphics.Vulkan.Types.Struct.Buffer, -- ** Buffer view commands-                                                    VkCreateBufferView,-        pattern VkCreateBufferView, HS_vkCreateBufferView,-        PFN_vkCreateBufferView, vkCreateBufferView,-        vkCreateBufferViewUnsafe, vkCreateBufferViewSafe,-        VkDestroyBufferView, pattern VkDestroyBufferView,-        HS_vkDestroyBufferView, PFN_vkDestroyBufferView,-        vkDestroyBufferView, vkDestroyBufferViewUnsafe,-        vkDestroyBufferViewSafe, -- ** Image commands-                                 VkCreateImage, pattern VkCreateImage,-        HS_vkCreateImage, PFN_vkCreateImage, vkCreateImage,-        vkCreateImageUnsafe, vkCreateImageSafe, VkDestroyImage,-        pattern VkDestroyImage, HS_vkDestroyImage, PFN_vkDestroyImage,-        vkDestroyImage, vkDestroyImageUnsafe, vkDestroyImageSafe,-        VkGetImageSubresourceLayout, pattern VkGetImageSubresourceLayout,-        HS_vkGetImageSubresourceLayout, PFN_vkGetImageSubresourceLayout,-        vkGetImageSubresourceLayout, vkGetImageSubresourceLayoutUnsafe,-        vkGetImageSubresourceLayoutSafe,-        module Graphics.Vulkan.Types.Struct.SubresourceLayout,-        -- ** Image view commands-        VkCreateImageView, pattern VkCreateImageView, HS_vkCreateImageView,-        PFN_vkCreateImageView, vkCreateImageView, vkCreateImageViewUnsafe,-        vkCreateImageViewSafe, VkDestroyImageView,-        pattern VkDestroyImageView, HS_vkDestroyImageView,-        PFN_vkDestroyImageView, vkDestroyImageView,-        vkDestroyImageViewUnsafe, vkDestroyImageViewSafe,-        module Graphics.Vulkan.Types.Enum.ComponentSwizzle,-        module Graphics.Vulkan.Types.Struct.ComponentMapping,-        -- ** Shader commands-        VkCreateShaderModule, pattern VkCreateShaderModule,-        HS_vkCreateShaderModule, PFN_vkCreateShaderModule,-        vkCreateShaderModule, vkCreateShaderModuleUnsafe,-        vkCreateShaderModuleSafe, VkDestroyShaderModule,-        pattern VkDestroyShaderModule, HS_vkDestroyShaderModule,-        PFN_vkDestroyShaderModule, vkDestroyShaderModule,-        vkDestroyShaderModuleUnsafe, vkDestroyShaderModuleSafe,-        module Graphics.Vulkan.Types.Struct.Shader, -- ** Pipeline Cache commands-                                                    VkCreatePipelineCache,-        pattern VkCreatePipelineCache, HS_vkCreatePipelineCache,-        PFN_vkCreatePipelineCache, vkCreatePipelineCache,-        vkCreatePipelineCacheUnsafe, vkCreatePipelineCacheSafe,-        VkDestroyPipelineCache, pattern VkDestroyPipelineCache,-        HS_vkDestroyPipelineCache, PFN_vkDestroyPipelineCache,-        vkDestroyPipelineCache, vkDestroyPipelineCacheUnsafe,-        vkDestroyPipelineCacheSafe, VkGetPipelineCacheData,-        pattern VkGetPipelineCacheData, HS_vkGetPipelineCacheData,-        PFN_vkGetPipelineCacheData, vkGetPipelineCacheData,-        vkGetPipelineCacheDataUnsafe, vkGetPipelineCacheDataSafe,-        VkMergePipelineCaches, pattern VkMergePipelineCaches,-        HS_vkMergePipelineCaches, PFN_vkMergePipelineCaches,-        vkMergePipelineCaches, vkMergePipelineCachesUnsafe,-        vkMergePipelineCachesSafe,-        module Graphics.Vulkan.Types.Struct.Pipeline,-        -- ** Pipeline commands-        VkCreateGraphicsPipelines, pattern VkCreateGraphicsPipelines,-        HS_vkCreateGraphicsPipelines, PFN_vkCreateGraphicsPipelines,-        vkCreateGraphicsPipelines, vkCreateGraphicsPipelinesUnsafe,-        vkCreateGraphicsPipelinesSafe, VkCreateComputePipelines,-        pattern VkCreateComputePipelines, HS_vkCreateComputePipelines,-        PFN_vkCreateComputePipelines, vkCreateComputePipelines,-        vkCreateComputePipelinesUnsafe, vkCreateComputePipelinesSafe,-        VkDestroyPipeline, pattern VkDestroyPipeline, HS_vkDestroyPipeline,-        PFN_vkDestroyPipeline, vkDestroyPipeline, vkDestroyPipelineUnsafe,-        vkDestroyPipelineSafe, module Graphics.Vulkan.Types.Enum.Blend,-        module Graphics.Vulkan.Types.Enum.Color,-        module Graphics.Vulkan.Types.Enum.CompareOp,-        module Graphics.Vulkan.Types.Enum.CullModeFlags,-        module Graphics.Vulkan.Types.Enum.DynamicState,-        module Graphics.Vulkan.Types.Enum.FrontFace,-        module Graphics.Vulkan.Types.Enum.LogicOp,-        module Graphics.Vulkan.Types.Enum.PolygonMode,-        module Graphics.Vulkan.Types.Enum.PrimitiveTopology,-        module Graphics.Vulkan.Types.Enum.Shader,-        module Graphics.Vulkan.Types.Enum.Stencil,-        module Graphics.Vulkan.Types.Enum.VertexInputRate,-        module Graphics.Vulkan.Types.Struct.ComputePipelineCreateInfo,-        module Graphics.Vulkan.Types.Struct.Rect,-        module Graphics.Vulkan.Types.Struct.Specialization,-        module Graphics.Vulkan.Types.Struct.StencilOpState,-        module Graphics.Vulkan.Types.Struct.VertexInput,-        module Graphics.Vulkan.Types.Struct.Viewport,-        -- ** Pipeline layout commands-        VkCreatePipelineLayout, pattern VkCreatePipelineLayout,-        HS_vkCreatePipelineLayout, PFN_vkCreatePipelineLayout,-        vkCreatePipelineLayout, vkCreatePipelineLayoutUnsafe,-        vkCreatePipelineLayoutSafe, VkDestroyPipelineLayout,-        pattern VkDestroyPipelineLayout, HS_vkDestroyPipelineLayout,-        PFN_vkDestroyPipelineLayout, vkDestroyPipelineLayout,-        vkDestroyPipelineLayoutUnsafe, vkDestroyPipelineLayoutSafe,-        module Graphics.Vulkan.Types.Struct.PushConstantRange,-        -- ** Sampler commands-        VkCreateSampler, pattern VkCreateSampler, HS_vkCreateSampler,-        PFN_vkCreateSampler, vkCreateSampler, vkCreateSamplerUnsafe,-        vkCreateSamplerSafe, VkDestroySampler, pattern VkDestroySampler,-        HS_vkDestroySampler, PFN_vkDestroySampler, vkDestroySampler,-        vkDestroySamplerUnsafe, vkDestroySamplerSafe,-        module Graphics.Vulkan.Types.Enum.BorderColor,-        module Graphics.Vulkan.Types.Enum.Filter,-        module Graphics.Vulkan.Types.Enum.Sampler,-        module Graphics.Vulkan.Types.Struct.Sampler,-        -- ** Descriptor set commands-        VkCreateDescriptorSetLayout, pattern VkCreateDescriptorSetLayout,-        HS_vkCreateDescriptorSetLayout, PFN_vkCreateDescriptorSetLayout,-        vkCreateDescriptorSetLayout, vkCreateDescriptorSetLayoutUnsafe,-        vkCreateDescriptorSetLayoutSafe, VkDestroyDescriptorSetLayout,-        pattern VkDestroyDescriptorSetLayout,-        HS_vkDestroyDescriptorSetLayout, PFN_vkDestroyDescriptorSetLayout,-        vkDestroyDescriptorSetLayout, vkDestroyDescriptorSetLayoutUnsafe,-        vkDestroyDescriptorSetLayoutSafe, VkCreateDescriptorPool,-        pattern VkCreateDescriptorPool, HS_vkCreateDescriptorPool,-        PFN_vkCreateDescriptorPool, vkCreateDescriptorPool,-        vkCreateDescriptorPoolUnsafe, vkCreateDescriptorPoolSafe,-        VkDestroyDescriptorPool, pattern VkDestroyDescriptorPool,-        HS_vkDestroyDescriptorPool, PFN_vkDestroyDescriptorPool,-        vkDestroyDescriptorPool, vkDestroyDescriptorPoolUnsafe,-        vkDestroyDescriptorPoolSafe, VkResetDescriptorPool,-        pattern VkResetDescriptorPool, HS_vkResetDescriptorPool,-        PFN_vkResetDescriptorPool, vkResetDescriptorPool,-        vkResetDescriptorPoolUnsafe, vkResetDescriptorPoolSafe,-        VkAllocateDescriptorSets, pattern VkAllocateDescriptorSets,-        HS_vkAllocateDescriptorSets, PFN_vkAllocateDescriptorSets,-        vkAllocateDescriptorSets, vkAllocateDescriptorSetsUnsafe,-        vkAllocateDescriptorSetsSafe, VkFreeDescriptorSets,-        pattern VkFreeDescriptorSets, HS_vkFreeDescriptorSets,-        PFN_vkFreeDescriptorSets, vkFreeDescriptorSets,-        vkFreeDescriptorSetsUnsafe, vkFreeDescriptorSetsSafe,-        VkUpdateDescriptorSets, pattern VkUpdateDescriptorSets,-        HS_vkUpdateDescriptorSets, PFN_vkUpdateDescriptorSets,-        vkUpdateDescriptorSets, vkUpdateDescriptorSetsUnsafe,-        vkUpdateDescriptorSetsSafe,-        module Graphics.Vulkan.Types.Enum.Descriptor,-        module Graphics.Vulkan.Types.Struct.CopyDescriptorSet,-        module Graphics.Vulkan.Types.Struct.Descriptor,-        module Graphics.Vulkan.Types.Struct.WriteDescriptorSet,-        -- ** Pass commands-        VkCreateFramebuffer, pattern VkCreateFramebuffer,-        HS_vkCreateFramebuffer, PFN_vkCreateFramebuffer,-        vkCreateFramebuffer, vkCreateFramebufferUnsafe,-        vkCreateFramebufferSafe, VkDestroyFramebuffer,-        pattern VkDestroyFramebuffer, HS_vkDestroyFramebuffer,-        PFN_vkDestroyFramebuffer, vkDestroyFramebuffer,-        vkDestroyFramebufferUnsafe, vkDestroyFramebufferSafe,-        VkCreateRenderPass, pattern VkCreateRenderPass,-        HS_vkCreateRenderPass, PFN_vkCreateRenderPass, vkCreateRenderPass,-        vkCreateRenderPassUnsafe, vkCreateRenderPassSafe,-        VkDestroyRenderPass, pattern VkDestroyRenderPass,-        HS_vkDestroyRenderPass, PFN_vkDestroyRenderPass,-        vkDestroyRenderPass, vkDestroyRenderPassUnsafe,-        vkDestroyRenderPassSafe, VkGetRenderAreaGranularity,-        pattern VkGetRenderAreaGranularity, HS_vkGetRenderAreaGranularity,-        PFN_vkGetRenderAreaGranularity, vkGetRenderAreaGranularity,-        vkGetRenderAreaGranularityUnsafe, vkGetRenderAreaGranularitySafe,-        module Graphics.Vulkan.Types.Enum.AccessFlags,-        module Graphics.Vulkan.Types.Enum.Attachment,-        module Graphics.Vulkan.Types.Enum.DependencyFlags,-        module Graphics.Vulkan.Types.Enum.Subpass,-        module Graphics.Vulkan.Types.Struct.Attachment,-        module Graphics.Vulkan.Types.Struct.FramebufferCreateInfo,-        module Graphics.Vulkan.Types.Struct.RenderPass,-        module Graphics.Vulkan.Types.Struct.Subpass, -- ** Command pool commands-                                                     VkCreateCommandPool,-        pattern VkCreateCommandPool, HS_vkCreateCommandPool,-        PFN_vkCreateCommandPool, vkCreateCommandPool,-        vkCreateCommandPoolUnsafe, vkCreateCommandPoolSafe,-        VkDestroyCommandPool, pattern VkDestroyCommandPool,-        HS_vkDestroyCommandPool, PFN_vkDestroyCommandPool,-        vkDestroyCommandPool, vkDestroyCommandPoolUnsafe,-        vkDestroyCommandPoolSafe, VkResetCommandPool,-        pattern VkResetCommandPool, HS_vkResetCommandPool,-        PFN_vkResetCommandPool, vkResetCommandPool,-        vkResetCommandPoolUnsafe, vkResetCommandPoolSafe,-        module Graphics.Vulkan.Types.Enum.Command,-        module Graphics.Vulkan.Types.Struct.Command,-        -- ** Command buffer commands-        VkAllocateCommandBuffers, pattern VkAllocateCommandBuffers,-        HS_vkAllocateCommandBuffers, PFN_vkAllocateCommandBuffers,-        vkAllocateCommandBuffers, vkAllocateCommandBuffersUnsafe,-        vkAllocateCommandBuffersSafe, VkFreeCommandBuffers,-        pattern VkFreeCommandBuffers, HS_vkFreeCommandBuffers,-        PFN_vkFreeCommandBuffers, vkFreeCommandBuffers,-        vkFreeCommandBuffersUnsafe, vkFreeCommandBuffersSafe,-        VkBeginCommandBuffer, pattern VkBeginCommandBuffer,-        HS_vkBeginCommandBuffer, PFN_vkBeginCommandBuffer,-        vkBeginCommandBuffer, vkBeginCommandBufferUnsafe,-        vkBeginCommandBufferSafe, VkEndCommandBuffer,-        pattern VkEndCommandBuffer, HS_vkEndCommandBuffer,-        PFN_vkEndCommandBuffer, vkEndCommandBuffer,-        vkEndCommandBufferUnsafe, vkEndCommandBufferSafe,-        VkResetCommandBuffer, pattern VkResetCommandBuffer,-        HS_vkResetCommandBuffer, PFN_vkResetCommandBuffer,-        vkResetCommandBuffer, vkResetCommandBufferUnsafe,-        vkResetCommandBufferSafe, -- ** Command buffer building commands-                                  VkCmdBindPipeline,-        pattern VkCmdBindPipeline, HS_vkCmdBindPipeline,-        PFN_vkCmdBindPipeline, vkCmdBindPipeline, vkCmdBindPipelineUnsafe,-        vkCmdBindPipelineSafe, VkCmdSetViewport, pattern VkCmdSetViewport,-        HS_vkCmdSetViewport, PFN_vkCmdSetViewport, vkCmdSetViewport,-        vkCmdSetViewportUnsafe, vkCmdSetViewportSafe, VkCmdSetScissor,-        pattern VkCmdSetScissor, HS_vkCmdSetScissor, PFN_vkCmdSetScissor,-        vkCmdSetScissor, vkCmdSetScissorUnsafe, vkCmdSetScissorSafe,-        VkCmdSetLineWidth, pattern VkCmdSetLineWidth, HS_vkCmdSetLineWidth,-        PFN_vkCmdSetLineWidth, vkCmdSetLineWidth, vkCmdSetLineWidthUnsafe,-        vkCmdSetLineWidthSafe, VkCmdSetDepthBias,-        pattern VkCmdSetDepthBias, HS_vkCmdSetDepthBias,-        PFN_vkCmdSetDepthBias, vkCmdSetDepthBias, vkCmdSetDepthBiasUnsafe,-        vkCmdSetDepthBiasSafe, VkCmdSetBlendConstants,-        pattern VkCmdSetBlendConstants, HS_vkCmdSetBlendConstants,-        PFN_vkCmdSetBlendConstants, vkCmdSetBlendConstants,-        vkCmdSetBlendConstantsUnsafe, vkCmdSetBlendConstantsSafe,-        VkCmdSetDepthBounds, pattern VkCmdSetDepthBounds,-        HS_vkCmdSetDepthBounds, PFN_vkCmdSetDepthBounds,-        vkCmdSetDepthBounds, vkCmdSetDepthBoundsUnsafe,-        vkCmdSetDepthBoundsSafe, VkCmdSetStencilCompareMask,-        pattern VkCmdSetStencilCompareMask, HS_vkCmdSetStencilCompareMask,-        PFN_vkCmdSetStencilCompareMask, vkCmdSetStencilCompareMask,-        vkCmdSetStencilCompareMaskUnsafe, vkCmdSetStencilCompareMaskSafe,-        VkCmdSetStencilWriteMask, pattern VkCmdSetStencilWriteMask,-        HS_vkCmdSetStencilWriteMask, PFN_vkCmdSetStencilWriteMask,-        vkCmdSetStencilWriteMask, vkCmdSetStencilWriteMaskUnsafe,-        vkCmdSetStencilWriteMaskSafe, VkCmdSetStencilReference,-        pattern VkCmdSetStencilReference, HS_vkCmdSetStencilReference,-        PFN_vkCmdSetStencilReference, vkCmdSetStencilReference,-        vkCmdSetStencilReferenceUnsafe, vkCmdSetStencilReferenceSafe,-        VkCmdBindDescriptorSets, pattern VkCmdBindDescriptorSets,-        HS_vkCmdBindDescriptorSets, PFN_vkCmdBindDescriptorSets,-        vkCmdBindDescriptorSets, vkCmdBindDescriptorSetsUnsafe,-        vkCmdBindDescriptorSetsSafe, VkCmdBindIndexBuffer,-        pattern VkCmdBindIndexBuffer, HS_vkCmdBindIndexBuffer,-        PFN_vkCmdBindIndexBuffer, vkCmdBindIndexBuffer,-        vkCmdBindIndexBufferUnsafe, vkCmdBindIndexBufferSafe,-        VkCmdBindVertexBuffers, pattern VkCmdBindVertexBuffers,-        HS_vkCmdBindVertexBuffers, PFN_vkCmdBindVertexBuffers,-        vkCmdBindVertexBuffers, vkCmdBindVertexBuffersUnsafe,-        vkCmdBindVertexBuffersSafe, VkCmdDraw, pattern VkCmdDraw,-        HS_vkCmdDraw, PFN_vkCmdDraw, vkCmdDraw, vkCmdDrawUnsafe,-        vkCmdDrawSafe, VkCmdDrawIndexed, pattern VkCmdDrawIndexed,-        HS_vkCmdDrawIndexed, PFN_vkCmdDrawIndexed, vkCmdDrawIndexed,-        vkCmdDrawIndexedUnsafe, vkCmdDrawIndexedSafe, VkCmdDrawIndirect,-        pattern VkCmdDrawIndirect, HS_vkCmdDrawIndirect,-        PFN_vkCmdDrawIndirect, vkCmdDrawIndirect, vkCmdDrawIndirectUnsafe,-        vkCmdDrawIndirectSafe, VkCmdDrawIndexedIndirect,-        pattern VkCmdDrawIndexedIndirect, HS_vkCmdDrawIndexedIndirect,-        PFN_vkCmdDrawIndexedIndirect, vkCmdDrawIndexedIndirect,-        vkCmdDrawIndexedIndirectUnsafe, vkCmdDrawIndexedIndirectSafe,-        VkCmdDispatch, pattern VkCmdDispatch, HS_vkCmdDispatch,-        PFN_vkCmdDispatch, vkCmdDispatch, vkCmdDispatchUnsafe,-        vkCmdDispatchSafe, VkCmdDispatchIndirect,-        pattern VkCmdDispatchIndirect, HS_vkCmdDispatchIndirect,-        PFN_vkCmdDispatchIndirect, vkCmdDispatchIndirect,-        vkCmdDispatchIndirectUnsafe, vkCmdDispatchIndirectSafe,-        VkCmdCopyBuffer, pattern VkCmdCopyBuffer, HS_vkCmdCopyBuffer,-        PFN_vkCmdCopyBuffer, vkCmdCopyBuffer, vkCmdCopyBufferUnsafe,-        vkCmdCopyBufferSafe, VkCmdCopyImage, pattern VkCmdCopyImage,-        HS_vkCmdCopyImage, PFN_vkCmdCopyImage, vkCmdCopyImage,-        vkCmdCopyImageUnsafe, vkCmdCopyImageSafe, VkCmdBlitImage,-        pattern VkCmdBlitImage, HS_vkCmdBlitImage, PFN_vkCmdBlitImage,-        vkCmdBlitImage, vkCmdBlitImageUnsafe, vkCmdBlitImageSafe,-        VkCmdCopyBufferToImage, pattern VkCmdCopyBufferToImage,-        HS_vkCmdCopyBufferToImage, PFN_vkCmdCopyBufferToImage,-        vkCmdCopyBufferToImage, vkCmdCopyBufferToImageUnsafe,-        vkCmdCopyBufferToImageSafe, VkCmdCopyImageToBuffer,-        pattern VkCmdCopyImageToBuffer, HS_vkCmdCopyImageToBuffer,-        PFN_vkCmdCopyImageToBuffer, vkCmdCopyImageToBuffer,-        vkCmdCopyImageToBufferUnsafe, vkCmdCopyImageToBufferSafe,-        VkCmdUpdateBuffer, pattern VkCmdUpdateBuffer, HS_vkCmdUpdateBuffer,-        PFN_vkCmdUpdateBuffer, vkCmdUpdateBuffer, vkCmdUpdateBufferUnsafe,-        vkCmdUpdateBufferSafe, VkCmdFillBuffer, pattern VkCmdFillBuffer,-        HS_vkCmdFillBuffer, PFN_vkCmdFillBuffer, vkCmdFillBuffer,-        vkCmdFillBufferUnsafe, vkCmdFillBufferSafe, VkCmdClearColorImage,-        pattern VkCmdClearColorImage, HS_vkCmdClearColorImage,-        PFN_vkCmdClearColorImage, vkCmdClearColorImage,-        vkCmdClearColorImageUnsafe, vkCmdClearColorImageSafe,-        VkCmdClearDepthStencilImage, pattern VkCmdClearDepthStencilImage,-        HS_vkCmdClearDepthStencilImage, PFN_vkCmdClearDepthStencilImage,-        vkCmdClearDepthStencilImage, vkCmdClearDepthStencilImageUnsafe,-        vkCmdClearDepthStencilImageSafe, VkCmdClearAttachments,-        pattern VkCmdClearAttachments, HS_vkCmdClearAttachments,-        PFN_vkCmdClearAttachments, vkCmdClearAttachments,-        vkCmdClearAttachmentsUnsafe, vkCmdClearAttachmentsSafe,-        VkCmdResolveImage, pattern VkCmdResolveImage, HS_vkCmdResolveImage,-        PFN_vkCmdResolveImage, vkCmdResolveImage, vkCmdResolveImageUnsafe,-        vkCmdResolveImageSafe, VkCmdSetEvent, pattern VkCmdSetEvent,-        HS_vkCmdSetEvent, PFN_vkCmdSetEvent, vkCmdSetEvent,-        vkCmdSetEventUnsafe, vkCmdSetEventSafe, VkCmdResetEvent,-        pattern VkCmdResetEvent, HS_vkCmdResetEvent, PFN_vkCmdResetEvent,-        vkCmdResetEvent, vkCmdResetEventUnsafe, vkCmdResetEventSafe,-        VkCmdWaitEvents, pattern VkCmdWaitEvents, HS_vkCmdWaitEvents,-        PFN_vkCmdWaitEvents, vkCmdWaitEvents, vkCmdWaitEventsUnsafe,-        vkCmdWaitEventsSafe, VkCmdPipelineBarrier,-        pattern VkCmdPipelineBarrier, HS_vkCmdPipelineBarrier,-        PFN_vkCmdPipelineBarrier, vkCmdPipelineBarrier,-        vkCmdPipelineBarrierUnsafe, vkCmdPipelineBarrierSafe,-        VkCmdBeginQuery, pattern VkCmdBeginQuery, HS_vkCmdBeginQuery,-        PFN_vkCmdBeginQuery, vkCmdBeginQuery, vkCmdBeginQueryUnsafe,-        vkCmdBeginQuerySafe, VkCmdEndQuery, pattern VkCmdEndQuery,-        HS_vkCmdEndQuery, PFN_vkCmdEndQuery, vkCmdEndQuery,-        vkCmdEndQueryUnsafe, vkCmdEndQuerySafe, VkCmdResetQueryPool,-        pattern VkCmdResetQueryPool, HS_vkCmdResetQueryPool,-        PFN_vkCmdResetQueryPool, vkCmdResetQueryPool,-        vkCmdResetQueryPoolUnsafe, vkCmdResetQueryPoolSafe,-        VkCmdWriteTimestamp, pattern VkCmdWriteTimestamp,-        HS_vkCmdWriteTimestamp, PFN_vkCmdWriteTimestamp,-        vkCmdWriteTimestamp, vkCmdWriteTimestampUnsafe,-        vkCmdWriteTimestampSafe, VkCmdCopyQueryPoolResults,-        pattern VkCmdCopyQueryPoolResults, HS_vkCmdCopyQueryPoolResults,-        PFN_vkCmdCopyQueryPoolResults, vkCmdCopyQueryPoolResults,-        vkCmdCopyQueryPoolResultsUnsafe, vkCmdCopyQueryPoolResultsSafe,-        VkCmdPushConstants, pattern VkCmdPushConstants,-        HS_vkCmdPushConstants, PFN_vkCmdPushConstants, vkCmdPushConstants,-        vkCmdPushConstantsUnsafe, vkCmdPushConstantsSafe,-        VkCmdBeginRenderPass, pattern VkCmdBeginRenderPass,-        HS_vkCmdBeginRenderPass, PFN_vkCmdBeginRenderPass,-        vkCmdBeginRenderPass, vkCmdBeginRenderPassUnsafe,-        vkCmdBeginRenderPassSafe, VkCmdNextSubpass,-        pattern VkCmdNextSubpass, HS_vkCmdNextSubpass,-        PFN_vkCmdNextSubpass, vkCmdNextSubpass, vkCmdNextSubpassUnsafe,-        vkCmdNextSubpassSafe, VkCmdEndRenderPass,-        pattern VkCmdEndRenderPass, HS_vkCmdEndRenderPass,-        PFN_vkCmdEndRenderPass, vkCmdEndRenderPass,-        vkCmdEndRenderPassUnsafe, vkCmdEndRenderPassSafe,-        VkCmdExecuteCommands, pattern VkCmdExecuteCommands,-        HS_vkCmdExecuteCommands, PFN_vkCmdExecuteCommands,-        vkCmdExecuteCommands, vkCmdExecuteCommandsUnsafe,-        vkCmdExecuteCommandsSafe,-        module Graphics.Vulkan.Types.Enum.IndexType,-        module Graphics.Vulkan.Types.Struct.Clear, -- ** Types not directly used by the API. Include e.g. structs that are not parameter types of commands, but still defined by the API.-                                                   VkBaseInStructure,-        VkBaseInStructure', VkBaseOutStructure, VkBaseOutStructure',-        VkBufferMemoryBarrier, VkBufferMemoryBarrier', -- ' closing tick for hsc2hs-        VkDispatchIndirectCommand, VkDispatchIndirectCommand', -- ' closing tick for hsc2hs-        VkDrawIndexedIndirectCommand, VkDrawIndexedIndirectCommand', -- ' closing tick for hsc2hs-        VkDrawIndirectCommand, VkDrawIndirectCommand', -- ' closing tick for hsc2hs-        VkImageMemoryBarrier, VkImageMemoryBarrier', -- ' closing tick for hsc2hs-        VkImageSubresourceRange, VkImageSubresourceRange', VkMemoryBarrier, -- ' closing tick for hsc2hs-        VkMemoryBarrier', module Graphics.Vulkan.Types.Enum.Object) -- ' closing tick for hsc2hs-       where-import GHC.Ptr                                                (Ptr (..))-import Graphics.Vulkan.Constants                              (pattern VK_ATTACHMENT_UNUSED,-                                                               pattern VK_FALSE,-                                                               pattern VK_LOD_CLAMP_NONE,-                                                               pattern VK_QUEUE_FAMILY_IGNORED,-                                                               pattern VK_REMAINING_ARRAY_LAYERS,-                                                               pattern VK_REMAINING_MIP_LEVELS,-                                                               pattern VK_SUBPASS_EXTERNAL,-                                                               pattern VK_TRUE,-                                                               pattern VK_WHOLE_SIZE)-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Proc-import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.AccessFlags-import Graphics.Vulkan.Types.Enum.Attachment-import Graphics.Vulkan.Types.Enum.Blend-import Graphics.Vulkan.Types.Enum.BorderColor-import Graphics.Vulkan.Types.Enum.Buffer-import Graphics.Vulkan.Types.Enum.Color-import Graphics.Vulkan.Types.Enum.Command-import Graphics.Vulkan.Types.Enum.CompareOp-import Graphics.Vulkan.Types.Enum.ComponentSwizzle-import Graphics.Vulkan.Types.Enum.CullModeFlags-import Graphics.Vulkan.Types.Enum.DependencyFlags-import Graphics.Vulkan.Types.Enum.Descriptor-import Graphics.Vulkan.Types.Enum.Device-import Graphics.Vulkan.Types.Enum.DynamicState-import Graphics.Vulkan.Types.Enum.Fence-import Graphics.Vulkan.Types.Enum.Filter-import Graphics.Vulkan.Types.Enum.Format-import Graphics.Vulkan.Types.Enum.FrontFace-import Graphics.Vulkan.Types.Enum.Image-import Graphics.Vulkan.Types.Enum.IndexType-import Graphics.Vulkan.Types.Enum.InternalAllocationType-import Graphics.Vulkan.Types.Enum.LogicOp-import Graphics.Vulkan.Types.Enum.Memory-import Graphics.Vulkan.Types.Enum.Object-import Graphics.Vulkan.Types.Enum.PhysicalDeviceType-import Graphics.Vulkan.Types.Enum.Pipeline-import Graphics.Vulkan.Types.Enum.PolygonMode-import Graphics.Vulkan.Types.Enum.PrimitiveTopology-import Graphics.Vulkan.Types.Enum.Query-import Graphics.Vulkan.Types.Enum.Queue-import Graphics.Vulkan.Types.Enum.Result-import Graphics.Vulkan.Types.Enum.SampleCountFlags-import Graphics.Vulkan.Types.Enum.Sampler-import Graphics.Vulkan.Types.Enum.Shader-import Graphics.Vulkan.Types.Enum.SharingMode-import Graphics.Vulkan.Types.Enum.Sparse-import Graphics.Vulkan.Types.Enum.Stencil-import Graphics.Vulkan.Types.Enum.StructureType-import Graphics.Vulkan.Types.Enum.Subpass-import Graphics.Vulkan.Types.Enum.SystemAllocationScope-import Graphics.Vulkan.Types.Enum.VertexInputRate-import Graphics.Vulkan.Types.Funcpointers-import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.AllocationCallbacks-import Graphics.Vulkan.Types.Struct.ApplicationInfo-import Graphics.Vulkan.Types.Struct.Attachment-import Graphics.Vulkan.Types.Struct.Base                      (VkBaseInStructure,-                                                               VkBaseInStructure', -- ' closing tick for hsc2hs-                                                               VkBaseOutStructure,-                                                               VkBaseOutStructure') -- ' closing tick for hsc2hs-import Graphics.Vulkan.Types.Struct.Bind-import Graphics.Vulkan.Types.Struct.Buffer-import Graphics.Vulkan.Types.Struct.Clear-import Graphics.Vulkan.Types.Struct.Command-import Graphics.Vulkan.Types.Struct.ComponentMapping-import Graphics.Vulkan.Types.Struct.ComputePipelineCreateInfo-import Graphics.Vulkan.Types.Struct.CopyDescriptorSet-import Graphics.Vulkan.Types.Struct.Descriptor-import Graphics.Vulkan.Types.Struct.Device-import Graphics.Vulkan.Types.Struct.DispatchIndirectCommand   (VkDispatchIndirectCommand,-                                                               VkDispatchIndirectCommand') -- ' closing tick for hsc2hs-import Graphics.Vulkan.Types.Struct.DrawInd                   (VkDrawIndexedIndirectCommand,-                                                               VkDrawIndexedIndirectCommand', -- ' closing tick for hsc2hs-                                                               VkDrawIndirectCommand,-                                                               VkDrawIndirectCommand') -- ' closing tick for hsc2hs-import Graphics.Vulkan.Types.Struct.EventCreateInfo-import Graphics.Vulkan.Types.Struct.ExtensionProperties-import Graphics.Vulkan.Types.Struct.Extent-import Graphics.Vulkan.Types.Struct.Fence-import Graphics.Vulkan.Types.Struct.FormatProperties-import Graphics.Vulkan.Types.Struct.FramebufferCreateInfo-import Graphics.Vulkan.Types.Struct.Image-import Graphics.Vulkan.Types.Struct.InstanceCreateInfo-import Graphics.Vulkan.Types.Struct.LayerProperties-import Graphics.Vulkan.Types.Struct.MappedMemoryRange-import Graphics.Vulkan.Types.Struct.Memory-import Graphics.Vulkan.Types.Struct.Offset-import Graphics.Vulkan.Types.Struct.PhysicalDevice-import Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures-import Graphics.Vulkan.Types.Struct.Pipeline-import Graphics.Vulkan.Types.Struct.PushConstantRange-import Graphics.Vulkan.Types.Struct.QueryPoolCreateInfo-import Graphics.Vulkan.Types.Struct.QueueFamilyProperties-import Graphics.Vulkan.Types.Struct.Rect-import Graphics.Vulkan.Types.Struct.RenderPass-import Graphics.Vulkan.Types.Struct.Sampler-import Graphics.Vulkan.Types.Struct.Semaphore-import Graphics.Vulkan.Types.Struct.Shader-import Graphics.Vulkan.Types.Struct.Sparse-import Graphics.Vulkan.Types.Struct.Specialization-import Graphics.Vulkan.Types.Struct.StencilOpState-import Graphics.Vulkan.Types.Struct.SubmitInfo-import Graphics.Vulkan.Types.Struct.Subpass-import Graphics.Vulkan.Types.Struct.SubresourceLayout-import Graphics.Vulkan.Types.Struct.VertexInput-import Graphics.Vulkan.Types.Struct.Viewport-import Graphics.Vulkan.Types.Struct.WriteDescriptorSet-import System.IO.Unsafe                                       (unsafeDupablePerformIO)--pattern VkCreateInstance :: CString--pattern VkCreateInstance <- (is_VkCreateInstance -> True)-  where VkCreateInstance = _VkCreateInstance--{-# INLINE _VkCreateInstance #-}--_VkCreateInstance :: CString-_VkCreateInstance = Ptr "vkCreateInstance\NUL"##--{-# INLINE is_VkCreateInstance #-}--is_VkCreateInstance :: CString -> Bool-is_VkCreateInstance = (EQ ==) . cmpCStrings _VkCreateInstance--type VkCreateInstance = "vkCreateInstance"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_LAYER_NOT_PRESENT', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_INCOMPATIBLE_DRIVER'.------ > VkResult vkCreateInstance--- >     ( const VkInstanceCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkInstance* pInstance--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateInstance vkCreateInstance registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateInstance <- vkGetInstanceProc @VkCreateInstance VK_NULL------ or less efficient:------ > myCreateInstance <- vkGetProc @VkCreateInstance------ __Note:__ @vkCreateInstanceUnsafe@ and @vkCreateInstanceSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateInstance@ is an alias---           of @vkCreateInstanceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateInstanceSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateInstance"-               vkCreateInstanceUnsafe ::-               Ptr VkInstanceCreateInfo -- ^ pCreateInfo-                                        ->-                 Ptr VkAllocationCallbacks -- ^ pAllocator-                                           -> Ptr VkInstance -- ^ pInstance-                                                             -> IO VkResult--##else-vkCreateInstanceUnsafe ::-                       Ptr VkInstanceCreateInfo -- ^ pCreateInfo-                                                ->-                         Ptr VkAllocationCallbacks -- ^ pAllocator-                                                   -> Ptr VkInstance -- ^ pInstance-                                                                     -> IO VkResult-vkCreateInstanceUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateInstance)--{-# NOINLINE vkCreateInstanceUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_LAYER_NOT_PRESENT', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_INCOMPATIBLE_DRIVER'.------ > VkResult vkCreateInstance--- >     ( const VkInstanceCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkInstance* pInstance--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateInstance vkCreateInstance registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateInstance <- vkGetInstanceProc @VkCreateInstance VK_NULL------ or less efficient:------ > myCreateInstance <- vkGetProc @VkCreateInstance------ __Note:__ @vkCreateInstanceUnsafe@ and @vkCreateInstanceSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateInstance@ is an alias---           of @vkCreateInstanceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateInstanceSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCreateInstance" vkCreateInstanceSafe-               ::-               Ptr VkInstanceCreateInfo -- ^ pCreateInfo-                                        ->-                 Ptr VkAllocationCallbacks -- ^ pAllocator-                                           -> Ptr VkInstance -- ^ pInstance-                                                             -> IO VkResult--##else-vkCreateInstanceSafe ::-                     Ptr VkInstanceCreateInfo -- ^ pCreateInfo-                                              ->-                       Ptr VkAllocationCallbacks -- ^ pAllocator-                                                 -> Ptr VkInstance -- ^ pInstance-                                                                   -> IO VkResult-vkCreateInstanceSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateInstance)--{-# NOINLINE vkCreateInstanceSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_LAYER_NOT_PRESENT', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_INCOMPATIBLE_DRIVER'.------ > VkResult vkCreateInstance--- >     ( const VkInstanceCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkInstance* pInstance--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateInstance vkCreateInstance registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateInstance <- vkGetInstanceProc @VkCreateInstance VK_NULL------ or less efficient:------ > myCreateInstance <- vkGetProc @VkCreateInstance------ __Note:__ @vkCreateInstanceUnsafe@ and @vkCreateInstanceSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateInstance@ is an alias---           of @vkCreateInstanceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateInstanceSafe@.----vkCreateInstance ::-                 Ptr VkInstanceCreateInfo -- ^ pCreateInfo-                                          ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkInstance -- ^ pInstance-                                                               -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkCreateInstance = vkCreateInstanceUnsafe-##else-vkCreateInstance = vkCreateInstanceSafe--##endif-{-# INLINE vkCreateInstance #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_LAYER_NOT_PRESENT', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_INCOMPATIBLE_DRIVER'.------   > VkResult vkCreateInstance---   >     ( const VkInstanceCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkInstance* pInstance---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateInstance vkCreateInstance registry at www.khronos.org>-type HS_vkCreateInstance =-     Ptr VkInstanceCreateInfo -- ^ pCreateInfo-                              ->-       Ptr VkAllocationCallbacks -- ^ pAllocator-                                 -> Ptr VkInstance -- ^ pInstance-                                                   -> IO VkResult--type PFN_vkCreateInstance = FunPtr HS_vkCreateInstance--foreign import ccall unsafe "dynamic" unwrapVkCreateInstanceUnsafe-               :: PFN_vkCreateInstance -> HS_vkCreateInstance--foreign import ccall safe "dynamic" unwrapVkCreateInstanceSafe ::-               PFN_vkCreateInstance -> HS_vkCreateInstance--instance VulkanProc "vkCreateInstance" where-        type VkProcType "vkCreateInstance" = HS_vkCreateInstance-        vkProcSymbol = _VkCreateInstance--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateInstanceUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateInstanceSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkDestroyInstance :: CString--pattern VkDestroyInstance <- (is_VkDestroyInstance -> True)-  where VkDestroyInstance = _VkDestroyInstance--{-# INLINE _VkDestroyInstance #-}--_VkDestroyInstance :: CString-_VkDestroyInstance = Ptr "vkDestroyInstance\NUL"##--{-# INLINE is_VkDestroyInstance #-}--is_VkDestroyInstance :: CString -> Bool-is_VkDestroyInstance = (EQ ==) . cmpCStrings _VkDestroyInstance--type VkDestroyInstance = "vkDestroyInstance"---- |--- > void vkDestroyInstance--- >     ( VkInstance instance--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyInstance vkDestroyInstance registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyInstance <- vkGetInstanceProc @VkDestroyInstance vkInstance------ or less efficient:------ > myDestroyInstance <- vkGetProc @VkDestroyInstance------ __Note:__ @vkDestroyInstanceUnsafe@ and @vkDestroyInstanceSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyInstance@ is an alias---           of @vkDestroyInstanceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyInstanceSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyInstance"-               vkDestroyInstanceUnsafe ::-               VkInstance -- ^ instance-                          -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                       -> IO ()--##else-vkDestroyInstanceUnsafe ::-                        VkInstance -- ^ instance-                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                -> IO ()-vkDestroyInstanceUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyInstance)--{-# NOINLINE vkDestroyInstanceUnsafe #-}-##endif---- |--- > void vkDestroyInstance--- >     ( VkInstance instance--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyInstance vkDestroyInstance registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyInstance <- vkGetInstanceProc @VkDestroyInstance vkInstance------ or less efficient:------ > myDestroyInstance <- vkGetProc @VkDestroyInstance------ __Note:__ @vkDestroyInstanceUnsafe@ and @vkDestroyInstanceSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyInstance@ is an alias---           of @vkDestroyInstanceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyInstanceSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkDestroyInstance" vkDestroyInstanceSafe-               :: VkInstance -- ^ instance-                             -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                          -> IO ()--##else-vkDestroyInstanceSafe ::-                      VkInstance -- ^ instance-                                 -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                              -> IO ()-vkDestroyInstanceSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyInstance)--{-# NOINLINE vkDestroyInstanceSafe #-}-##endif---- |--- > void vkDestroyInstance--- >     ( VkInstance instance--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyInstance vkDestroyInstance registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyInstance <- vkGetInstanceProc @VkDestroyInstance vkInstance------ or less efficient:------ > myDestroyInstance <- vkGetProc @VkDestroyInstance------ __Note:__ @vkDestroyInstanceUnsafe@ and @vkDestroyInstanceSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyInstance@ is an alias---           of @vkDestroyInstanceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyInstanceSafe@.----vkDestroyInstance ::-                  VkInstance -- ^ instance-                             -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                          -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkDestroyInstance = vkDestroyInstanceUnsafe-##else-vkDestroyInstance = vkDestroyInstanceSafe--##endif-{-# INLINE vkDestroyInstance #-}---- | > void vkDestroyInstance---   >     ( VkInstance instance---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyInstance vkDestroyInstance registry at www.khronos.org>-type HS_vkDestroyInstance =-     VkInstance -- ^ instance-                -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> IO ()--type PFN_vkDestroyInstance = FunPtr HS_vkDestroyInstance--foreign import ccall unsafe "dynamic" unwrapVkDestroyInstanceUnsafe-               :: PFN_vkDestroyInstance -> HS_vkDestroyInstance--foreign import ccall safe "dynamic" unwrapVkDestroyInstanceSafe ::-               PFN_vkDestroyInstance -> HS_vkDestroyInstance--instance VulkanProc "vkDestroyInstance" where-        type VkProcType "vkDestroyInstance" = HS_vkDestroyInstance-        vkProcSymbol = _VkDestroyInstance--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDestroyInstanceUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroyInstanceSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkEnumeratePhysicalDevices :: CString--pattern VkEnumeratePhysicalDevices <--        (is_VkEnumeratePhysicalDevices -> True)-  where VkEnumeratePhysicalDevices = _VkEnumeratePhysicalDevices--{-# INLINE _VkEnumeratePhysicalDevices #-}--_VkEnumeratePhysicalDevices :: CString-_VkEnumeratePhysicalDevices = Ptr "vkEnumeratePhysicalDevices\NUL"##--{-# INLINE is_VkEnumeratePhysicalDevices #-}--is_VkEnumeratePhysicalDevices :: CString -> Bool-is_VkEnumeratePhysicalDevices-  = (EQ ==) . cmpCStrings _VkEnumeratePhysicalDevices--type VkEnumeratePhysicalDevices = "vkEnumeratePhysicalDevices"---- |--- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.------ > VkResult vkEnumeratePhysicalDevices--- >     ( VkInstance instance--- >     , uint32_t* pPhysicalDeviceCount--- >     , VkPhysicalDevice* pPhysicalDevices--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myEnumeratePhysicalDevices <- vkGetInstanceProc @VkEnumeratePhysicalDevices vkInstance------ or less efficient:------ > myEnumeratePhysicalDevices <- vkGetProc @VkEnumeratePhysicalDevices------ __Note:__ @vkEnumeratePhysicalDevicesUnsafe@ and @vkEnumeratePhysicalDevicesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkEnumeratePhysicalDevices@ is an alias---           of @vkEnumeratePhysicalDevicesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkEnumeratePhysicalDevicesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkEnumeratePhysicalDevices"-               vkEnumeratePhysicalDevicesUnsafe ::-               VkInstance -- ^ instance-                          -> Ptr Word32 -- ^ pPhysicalDeviceCount-                                        -> Ptr VkPhysicalDevice -- ^ pPhysicalDevices-                                                                -> IO VkResult--##else-vkEnumeratePhysicalDevicesUnsafe ::-                                 VkInstance -- ^ instance-                                            -> Ptr Word32 -- ^ pPhysicalDeviceCount-                                                          -> Ptr VkPhysicalDevice -- ^ pPhysicalDevices-                                                                                  -> IO VkResult-vkEnumeratePhysicalDevicesUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkEnumeratePhysicalDevices)--{-# NOINLINE vkEnumeratePhysicalDevicesUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.------ > VkResult vkEnumeratePhysicalDevices--- >     ( VkInstance instance--- >     , uint32_t* pPhysicalDeviceCount--- >     , VkPhysicalDevice* pPhysicalDevices--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myEnumeratePhysicalDevices <- vkGetInstanceProc @VkEnumeratePhysicalDevices vkInstance------ or less efficient:------ > myEnumeratePhysicalDevices <- vkGetProc @VkEnumeratePhysicalDevices------ __Note:__ @vkEnumeratePhysicalDevicesUnsafe@ and @vkEnumeratePhysicalDevicesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkEnumeratePhysicalDevices@ is an alias---           of @vkEnumeratePhysicalDevicesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkEnumeratePhysicalDevicesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkEnumeratePhysicalDevices"-               vkEnumeratePhysicalDevicesSafe ::-               VkInstance -- ^ instance-                          -> Ptr Word32 -- ^ pPhysicalDeviceCount-                                        -> Ptr VkPhysicalDevice -- ^ pPhysicalDevices-                                                                -> IO VkResult--##else-vkEnumeratePhysicalDevicesSafe ::-                               VkInstance -- ^ instance-                                          -> Ptr Word32 -- ^ pPhysicalDeviceCount-                                                        -> Ptr VkPhysicalDevice -- ^ pPhysicalDevices-                                                                                -> IO VkResult-vkEnumeratePhysicalDevicesSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkEnumeratePhysicalDevices)--{-# NOINLINE vkEnumeratePhysicalDevicesSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.------ > VkResult vkEnumeratePhysicalDevices--- >     ( VkInstance instance--- >     , uint32_t* pPhysicalDeviceCount--- >     , VkPhysicalDevice* pPhysicalDevices--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myEnumeratePhysicalDevices <- vkGetInstanceProc @VkEnumeratePhysicalDevices vkInstance------ or less efficient:------ > myEnumeratePhysicalDevices <- vkGetProc @VkEnumeratePhysicalDevices------ __Note:__ @vkEnumeratePhysicalDevicesUnsafe@ and @vkEnumeratePhysicalDevicesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkEnumeratePhysicalDevices@ is an alias---           of @vkEnumeratePhysicalDevicesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkEnumeratePhysicalDevicesSafe@.----vkEnumeratePhysicalDevices ::-                           VkInstance -- ^ instance-                                      -> Ptr Word32 -- ^ pPhysicalDeviceCount-                                                    -> Ptr VkPhysicalDevice -- ^ pPhysicalDevices-                                                                            -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkEnumeratePhysicalDevices = vkEnumeratePhysicalDevicesUnsafe-##else-vkEnumeratePhysicalDevices = vkEnumeratePhysicalDevicesSafe--##endif-{-# INLINE vkEnumeratePhysicalDevices #-}---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.------   > VkResult vkEnumeratePhysicalDevices---   >     ( VkInstance instance---   >     , uint32_t* pPhysicalDeviceCount---   >     , VkPhysicalDevice* pPhysicalDevices---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices registry at www.khronos.org>-type HS_vkEnumeratePhysicalDevices =-     VkInstance -- ^ instance-                -> Ptr Word32 -- ^ pPhysicalDeviceCount-                              -> Ptr VkPhysicalDevice -- ^ pPhysicalDevices-                                                      -> IO VkResult--type PFN_vkEnumeratePhysicalDevices =-     FunPtr HS_vkEnumeratePhysicalDevices--foreign import ccall unsafe "dynamic"-               unwrapVkEnumeratePhysicalDevicesUnsafe ::-               PFN_vkEnumeratePhysicalDevices -> HS_vkEnumeratePhysicalDevices--foreign import ccall safe "dynamic"-               unwrapVkEnumeratePhysicalDevicesSafe ::-               PFN_vkEnumeratePhysicalDevices -> HS_vkEnumeratePhysicalDevices--instance VulkanProc "vkEnumeratePhysicalDevices" where-        type VkProcType "vkEnumeratePhysicalDevices" =-             HS_vkEnumeratePhysicalDevices-        vkProcSymbol = _VkEnumeratePhysicalDevices--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkEnumeratePhysicalDevicesUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkEnumeratePhysicalDevicesSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetPhysicalDeviceFeatures :: CString--pattern VkGetPhysicalDeviceFeatures <--        (is_VkGetPhysicalDeviceFeatures -> True)-  where VkGetPhysicalDeviceFeatures = _VkGetPhysicalDeviceFeatures--{-# INLINE _VkGetPhysicalDeviceFeatures #-}--_VkGetPhysicalDeviceFeatures :: CString-_VkGetPhysicalDeviceFeatures-  = Ptr "vkGetPhysicalDeviceFeatures\NUL"##--{-# INLINE is_VkGetPhysicalDeviceFeatures #-}--is_VkGetPhysicalDeviceFeatures :: CString -> Bool-is_VkGetPhysicalDeviceFeatures-  = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceFeatures--type VkGetPhysicalDeviceFeatures = "vkGetPhysicalDeviceFeatures"---- |--- > void vkGetPhysicalDeviceFeatures--- >     ( VkPhysicalDevice physicalDevice--- >     , VkPhysicalDeviceFeatures* pFeatures--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceFeatures <- vkGetInstanceProc @VkGetPhysicalDeviceFeatures vkInstance------ or less efficient:------ > myGetPhysicalDeviceFeatures <- vkGetProc @VkGetPhysicalDeviceFeatures------ __Note:__ @vkGetPhysicalDeviceFeaturesUnsafe@ and @vkGetPhysicalDeviceFeaturesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceFeatures@ is an alias---           of @vkGetPhysicalDeviceFeaturesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceFeaturesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetPhysicalDeviceFeatures"-               vkGetPhysicalDeviceFeaturesUnsafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> Ptr VkPhysicalDeviceFeatures -- ^ pFeatures-                                                                -> IO ()--##else-vkGetPhysicalDeviceFeaturesUnsafe ::-                                  VkPhysicalDevice -- ^ physicalDevice-                                                   -> Ptr VkPhysicalDeviceFeatures -- ^ pFeatures-                                                                                   -> IO ()-vkGetPhysicalDeviceFeaturesUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetPhysicalDeviceFeatures)--{-# NOINLINE vkGetPhysicalDeviceFeaturesUnsafe #-}-##endif---- |--- > void vkGetPhysicalDeviceFeatures--- >     ( VkPhysicalDevice physicalDevice--- >     , VkPhysicalDeviceFeatures* pFeatures--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceFeatures <- vkGetInstanceProc @VkGetPhysicalDeviceFeatures vkInstance------ or less efficient:------ > myGetPhysicalDeviceFeatures <- vkGetProc @VkGetPhysicalDeviceFeatures------ __Note:__ @vkGetPhysicalDeviceFeaturesUnsafe@ and @vkGetPhysicalDeviceFeaturesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceFeatures@ is an alias---           of @vkGetPhysicalDeviceFeaturesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceFeaturesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkGetPhysicalDeviceFeatures"-               vkGetPhysicalDeviceFeaturesSafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> Ptr VkPhysicalDeviceFeatures -- ^ pFeatures-                                                                -> IO ()--##else-vkGetPhysicalDeviceFeaturesSafe ::-                                VkPhysicalDevice -- ^ physicalDevice-                                                 -> Ptr VkPhysicalDeviceFeatures -- ^ pFeatures-                                                                                 -> IO ()-vkGetPhysicalDeviceFeaturesSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetPhysicalDeviceFeatures)--{-# NOINLINE vkGetPhysicalDeviceFeaturesSafe #-}-##endif---- |--- > void vkGetPhysicalDeviceFeatures--- >     ( VkPhysicalDevice physicalDevice--- >     , VkPhysicalDeviceFeatures* pFeatures--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceFeatures <- vkGetInstanceProc @VkGetPhysicalDeviceFeatures vkInstance------ or less efficient:------ > myGetPhysicalDeviceFeatures <- vkGetProc @VkGetPhysicalDeviceFeatures------ __Note:__ @vkGetPhysicalDeviceFeaturesUnsafe@ and @vkGetPhysicalDeviceFeaturesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceFeatures@ is an alias---           of @vkGetPhysicalDeviceFeaturesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceFeaturesSafe@.----vkGetPhysicalDeviceFeatures ::-                            VkPhysicalDevice -- ^ physicalDevice-                                             -> Ptr VkPhysicalDeviceFeatures -- ^ pFeatures-                                                                             -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkGetPhysicalDeviceFeatures = vkGetPhysicalDeviceFeaturesUnsafe-##else-vkGetPhysicalDeviceFeatures = vkGetPhysicalDeviceFeaturesSafe--##endif-{-# INLINE vkGetPhysicalDeviceFeatures #-}---- | > void vkGetPhysicalDeviceFeatures---   >     ( VkPhysicalDevice physicalDevice---   >     , VkPhysicalDeviceFeatures* pFeatures---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures registry at www.khronos.org>-type HS_vkGetPhysicalDeviceFeatures =-     VkPhysicalDevice -- ^ physicalDevice-                      -> Ptr VkPhysicalDeviceFeatures -- ^ pFeatures-                                                      -> IO ()--type PFN_vkGetPhysicalDeviceFeatures =-     FunPtr HS_vkGetPhysicalDeviceFeatures--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceFeaturesUnsafe ::-               PFN_vkGetPhysicalDeviceFeatures -> HS_vkGetPhysicalDeviceFeatures--foreign import ccall safe "dynamic"-               unwrapVkGetPhysicalDeviceFeaturesSafe ::-               PFN_vkGetPhysicalDeviceFeatures -> HS_vkGetPhysicalDeviceFeatures--instance VulkanProc "vkGetPhysicalDeviceFeatures" where-        type VkProcType "vkGetPhysicalDeviceFeatures" =-             HS_vkGetPhysicalDeviceFeatures-        vkProcSymbol = _VkGetPhysicalDeviceFeatures--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetPhysicalDeviceFeaturesUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetPhysicalDeviceFeaturesSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetPhysicalDeviceFormatProperties :: CString--pattern VkGetPhysicalDeviceFormatProperties <--        (is_VkGetPhysicalDeviceFormatProperties -> True)-  where VkGetPhysicalDeviceFormatProperties-          = _VkGetPhysicalDeviceFormatProperties--{-# INLINE _VkGetPhysicalDeviceFormatProperties #-}--_VkGetPhysicalDeviceFormatProperties :: CString-_VkGetPhysicalDeviceFormatProperties-  = Ptr "vkGetPhysicalDeviceFormatProperties\NUL"##--{-# INLINE is_VkGetPhysicalDeviceFormatProperties #-}--is_VkGetPhysicalDeviceFormatProperties :: CString -> Bool-is_VkGetPhysicalDeviceFormatProperties-  = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceFormatProperties--type VkGetPhysicalDeviceFormatProperties =-     "vkGetPhysicalDeviceFormatProperties"---- |--- > void vkGetPhysicalDeviceFormatProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , VkFormat format--- >     , VkFormatProperties* pFormatProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceFormatProperties vkInstance------ or less efficient:------ > myGetPhysicalDeviceFormatProperties <- vkGetProc @VkGetPhysicalDeviceFormatProperties------ __Note:__ @vkGetPhysicalDeviceFormatPropertiesUnsafe@ and @vkGetPhysicalDeviceFormatPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceFormatProperties@ is an alias---           of @vkGetPhysicalDeviceFormatPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceFormatPropertiesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetPhysicalDeviceFormatProperties"-               vkGetPhysicalDeviceFormatPropertiesUnsafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> VkFormat -- ^ format-                                            -> Ptr VkFormatProperties -- ^ pFormatProperties-                                                                      -> IO ()--##else-vkGetPhysicalDeviceFormatPropertiesUnsafe ::-                                          VkPhysicalDevice -- ^ physicalDevice-                                                           ->-                                            VkFormat -- ^ format-                                                     -> Ptr VkFormatProperties -- ^ pFormatProperties-                                                                               -> IO ()-vkGetPhysicalDeviceFormatPropertiesUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetPhysicalDeviceFormatProperties)--{-# NOINLINE vkGetPhysicalDeviceFormatPropertiesUnsafe #-}-##endif---- |--- > void vkGetPhysicalDeviceFormatProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , VkFormat format--- >     , VkFormatProperties* pFormatProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceFormatProperties vkInstance------ or less efficient:------ > myGetPhysicalDeviceFormatProperties <- vkGetProc @VkGetPhysicalDeviceFormatProperties------ __Note:__ @vkGetPhysicalDeviceFormatPropertiesUnsafe@ and @vkGetPhysicalDeviceFormatPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceFormatProperties@ is an alias---           of @vkGetPhysicalDeviceFormatPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceFormatPropertiesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkGetPhysicalDeviceFormatProperties"-               vkGetPhysicalDeviceFormatPropertiesSafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> VkFormat -- ^ format-                                            -> Ptr VkFormatProperties -- ^ pFormatProperties-                                                                      -> IO ()--##else-vkGetPhysicalDeviceFormatPropertiesSafe ::-                                        VkPhysicalDevice -- ^ physicalDevice-                                                         ->-                                          VkFormat -- ^ format-                                                   -> Ptr VkFormatProperties -- ^ pFormatProperties-                                                                             -> IO ()-vkGetPhysicalDeviceFormatPropertiesSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetPhysicalDeviceFormatProperties)--{-# NOINLINE vkGetPhysicalDeviceFormatPropertiesSafe #-}-##endif---- |--- > void vkGetPhysicalDeviceFormatProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , VkFormat format--- >     , VkFormatProperties* pFormatProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceFormatProperties vkInstance------ or less efficient:------ > myGetPhysicalDeviceFormatProperties <- vkGetProc @VkGetPhysicalDeviceFormatProperties------ __Note:__ @vkGetPhysicalDeviceFormatPropertiesUnsafe@ and @vkGetPhysicalDeviceFormatPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceFormatProperties@ is an alias---           of @vkGetPhysicalDeviceFormatPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceFormatPropertiesSafe@.----vkGetPhysicalDeviceFormatProperties ::-                                    VkPhysicalDevice -- ^ physicalDevice-                                                     -> VkFormat -- ^ format-                                                                 -> Ptr VkFormatProperties -- ^ pFormatProperties-                                                                                           -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkGetPhysicalDeviceFormatProperties-  = vkGetPhysicalDeviceFormatPropertiesUnsafe-##else-vkGetPhysicalDeviceFormatProperties-  = vkGetPhysicalDeviceFormatPropertiesSafe--##endif-{-# INLINE vkGetPhysicalDeviceFormatProperties #-}---- | > void vkGetPhysicalDeviceFormatProperties---   >     ( VkPhysicalDevice physicalDevice---   >     , VkFormat format---   >     , VkFormatProperties* pFormatProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties registry at www.khronos.org>-type HS_vkGetPhysicalDeviceFormatProperties =-     VkPhysicalDevice -- ^ physicalDevice-                      -> VkFormat -- ^ format-                                  -> Ptr VkFormatProperties -- ^ pFormatProperties-                                                            -> IO ()--type PFN_vkGetPhysicalDeviceFormatProperties =-     FunPtr HS_vkGetPhysicalDeviceFormatProperties--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceFormatPropertiesUnsafe ::-               PFN_vkGetPhysicalDeviceFormatProperties ->-                 HS_vkGetPhysicalDeviceFormatProperties--foreign import ccall safe "dynamic"-               unwrapVkGetPhysicalDeviceFormatPropertiesSafe ::-               PFN_vkGetPhysicalDeviceFormatProperties ->-                 HS_vkGetPhysicalDeviceFormatProperties--instance VulkanProc "vkGetPhysicalDeviceFormatProperties" where-        type VkProcType "vkGetPhysicalDeviceFormatProperties" =-             HS_vkGetPhysicalDeviceFormatProperties-        vkProcSymbol = _VkGetPhysicalDeviceFormatProperties--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceFormatPropertiesUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetPhysicalDeviceFormatPropertiesSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetPhysicalDeviceImageFormatProperties :: CString--pattern VkGetPhysicalDeviceImageFormatProperties <--        (is_VkGetPhysicalDeviceImageFormatProperties -> True)-  where VkGetPhysicalDeviceImageFormatProperties-          = _VkGetPhysicalDeviceImageFormatProperties--{-# INLINE _VkGetPhysicalDeviceImageFormatProperties #-}--_VkGetPhysicalDeviceImageFormatProperties :: CString-_VkGetPhysicalDeviceImageFormatProperties-  = Ptr "vkGetPhysicalDeviceImageFormatProperties\NUL"##--{-# INLINE is_VkGetPhysicalDeviceImageFormatProperties #-}--is_VkGetPhysicalDeviceImageFormatProperties :: CString -> Bool-is_VkGetPhysicalDeviceImageFormatProperties-  = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceImageFormatProperties--type VkGetPhysicalDeviceImageFormatProperties =-     "vkGetPhysicalDeviceImageFormatProperties"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.------ > VkResult vkGetPhysicalDeviceImageFormatProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , VkFormat format--- >     , VkImageType type--- >     , VkImageTiling tiling--- >     , VkImageUsageFlags usage--- >     , VkImageCreateFlags flags--- >     , VkImageFormatProperties* pImageFormatProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceImageFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceImageFormatProperties vkInstance------ or less efficient:------ > myGetPhysicalDeviceImageFormatProperties <- vkGetProc @VkGetPhysicalDeviceImageFormatProperties------ __Note:__ @vkGetPhysicalDeviceImageFormatPropertiesUnsafe@ and @vkGetPhysicalDeviceImageFormatPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceImageFormatProperties@ is an alias---           of @vkGetPhysicalDeviceImageFormatPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceImageFormatPropertiesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe-               "vkGetPhysicalDeviceImageFormatProperties"-               vkGetPhysicalDeviceImageFormatPropertiesUnsafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 VkFormat -- ^ format-                          ->-                   VkImageType -- ^ type-                               ->-                     VkImageTiling -- ^ tiling-                                   ->-                       VkImageUsageFlags -- ^ usage-                                         ->-                         VkImageCreateFlags -- ^ flags-                                            -> Ptr VkImageFormatProperties -- ^ pImageFormatProperties-                                                                           -> IO VkResult--##else-vkGetPhysicalDeviceImageFormatPropertiesUnsafe ::-                                               VkPhysicalDevice -- ^ physicalDevice-                                                                ->-                                                 VkFormat -- ^ format-                                                          ->-                                                   VkImageType -- ^ type-                                                               ->-                                                     VkImageTiling -- ^ tiling-                                                                   ->-                                                       VkImageUsageFlags -- ^ usage-                                                                         ->-                                                         VkImageCreateFlags -- ^ flags-                                                                            ->-                                                           Ptr VkImageFormatProperties -- ^ pImageFormatProperties-                                                                                       ->-                                                             IO VkResult-vkGetPhysicalDeviceImageFormatPropertiesUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetPhysicalDeviceImageFormatProperties)--{-# NOINLINE vkGetPhysicalDeviceImageFormatPropertiesUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.------ > VkResult vkGetPhysicalDeviceImageFormatProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , VkFormat format--- >     , VkImageType type--- >     , VkImageTiling tiling--- >     , VkImageUsageFlags usage--- >     , VkImageCreateFlags flags--- >     , VkImageFormatProperties* pImageFormatProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceImageFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceImageFormatProperties vkInstance------ or less efficient:------ > myGetPhysicalDeviceImageFormatProperties <- vkGetProc @VkGetPhysicalDeviceImageFormatProperties------ __Note:__ @vkGetPhysicalDeviceImageFormatPropertiesUnsafe@ and @vkGetPhysicalDeviceImageFormatPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceImageFormatProperties@ is an alias---           of @vkGetPhysicalDeviceImageFormatPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceImageFormatPropertiesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe-               "vkGetPhysicalDeviceImageFormatProperties"-               vkGetPhysicalDeviceImageFormatPropertiesSafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 VkFormat -- ^ format-                          ->-                   VkImageType -- ^ type-                               ->-                     VkImageTiling -- ^ tiling-                                   ->-                       VkImageUsageFlags -- ^ usage-                                         ->-                         VkImageCreateFlags -- ^ flags-                                            -> Ptr VkImageFormatProperties -- ^ pImageFormatProperties-                                                                           -> IO VkResult--##else-vkGetPhysicalDeviceImageFormatPropertiesSafe ::-                                             VkPhysicalDevice -- ^ physicalDevice-                                                              ->-                                               VkFormat -- ^ format-                                                        ->-                                                 VkImageType -- ^ type-                                                             ->-                                                   VkImageTiling -- ^ tiling-                                                                 ->-                                                     VkImageUsageFlags -- ^ usage-                                                                       ->-                                                       VkImageCreateFlags -- ^ flags-                                                                          ->-                                                         Ptr VkImageFormatProperties -- ^ pImageFormatProperties-                                                                                     -> IO VkResult-vkGetPhysicalDeviceImageFormatPropertiesSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetPhysicalDeviceImageFormatProperties)--{-# NOINLINE vkGetPhysicalDeviceImageFormatPropertiesSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.------ > VkResult vkGetPhysicalDeviceImageFormatProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , VkFormat format--- >     , VkImageType type--- >     , VkImageTiling tiling--- >     , VkImageUsageFlags usage--- >     , VkImageCreateFlags flags--- >     , VkImageFormatProperties* pImageFormatProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceImageFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceImageFormatProperties vkInstance------ or less efficient:------ > myGetPhysicalDeviceImageFormatProperties <- vkGetProc @VkGetPhysicalDeviceImageFormatProperties------ __Note:__ @vkGetPhysicalDeviceImageFormatPropertiesUnsafe@ and @vkGetPhysicalDeviceImageFormatPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceImageFormatProperties@ is an alias---           of @vkGetPhysicalDeviceImageFormatPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceImageFormatPropertiesSafe@.----vkGetPhysicalDeviceImageFormatProperties ::-                                         VkPhysicalDevice -- ^ physicalDevice-                                                          ->-                                           VkFormat -- ^ format-                                                    ->-                                             VkImageType -- ^ type-                                                         ->-                                               VkImageTiling -- ^ tiling-                                                             ->-                                                 VkImageUsageFlags -- ^ usage-                                                                   ->-                                                   VkImageCreateFlags -- ^ flags-                                                                      ->-                                                     Ptr VkImageFormatProperties -- ^ pImageFormatProperties-                                                                                 -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkGetPhysicalDeviceImageFormatProperties-  = vkGetPhysicalDeviceImageFormatPropertiesUnsafe-##else-vkGetPhysicalDeviceImageFormatProperties-  = vkGetPhysicalDeviceImageFormatPropertiesSafe--##endif-{-# INLINE vkGetPhysicalDeviceImageFormatProperties #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.------   > VkResult vkGetPhysicalDeviceImageFormatProperties---   >     ( VkPhysicalDevice physicalDevice---   >     , VkFormat format---   >     , VkImageType type---   >     , VkImageTiling tiling---   >     , VkImageUsageFlags usage---   >     , VkImageCreateFlags flags---   >     , VkImageFormatProperties* pImageFormatProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties registry at www.khronos.org>-type HS_vkGetPhysicalDeviceImageFormatProperties =-     VkPhysicalDevice -- ^ physicalDevice-                      ->-       VkFormat -- ^ format-                ->-         VkImageType -- ^ type-                     ->-           VkImageTiling -- ^ tiling-                         ->-             VkImageUsageFlags -- ^ usage-                               ->-               VkImageCreateFlags -- ^ flags-                                  -> Ptr VkImageFormatProperties -- ^ pImageFormatProperties-                                                                 -> IO VkResult--type PFN_vkGetPhysicalDeviceImageFormatProperties =-     FunPtr HS_vkGetPhysicalDeviceImageFormatProperties--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceImageFormatPropertiesUnsafe ::-               PFN_vkGetPhysicalDeviceImageFormatProperties ->-                 HS_vkGetPhysicalDeviceImageFormatProperties--foreign import ccall safe "dynamic"-               unwrapVkGetPhysicalDeviceImageFormatPropertiesSafe ::-               PFN_vkGetPhysicalDeviceImageFormatProperties ->-                 HS_vkGetPhysicalDeviceImageFormatProperties--instance VulkanProc "vkGetPhysicalDeviceImageFormatProperties"-         where-        type VkProcType "vkGetPhysicalDeviceImageFormatProperties" =-             HS_vkGetPhysicalDeviceImageFormatProperties-        vkProcSymbol = _VkGetPhysicalDeviceImageFormatProperties--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceImageFormatPropertiesUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceImageFormatPropertiesSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetPhysicalDeviceProperties :: CString--pattern VkGetPhysicalDeviceProperties <--        (is_VkGetPhysicalDeviceProperties -> True)-  where VkGetPhysicalDeviceProperties-          = _VkGetPhysicalDeviceProperties--{-# INLINE _VkGetPhysicalDeviceProperties #-}--_VkGetPhysicalDeviceProperties :: CString-_VkGetPhysicalDeviceProperties-  = Ptr "vkGetPhysicalDeviceProperties\NUL"##--{-# INLINE is_VkGetPhysicalDeviceProperties #-}--is_VkGetPhysicalDeviceProperties :: CString -> Bool-is_VkGetPhysicalDeviceProperties-  = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceProperties--type VkGetPhysicalDeviceProperties =-     "vkGetPhysicalDeviceProperties"---- |--- > void vkGetPhysicalDeviceProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , VkPhysicalDeviceProperties* pProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceProperties <- vkGetInstanceProc @VkGetPhysicalDeviceProperties vkInstance------ or less efficient:------ > myGetPhysicalDeviceProperties <- vkGetProc @VkGetPhysicalDeviceProperties------ __Note:__ @vkGetPhysicalDevicePropertiesUnsafe@ and @vkGetPhysicalDevicePropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceProperties@ is an alias---           of @vkGetPhysicalDevicePropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDevicePropertiesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetPhysicalDeviceProperties"-               vkGetPhysicalDevicePropertiesUnsafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> Ptr VkPhysicalDeviceProperties -- ^ pProperties-                                                                  -> IO ()--##else-vkGetPhysicalDevicePropertiesUnsafe ::-                                    VkPhysicalDevice -- ^ physicalDevice-                                                     -> Ptr VkPhysicalDeviceProperties -- ^ pProperties-                                                                                       -> IO ()-vkGetPhysicalDevicePropertiesUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetPhysicalDeviceProperties)--{-# NOINLINE vkGetPhysicalDevicePropertiesUnsafe #-}-##endif---- |--- > void vkGetPhysicalDeviceProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , VkPhysicalDeviceProperties* pProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceProperties <- vkGetInstanceProc @VkGetPhysicalDeviceProperties vkInstance------ or less efficient:------ > myGetPhysicalDeviceProperties <- vkGetProc @VkGetPhysicalDeviceProperties------ __Note:__ @vkGetPhysicalDevicePropertiesUnsafe@ and @vkGetPhysicalDevicePropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceProperties@ is an alias---           of @vkGetPhysicalDevicePropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDevicePropertiesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkGetPhysicalDeviceProperties"-               vkGetPhysicalDevicePropertiesSafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> Ptr VkPhysicalDeviceProperties -- ^ pProperties-                                                                  -> IO ()--##else-vkGetPhysicalDevicePropertiesSafe ::-                                  VkPhysicalDevice -- ^ physicalDevice-                                                   -> Ptr VkPhysicalDeviceProperties -- ^ pProperties-                                                                                     -> IO ()-vkGetPhysicalDevicePropertiesSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetPhysicalDeviceProperties)--{-# NOINLINE vkGetPhysicalDevicePropertiesSafe #-}-##endif---- |--- > void vkGetPhysicalDeviceProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , VkPhysicalDeviceProperties* pProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceProperties <- vkGetInstanceProc @VkGetPhysicalDeviceProperties vkInstance------ or less efficient:------ > myGetPhysicalDeviceProperties <- vkGetProc @VkGetPhysicalDeviceProperties------ __Note:__ @vkGetPhysicalDevicePropertiesUnsafe@ and @vkGetPhysicalDevicePropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceProperties@ is an alias---           of @vkGetPhysicalDevicePropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDevicePropertiesSafe@.----vkGetPhysicalDeviceProperties ::-                              VkPhysicalDevice -- ^ physicalDevice-                                               -> Ptr VkPhysicalDeviceProperties -- ^ pProperties-                                                                                 -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkGetPhysicalDeviceProperties = vkGetPhysicalDevicePropertiesUnsafe-##else-vkGetPhysicalDeviceProperties = vkGetPhysicalDevicePropertiesSafe--##endif-{-# INLINE vkGetPhysicalDeviceProperties #-}---- | > void vkGetPhysicalDeviceProperties---   >     ( VkPhysicalDevice physicalDevice---   >     , VkPhysicalDeviceProperties* pProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties registry at www.khronos.org>-type HS_vkGetPhysicalDeviceProperties =-     VkPhysicalDevice -- ^ physicalDevice-                      -> Ptr VkPhysicalDeviceProperties -- ^ pProperties-                                                        -> IO ()--type PFN_vkGetPhysicalDeviceProperties =-     FunPtr HS_vkGetPhysicalDeviceProperties--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDevicePropertiesUnsafe ::-               PFN_vkGetPhysicalDeviceProperties ->-                 HS_vkGetPhysicalDeviceProperties--foreign import ccall safe "dynamic"-               unwrapVkGetPhysicalDevicePropertiesSafe ::-               PFN_vkGetPhysicalDeviceProperties ->-                 HS_vkGetPhysicalDeviceProperties--instance VulkanProc "vkGetPhysicalDeviceProperties" where-        type VkProcType "vkGetPhysicalDeviceProperties" =-             HS_vkGetPhysicalDeviceProperties-        vkProcSymbol = _VkGetPhysicalDeviceProperties--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetPhysicalDevicePropertiesUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetPhysicalDevicePropertiesSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetPhysicalDeviceQueueFamilyProperties :: CString--pattern VkGetPhysicalDeviceQueueFamilyProperties <--        (is_VkGetPhysicalDeviceQueueFamilyProperties -> True)-  where VkGetPhysicalDeviceQueueFamilyProperties-          = _VkGetPhysicalDeviceQueueFamilyProperties--{-# INLINE _VkGetPhysicalDeviceQueueFamilyProperties #-}--_VkGetPhysicalDeviceQueueFamilyProperties :: CString-_VkGetPhysicalDeviceQueueFamilyProperties-  = Ptr "vkGetPhysicalDeviceQueueFamilyProperties\NUL"##--{-# INLINE is_VkGetPhysicalDeviceQueueFamilyProperties #-}--is_VkGetPhysicalDeviceQueueFamilyProperties :: CString -> Bool-is_VkGetPhysicalDeviceQueueFamilyProperties-  = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceQueueFamilyProperties--type VkGetPhysicalDeviceQueueFamilyProperties =-     "vkGetPhysicalDeviceQueueFamilyProperties"---- |--- > void vkGetPhysicalDeviceQueueFamilyProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , uint32_t* pQueueFamilyPropertyCount--- >     , VkQueueFamilyProperties* pQueueFamilyProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceQueueFamilyProperties <- vkGetInstanceProc @VkGetPhysicalDeviceQueueFamilyProperties vkInstance------ or less efficient:------ > myGetPhysicalDeviceQueueFamilyProperties <- vkGetProc @VkGetPhysicalDeviceQueueFamilyProperties------ __Note:__ @vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe@ and @vkGetPhysicalDeviceQueueFamilyPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceQueueFamilyProperties@ is an alias---           of @vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceQueueFamilyPropertiesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe-               "vkGetPhysicalDeviceQueueFamilyProperties"-               vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr Word32 -- ^ pQueueFamilyPropertyCount-                            -> Ptr VkQueueFamilyProperties -- ^ pQueueFamilyProperties-                                                           -> IO ()--##else-vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe ::-                                               VkPhysicalDevice -- ^ physicalDevice-                                                                ->-                                                 Ptr Word32 -- ^ pQueueFamilyPropertyCount-                                                            -> Ptr VkQueueFamilyProperties -- ^ pQueueFamilyProperties-                                                                                           -> IO ()-vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetPhysicalDeviceQueueFamilyProperties)--{-# NOINLINE vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe #-}-##endif---- |--- > void vkGetPhysicalDeviceQueueFamilyProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , uint32_t* pQueueFamilyPropertyCount--- >     , VkQueueFamilyProperties* pQueueFamilyProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceQueueFamilyProperties <- vkGetInstanceProc @VkGetPhysicalDeviceQueueFamilyProperties vkInstance------ or less efficient:------ > myGetPhysicalDeviceQueueFamilyProperties <- vkGetProc @VkGetPhysicalDeviceQueueFamilyProperties------ __Note:__ @vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe@ and @vkGetPhysicalDeviceQueueFamilyPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceQueueFamilyProperties@ is an alias---           of @vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceQueueFamilyPropertiesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe-               "vkGetPhysicalDeviceQueueFamilyProperties"-               vkGetPhysicalDeviceQueueFamilyPropertiesSafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr Word32 -- ^ pQueueFamilyPropertyCount-                            -> Ptr VkQueueFamilyProperties -- ^ pQueueFamilyProperties-                                                           -> IO ()--##else-vkGetPhysicalDeviceQueueFamilyPropertiesSafe ::-                                             VkPhysicalDevice -- ^ physicalDevice-                                                              ->-                                               Ptr Word32 -- ^ pQueueFamilyPropertyCount-                                                          -> Ptr VkQueueFamilyProperties -- ^ pQueueFamilyProperties-                                                                                         -> IO ()-vkGetPhysicalDeviceQueueFamilyPropertiesSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetPhysicalDeviceQueueFamilyProperties)--{-# NOINLINE vkGetPhysicalDeviceQueueFamilyPropertiesSafe #-}-##endif---- |--- > void vkGetPhysicalDeviceQueueFamilyProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , uint32_t* pQueueFamilyPropertyCount--- >     , VkQueueFamilyProperties* pQueueFamilyProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceQueueFamilyProperties <- vkGetInstanceProc @VkGetPhysicalDeviceQueueFamilyProperties vkInstance------ or less efficient:------ > myGetPhysicalDeviceQueueFamilyProperties <- vkGetProc @VkGetPhysicalDeviceQueueFamilyProperties------ __Note:__ @vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe@ and @vkGetPhysicalDeviceQueueFamilyPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceQueueFamilyProperties@ is an alias---           of @vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceQueueFamilyPropertiesSafe@.----vkGetPhysicalDeviceQueueFamilyProperties ::-                                         VkPhysicalDevice -- ^ physicalDevice-                                                          ->-                                           Ptr Word32 -- ^ pQueueFamilyPropertyCount-                                                      -> Ptr VkQueueFamilyProperties -- ^ pQueueFamilyProperties-                                                                                     -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkGetPhysicalDeviceQueueFamilyProperties-  = vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe-##else-vkGetPhysicalDeviceQueueFamilyProperties-  = vkGetPhysicalDeviceQueueFamilyPropertiesSafe--##endif-{-# INLINE vkGetPhysicalDeviceQueueFamilyProperties #-}---- | > void vkGetPhysicalDeviceQueueFamilyProperties---   >     ( VkPhysicalDevice physicalDevice---   >     , uint32_t* pQueueFamilyPropertyCount---   >     , VkQueueFamilyProperties* pQueueFamilyProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties registry at www.khronos.org>-type HS_vkGetPhysicalDeviceQueueFamilyProperties =-     VkPhysicalDevice -- ^ physicalDevice-                      ->-       Ptr Word32 -- ^ pQueueFamilyPropertyCount-                  -> Ptr VkQueueFamilyProperties -- ^ pQueueFamilyProperties-                                                 -> IO ()--type PFN_vkGetPhysicalDeviceQueueFamilyProperties =-     FunPtr HS_vkGetPhysicalDeviceQueueFamilyProperties--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceQueueFamilyPropertiesUnsafe ::-               PFN_vkGetPhysicalDeviceQueueFamilyProperties ->-                 HS_vkGetPhysicalDeviceQueueFamilyProperties--foreign import ccall safe "dynamic"-               unwrapVkGetPhysicalDeviceQueueFamilyPropertiesSafe ::-               PFN_vkGetPhysicalDeviceQueueFamilyProperties ->-                 HS_vkGetPhysicalDeviceQueueFamilyProperties--instance VulkanProc "vkGetPhysicalDeviceQueueFamilyProperties"-         where-        type VkProcType "vkGetPhysicalDeviceQueueFamilyProperties" =-             HS_vkGetPhysicalDeviceQueueFamilyProperties-        vkProcSymbol = _VkGetPhysicalDeviceQueueFamilyProperties--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceQueueFamilyPropertiesUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceQueueFamilyPropertiesSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetPhysicalDeviceMemoryProperties :: CString--pattern VkGetPhysicalDeviceMemoryProperties <--        (is_VkGetPhysicalDeviceMemoryProperties -> True)-  where VkGetPhysicalDeviceMemoryProperties-          = _VkGetPhysicalDeviceMemoryProperties--{-# INLINE _VkGetPhysicalDeviceMemoryProperties #-}--_VkGetPhysicalDeviceMemoryProperties :: CString-_VkGetPhysicalDeviceMemoryProperties-  = Ptr "vkGetPhysicalDeviceMemoryProperties\NUL"##--{-# INLINE is_VkGetPhysicalDeviceMemoryProperties #-}--is_VkGetPhysicalDeviceMemoryProperties :: CString -> Bool-is_VkGetPhysicalDeviceMemoryProperties-  = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceMemoryProperties--type VkGetPhysicalDeviceMemoryProperties =-     "vkGetPhysicalDeviceMemoryProperties"---- |--- > void vkGetPhysicalDeviceMemoryProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , VkPhysicalDeviceMemoryProperties* pMemoryProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceMemoryProperties <- vkGetInstanceProc @VkGetPhysicalDeviceMemoryProperties vkInstance------ or less efficient:------ > myGetPhysicalDeviceMemoryProperties <- vkGetProc @VkGetPhysicalDeviceMemoryProperties------ __Note:__ @vkGetPhysicalDeviceMemoryPropertiesUnsafe@ and @vkGetPhysicalDeviceMemoryPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceMemoryProperties@ is an alias---           of @vkGetPhysicalDeviceMemoryPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceMemoryPropertiesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetPhysicalDeviceMemoryProperties"-               vkGetPhysicalDeviceMemoryPropertiesUnsafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> Ptr VkPhysicalDeviceMemoryProperties -- ^ pMemoryProperties-                                                                        -> IO ()--##else-vkGetPhysicalDeviceMemoryPropertiesUnsafe ::-                                          VkPhysicalDevice -- ^ physicalDevice-                                                           ->-                                            Ptr VkPhysicalDeviceMemoryProperties -- ^ pMemoryProperties-                                                                                 -> IO ()-vkGetPhysicalDeviceMemoryPropertiesUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetPhysicalDeviceMemoryProperties)--{-# NOINLINE vkGetPhysicalDeviceMemoryPropertiesUnsafe #-}-##endif---- |--- > void vkGetPhysicalDeviceMemoryProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , VkPhysicalDeviceMemoryProperties* pMemoryProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceMemoryProperties <- vkGetInstanceProc @VkGetPhysicalDeviceMemoryProperties vkInstance------ or less efficient:------ > myGetPhysicalDeviceMemoryProperties <- vkGetProc @VkGetPhysicalDeviceMemoryProperties------ __Note:__ @vkGetPhysicalDeviceMemoryPropertiesUnsafe@ and @vkGetPhysicalDeviceMemoryPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceMemoryProperties@ is an alias---           of @vkGetPhysicalDeviceMemoryPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceMemoryPropertiesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkGetPhysicalDeviceMemoryProperties"-               vkGetPhysicalDeviceMemoryPropertiesSafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> Ptr VkPhysicalDeviceMemoryProperties -- ^ pMemoryProperties-                                                                        -> IO ()--##else-vkGetPhysicalDeviceMemoryPropertiesSafe ::-                                        VkPhysicalDevice -- ^ physicalDevice-                                                         ->-                                          Ptr VkPhysicalDeviceMemoryProperties -- ^ pMemoryProperties-                                                                               -> IO ()-vkGetPhysicalDeviceMemoryPropertiesSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetPhysicalDeviceMemoryProperties)--{-# NOINLINE vkGetPhysicalDeviceMemoryPropertiesSafe #-}-##endif---- |--- > void vkGetPhysicalDeviceMemoryProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , VkPhysicalDeviceMemoryProperties* pMemoryProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceMemoryProperties <- vkGetInstanceProc @VkGetPhysicalDeviceMemoryProperties vkInstance------ or less efficient:------ > myGetPhysicalDeviceMemoryProperties <- vkGetProc @VkGetPhysicalDeviceMemoryProperties------ __Note:__ @vkGetPhysicalDeviceMemoryPropertiesUnsafe@ and @vkGetPhysicalDeviceMemoryPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceMemoryProperties@ is an alias---           of @vkGetPhysicalDeviceMemoryPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceMemoryPropertiesSafe@.----vkGetPhysicalDeviceMemoryProperties ::-                                    VkPhysicalDevice -- ^ physicalDevice-                                                     ->-                                      Ptr VkPhysicalDeviceMemoryProperties -- ^ pMemoryProperties-                                                                           -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkGetPhysicalDeviceMemoryProperties-  = vkGetPhysicalDeviceMemoryPropertiesUnsafe-##else-vkGetPhysicalDeviceMemoryProperties-  = vkGetPhysicalDeviceMemoryPropertiesSafe--##endif-{-# INLINE vkGetPhysicalDeviceMemoryProperties #-}---- | > void vkGetPhysicalDeviceMemoryProperties---   >     ( VkPhysicalDevice physicalDevice---   >     , VkPhysicalDeviceMemoryProperties* pMemoryProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties registry at www.khronos.org>-type HS_vkGetPhysicalDeviceMemoryProperties =-     VkPhysicalDevice -- ^ physicalDevice-                      -> Ptr VkPhysicalDeviceMemoryProperties -- ^ pMemoryProperties-                                                              -> IO ()--type PFN_vkGetPhysicalDeviceMemoryProperties =-     FunPtr HS_vkGetPhysicalDeviceMemoryProperties--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceMemoryPropertiesUnsafe ::-               PFN_vkGetPhysicalDeviceMemoryProperties ->-                 HS_vkGetPhysicalDeviceMemoryProperties--foreign import ccall safe "dynamic"-               unwrapVkGetPhysicalDeviceMemoryPropertiesSafe ::-               PFN_vkGetPhysicalDeviceMemoryProperties ->-                 HS_vkGetPhysicalDeviceMemoryProperties--instance VulkanProc "vkGetPhysicalDeviceMemoryProperties" where-        type VkProcType "vkGetPhysicalDeviceMemoryProperties" =-             HS_vkGetPhysicalDeviceMemoryProperties-        vkProcSymbol = _VkGetPhysicalDeviceMemoryProperties--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceMemoryPropertiesUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetPhysicalDeviceMemoryPropertiesSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetInstanceProcAddr :: CString--pattern VkGetInstanceProcAddr <- (is_VkGetInstanceProcAddr -> True)-  where VkGetInstanceProcAddr = _VkGetInstanceProcAddr--{-# INLINE _VkGetInstanceProcAddr #-}--_VkGetInstanceProcAddr :: CString-_VkGetInstanceProcAddr = Ptr "vkGetInstanceProcAddr\NUL"##--{-# INLINE is_VkGetInstanceProcAddr #-}--is_VkGetInstanceProcAddr :: CString -> Bool-is_VkGetInstanceProcAddr-  = (EQ ==) . cmpCStrings _VkGetInstanceProcAddr--type VkGetInstanceProcAddr = "vkGetInstanceProcAddr"---- |--- > PFN_vkVoidFunction vkGetInstanceProcAddr--- >     ( VkInstance instance--- >     , const char* pName--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetInstanceProcAddr vkGetInstanceProcAddr registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetInstanceProcAddr <- vkGetInstanceProc @VkGetInstanceProcAddr vkInstance------ or less efficient:------ > myGetInstanceProcAddr <- vkGetProc @VkGetInstanceProcAddr------ __Note:__ @vkGetInstanceProcAddrUnsafe@ and @vkGetInstanceProcAddrSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetInstanceProcAddr@ is an alias---           of @vkGetInstanceProcAddrUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetInstanceProcAddrSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetInstanceProcAddr"-               vkGetInstanceProcAddrUnsafe ::-               VkInstance -- ^ instance-                          -> CString -- ^ pName-                                     -> IO PFN_vkVoidFunction--##else-vkGetInstanceProcAddrUnsafe ::-                            VkInstance -- ^ instance-                                       -> CString -- ^ pName-                                                  -> IO PFN_vkVoidFunction-vkGetInstanceProcAddrUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkGetInstanceProcAddr)--{-# NOINLINE vkGetInstanceProcAddrUnsafe #-}-##endif---- |--- > PFN_vkVoidFunction vkGetInstanceProcAddr--- >     ( VkInstance instance--- >     , const char* pName--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetInstanceProcAddr vkGetInstanceProcAddr registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetInstanceProcAddr <- vkGetInstanceProc @VkGetInstanceProcAddr vkInstance------ or less efficient:------ > myGetInstanceProcAddr <- vkGetProc @VkGetInstanceProcAddr------ __Note:__ @vkGetInstanceProcAddrUnsafe@ and @vkGetInstanceProcAddrSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetInstanceProcAddr@ is an alias---           of @vkGetInstanceProcAddrUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetInstanceProcAddrSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkGetInstanceProcAddr"-               vkGetInstanceProcAddrSafe ::-               VkInstance -- ^ instance-                          -> CString -- ^ pName-                                     -> IO PFN_vkVoidFunction--##else-vkGetInstanceProcAddrSafe ::-                          VkInstance -- ^ instance-                                     -> CString -- ^ pName-                                                -> IO PFN_vkVoidFunction-vkGetInstanceProcAddrSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkGetInstanceProcAddr)--{-# NOINLINE vkGetInstanceProcAddrSafe #-}-##endif---- |--- > PFN_vkVoidFunction vkGetInstanceProcAddr--- >     ( VkInstance instance--- >     , const char* pName--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetInstanceProcAddr vkGetInstanceProcAddr registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetInstanceProcAddr <- vkGetInstanceProc @VkGetInstanceProcAddr vkInstance------ or less efficient:------ > myGetInstanceProcAddr <- vkGetProc @VkGetInstanceProcAddr------ __Note:__ @vkGetInstanceProcAddrUnsafe@ and @vkGetInstanceProcAddrSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetInstanceProcAddr@ is an alias---           of @vkGetInstanceProcAddrUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetInstanceProcAddrSafe@.----vkGetInstanceProcAddr ::-                      VkInstance -- ^ instance-                                 -> CString -- ^ pName-                                            -> IO PFN_vkVoidFunction-##ifdef UNSAFE_FFI_DEFAULT-vkGetInstanceProcAddr = vkGetInstanceProcAddrUnsafe-##else-vkGetInstanceProcAddr = vkGetInstanceProcAddrSafe--##endif-{-# INLINE vkGetInstanceProcAddr #-}---- | > PFN_vkVoidFunction vkGetInstanceProcAddr---   >     ( VkInstance instance---   >     , const char* pName---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetInstanceProcAddr vkGetInstanceProcAddr registry at www.khronos.org>-type HS_vkGetInstanceProcAddr =-     VkInstance -- ^ instance-                -> CString -- ^ pName-                           -> IO PFN_vkVoidFunction--type PFN_vkGetInstanceProcAddr = FunPtr HS_vkGetInstanceProcAddr--foreign import ccall unsafe "dynamic"-               unwrapVkGetInstanceProcAddrUnsafe ::-               PFN_vkGetInstanceProcAddr -> HS_vkGetInstanceProcAddr--foreign import ccall safe "dynamic" unwrapVkGetInstanceProcAddrSafe-               :: PFN_vkGetInstanceProcAddr -> HS_vkGetInstanceProcAddr--instance VulkanProc "vkGetInstanceProcAddr" where-        type VkProcType "vkGetInstanceProcAddr" = HS_vkGetInstanceProcAddr-        vkProcSymbol = _VkGetInstanceProcAddr--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetInstanceProcAddrUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetInstanceProcAddrSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetDeviceProcAddr :: CString--pattern VkGetDeviceProcAddr <- (is_VkGetDeviceProcAddr -> True)-  where VkGetDeviceProcAddr = _VkGetDeviceProcAddr--{-# INLINE _VkGetDeviceProcAddr #-}--_VkGetDeviceProcAddr :: CString-_VkGetDeviceProcAddr = Ptr "vkGetDeviceProcAddr\NUL"##--{-# INLINE is_VkGetDeviceProcAddr #-}--is_VkGetDeviceProcAddr :: CString -> Bool-is_VkGetDeviceProcAddr = (EQ ==) . cmpCStrings _VkGetDeviceProcAddr--type VkGetDeviceProcAddr = "vkGetDeviceProcAddr"---- |--- > PFN_vkVoidFunction vkGetDeviceProcAddr--- >     ( VkDevice device--- >     , const char* pName--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceProcAddr vkGetDeviceProcAddr registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetDeviceProcAddr <- vkGetDeviceProc @VkGetDeviceProcAddr vkDevice------ or less efficient:------ > myGetDeviceProcAddr <- vkGetProc @VkGetDeviceProcAddr------ __Note:__ @vkGetDeviceProcAddrUnsafe@ and @vkGetDeviceProcAddrSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetDeviceProcAddr@ is an alias---           of @vkGetDeviceProcAddrUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetDeviceProcAddrSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetDeviceProcAddr"-               vkGetDeviceProcAddrUnsafe ::-               VkDevice -- ^ device-                        -> CString -- ^ pName-                                   -> IO PFN_vkVoidFunction--##else-vkGetDeviceProcAddrUnsafe ::-                          VkDevice -- ^ device-                                   -> CString -- ^ pName-                                              -> IO PFN_vkVoidFunction-vkGetDeviceProcAddrUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkGetDeviceProcAddr)--{-# NOINLINE vkGetDeviceProcAddrUnsafe #-}-##endif---- |--- > PFN_vkVoidFunction vkGetDeviceProcAddr--- >     ( VkDevice device--- >     , const char* pName--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceProcAddr vkGetDeviceProcAddr registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetDeviceProcAddr <- vkGetDeviceProc @VkGetDeviceProcAddr vkDevice------ or less efficient:------ > myGetDeviceProcAddr <- vkGetProc @VkGetDeviceProcAddr------ __Note:__ @vkGetDeviceProcAddrUnsafe@ and @vkGetDeviceProcAddrSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetDeviceProcAddr@ is an alias---           of @vkGetDeviceProcAddrUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetDeviceProcAddrSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkGetDeviceProcAddr"-               vkGetDeviceProcAddrSafe ::-               VkDevice -- ^ device-                        -> CString -- ^ pName-                                   -> IO PFN_vkVoidFunction--##else-vkGetDeviceProcAddrSafe ::-                        VkDevice -- ^ device-                                 -> CString -- ^ pName-                                            -> IO PFN_vkVoidFunction-vkGetDeviceProcAddrSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkGetDeviceProcAddr)--{-# NOINLINE vkGetDeviceProcAddrSafe #-}-##endif---- |--- > PFN_vkVoidFunction vkGetDeviceProcAddr--- >     ( VkDevice device--- >     , const char* pName--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceProcAddr vkGetDeviceProcAddr registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetDeviceProcAddr <- vkGetDeviceProc @VkGetDeviceProcAddr vkDevice------ or less efficient:------ > myGetDeviceProcAddr <- vkGetProc @VkGetDeviceProcAddr------ __Note:__ @vkGetDeviceProcAddrUnsafe@ and @vkGetDeviceProcAddrSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetDeviceProcAddr@ is an alias---           of @vkGetDeviceProcAddrUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetDeviceProcAddrSafe@.----vkGetDeviceProcAddr :: VkDevice -- ^ device-                                -> CString -- ^ pName-                                           -> IO PFN_vkVoidFunction-##ifdef UNSAFE_FFI_DEFAULT-vkGetDeviceProcAddr = vkGetDeviceProcAddrUnsafe-##else-vkGetDeviceProcAddr = vkGetDeviceProcAddrSafe--##endif-{-# INLINE vkGetDeviceProcAddr #-}---- | > PFN_vkVoidFunction vkGetDeviceProcAddr---   >     ( VkDevice device---   >     , const char* pName---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceProcAddr vkGetDeviceProcAddr registry at www.khronos.org>-type HS_vkGetDeviceProcAddr =-     VkDevice -- ^ device-              -> CString -- ^ pName-                         -> IO PFN_vkVoidFunction--type PFN_vkGetDeviceProcAddr = FunPtr HS_vkGetDeviceProcAddr--foreign import ccall unsafe "dynamic"-               unwrapVkGetDeviceProcAddrUnsafe ::-               PFN_vkGetDeviceProcAddr -> HS_vkGetDeviceProcAddr--foreign import ccall safe "dynamic" unwrapVkGetDeviceProcAddrSafe-               :: PFN_vkGetDeviceProcAddr -> HS_vkGetDeviceProcAddr--instance VulkanProc "vkGetDeviceProcAddr" where-        type VkProcType "vkGetDeviceProcAddr" = HS_vkGetDeviceProcAddr-        vkProcSymbol = _VkGetDeviceProcAddr--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetDeviceProcAddrUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetDeviceProcAddrSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCreateDevice :: CString--pattern VkCreateDevice <- (is_VkCreateDevice -> True)-  where VkCreateDevice = _VkCreateDevice--{-# INLINE _VkCreateDevice #-}--_VkCreateDevice :: CString-_VkCreateDevice = Ptr "vkCreateDevice\NUL"##--{-# INLINE is_VkCreateDevice #-}--is_VkCreateDevice :: CString -> Bool-is_VkCreateDevice = (EQ ==) . cmpCStrings _VkCreateDevice--type VkCreateDevice = "vkCreateDevice"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_FEATURE_NOT_PRESENT', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkCreateDevice--- >     ( VkPhysicalDevice physicalDevice--- >     , const VkDeviceCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkDevice* pDevice--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDevice vkCreateDevice registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateDevice <- vkGetInstanceProc @VkCreateDevice vkInstance------ or less efficient:------ > myCreateDevice <- vkGetProc @VkCreateDevice------ __Note:__ @vkCreateDeviceUnsafe@ and @vkCreateDeviceSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateDevice@ is an alias---           of @vkCreateDeviceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateDeviceSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateDevice" vkCreateDeviceUnsafe-               ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr VkDeviceCreateInfo -- ^ pCreateInfo-                                        ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkDevice -- ^ pDevice-                                                             -> IO VkResult--##else-vkCreateDeviceUnsafe ::-                     VkPhysicalDevice -- ^ physicalDevice-                                      ->-                       Ptr VkDeviceCreateInfo -- ^ pCreateInfo-                                              ->-                         Ptr VkAllocationCallbacks -- ^ pAllocator-                                                   -> Ptr VkDevice -- ^ pDevice-                                                                   -> IO VkResult-vkCreateDeviceUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateDevice)--{-# NOINLINE vkCreateDeviceUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_FEATURE_NOT_PRESENT', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkCreateDevice--- >     ( VkPhysicalDevice physicalDevice--- >     , const VkDeviceCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkDevice* pDevice--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDevice vkCreateDevice registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateDevice <- vkGetInstanceProc @VkCreateDevice vkInstance------ or less efficient:------ > myCreateDevice <- vkGetProc @VkCreateDevice------ __Note:__ @vkCreateDeviceUnsafe@ and @vkCreateDeviceSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateDevice@ is an alias---           of @vkCreateDeviceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateDeviceSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCreateDevice" vkCreateDeviceSafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr VkDeviceCreateInfo -- ^ pCreateInfo-                                        ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkDevice -- ^ pDevice-                                                             -> IO VkResult--##else-vkCreateDeviceSafe ::-                   VkPhysicalDevice -- ^ physicalDevice-                                    ->-                     Ptr VkDeviceCreateInfo -- ^ pCreateInfo-                                            ->-                       Ptr VkAllocationCallbacks -- ^ pAllocator-                                                 -> Ptr VkDevice -- ^ pDevice-                                                                 -> IO VkResult-vkCreateDeviceSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateDevice)--{-# NOINLINE vkCreateDeviceSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_FEATURE_NOT_PRESENT', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkCreateDevice--- >     ( VkPhysicalDevice physicalDevice--- >     , const VkDeviceCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkDevice* pDevice--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDevice vkCreateDevice registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateDevice <- vkGetInstanceProc @VkCreateDevice vkInstance------ or less efficient:------ > myCreateDevice <- vkGetProc @VkCreateDevice------ __Note:__ @vkCreateDeviceUnsafe@ and @vkCreateDeviceSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateDevice@ is an alias---           of @vkCreateDeviceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateDeviceSafe@.----vkCreateDevice ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr VkDeviceCreateInfo -- ^ pCreateInfo-                                        ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkDevice -- ^ pDevice-                                                             -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkCreateDevice = vkCreateDeviceUnsafe-##else-vkCreateDevice = vkCreateDeviceSafe--##endif-{-# INLINE vkCreateDevice #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_FEATURE_NOT_PRESENT', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_DEVICE_LOST'.------   > VkResult vkCreateDevice---   >     ( VkPhysicalDevice physicalDevice---   >     , const VkDeviceCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkDevice* pDevice---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDevice vkCreateDevice registry at www.khronos.org>-type HS_vkCreateDevice =-     VkPhysicalDevice -- ^ physicalDevice-                      ->-       Ptr VkDeviceCreateInfo -- ^ pCreateInfo-                              ->-         Ptr VkAllocationCallbacks -- ^ pAllocator-                                   -> Ptr VkDevice -- ^ pDevice-                                                   -> IO VkResult--type PFN_vkCreateDevice = FunPtr HS_vkCreateDevice--foreign import ccall unsafe "dynamic" unwrapVkCreateDeviceUnsafe ::-               PFN_vkCreateDevice -> HS_vkCreateDevice--foreign import ccall safe "dynamic" unwrapVkCreateDeviceSafe ::-               PFN_vkCreateDevice -> HS_vkCreateDevice--instance VulkanProc "vkCreateDevice" where-        type VkProcType "vkCreateDevice" = HS_vkCreateDevice-        vkProcSymbol = _VkCreateDevice--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateDeviceUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateDeviceSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkDestroyDevice :: CString--pattern VkDestroyDevice <- (is_VkDestroyDevice -> True)-  where VkDestroyDevice = _VkDestroyDevice--{-# INLINE _VkDestroyDevice #-}--_VkDestroyDevice :: CString-_VkDestroyDevice = Ptr "vkDestroyDevice\NUL"##--{-# INLINE is_VkDestroyDevice #-}--is_VkDestroyDevice :: CString -> Bool-is_VkDestroyDevice = (EQ ==) . cmpCStrings _VkDestroyDevice--type VkDestroyDevice = "vkDestroyDevice"---- |--- > void vkDestroyDevice--- >     ( VkDevice device--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDevice vkDestroyDevice registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyDevice <- vkGetDeviceProc @VkDestroyDevice vkDevice------ or less efficient:------ > myDestroyDevice <- vkGetProc @VkDestroyDevice------ __Note:__ @vkDestroyDeviceUnsafe@ and @vkDestroyDeviceSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyDevice@ is an alias---           of @vkDestroyDeviceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyDeviceSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyDevice" vkDestroyDeviceUnsafe-               :: VkDevice -- ^ device-                           -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                        -> IO ()--##else-vkDestroyDeviceUnsafe ::-                      VkDevice -- ^ device-                               -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                            -> IO ()-vkDestroyDeviceUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyDevice)--{-# NOINLINE vkDestroyDeviceUnsafe #-}-##endif---- |--- > void vkDestroyDevice--- >     ( VkDevice device--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDevice vkDestroyDevice registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyDevice <- vkGetDeviceProc @VkDestroyDevice vkDevice------ or less efficient:------ > myDestroyDevice <- vkGetProc @VkDestroyDevice------ __Note:__ @vkDestroyDeviceUnsafe@ and @vkDestroyDeviceSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyDevice@ is an alias---           of @vkDestroyDeviceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyDeviceSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkDestroyDevice" vkDestroyDeviceSafe ::-               VkDevice -- ^ device-                        -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                     -> IO ()--##else-vkDestroyDeviceSafe ::-                    VkDevice -- ^ device-                             -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                          -> IO ()-vkDestroyDeviceSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyDevice)--{-# NOINLINE vkDestroyDeviceSafe #-}-##endif---- |--- > void vkDestroyDevice--- >     ( VkDevice device--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDevice vkDestroyDevice registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyDevice <- vkGetDeviceProc @VkDestroyDevice vkDevice------ or less efficient:------ > myDestroyDevice <- vkGetProc @VkDestroyDevice------ __Note:__ @vkDestroyDeviceUnsafe@ and @vkDestroyDeviceSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyDevice@ is an alias---           of @vkDestroyDeviceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyDeviceSafe@.----vkDestroyDevice :: VkDevice -- ^ device-                            -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                         -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkDestroyDevice = vkDestroyDeviceUnsafe-##else-vkDestroyDevice = vkDestroyDeviceSafe--##endif-{-# INLINE vkDestroyDevice #-}---- | > void vkDestroyDevice---   >     ( VkDevice device---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDevice vkDestroyDevice registry at www.khronos.org>-type HS_vkDestroyDevice =-     VkDevice -- ^ device-              -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                           -> IO ()--type PFN_vkDestroyDevice = FunPtr HS_vkDestroyDevice--foreign import ccall unsafe "dynamic" unwrapVkDestroyDeviceUnsafe-               :: PFN_vkDestroyDevice -> HS_vkDestroyDevice--foreign import ccall safe "dynamic" unwrapVkDestroyDeviceSafe ::-               PFN_vkDestroyDevice -> HS_vkDestroyDevice--instance VulkanProc "vkDestroyDevice" where-        type VkProcType "vkDestroyDevice" = HS_vkDestroyDevice-        vkProcSymbol = _VkDestroyDevice--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDestroyDeviceUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroyDeviceSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkEnumerateInstanceExtensionProperties :: CString--pattern VkEnumerateInstanceExtensionProperties <--        (is_VkEnumerateInstanceExtensionProperties -> True)-  where VkEnumerateInstanceExtensionProperties-          = _VkEnumerateInstanceExtensionProperties--{-# INLINE _VkEnumerateInstanceExtensionProperties #-}--_VkEnumerateInstanceExtensionProperties :: CString-_VkEnumerateInstanceExtensionProperties-  = Ptr "vkEnumerateInstanceExtensionProperties\NUL"##--{-# INLINE is_VkEnumerateInstanceExtensionProperties #-}--is_VkEnumerateInstanceExtensionProperties :: CString -> Bool-is_VkEnumerateInstanceExtensionProperties-  = (EQ ==) . cmpCStrings _VkEnumerateInstanceExtensionProperties--type VkEnumerateInstanceExtensionProperties =-     "vkEnumerateInstanceExtensionProperties"---- |--- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.------ > VkResult vkEnumerateInstanceExtensionProperties--- >     ( const char* pLayerName--- >     , uint32_t* pPropertyCount--- >     , VkExtensionProperties* pProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myEnumerateInstanceExtensionProperties <- vkGetInstanceProc @VkEnumerateInstanceExtensionProperties VK_NULL------ or less efficient:------ > myEnumerateInstanceExtensionProperties <- vkGetProc @VkEnumerateInstanceExtensionProperties------ __Note:__ @vkEnumerateInstanceExtensionPropertiesUnsafe@ and @vkEnumerateInstanceExtensionPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkEnumerateInstanceExtensionProperties@ is an alias---           of @vkEnumerateInstanceExtensionPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkEnumerateInstanceExtensionPropertiesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe-               "vkEnumerateInstanceExtensionProperties"-               vkEnumerateInstanceExtensionPropertiesUnsafe ::-               CString -- ^ pLayerName-                       -> Ptr Word32 -- ^ pPropertyCount-                                     -> Ptr VkExtensionProperties -- ^ pProperties-                                                                  -> IO VkResult--##else-vkEnumerateInstanceExtensionPropertiesUnsafe ::-                                             CString -- ^ pLayerName-                                                     ->-                                               Ptr Word32 -- ^ pPropertyCount-                                                          ->-                                                 Ptr VkExtensionProperties -- ^ pProperties-                                                                           -> IO VkResult-vkEnumerateInstanceExtensionPropertiesUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkEnumerateInstanceExtensionProperties)--{-# NOINLINE vkEnumerateInstanceExtensionPropertiesUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.------ > VkResult vkEnumerateInstanceExtensionProperties--- >     ( const char* pLayerName--- >     , uint32_t* pPropertyCount--- >     , VkExtensionProperties* pProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myEnumerateInstanceExtensionProperties <- vkGetInstanceProc @VkEnumerateInstanceExtensionProperties VK_NULL------ or less efficient:------ > myEnumerateInstanceExtensionProperties <- vkGetProc @VkEnumerateInstanceExtensionProperties------ __Note:__ @vkEnumerateInstanceExtensionPropertiesUnsafe@ and @vkEnumerateInstanceExtensionPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkEnumerateInstanceExtensionProperties@ is an alias---           of @vkEnumerateInstanceExtensionPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkEnumerateInstanceExtensionPropertiesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkEnumerateInstanceExtensionProperties"-               vkEnumerateInstanceExtensionPropertiesSafe ::-               CString -- ^ pLayerName-                       -> Ptr Word32 -- ^ pPropertyCount-                                     -> Ptr VkExtensionProperties -- ^ pProperties-                                                                  -> IO VkResult--##else-vkEnumerateInstanceExtensionPropertiesSafe ::-                                           CString -- ^ pLayerName-                                                   ->-                                             Ptr Word32 -- ^ pPropertyCount-                                                        -> Ptr VkExtensionProperties -- ^ pProperties-                                                                                     -> IO VkResult-vkEnumerateInstanceExtensionPropertiesSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkEnumerateInstanceExtensionProperties)--{-# NOINLINE vkEnumerateInstanceExtensionPropertiesSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.------ > VkResult vkEnumerateInstanceExtensionProperties--- >     ( const char* pLayerName--- >     , uint32_t* pPropertyCount--- >     , VkExtensionProperties* pProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myEnumerateInstanceExtensionProperties <- vkGetInstanceProc @VkEnumerateInstanceExtensionProperties VK_NULL------ or less efficient:------ > myEnumerateInstanceExtensionProperties <- vkGetProc @VkEnumerateInstanceExtensionProperties------ __Note:__ @vkEnumerateInstanceExtensionPropertiesUnsafe@ and @vkEnumerateInstanceExtensionPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkEnumerateInstanceExtensionProperties@ is an alias---           of @vkEnumerateInstanceExtensionPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkEnumerateInstanceExtensionPropertiesSafe@.----vkEnumerateInstanceExtensionProperties ::-                                       CString -- ^ pLayerName-                                               ->-                                         Ptr Word32 -- ^ pPropertyCount-                                                    -> Ptr VkExtensionProperties -- ^ pProperties-                                                                                 -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkEnumerateInstanceExtensionProperties-  = vkEnumerateInstanceExtensionPropertiesUnsafe-##else-vkEnumerateInstanceExtensionProperties-  = vkEnumerateInstanceExtensionPropertiesSafe--##endif-{-# INLINE vkEnumerateInstanceExtensionProperties #-}---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.------   > VkResult vkEnumerateInstanceExtensionProperties---   >     ( const char* pLayerName---   >     , uint32_t* pPropertyCount---   >     , VkExtensionProperties* pProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties registry at www.khronos.org>-type HS_vkEnumerateInstanceExtensionProperties =-     CString -- ^ pLayerName-             -> Ptr Word32 -- ^ pPropertyCount-                           -> Ptr VkExtensionProperties -- ^ pProperties-                                                        -> IO VkResult--type PFN_vkEnumerateInstanceExtensionProperties =-     FunPtr HS_vkEnumerateInstanceExtensionProperties--foreign import ccall unsafe "dynamic"-               unwrapVkEnumerateInstanceExtensionPropertiesUnsafe ::-               PFN_vkEnumerateInstanceExtensionProperties ->-                 HS_vkEnumerateInstanceExtensionProperties--foreign import ccall safe "dynamic"-               unwrapVkEnumerateInstanceExtensionPropertiesSafe ::-               PFN_vkEnumerateInstanceExtensionProperties ->-                 HS_vkEnumerateInstanceExtensionProperties--instance VulkanProc "vkEnumerateInstanceExtensionProperties" where-        type VkProcType "vkEnumerateInstanceExtensionProperties" =-             HS_vkEnumerateInstanceExtensionProperties-        vkProcSymbol = _VkEnumerateInstanceExtensionProperties--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkEnumerateInstanceExtensionPropertiesUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkEnumerateInstanceExtensionPropertiesSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkEnumerateDeviceExtensionProperties :: CString--pattern VkEnumerateDeviceExtensionProperties <--        (is_VkEnumerateDeviceExtensionProperties -> True)-  where VkEnumerateDeviceExtensionProperties-          = _VkEnumerateDeviceExtensionProperties--{-# INLINE _VkEnumerateDeviceExtensionProperties #-}--_VkEnumerateDeviceExtensionProperties :: CString-_VkEnumerateDeviceExtensionProperties-  = Ptr "vkEnumerateDeviceExtensionProperties\NUL"##--{-# INLINE is_VkEnumerateDeviceExtensionProperties #-}--is_VkEnumerateDeviceExtensionProperties :: CString -> Bool-is_VkEnumerateDeviceExtensionProperties-  = (EQ ==) . cmpCStrings _VkEnumerateDeviceExtensionProperties--type VkEnumerateDeviceExtensionProperties =-     "vkEnumerateDeviceExtensionProperties"---- |--- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.------ > VkResult vkEnumerateDeviceExtensionProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , const char* pLayerName--- >     , uint32_t* pPropertyCount--- >     , VkExtensionProperties* pProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myEnumerateDeviceExtensionProperties <- vkGetInstanceProc @VkEnumerateDeviceExtensionProperties vkInstance------ or less efficient:------ > myEnumerateDeviceExtensionProperties <- vkGetProc @VkEnumerateDeviceExtensionProperties------ __Note:__ @vkEnumerateDeviceExtensionPropertiesUnsafe@ and @vkEnumerateDeviceExtensionPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkEnumerateDeviceExtensionProperties@ is an alias---           of @vkEnumerateDeviceExtensionPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkEnumerateDeviceExtensionPropertiesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkEnumerateDeviceExtensionProperties"-               vkEnumerateDeviceExtensionPropertiesUnsafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 CString -- ^ pLayerName-                         -> Ptr Word32 -- ^ pPropertyCount-                                       -> Ptr VkExtensionProperties -- ^ pProperties-                                                                    -> IO VkResult--##else-vkEnumerateDeviceExtensionPropertiesUnsafe ::-                                           VkPhysicalDevice -- ^ physicalDevice-                                                            ->-                                             CString -- ^ pLayerName-                                                     ->-                                               Ptr Word32 -- ^ pPropertyCount-                                                          ->-                                                 Ptr VkExtensionProperties -- ^ pProperties-                                                                           -> IO VkResult-vkEnumerateDeviceExtensionPropertiesUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkEnumerateDeviceExtensionProperties)--{-# NOINLINE vkEnumerateDeviceExtensionPropertiesUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.------ > VkResult vkEnumerateDeviceExtensionProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , const char* pLayerName--- >     , uint32_t* pPropertyCount--- >     , VkExtensionProperties* pProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myEnumerateDeviceExtensionProperties <- vkGetInstanceProc @VkEnumerateDeviceExtensionProperties vkInstance------ or less efficient:------ > myEnumerateDeviceExtensionProperties <- vkGetProc @VkEnumerateDeviceExtensionProperties------ __Note:__ @vkEnumerateDeviceExtensionPropertiesUnsafe@ and @vkEnumerateDeviceExtensionPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkEnumerateDeviceExtensionProperties@ is an alias---           of @vkEnumerateDeviceExtensionPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkEnumerateDeviceExtensionPropertiesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkEnumerateDeviceExtensionProperties"-               vkEnumerateDeviceExtensionPropertiesSafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 CString -- ^ pLayerName-                         -> Ptr Word32 -- ^ pPropertyCount-                                       -> Ptr VkExtensionProperties -- ^ pProperties-                                                                    -> IO VkResult--##else-vkEnumerateDeviceExtensionPropertiesSafe ::-                                         VkPhysicalDevice -- ^ physicalDevice-                                                          ->-                                           CString -- ^ pLayerName-                                                   ->-                                             Ptr Word32 -- ^ pPropertyCount-                                                        -> Ptr VkExtensionProperties -- ^ pProperties-                                                                                     -> IO VkResult-vkEnumerateDeviceExtensionPropertiesSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkEnumerateDeviceExtensionProperties)--{-# NOINLINE vkEnumerateDeviceExtensionPropertiesSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.------ > VkResult vkEnumerateDeviceExtensionProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , const char* pLayerName--- >     , uint32_t* pPropertyCount--- >     , VkExtensionProperties* pProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myEnumerateDeviceExtensionProperties <- vkGetInstanceProc @VkEnumerateDeviceExtensionProperties vkInstance------ or less efficient:------ > myEnumerateDeviceExtensionProperties <- vkGetProc @VkEnumerateDeviceExtensionProperties------ __Note:__ @vkEnumerateDeviceExtensionPropertiesUnsafe@ and @vkEnumerateDeviceExtensionPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkEnumerateDeviceExtensionProperties@ is an alias---           of @vkEnumerateDeviceExtensionPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkEnumerateDeviceExtensionPropertiesSafe@.----vkEnumerateDeviceExtensionProperties ::-                                     VkPhysicalDevice -- ^ physicalDevice-                                                      ->-                                       CString -- ^ pLayerName-                                               ->-                                         Ptr Word32 -- ^ pPropertyCount-                                                    -> Ptr VkExtensionProperties -- ^ pProperties-                                                                                 -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkEnumerateDeviceExtensionProperties-  = vkEnumerateDeviceExtensionPropertiesUnsafe-##else-vkEnumerateDeviceExtensionProperties-  = vkEnumerateDeviceExtensionPropertiesSafe--##endif-{-# INLINE vkEnumerateDeviceExtensionProperties #-}---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.------   > VkResult vkEnumerateDeviceExtensionProperties---   >     ( VkPhysicalDevice physicalDevice---   >     , const char* pLayerName---   >     , uint32_t* pPropertyCount---   >     , VkExtensionProperties* pProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties registry at www.khronos.org>-type HS_vkEnumerateDeviceExtensionProperties =-     VkPhysicalDevice -- ^ physicalDevice-                      ->-       CString -- ^ pLayerName-               -> Ptr Word32 -- ^ pPropertyCount-                             -> Ptr VkExtensionProperties -- ^ pProperties-                                                          -> IO VkResult--type PFN_vkEnumerateDeviceExtensionProperties =-     FunPtr HS_vkEnumerateDeviceExtensionProperties--foreign import ccall unsafe "dynamic"-               unwrapVkEnumerateDeviceExtensionPropertiesUnsafe ::-               PFN_vkEnumerateDeviceExtensionProperties ->-                 HS_vkEnumerateDeviceExtensionProperties--foreign import ccall safe "dynamic"-               unwrapVkEnumerateDeviceExtensionPropertiesSafe ::-               PFN_vkEnumerateDeviceExtensionProperties ->-                 HS_vkEnumerateDeviceExtensionProperties--instance VulkanProc "vkEnumerateDeviceExtensionProperties" where-        type VkProcType "vkEnumerateDeviceExtensionProperties" =-             HS_vkEnumerateDeviceExtensionProperties-        vkProcSymbol = _VkEnumerateDeviceExtensionProperties--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkEnumerateDeviceExtensionPropertiesUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkEnumerateDeviceExtensionPropertiesSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkEnumerateInstanceLayerProperties :: CString--pattern VkEnumerateInstanceLayerProperties <--        (is_VkEnumerateInstanceLayerProperties -> True)-  where VkEnumerateInstanceLayerProperties-          = _VkEnumerateInstanceLayerProperties--{-# INLINE _VkEnumerateInstanceLayerProperties #-}--_VkEnumerateInstanceLayerProperties :: CString-_VkEnumerateInstanceLayerProperties-  = Ptr "vkEnumerateInstanceLayerProperties\NUL"##--{-# INLINE is_VkEnumerateInstanceLayerProperties #-}--is_VkEnumerateInstanceLayerProperties :: CString -> Bool-is_VkEnumerateInstanceLayerProperties-  = (EQ ==) . cmpCStrings _VkEnumerateInstanceLayerProperties--type VkEnumerateInstanceLayerProperties =-     "vkEnumerateInstanceLayerProperties"---- |--- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkEnumerateInstanceLayerProperties--- >     ( uint32_t* pPropertyCount--- >     , VkLayerProperties* pProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myEnumerateInstanceLayerProperties <- vkGetInstanceProc @VkEnumerateInstanceLayerProperties VK_NULL------ or less efficient:------ > myEnumerateInstanceLayerProperties <- vkGetProc @VkEnumerateInstanceLayerProperties------ __Note:__ @vkEnumerateInstanceLayerPropertiesUnsafe@ and @vkEnumerateInstanceLayerPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkEnumerateInstanceLayerProperties@ is an alias---           of @vkEnumerateInstanceLayerPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkEnumerateInstanceLayerPropertiesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkEnumerateInstanceLayerProperties"-               vkEnumerateInstanceLayerPropertiesUnsafe ::-               Ptr Word32 -- ^ pPropertyCount-                          -> Ptr VkLayerProperties -- ^ pProperties-                                                   -> IO VkResult--##else-vkEnumerateInstanceLayerPropertiesUnsafe ::-                                         Ptr Word32 -- ^ pPropertyCount-                                                    -> Ptr VkLayerProperties -- ^ pProperties-                                                                             -> IO VkResult-vkEnumerateInstanceLayerPropertiesUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkEnumerateInstanceLayerProperties)--{-# NOINLINE vkEnumerateInstanceLayerPropertiesUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkEnumerateInstanceLayerProperties--- >     ( uint32_t* pPropertyCount--- >     , VkLayerProperties* pProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myEnumerateInstanceLayerProperties <- vkGetInstanceProc @VkEnumerateInstanceLayerProperties VK_NULL------ or less efficient:------ > myEnumerateInstanceLayerProperties <- vkGetProc @VkEnumerateInstanceLayerProperties------ __Note:__ @vkEnumerateInstanceLayerPropertiesUnsafe@ and @vkEnumerateInstanceLayerPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkEnumerateInstanceLayerProperties@ is an alias---           of @vkEnumerateInstanceLayerPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkEnumerateInstanceLayerPropertiesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkEnumerateInstanceLayerProperties"-               vkEnumerateInstanceLayerPropertiesSafe ::-               Ptr Word32 -- ^ pPropertyCount-                          -> Ptr VkLayerProperties -- ^ pProperties-                                                   -> IO VkResult--##else-vkEnumerateInstanceLayerPropertiesSafe ::-                                       Ptr Word32 -- ^ pPropertyCount-                                                  -> Ptr VkLayerProperties -- ^ pProperties-                                                                           -> IO VkResult-vkEnumerateInstanceLayerPropertiesSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkEnumerateInstanceLayerProperties)--{-# NOINLINE vkEnumerateInstanceLayerPropertiesSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkEnumerateInstanceLayerProperties--- >     ( uint32_t* pPropertyCount--- >     , VkLayerProperties* pProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myEnumerateInstanceLayerProperties <- vkGetInstanceProc @VkEnumerateInstanceLayerProperties VK_NULL------ or less efficient:------ > myEnumerateInstanceLayerProperties <- vkGetProc @VkEnumerateInstanceLayerProperties------ __Note:__ @vkEnumerateInstanceLayerPropertiesUnsafe@ and @vkEnumerateInstanceLayerPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkEnumerateInstanceLayerProperties@ is an alias---           of @vkEnumerateInstanceLayerPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkEnumerateInstanceLayerPropertiesSafe@.----vkEnumerateInstanceLayerProperties ::-                                   Ptr Word32 -- ^ pPropertyCount-                                              -> Ptr VkLayerProperties -- ^ pProperties-                                                                       -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkEnumerateInstanceLayerProperties-  = vkEnumerateInstanceLayerPropertiesUnsafe-##else-vkEnumerateInstanceLayerProperties-  = vkEnumerateInstanceLayerPropertiesSafe--##endif-{-# INLINE vkEnumerateInstanceLayerProperties #-}---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkEnumerateInstanceLayerProperties---   >     ( uint32_t* pPropertyCount---   >     , VkLayerProperties* pProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties registry at www.khronos.org>-type HS_vkEnumerateInstanceLayerProperties =-     Ptr Word32 -- ^ pPropertyCount-                -> Ptr VkLayerProperties -- ^ pProperties-                                         -> IO VkResult--type PFN_vkEnumerateInstanceLayerProperties =-     FunPtr HS_vkEnumerateInstanceLayerProperties--foreign import ccall unsafe "dynamic"-               unwrapVkEnumerateInstanceLayerPropertiesUnsafe ::-               PFN_vkEnumerateInstanceLayerProperties ->-                 HS_vkEnumerateInstanceLayerProperties--foreign import ccall safe "dynamic"-               unwrapVkEnumerateInstanceLayerPropertiesSafe ::-               PFN_vkEnumerateInstanceLayerProperties ->-                 HS_vkEnumerateInstanceLayerProperties--instance VulkanProc "vkEnumerateInstanceLayerProperties" where-        type VkProcType "vkEnumerateInstanceLayerProperties" =-             HS_vkEnumerateInstanceLayerProperties-        vkProcSymbol = _VkEnumerateInstanceLayerProperties--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkEnumerateInstanceLayerPropertiesUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkEnumerateInstanceLayerPropertiesSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkEnumerateDeviceLayerProperties :: CString--pattern VkEnumerateDeviceLayerProperties <--        (is_VkEnumerateDeviceLayerProperties -> True)-  where VkEnumerateDeviceLayerProperties-          = _VkEnumerateDeviceLayerProperties--{-# INLINE _VkEnumerateDeviceLayerProperties #-}--_VkEnumerateDeviceLayerProperties :: CString-_VkEnumerateDeviceLayerProperties-  = Ptr "vkEnumerateDeviceLayerProperties\NUL"##--{-# INLINE is_VkEnumerateDeviceLayerProperties #-}--is_VkEnumerateDeviceLayerProperties :: CString -> Bool-is_VkEnumerateDeviceLayerProperties-  = (EQ ==) . cmpCStrings _VkEnumerateDeviceLayerProperties--type VkEnumerateDeviceLayerProperties =-     "vkEnumerateDeviceLayerProperties"---- |--- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkEnumerateDeviceLayerProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , uint32_t* pPropertyCount--- >     , VkLayerProperties* pProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myEnumerateDeviceLayerProperties <- vkGetInstanceProc @VkEnumerateDeviceLayerProperties vkInstance------ or less efficient:------ > myEnumerateDeviceLayerProperties <- vkGetProc @VkEnumerateDeviceLayerProperties------ __Note:__ @vkEnumerateDeviceLayerPropertiesUnsafe@ and @vkEnumerateDeviceLayerPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkEnumerateDeviceLayerProperties@ is an alias---           of @vkEnumerateDeviceLayerPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkEnumerateDeviceLayerPropertiesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkEnumerateDeviceLayerProperties"-               vkEnumerateDeviceLayerPropertiesUnsafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr Word32 -- ^ pPropertyCount-                            -> Ptr VkLayerProperties -- ^ pProperties-                                                     -> IO VkResult--##else-vkEnumerateDeviceLayerPropertiesUnsafe ::-                                       VkPhysicalDevice -- ^ physicalDevice-                                                        ->-                                         Ptr Word32 -- ^ pPropertyCount-                                                    -> Ptr VkLayerProperties -- ^ pProperties-                                                                             -> IO VkResult-vkEnumerateDeviceLayerPropertiesUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkEnumerateDeviceLayerProperties)--{-# NOINLINE vkEnumerateDeviceLayerPropertiesUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkEnumerateDeviceLayerProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , uint32_t* pPropertyCount--- >     , VkLayerProperties* pProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myEnumerateDeviceLayerProperties <- vkGetInstanceProc @VkEnumerateDeviceLayerProperties vkInstance------ or less efficient:------ > myEnumerateDeviceLayerProperties <- vkGetProc @VkEnumerateDeviceLayerProperties------ __Note:__ @vkEnumerateDeviceLayerPropertiesUnsafe@ and @vkEnumerateDeviceLayerPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkEnumerateDeviceLayerProperties@ is an alias---           of @vkEnumerateDeviceLayerPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkEnumerateDeviceLayerPropertiesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkEnumerateDeviceLayerProperties"-               vkEnumerateDeviceLayerPropertiesSafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr Word32 -- ^ pPropertyCount-                            -> Ptr VkLayerProperties -- ^ pProperties-                                                     -> IO VkResult--##else-vkEnumerateDeviceLayerPropertiesSafe ::-                                     VkPhysicalDevice -- ^ physicalDevice-                                                      ->-                                       Ptr Word32 -- ^ pPropertyCount-                                                  -> Ptr VkLayerProperties -- ^ pProperties-                                                                           -> IO VkResult-vkEnumerateDeviceLayerPropertiesSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkEnumerateDeviceLayerProperties)--{-# NOINLINE vkEnumerateDeviceLayerPropertiesSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkEnumerateDeviceLayerProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , uint32_t* pPropertyCount--- >     , VkLayerProperties* pProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myEnumerateDeviceLayerProperties <- vkGetInstanceProc @VkEnumerateDeviceLayerProperties vkInstance------ or less efficient:------ > myEnumerateDeviceLayerProperties <- vkGetProc @VkEnumerateDeviceLayerProperties------ __Note:__ @vkEnumerateDeviceLayerPropertiesUnsafe@ and @vkEnumerateDeviceLayerPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkEnumerateDeviceLayerProperties@ is an alias---           of @vkEnumerateDeviceLayerPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkEnumerateDeviceLayerPropertiesSafe@.----vkEnumerateDeviceLayerProperties ::-                                 VkPhysicalDevice -- ^ physicalDevice-                                                  ->-                                   Ptr Word32 -- ^ pPropertyCount-                                              -> Ptr VkLayerProperties -- ^ pProperties-                                                                       -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkEnumerateDeviceLayerProperties-  = vkEnumerateDeviceLayerPropertiesUnsafe-##else-vkEnumerateDeviceLayerProperties-  = vkEnumerateDeviceLayerPropertiesSafe--##endif-{-# INLINE vkEnumerateDeviceLayerProperties #-}---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkEnumerateDeviceLayerProperties---   >     ( VkPhysicalDevice physicalDevice---   >     , uint32_t* pPropertyCount---   >     , VkLayerProperties* pProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties registry at www.khronos.org>-type HS_vkEnumerateDeviceLayerProperties =-     VkPhysicalDevice -- ^ physicalDevice-                      ->-       Ptr Word32 -- ^ pPropertyCount-                  -> Ptr VkLayerProperties -- ^ pProperties-                                           -> IO VkResult--type PFN_vkEnumerateDeviceLayerProperties =-     FunPtr HS_vkEnumerateDeviceLayerProperties--foreign import ccall unsafe "dynamic"-               unwrapVkEnumerateDeviceLayerPropertiesUnsafe ::-               PFN_vkEnumerateDeviceLayerProperties ->-                 HS_vkEnumerateDeviceLayerProperties--foreign import ccall safe "dynamic"-               unwrapVkEnumerateDeviceLayerPropertiesSafe ::-               PFN_vkEnumerateDeviceLayerProperties ->-                 HS_vkEnumerateDeviceLayerProperties--instance VulkanProc "vkEnumerateDeviceLayerProperties" where-        type VkProcType "vkEnumerateDeviceLayerProperties" =-             HS_vkEnumerateDeviceLayerProperties-        vkProcSymbol = _VkEnumerateDeviceLayerProperties--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkEnumerateDeviceLayerPropertiesUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkEnumerateDeviceLayerPropertiesSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetDeviceQueue :: CString--pattern VkGetDeviceQueue <- (is_VkGetDeviceQueue -> True)-  where VkGetDeviceQueue = _VkGetDeviceQueue--{-# INLINE _VkGetDeviceQueue #-}--_VkGetDeviceQueue :: CString-_VkGetDeviceQueue = Ptr "vkGetDeviceQueue\NUL"##--{-# INLINE is_VkGetDeviceQueue #-}--is_VkGetDeviceQueue :: CString -> Bool-is_VkGetDeviceQueue = (EQ ==) . cmpCStrings _VkGetDeviceQueue--type VkGetDeviceQueue = "vkGetDeviceQueue"---- |--- > void vkGetDeviceQueue--- >     ( VkDevice device--- >     , uint32_t queueFamilyIndex--- >     , uint32_t queueIndex--- >     , VkQueue* pQueue--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceQueue vkGetDeviceQueue registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetDeviceQueue <- vkGetDeviceProc @VkGetDeviceQueue vkDevice------ or less efficient:------ > myGetDeviceQueue <- vkGetProc @VkGetDeviceQueue------ __Note:__ @vkGetDeviceQueueUnsafe@ and @vkGetDeviceQueueSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetDeviceQueue@ is an alias---           of @vkGetDeviceQueueUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetDeviceQueueSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetDeviceQueue"-               vkGetDeviceQueueUnsafe ::-               VkDevice -- ^ device-                        -> Word32 -- ^ queueFamilyIndex-                                  -> Word32 -- ^ queueIndex-                                            -> Ptr VkQueue -- ^ pQueue-                                                           -> IO ()--##else-vkGetDeviceQueueUnsafe ::-                       VkDevice -- ^ device-                                -> Word32 -- ^ queueFamilyIndex-                                          -> Word32 -- ^ queueIndex-                                                    -> Ptr VkQueue -- ^ pQueue-                                                                   -> IO ()-vkGetDeviceQueueUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkGetDeviceQueue)--{-# NOINLINE vkGetDeviceQueueUnsafe #-}-##endif---- |--- > void vkGetDeviceQueue--- >     ( VkDevice device--- >     , uint32_t queueFamilyIndex--- >     , uint32_t queueIndex--- >     , VkQueue* pQueue--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceQueue vkGetDeviceQueue registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetDeviceQueue <- vkGetDeviceProc @VkGetDeviceQueue vkDevice------ or less efficient:------ > myGetDeviceQueue <- vkGetProc @VkGetDeviceQueue------ __Note:__ @vkGetDeviceQueueUnsafe@ and @vkGetDeviceQueueSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetDeviceQueue@ is an alias---           of @vkGetDeviceQueueUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetDeviceQueueSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkGetDeviceQueue" vkGetDeviceQueueSafe-               :: VkDevice -- ^ device-                           -> Word32 -- ^ queueFamilyIndex-                                     -> Word32 -- ^ queueIndex-                                               -> Ptr VkQueue -- ^ pQueue-                                                              -> IO ()--##else-vkGetDeviceQueueSafe ::-                     VkDevice -- ^ device-                              -> Word32 -- ^ queueFamilyIndex-                                        -> Word32 -- ^ queueIndex-                                                  -> Ptr VkQueue -- ^ pQueue-                                                                 -> IO ()-vkGetDeviceQueueSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkGetDeviceQueue)--{-# NOINLINE vkGetDeviceQueueSafe #-}-##endif---- |--- > void vkGetDeviceQueue--- >     ( VkDevice device--- >     , uint32_t queueFamilyIndex--- >     , uint32_t queueIndex--- >     , VkQueue* pQueue--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceQueue vkGetDeviceQueue registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetDeviceQueue <- vkGetDeviceProc @VkGetDeviceQueue vkDevice------ or less efficient:------ > myGetDeviceQueue <- vkGetProc @VkGetDeviceQueue------ __Note:__ @vkGetDeviceQueueUnsafe@ and @vkGetDeviceQueueSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetDeviceQueue@ is an alias---           of @vkGetDeviceQueueUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetDeviceQueueSafe@.----vkGetDeviceQueue ::-                 VkDevice -- ^ device-                          -> Word32 -- ^ queueFamilyIndex-                                    -> Word32 -- ^ queueIndex-                                              -> Ptr VkQueue -- ^ pQueue-                                                             -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkGetDeviceQueue = vkGetDeviceQueueUnsafe-##else-vkGetDeviceQueue = vkGetDeviceQueueSafe--##endif-{-# INLINE vkGetDeviceQueue #-}---- | > void vkGetDeviceQueue---   >     ( VkDevice device---   >     , uint32_t queueFamilyIndex---   >     , uint32_t queueIndex---   >     , VkQueue* pQueue---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceQueue vkGetDeviceQueue registry at www.khronos.org>-type HS_vkGetDeviceQueue =-     VkDevice -- ^ device-              -> Word32 -- ^ queueFamilyIndex-                        -> Word32 -- ^ queueIndex-                                  -> Ptr VkQueue -- ^ pQueue-                                                 -> IO ()--type PFN_vkGetDeviceQueue = FunPtr HS_vkGetDeviceQueue--foreign import ccall unsafe "dynamic" unwrapVkGetDeviceQueueUnsafe-               :: PFN_vkGetDeviceQueue -> HS_vkGetDeviceQueue--foreign import ccall safe "dynamic" unwrapVkGetDeviceQueueSafe ::-               PFN_vkGetDeviceQueue -> HS_vkGetDeviceQueue--instance VulkanProc "vkGetDeviceQueue" where-        type VkProcType "vkGetDeviceQueue" = HS_vkGetDeviceQueue-        vkProcSymbol = _VkGetDeviceQueue--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetDeviceQueueUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetDeviceQueueSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkQueueSubmit :: CString--pattern VkQueueSubmit <- (is_VkQueueSubmit -> True)-  where VkQueueSubmit = _VkQueueSubmit--{-# INLINE _VkQueueSubmit #-}--_VkQueueSubmit :: CString-_VkQueueSubmit = Ptr "vkQueueSubmit\NUL"##--{-# INLINE is_VkQueueSubmit #-}--is_VkQueueSubmit :: CString -> Bool-is_VkQueueSubmit = (EQ ==) . cmpCStrings _VkQueueSubmit--type VkQueueSubmit = "vkQueueSubmit"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkQueueSubmit--- >     ( VkQueue queue--- >     , uint32_t submitCount--- >     , const VkSubmitInfo* pSubmits--- >     , VkFence fence--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueSubmit vkQueueSubmit registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myQueueSubmit <- vkGetInstanceProc @VkQueueSubmit vkInstance------ or less efficient:------ > myQueueSubmit <- vkGetProc @VkQueueSubmit------ __Note:__ @vkQueueSubmitUnsafe@ and @vkQueueSubmitSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkQueueSubmit@ is an alias---           of @vkQueueSubmitUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkQueueSubmitSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkQueueSubmit" vkQueueSubmitUnsafe ::-               VkQueue -- ^ queue-                       -> Word32 -- ^ submitCount-                                 -> Ptr VkSubmitInfo -- ^ pSubmits-                                                     -> VkFence -- ^ fence-                                                                -> IO VkResult--##else-vkQueueSubmitUnsafe ::-                    VkQueue -- ^ queue-                            -> Word32 -- ^ submitCount-                                      -> Ptr VkSubmitInfo -- ^ pSubmits-                                                          -> VkFence -- ^ fence-                                                                     -> IO VkResult-vkQueueSubmitUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkQueueSubmit)--{-# NOINLINE vkQueueSubmitUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkQueueSubmit--- >     ( VkQueue queue--- >     , uint32_t submitCount--- >     , const VkSubmitInfo* pSubmits--- >     , VkFence fence--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueSubmit vkQueueSubmit registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myQueueSubmit <- vkGetInstanceProc @VkQueueSubmit vkInstance------ or less efficient:------ > myQueueSubmit <- vkGetProc @VkQueueSubmit------ __Note:__ @vkQueueSubmitUnsafe@ and @vkQueueSubmitSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkQueueSubmit@ is an alias---           of @vkQueueSubmitUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkQueueSubmitSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkQueueSubmit" vkQueueSubmitSafe ::-               VkQueue -- ^ queue-                       -> Word32 -- ^ submitCount-                                 -> Ptr VkSubmitInfo -- ^ pSubmits-                                                     -> VkFence -- ^ fence-                                                                -> IO VkResult--##else-vkQueueSubmitSafe ::-                  VkQueue -- ^ queue-                          -> Word32 -- ^ submitCount-                                    -> Ptr VkSubmitInfo -- ^ pSubmits-                                                        -> VkFence -- ^ fence-                                                                   -> IO VkResult-vkQueueSubmitSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkQueueSubmit)--{-# NOINLINE vkQueueSubmitSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkQueueSubmit--- >     ( VkQueue queue--- >     , uint32_t submitCount--- >     , const VkSubmitInfo* pSubmits--- >     , VkFence fence--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueSubmit vkQueueSubmit registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myQueueSubmit <- vkGetInstanceProc @VkQueueSubmit vkInstance------ or less efficient:------ > myQueueSubmit <- vkGetProc @VkQueueSubmit------ __Note:__ @vkQueueSubmitUnsafe@ and @vkQueueSubmitSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkQueueSubmit@ is an alias---           of @vkQueueSubmitUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkQueueSubmitSafe@.----vkQueueSubmit ::-              VkQueue -- ^ queue-                      -> Word32 -- ^ submitCount-                                -> Ptr VkSubmitInfo -- ^ pSubmits-                                                    -> VkFence -- ^ fence-                                                               -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkQueueSubmit = vkQueueSubmitUnsafe-##else-vkQueueSubmit = vkQueueSubmitSafe--##endif-{-# INLINE vkQueueSubmit #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------   > VkResult vkQueueSubmit---   >     ( VkQueue queue---   >     , uint32_t submitCount---   >     , const VkSubmitInfo* pSubmits---   >     , VkFence fence---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueSubmit vkQueueSubmit registry at www.khronos.org>-type HS_vkQueueSubmit =-     VkQueue -- ^ queue-             -> Word32 -- ^ submitCount-                       -> Ptr VkSubmitInfo -- ^ pSubmits-                                           -> VkFence -- ^ fence-                                                      -> IO VkResult--type PFN_vkQueueSubmit = FunPtr HS_vkQueueSubmit--foreign import ccall unsafe "dynamic" unwrapVkQueueSubmitUnsafe ::-               PFN_vkQueueSubmit -> HS_vkQueueSubmit--foreign import ccall safe "dynamic" unwrapVkQueueSubmitSafe ::-               PFN_vkQueueSubmit -> HS_vkQueueSubmit--instance VulkanProc "vkQueueSubmit" where-        type VkProcType "vkQueueSubmit" = HS_vkQueueSubmit-        vkProcSymbol = _VkQueueSubmit--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkQueueSubmitUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkQueueSubmitSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkQueueWaitIdle :: CString--pattern VkQueueWaitIdle <- (is_VkQueueWaitIdle -> True)-  where VkQueueWaitIdle = _VkQueueWaitIdle--{-# INLINE _VkQueueWaitIdle #-}--_VkQueueWaitIdle :: CString-_VkQueueWaitIdle = Ptr "vkQueueWaitIdle\NUL"##--{-# INLINE is_VkQueueWaitIdle #-}--is_VkQueueWaitIdle :: CString -> Bool-is_VkQueueWaitIdle = (EQ ==) . cmpCStrings _VkQueueWaitIdle--type VkQueueWaitIdle = "vkQueueWaitIdle"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkQueueWaitIdle--- >     ( VkQueue queue--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueWaitIdle vkQueueWaitIdle registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myQueueWaitIdle <- vkGetInstanceProc @VkQueueWaitIdle vkInstance------ or less efficient:------ > myQueueWaitIdle <- vkGetProc @VkQueueWaitIdle------ __Note:__ @vkQueueWaitIdleUnsafe@ and @vkQueueWaitIdleSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkQueueWaitIdle@ is an alias---           of @vkQueueWaitIdleUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkQueueWaitIdleSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkQueueWaitIdle" vkQueueWaitIdleUnsafe-               :: VkQueue -- ^ queue-                          -> IO VkResult--##else-vkQueueWaitIdleUnsafe :: VkQueue -- ^ queue-                                 -> IO VkResult-vkQueueWaitIdleUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkQueueWaitIdle)--{-# NOINLINE vkQueueWaitIdleUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkQueueWaitIdle--- >     ( VkQueue queue--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueWaitIdle vkQueueWaitIdle registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myQueueWaitIdle <- vkGetInstanceProc @VkQueueWaitIdle vkInstance------ or less efficient:------ > myQueueWaitIdle <- vkGetProc @VkQueueWaitIdle------ __Note:__ @vkQueueWaitIdleUnsafe@ and @vkQueueWaitIdleSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkQueueWaitIdle@ is an alias---           of @vkQueueWaitIdleUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkQueueWaitIdleSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkQueueWaitIdle" vkQueueWaitIdleSafe ::-               VkQueue -- ^ queue-                       -> IO VkResult--##else-vkQueueWaitIdleSafe :: VkQueue -- ^ queue-                               -> IO VkResult-vkQueueWaitIdleSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkQueueWaitIdle)--{-# NOINLINE vkQueueWaitIdleSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkQueueWaitIdle--- >     ( VkQueue queue--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueWaitIdle vkQueueWaitIdle registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myQueueWaitIdle <- vkGetInstanceProc @VkQueueWaitIdle vkInstance------ or less efficient:------ > myQueueWaitIdle <- vkGetProc @VkQueueWaitIdle------ __Note:__ @vkQueueWaitIdleUnsafe@ and @vkQueueWaitIdleSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkQueueWaitIdle@ is an alias---           of @vkQueueWaitIdleUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkQueueWaitIdleSafe@.----vkQueueWaitIdle :: VkQueue -- ^ queue-                           -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkQueueWaitIdle = vkQueueWaitIdleUnsafe-##else-vkQueueWaitIdle = vkQueueWaitIdleSafe--##endif-{-# INLINE vkQueueWaitIdle #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------   > VkResult vkQueueWaitIdle---   >     ( VkQueue queue---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueWaitIdle vkQueueWaitIdle registry at www.khronos.org>-type HS_vkQueueWaitIdle = VkQueue -- ^ queue-                                  -> IO VkResult--type PFN_vkQueueWaitIdle = FunPtr HS_vkQueueWaitIdle--foreign import ccall unsafe "dynamic" unwrapVkQueueWaitIdleUnsafe-               :: PFN_vkQueueWaitIdle -> HS_vkQueueWaitIdle--foreign import ccall safe "dynamic" unwrapVkQueueWaitIdleSafe ::-               PFN_vkQueueWaitIdle -> HS_vkQueueWaitIdle--instance VulkanProc "vkQueueWaitIdle" where-        type VkProcType "vkQueueWaitIdle" = HS_vkQueueWaitIdle-        vkProcSymbol = _VkQueueWaitIdle--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkQueueWaitIdleUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkQueueWaitIdleSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkDeviceWaitIdle :: CString--pattern VkDeviceWaitIdle <- (is_VkDeviceWaitIdle -> True)-  where VkDeviceWaitIdle = _VkDeviceWaitIdle--{-# INLINE _VkDeviceWaitIdle #-}--_VkDeviceWaitIdle :: CString-_VkDeviceWaitIdle = Ptr "vkDeviceWaitIdle\NUL"##--{-# INLINE is_VkDeviceWaitIdle #-}--is_VkDeviceWaitIdle :: CString -> Bool-is_VkDeviceWaitIdle = (EQ ==) . cmpCStrings _VkDeviceWaitIdle--type VkDeviceWaitIdle = "vkDeviceWaitIdle"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkDeviceWaitIdle--- >     ( VkDevice device--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDeviceWaitIdle vkDeviceWaitIdle registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDeviceWaitIdle <- vkGetDeviceProc @VkDeviceWaitIdle vkDevice------ or less efficient:------ > myDeviceWaitIdle <- vkGetProc @VkDeviceWaitIdle------ __Note:__ @vkDeviceWaitIdleUnsafe@ and @vkDeviceWaitIdleSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDeviceWaitIdle@ is an alias---           of @vkDeviceWaitIdleUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDeviceWaitIdleSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDeviceWaitIdle"-               vkDeviceWaitIdleUnsafe :: VkDevice -- ^ device-                                                  -> IO VkResult--##else-vkDeviceWaitIdleUnsafe :: VkDevice -- ^ device-                                   -> IO VkResult-vkDeviceWaitIdleUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDeviceWaitIdle)--{-# NOINLINE vkDeviceWaitIdleUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkDeviceWaitIdle--- >     ( VkDevice device--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDeviceWaitIdle vkDeviceWaitIdle registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDeviceWaitIdle <- vkGetDeviceProc @VkDeviceWaitIdle vkDevice------ or less efficient:------ > myDeviceWaitIdle <- vkGetProc @VkDeviceWaitIdle------ __Note:__ @vkDeviceWaitIdleUnsafe@ and @vkDeviceWaitIdleSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDeviceWaitIdle@ is an alias---           of @vkDeviceWaitIdleUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDeviceWaitIdleSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkDeviceWaitIdle" vkDeviceWaitIdleSafe-               :: VkDevice -- ^ device-                           -> IO VkResult--##else-vkDeviceWaitIdleSafe :: VkDevice -- ^ device-                                 -> IO VkResult-vkDeviceWaitIdleSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkDeviceWaitIdle)--{-# NOINLINE vkDeviceWaitIdleSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkDeviceWaitIdle--- >     ( VkDevice device--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDeviceWaitIdle vkDeviceWaitIdle registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDeviceWaitIdle <- vkGetDeviceProc @VkDeviceWaitIdle vkDevice------ or less efficient:------ > myDeviceWaitIdle <- vkGetProc @VkDeviceWaitIdle------ __Note:__ @vkDeviceWaitIdleUnsafe@ and @vkDeviceWaitIdleSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDeviceWaitIdle@ is an alias---           of @vkDeviceWaitIdleUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDeviceWaitIdleSafe@.----vkDeviceWaitIdle :: VkDevice -- ^ device-                             -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkDeviceWaitIdle = vkDeviceWaitIdleUnsafe-##else-vkDeviceWaitIdle = vkDeviceWaitIdleSafe--##endif-{-# INLINE vkDeviceWaitIdle #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------   > VkResult vkDeviceWaitIdle---   >     ( VkDevice device---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDeviceWaitIdle vkDeviceWaitIdle registry at www.khronos.org>-type HS_vkDeviceWaitIdle = VkDevice -- ^ device-                                    -> IO VkResult--type PFN_vkDeviceWaitIdle = FunPtr HS_vkDeviceWaitIdle--foreign import ccall unsafe "dynamic" unwrapVkDeviceWaitIdleUnsafe-               :: PFN_vkDeviceWaitIdle -> HS_vkDeviceWaitIdle--foreign import ccall safe "dynamic" unwrapVkDeviceWaitIdleSafe ::-               PFN_vkDeviceWaitIdle -> HS_vkDeviceWaitIdle--instance VulkanProc "vkDeviceWaitIdle" where-        type VkProcType "vkDeviceWaitIdle" = HS_vkDeviceWaitIdle-        vkProcSymbol = _VkDeviceWaitIdle--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDeviceWaitIdleUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDeviceWaitIdleSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkAllocateMemory :: CString--pattern VkAllocateMemory <- (is_VkAllocateMemory -> True)-  where VkAllocateMemory = _VkAllocateMemory--{-# INLINE _VkAllocateMemory #-}--_VkAllocateMemory :: CString-_VkAllocateMemory = Ptr "vkAllocateMemory\NUL"##--{-# INLINE is_VkAllocateMemory #-}--is_VkAllocateMemory :: CString -> Bool-is_VkAllocateMemory = (EQ ==) . cmpCStrings _VkAllocateMemory--type VkAllocateMemory = "vkAllocateMemory"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.------ > VkResult vkAllocateMemory--- >     ( VkDevice device--- >     , const VkMemoryAllocateInfo* pAllocateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkDeviceMemory* pMemory--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateMemory vkAllocateMemory registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myAllocateMemory <- vkGetDeviceProc @VkAllocateMemory vkDevice------ or less efficient:------ > myAllocateMemory <- vkGetProc @VkAllocateMemory------ __Note:__ @vkAllocateMemoryUnsafe@ and @vkAllocateMemorySafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkAllocateMemory@ is an alias---           of @vkAllocateMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkAllocateMemorySafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkAllocateMemory"-               vkAllocateMemoryUnsafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkMemoryAllocateInfo -- ^ pAllocateInfo-                                          ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkDeviceMemory -- ^ pMemory-                                                                   -> IO VkResult--##else-vkAllocateMemoryUnsafe ::-                       VkDevice -- ^ device-                                ->-                         Ptr VkMemoryAllocateInfo -- ^ pAllocateInfo-                                                  ->-                           Ptr VkAllocationCallbacks -- ^ pAllocator-                                                     -> Ptr VkDeviceMemory -- ^ pMemory-                                                                           -> IO VkResult-vkAllocateMemoryUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkAllocateMemory)--{-# NOINLINE vkAllocateMemoryUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.------ > VkResult vkAllocateMemory--- >     ( VkDevice device--- >     , const VkMemoryAllocateInfo* pAllocateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkDeviceMemory* pMemory--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateMemory vkAllocateMemory registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myAllocateMemory <- vkGetDeviceProc @VkAllocateMemory vkDevice------ or less efficient:------ > myAllocateMemory <- vkGetProc @VkAllocateMemory------ __Note:__ @vkAllocateMemoryUnsafe@ and @vkAllocateMemorySafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkAllocateMemory@ is an alias---           of @vkAllocateMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkAllocateMemorySafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkAllocateMemory" vkAllocateMemorySafe-               ::-               VkDevice -- ^ device-                        ->-                 Ptr VkMemoryAllocateInfo -- ^ pAllocateInfo-                                          ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkDeviceMemory -- ^ pMemory-                                                                   -> IO VkResult--##else-vkAllocateMemorySafe ::-                     VkDevice -- ^ device-                              ->-                       Ptr VkMemoryAllocateInfo -- ^ pAllocateInfo-                                                ->-                         Ptr VkAllocationCallbacks -- ^ pAllocator-                                                   -> Ptr VkDeviceMemory -- ^ pMemory-                                                                         -> IO VkResult-vkAllocateMemorySafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkAllocateMemory)--{-# NOINLINE vkAllocateMemorySafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.------ > VkResult vkAllocateMemory--- >     ( VkDevice device--- >     , const VkMemoryAllocateInfo* pAllocateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkDeviceMemory* pMemory--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateMemory vkAllocateMemory registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myAllocateMemory <- vkGetDeviceProc @VkAllocateMemory vkDevice------ or less efficient:------ > myAllocateMemory <- vkGetProc @VkAllocateMemory------ __Note:__ @vkAllocateMemoryUnsafe@ and @vkAllocateMemorySafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkAllocateMemory@ is an alias---           of @vkAllocateMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkAllocateMemorySafe@.----vkAllocateMemory ::-                 VkDevice -- ^ device-                          ->-                   Ptr VkMemoryAllocateInfo -- ^ pAllocateInfo-                                            ->-                     Ptr VkAllocationCallbacks -- ^ pAllocator-                                               -> Ptr VkDeviceMemory -- ^ pMemory-                                                                     -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkAllocateMemory = vkAllocateMemoryUnsafe-##else-vkAllocateMemory = vkAllocateMemorySafe--##endif-{-# INLINE vkAllocateMemory #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.------   > VkResult vkAllocateMemory---   >     ( VkDevice device---   >     , const VkMemoryAllocateInfo* pAllocateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkDeviceMemory* pMemory---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateMemory vkAllocateMemory registry at www.khronos.org>-type HS_vkAllocateMemory =-     VkDevice -- ^ device-              ->-       Ptr VkMemoryAllocateInfo -- ^ pAllocateInfo-                                ->-         Ptr VkAllocationCallbacks -- ^ pAllocator-                                   -> Ptr VkDeviceMemory -- ^ pMemory-                                                         -> IO VkResult--type PFN_vkAllocateMemory = FunPtr HS_vkAllocateMemory--foreign import ccall unsafe "dynamic" unwrapVkAllocateMemoryUnsafe-               :: PFN_vkAllocateMemory -> HS_vkAllocateMemory--foreign import ccall safe "dynamic" unwrapVkAllocateMemorySafe ::-               PFN_vkAllocateMemory -> HS_vkAllocateMemory--instance VulkanProc "vkAllocateMemory" where-        type VkProcType "vkAllocateMemory" = HS_vkAllocateMemory-        vkProcSymbol = _VkAllocateMemory--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkAllocateMemoryUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkAllocateMemorySafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkFreeMemory :: CString--pattern VkFreeMemory <- (is_VkFreeMemory -> True)-  where VkFreeMemory = _VkFreeMemory--{-# INLINE _VkFreeMemory #-}--_VkFreeMemory :: CString-_VkFreeMemory = Ptr "vkFreeMemory\NUL"##--{-# INLINE is_VkFreeMemory #-}--is_VkFreeMemory :: CString -> Bool-is_VkFreeMemory = (EQ ==) . cmpCStrings _VkFreeMemory--type VkFreeMemory = "vkFreeMemory"---- |--- > void vkFreeMemory--- >     ( VkDevice device--- >     , VkDeviceMemory memory--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeMemory vkFreeMemory registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myFreeMemory <- vkGetDeviceProc @VkFreeMemory vkDevice------ or less efficient:------ > myFreeMemory <- vkGetProc @VkFreeMemory------ __Note:__ @vkFreeMemoryUnsafe@ and @vkFreeMemorySafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkFreeMemory@ is an alias---           of @vkFreeMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkFreeMemorySafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkFreeMemory" vkFreeMemoryUnsafe ::-               VkDevice -- ^ device-                        -> VkDeviceMemory -- ^ memory-                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                       -> IO ()--##else-vkFreeMemoryUnsafe ::-                   VkDevice -- ^ device-                            -> VkDeviceMemory -- ^ memory-                                              -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                           -> IO ()-vkFreeMemoryUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkFreeMemory)--{-# NOINLINE vkFreeMemoryUnsafe #-}-##endif---- |--- > void vkFreeMemory--- >     ( VkDevice device--- >     , VkDeviceMemory memory--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeMemory vkFreeMemory registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myFreeMemory <- vkGetDeviceProc @VkFreeMemory vkDevice------ or less efficient:------ > myFreeMemory <- vkGetProc @VkFreeMemory------ __Note:__ @vkFreeMemoryUnsafe@ and @vkFreeMemorySafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkFreeMemory@ is an alias---           of @vkFreeMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkFreeMemorySafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkFreeMemory" vkFreeMemorySafe ::-               VkDevice -- ^ device-                        -> VkDeviceMemory -- ^ memory-                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                       -> IO ()--##else-vkFreeMemorySafe ::-                 VkDevice -- ^ device-                          -> VkDeviceMemory -- ^ memory-                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                         -> IO ()-vkFreeMemorySafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkFreeMemory)--{-# NOINLINE vkFreeMemorySafe #-}-##endif---- |--- > void vkFreeMemory--- >     ( VkDevice device--- >     , VkDeviceMemory memory--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeMemory vkFreeMemory registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myFreeMemory <- vkGetDeviceProc @VkFreeMemory vkDevice------ or less efficient:------ > myFreeMemory <- vkGetProc @VkFreeMemory------ __Note:__ @vkFreeMemoryUnsafe@ and @vkFreeMemorySafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkFreeMemory@ is an alias---           of @vkFreeMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkFreeMemorySafe@.----vkFreeMemory ::-             VkDevice -- ^ device-                      -> VkDeviceMemory -- ^ memory-                                        -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                     -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkFreeMemory = vkFreeMemoryUnsafe-##else-vkFreeMemory = vkFreeMemorySafe--##endif-{-# INLINE vkFreeMemory #-}---- | > void vkFreeMemory---   >     ( VkDevice device---   >     , VkDeviceMemory memory---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeMemory vkFreeMemory registry at www.khronos.org>-type HS_vkFreeMemory =-     VkDevice -- ^ device-              -> VkDeviceMemory -- ^ memory-                                -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                             -> IO ()--type PFN_vkFreeMemory = FunPtr HS_vkFreeMemory--foreign import ccall unsafe "dynamic" unwrapVkFreeMemoryUnsafe ::-               PFN_vkFreeMemory -> HS_vkFreeMemory--foreign import ccall safe "dynamic" unwrapVkFreeMemorySafe ::-               PFN_vkFreeMemory -> HS_vkFreeMemory--instance VulkanProc "vkFreeMemory" where-        type VkProcType "vkFreeMemory" = HS_vkFreeMemory-        vkProcSymbol = _VkFreeMemory--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkFreeMemoryUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkFreeMemorySafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkMapMemory :: CString--pattern VkMapMemory <- (is_VkMapMemory -> True)-  where VkMapMemory = _VkMapMemory--{-# INLINE _VkMapMemory #-}--_VkMapMemory :: CString-_VkMapMemory = Ptr "vkMapMemory\NUL"##--{-# INLINE is_VkMapMemory #-}--is_VkMapMemory :: CString -> Bool-is_VkMapMemory = (EQ ==) . cmpCStrings _VkMapMemory--type VkMapMemory = "vkMapMemory"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_MEMORY_MAP_FAILED'.------ > VkResult vkMapMemory--- >     ( VkDevice device--- >     , VkDeviceMemory memory--- >     , VkDeviceSize offset--- >     , VkDeviceSize size--- >     , VkMemoryMapFlags flags--- >     , void** ppData--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkMapMemory vkMapMemory registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myMapMemory <- vkGetDeviceProc @VkMapMemory vkDevice------ or less efficient:------ > myMapMemory <- vkGetProc @VkMapMemory------ __Note:__ @vkMapMemoryUnsafe@ and @vkMapMemorySafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkMapMemory@ is an alias---           of @vkMapMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkMapMemorySafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkMapMemory" vkMapMemoryUnsafe ::-               VkDevice -- ^ device-                        ->-                 VkDeviceMemory -- ^ memory-                                ->-                   VkDeviceSize -- ^ offset-                                ->-                     VkDeviceSize -- ^ size-                                  -> VkMemoryMapFlags -- ^ flags-                                                      -> Ptr (Ptr Void) -- ^ ppData-                                                                        -> IO VkResult--##else-vkMapMemoryUnsafe ::-                  VkDevice -- ^ device-                           ->-                    VkDeviceMemory -- ^ memory-                                   ->-                      VkDeviceSize -- ^ offset-                                   ->-                        VkDeviceSize -- ^ size-                                     -> VkMemoryMapFlags -- ^ flags-                                                         -> Ptr (Ptr Void) -- ^ ppData-                                                                           -> IO VkResult-vkMapMemoryUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkMapMemory)--{-# NOINLINE vkMapMemoryUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_MEMORY_MAP_FAILED'.------ > VkResult vkMapMemory--- >     ( VkDevice device--- >     , VkDeviceMemory memory--- >     , VkDeviceSize offset--- >     , VkDeviceSize size--- >     , VkMemoryMapFlags flags--- >     , void** ppData--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkMapMemory vkMapMemory registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myMapMemory <- vkGetDeviceProc @VkMapMemory vkDevice------ or less efficient:------ > myMapMemory <- vkGetProc @VkMapMemory------ __Note:__ @vkMapMemoryUnsafe@ and @vkMapMemorySafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkMapMemory@ is an alias---           of @vkMapMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkMapMemorySafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkMapMemory" vkMapMemorySafe ::-               VkDevice -- ^ device-                        ->-                 VkDeviceMemory -- ^ memory-                                ->-                   VkDeviceSize -- ^ offset-                                ->-                     VkDeviceSize -- ^ size-                                  -> VkMemoryMapFlags -- ^ flags-                                                      -> Ptr (Ptr Void) -- ^ ppData-                                                                        -> IO VkResult--##else-vkMapMemorySafe ::-                VkDevice -- ^ device-                         ->-                  VkDeviceMemory -- ^ memory-                                 ->-                    VkDeviceSize -- ^ offset-                                 ->-                      VkDeviceSize -- ^ size-                                   -> VkMemoryMapFlags -- ^ flags-                                                       -> Ptr (Ptr Void) -- ^ ppData-                                                                         -> IO VkResult-vkMapMemorySafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkMapMemory)--{-# NOINLINE vkMapMemorySafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_MEMORY_MAP_FAILED'.------ > VkResult vkMapMemory--- >     ( VkDevice device--- >     , VkDeviceMemory memory--- >     , VkDeviceSize offset--- >     , VkDeviceSize size--- >     , VkMemoryMapFlags flags--- >     , void** ppData--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkMapMemory vkMapMemory registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myMapMemory <- vkGetDeviceProc @VkMapMemory vkDevice------ or less efficient:------ > myMapMemory <- vkGetProc @VkMapMemory------ __Note:__ @vkMapMemoryUnsafe@ and @vkMapMemorySafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkMapMemory@ is an alias---           of @vkMapMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkMapMemorySafe@.----vkMapMemory ::-            VkDevice -- ^ device-                     ->-              VkDeviceMemory -- ^ memory-                             ->-                VkDeviceSize -- ^ offset-                             ->-                  VkDeviceSize -- ^ size-                               -> VkMemoryMapFlags -- ^ flags-                                                   -> Ptr (Ptr Void) -- ^ ppData-                                                                     -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkMapMemory = vkMapMemoryUnsafe-##else-vkMapMemory = vkMapMemorySafe--##endif-{-# INLINE vkMapMemory #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_MEMORY_MAP_FAILED'.------   > VkResult vkMapMemory---   >     ( VkDevice device---   >     , VkDeviceMemory memory---   >     , VkDeviceSize offset---   >     , VkDeviceSize size---   >     , VkMemoryMapFlags flags---   >     , void** ppData---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkMapMemory vkMapMemory registry at www.khronos.org>-type HS_vkMapMemory =-     VkDevice -- ^ device-              ->-       VkDeviceMemory -- ^ memory-                      ->-         VkDeviceSize -- ^ offset-                      ->-           VkDeviceSize -- ^ size-                        -> VkMemoryMapFlags -- ^ flags-                                            -> Ptr (Ptr Void) -- ^ ppData-                                                              -> IO VkResult--type PFN_vkMapMemory = FunPtr HS_vkMapMemory--foreign import ccall unsafe "dynamic" unwrapVkMapMemoryUnsafe ::-               PFN_vkMapMemory -> HS_vkMapMemory--foreign import ccall safe "dynamic" unwrapVkMapMemorySafe ::-               PFN_vkMapMemory -> HS_vkMapMemory--instance VulkanProc "vkMapMemory" where-        type VkProcType "vkMapMemory" = HS_vkMapMemory-        vkProcSymbol = _VkMapMemory--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkMapMemoryUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkMapMemorySafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkUnmapMemory :: CString--pattern VkUnmapMemory <- (is_VkUnmapMemory -> True)-  where VkUnmapMemory = _VkUnmapMemory--{-# INLINE _VkUnmapMemory #-}--_VkUnmapMemory :: CString-_VkUnmapMemory = Ptr "vkUnmapMemory\NUL"##--{-# INLINE is_VkUnmapMemory #-}--is_VkUnmapMemory :: CString -> Bool-is_VkUnmapMemory = (EQ ==) . cmpCStrings _VkUnmapMemory--type VkUnmapMemory = "vkUnmapMemory"---- |--- > void vkUnmapMemory--- >     ( VkDevice device--- >     , VkDeviceMemory memory--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUnmapMemory vkUnmapMemory registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myUnmapMemory <- vkGetDeviceProc @VkUnmapMemory vkDevice------ or less efficient:------ > myUnmapMemory <- vkGetProc @VkUnmapMemory------ __Note:__ @vkUnmapMemoryUnsafe@ and @vkUnmapMemorySafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkUnmapMemory@ is an alias---           of @vkUnmapMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkUnmapMemorySafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkUnmapMemory" vkUnmapMemoryUnsafe ::-               VkDevice -- ^ device-                        -> VkDeviceMemory -- ^ memory-                                          -> IO ()--##else-vkUnmapMemoryUnsafe :: VkDevice -- ^ device-                                -> VkDeviceMemory -- ^ memory-                                                  -> IO ()-vkUnmapMemoryUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkUnmapMemory)--{-# NOINLINE vkUnmapMemoryUnsafe #-}-##endif---- |--- > void vkUnmapMemory--- >     ( VkDevice device--- >     , VkDeviceMemory memory--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUnmapMemory vkUnmapMemory registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myUnmapMemory <- vkGetDeviceProc @VkUnmapMemory vkDevice------ or less efficient:------ > myUnmapMemory <- vkGetProc @VkUnmapMemory------ __Note:__ @vkUnmapMemoryUnsafe@ and @vkUnmapMemorySafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkUnmapMemory@ is an alias---           of @vkUnmapMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkUnmapMemorySafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkUnmapMemory" vkUnmapMemorySafe ::-               VkDevice -- ^ device-                        -> VkDeviceMemory -- ^ memory-                                          -> IO ()--##else-vkUnmapMemorySafe :: VkDevice -- ^ device-                              -> VkDeviceMemory -- ^ memory-                                                -> IO ()-vkUnmapMemorySafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkUnmapMemory)--{-# NOINLINE vkUnmapMemorySafe #-}-##endif---- |--- > void vkUnmapMemory--- >     ( VkDevice device--- >     , VkDeviceMemory memory--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUnmapMemory vkUnmapMemory registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myUnmapMemory <- vkGetDeviceProc @VkUnmapMemory vkDevice------ or less efficient:------ > myUnmapMemory <- vkGetProc @VkUnmapMemory------ __Note:__ @vkUnmapMemoryUnsafe@ and @vkUnmapMemorySafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkUnmapMemory@ is an alias---           of @vkUnmapMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkUnmapMemorySafe@.----vkUnmapMemory :: VkDevice -- ^ device-                          -> VkDeviceMemory -- ^ memory-                                            -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkUnmapMemory = vkUnmapMemoryUnsafe-##else-vkUnmapMemory = vkUnmapMemorySafe--##endif-{-# INLINE vkUnmapMemory #-}---- | > void vkUnmapMemory---   >     ( VkDevice device---   >     , VkDeviceMemory memory---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUnmapMemory vkUnmapMemory registry at www.khronos.org>-type HS_vkUnmapMemory = VkDevice -- ^ device-                                 -> VkDeviceMemory -- ^ memory-                                                   -> IO ()--type PFN_vkUnmapMemory = FunPtr HS_vkUnmapMemory--foreign import ccall unsafe "dynamic" unwrapVkUnmapMemoryUnsafe ::-               PFN_vkUnmapMemory -> HS_vkUnmapMemory--foreign import ccall safe "dynamic" unwrapVkUnmapMemorySafe ::-               PFN_vkUnmapMemory -> HS_vkUnmapMemory--instance VulkanProc "vkUnmapMemory" where-        type VkProcType "vkUnmapMemory" = HS_vkUnmapMemory-        vkProcSymbol = _VkUnmapMemory--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkUnmapMemoryUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkUnmapMemorySafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkFlushMappedMemoryRanges :: CString--pattern VkFlushMappedMemoryRanges <--        (is_VkFlushMappedMemoryRanges -> True)-  where VkFlushMappedMemoryRanges = _VkFlushMappedMemoryRanges--{-# INLINE _VkFlushMappedMemoryRanges #-}--_VkFlushMappedMemoryRanges :: CString-_VkFlushMappedMemoryRanges = Ptr "vkFlushMappedMemoryRanges\NUL"##--{-# INLINE is_VkFlushMappedMemoryRanges #-}--is_VkFlushMappedMemoryRanges :: CString -> Bool-is_VkFlushMappedMemoryRanges-  = (EQ ==) . cmpCStrings _VkFlushMappedMemoryRanges--type VkFlushMappedMemoryRanges = "vkFlushMappedMemoryRanges"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkFlushMappedMemoryRanges--- >     ( VkDevice device--- >     , uint32_t memoryRangeCount--- >     , const VkMappedMemoryRange* pMemoryRanges--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myFlushMappedMemoryRanges <- vkGetDeviceProc @VkFlushMappedMemoryRanges vkDevice------ or less efficient:------ > myFlushMappedMemoryRanges <- vkGetProc @VkFlushMappedMemoryRanges------ __Note:__ @vkFlushMappedMemoryRangesUnsafe@ and @vkFlushMappedMemoryRangesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkFlushMappedMemoryRanges@ is an alias---           of @vkFlushMappedMemoryRangesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkFlushMappedMemoryRangesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkFlushMappedMemoryRanges"-               vkFlushMappedMemoryRangesUnsafe ::-               VkDevice -- ^ device-                        -> Word32 -- ^ memoryRangeCount-                                  -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges-                                                             -> IO VkResult--##else-vkFlushMappedMemoryRangesUnsafe ::-                                VkDevice -- ^ device-                                         -> Word32 -- ^ memoryRangeCount-                                                   -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges-                                                                              -> IO VkResult-vkFlushMappedMemoryRangesUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkFlushMappedMemoryRanges)--{-# NOINLINE vkFlushMappedMemoryRangesUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkFlushMappedMemoryRanges--- >     ( VkDevice device--- >     , uint32_t memoryRangeCount--- >     , const VkMappedMemoryRange* pMemoryRanges--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myFlushMappedMemoryRanges <- vkGetDeviceProc @VkFlushMappedMemoryRanges vkDevice------ or less efficient:------ > myFlushMappedMemoryRanges <- vkGetProc @VkFlushMappedMemoryRanges------ __Note:__ @vkFlushMappedMemoryRangesUnsafe@ and @vkFlushMappedMemoryRangesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkFlushMappedMemoryRanges@ is an alias---           of @vkFlushMappedMemoryRangesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkFlushMappedMemoryRangesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkFlushMappedMemoryRanges"-               vkFlushMappedMemoryRangesSafe ::-               VkDevice -- ^ device-                        -> Word32 -- ^ memoryRangeCount-                                  -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges-                                                             -> IO VkResult--##else-vkFlushMappedMemoryRangesSafe ::-                              VkDevice -- ^ device-                                       -> Word32 -- ^ memoryRangeCount-                                                 -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges-                                                                            -> IO VkResult-vkFlushMappedMemoryRangesSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkFlushMappedMemoryRanges)--{-# NOINLINE vkFlushMappedMemoryRangesSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkFlushMappedMemoryRanges--- >     ( VkDevice device--- >     , uint32_t memoryRangeCount--- >     , const VkMappedMemoryRange* pMemoryRanges--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myFlushMappedMemoryRanges <- vkGetDeviceProc @VkFlushMappedMemoryRanges vkDevice------ or less efficient:------ > myFlushMappedMemoryRanges <- vkGetProc @VkFlushMappedMemoryRanges------ __Note:__ @vkFlushMappedMemoryRangesUnsafe@ and @vkFlushMappedMemoryRangesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkFlushMappedMemoryRanges@ is an alias---           of @vkFlushMappedMemoryRangesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkFlushMappedMemoryRangesSafe@.----vkFlushMappedMemoryRanges ::-                          VkDevice -- ^ device-                                   -> Word32 -- ^ memoryRangeCount-                                             -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges-                                                                        -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkFlushMappedMemoryRanges = vkFlushMappedMemoryRangesUnsafe-##else-vkFlushMappedMemoryRanges = vkFlushMappedMemoryRangesSafe--##endif-{-# INLINE vkFlushMappedMemoryRanges #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkFlushMappedMemoryRanges---   >     ( VkDevice device---   >     , uint32_t memoryRangeCount---   >     , const VkMappedMemoryRange* pMemoryRanges---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges registry at www.khronos.org>-type HS_vkFlushMappedMemoryRanges =-     VkDevice -- ^ device-              -> Word32 -- ^ memoryRangeCount-                        -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges-                                                   -> IO VkResult--type PFN_vkFlushMappedMemoryRanges =-     FunPtr HS_vkFlushMappedMemoryRanges--foreign import ccall unsafe "dynamic"-               unwrapVkFlushMappedMemoryRangesUnsafe ::-               PFN_vkFlushMappedMemoryRanges -> HS_vkFlushMappedMemoryRanges--foreign import ccall safe "dynamic"-               unwrapVkFlushMappedMemoryRangesSafe ::-               PFN_vkFlushMappedMemoryRanges -> HS_vkFlushMappedMemoryRanges--instance VulkanProc "vkFlushMappedMemoryRanges" where-        type VkProcType "vkFlushMappedMemoryRanges" =-             HS_vkFlushMappedMemoryRanges-        vkProcSymbol = _VkFlushMappedMemoryRanges--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkFlushMappedMemoryRangesUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkFlushMappedMemoryRangesSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkInvalidateMappedMemoryRanges :: CString--pattern VkInvalidateMappedMemoryRanges <--        (is_VkInvalidateMappedMemoryRanges -> True)-  where VkInvalidateMappedMemoryRanges-          = _VkInvalidateMappedMemoryRanges--{-# INLINE _VkInvalidateMappedMemoryRanges #-}--_VkInvalidateMappedMemoryRanges :: CString-_VkInvalidateMappedMemoryRanges-  = Ptr "vkInvalidateMappedMemoryRanges\NUL"##--{-# INLINE is_VkInvalidateMappedMemoryRanges #-}--is_VkInvalidateMappedMemoryRanges :: CString -> Bool-is_VkInvalidateMappedMemoryRanges-  = (EQ ==) . cmpCStrings _VkInvalidateMappedMemoryRanges--type VkInvalidateMappedMemoryRanges =-     "vkInvalidateMappedMemoryRanges"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkInvalidateMappedMemoryRanges--- >     ( VkDevice device--- >     , uint32_t memoryRangeCount--- >     , const VkMappedMemoryRange* pMemoryRanges--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myInvalidateMappedMemoryRanges <- vkGetDeviceProc @VkInvalidateMappedMemoryRanges vkDevice------ or less efficient:------ > myInvalidateMappedMemoryRanges <- vkGetProc @VkInvalidateMappedMemoryRanges------ __Note:__ @vkInvalidateMappedMemoryRangesUnsafe@ and @vkInvalidateMappedMemoryRangesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkInvalidateMappedMemoryRanges@ is an alias---           of @vkInvalidateMappedMemoryRangesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkInvalidateMappedMemoryRangesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkInvalidateMappedMemoryRanges"-               vkInvalidateMappedMemoryRangesUnsafe ::-               VkDevice -- ^ device-                        -> Word32 -- ^ memoryRangeCount-                                  -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges-                                                             -> IO VkResult--##else-vkInvalidateMappedMemoryRangesUnsafe ::-                                     VkDevice -- ^ device-                                              -> Word32 -- ^ memoryRangeCount-                                                        -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges-                                                                                   -> IO VkResult-vkInvalidateMappedMemoryRangesUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkInvalidateMappedMemoryRanges)--{-# NOINLINE vkInvalidateMappedMemoryRangesUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkInvalidateMappedMemoryRanges--- >     ( VkDevice device--- >     , uint32_t memoryRangeCount--- >     , const VkMappedMemoryRange* pMemoryRanges--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myInvalidateMappedMemoryRanges <- vkGetDeviceProc @VkInvalidateMappedMemoryRanges vkDevice------ or less efficient:------ > myInvalidateMappedMemoryRanges <- vkGetProc @VkInvalidateMappedMemoryRanges------ __Note:__ @vkInvalidateMappedMemoryRangesUnsafe@ and @vkInvalidateMappedMemoryRangesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkInvalidateMappedMemoryRanges@ is an alias---           of @vkInvalidateMappedMemoryRangesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkInvalidateMappedMemoryRangesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkInvalidateMappedMemoryRanges"-               vkInvalidateMappedMemoryRangesSafe ::-               VkDevice -- ^ device-                        -> Word32 -- ^ memoryRangeCount-                                  -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges-                                                             -> IO VkResult--##else-vkInvalidateMappedMemoryRangesSafe ::-                                   VkDevice -- ^ device-                                            -> Word32 -- ^ memoryRangeCount-                                                      -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges-                                                                                 -> IO VkResult-vkInvalidateMappedMemoryRangesSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkInvalidateMappedMemoryRanges)--{-# NOINLINE vkInvalidateMappedMemoryRangesSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkInvalidateMappedMemoryRanges--- >     ( VkDevice device--- >     , uint32_t memoryRangeCount--- >     , const VkMappedMemoryRange* pMemoryRanges--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myInvalidateMappedMemoryRanges <- vkGetDeviceProc @VkInvalidateMappedMemoryRanges vkDevice------ or less efficient:------ > myInvalidateMappedMemoryRanges <- vkGetProc @VkInvalidateMappedMemoryRanges------ __Note:__ @vkInvalidateMappedMemoryRangesUnsafe@ and @vkInvalidateMappedMemoryRangesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkInvalidateMappedMemoryRanges@ is an alias---           of @vkInvalidateMappedMemoryRangesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkInvalidateMappedMemoryRangesSafe@.----vkInvalidateMappedMemoryRanges ::-                               VkDevice -- ^ device-                                        -> Word32 -- ^ memoryRangeCount-                                                  -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges-                                                                             -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkInvalidateMappedMemoryRanges-  = vkInvalidateMappedMemoryRangesUnsafe-##else-vkInvalidateMappedMemoryRanges = vkInvalidateMappedMemoryRangesSafe--##endif-{-# INLINE vkInvalidateMappedMemoryRanges #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkInvalidateMappedMemoryRanges---   >     ( VkDevice device---   >     , uint32_t memoryRangeCount---   >     , const VkMappedMemoryRange* pMemoryRanges---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges registry at www.khronos.org>-type HS_vkInvalidateMappedMemoryRanges =-     VkDevice -- ^ device-              -> Word32 -- ^ memoryRangeCount-                        -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges-                                                   -> IO VkResult--type PFN_vkInvalidateMappedMemoryRanges =-     FunPtr HS_vkInvalidateMappedMemoryRanges--foreign import ccall unsafe "dynamic"-               unwrapVkInvalidateMappedMemoryRangesUnsafe ::-               PFN_vkInvalidateMappedMemoryRanges ->-                 HS_vkInvalidateMappedMemoryRanges--foreign import ccall safe "dynamic"-               unwrapVkInvalidateMappedMemoryRangesSafe ::-               PFN_vkInvalidateMappedMemoryRanges ->-                 HS_vkInvalidateMappedMemoryRanges--instance VulkanProc "vkInvalidateMappedMemoryRanges" where-        type VkProcType "vkInvalidateMappedMemoryRanges" =-             HS_vkInvalidateMappedMemoryRanges-        vkProcSymbol = _VkInvalidateMappedMemoryRanges--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkInvalidateMappedMemoryRangesUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkInvalidateMappedMemoryRangesSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetDeviceMemoryCommitment :: CString--pattern VkGetDeviceMemoryCommitment <--        (is_VkGetDeviceMemoryCommitment -> True)-  where VkGetDeviceMemoryCommitment = _VkGetDeviceMemoryCommitment--{-# INLINE _VkGetDeviceMemoryCommitment #-}--_VkGetDeviceMemoryCommitment :: CString-_VkGetDeviceMemoryCommitment-  = Ptr "vkGetDeviceMemoryCommitment\NUL"##--{-# INLINE is_VkGetDeviceMemoryCommitment #-}--is_VkGetDeviceMemoryCommitment :: CString -> Bool-is_VkGetDeviceMemoryCommitment-  = (EQ ==) . cmpCStrings _VkGetDeviceMemoryCommitment--type VkGetDeviceMemoryCommitment = "vkGetDeviceMemoryCommitment"---- |--- > void vkGetDeviceMemoryCommitment--- >     ( VkDevice device--- >     , VkDeviceMemory memory--- >     , VkDeviceSize* pCommittedMemoryInBytes--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetDeviceMemoryCommitment <- vkGetDeviceProc @VkGetDeviceMemoryCommitment vkDevice------ or less efficient:------ > myGetDeviceMemoryCommitment <- vkGetProc @VkGetDeviceMemoryCommitment------ __Note:__ @vkGetDeviceMemoryCommitmentUnsafe@ and @vkGetDeviceMemoryCommitmentSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetDeviceMemoryCommitment@ is an alias---           of @vkGetDeviceMemoryCommitmentUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetDeviceMemoryCommitmentSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetDeviceMemoryCommitment"-               vkGetDeviceMemoryCommitmentUnsafe ::-               VkDevice -- ^ device-                        -> VkDeviceMemory -- ^ memory-                                          -> Ptr VkDeviceSize -- ^ pCommittedMemoryInBytes-                                                              -> IO ()--##else-vkGetDeviceMemoryCommitmentUnsafe ::-                                  VkDevice -- ^ device-                                           -> VkDeviceMemory -- ^ memory-                                                             -> Ptr VkDeviceSize -- ^ pCommittedMemoryInBytes-                                                                                 -> IO ()-vkGetDeviceMemoryCommitmentUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetDeviceMemoryCommitment)--{-# NOINLINE vkGetDeviceMemoryCommitmentUnsafe #-}-##endif---- |--- > void vkGetDeviceMemoryCommitment--- >     ( VkDevice device--- >     , VkDeviceMemory memory--- >     , VkDeviceSize* pCommittedMemoryInBytes--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetDeviceMemoryCommitment <- vkGetDeviceProc @VkGetDeviceMemoryCommitment vkDevice------ or less efficient:------ > myGetDeviceMemoryCommitment <- vkGetProc @VkGetDeviceMemoryCommitment------ __Note:__ @vkGetDeviceMemoryCommitmentUnsafe@ and @vkGetDeviceMemoryCommitmentSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetDeviceMemoryCommitment@ is an alias---           of @vkGetDeviceMemoryCommitmentUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetDeviceMemoryCommitmentSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkGetDeviceMemoryCommitment"-               vkGetDeviceMemoryCommitmentSafe ::-               VkDevice -- ^ device-                        -> VkDeviceMemory -- ^ memory-                                          -> Ptr VkDeviceSize -- ^ pCommittedMemoryInBytes-                                                              -> IO ()--##else-vkGetDeviceMemoryCommitmentSafe ::-                                VkDevice -- ^ device-                                         -> VkDeviceMemory -- ^ memory-                                                           -> Ptr VkDeviceSize -- ^ pCommittedMemoryInBytes-                                                                               -> IO ()-vkGetDeviceMemoryCommitmentSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetDeviceMemoryCommitment)--{-# NOINLINE vkGetDeviceMemoryCommitmentSafe #-}-##endif---- |--- > void vkGetDeviceMemoryCommitment--- >     ( VkDevice device--- >     , VkDeviceMemory memory--- >     , VkDeviceSize* pCommittedMemoryInBytes--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetDeviceMemoryCommitment <- vkGetDeviceProc @VkGetDeviceMemoryCommitment vkDevice------ or less efficient:------ > myGetDeviceMemoryCommitment <- vkGetProc @VkGetDeviceMemoryCommitment------ __Note:__ @vkGetDeviceMemoryCommitmentUnsafe@ and @vkGetDeviceMemoryCommitmentSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetDeviceMemoryCommitment@ is an alias---           of @vkGetDeviceMemoryCommitmentUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetDeviceMemoryCommitmentSafe@.----vkGetDeviceMemoryCommitment ::-                            VkDevice -- ^ device-                                     -> VkDeviceMemory -- ^ memory-                                                       -> Ptr VkDeviceSize -- ^ pCommittedMemoryInBytes-                                                                           -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkGetDeviceMemoryCommitment = vkGetDeviceMemoryCommitmentUnsafe-##else-vkGetDeviceMemoryCommitment = vkGetDeviceMemoryCommitmentSafe--##endif-{-# INLINE vkGetDeviceMemoryCommitment #-}---- | > void vkGetDeviceMemoryCommitment---   >     ( VkDevice device---   >     , VkDeviceMemory memory---   >     , VkDeviceSize* pCommittedMemoryInBytes---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment registry at www.khronos.org>-type HS_vkGetDeviceMemoryCommitment =-     VkDevice -- ^ device-              -> VkDeviceMemory -- ^ memory-                                -> Ptr VkDeviceSize -- ^ pCommittedMemoryInBytes-                                                    -> IO ()--type PFN_vkGetDeviceMemoryCommitment =-     FunPtr HS_vkGetDeviceMemoryCommitment--foreign import ccall unsafe "dynamic"-               unwrapVkGetDeviceMemoryCommitmentUnsafe ::-               PFN_vkGetDeviceMemoryCommitment -> HS_vkGetDeviceMemoryCommitment--foreign import ccall safe "dynamic"-               unwrapVkGetDeviceMemoryCommitmentSafe ::-               PFN_vkGetDeviceMemoryCommitment -> HS_vkGetDeviceMemoryCommitment--instance VulkanProc "vkGetDeviceMemoryCommitment" where-        type VkProcType "vkGetDeviceMemoryCommitment" =-             HS_vkGetDeviceMemoryCommitment-        vkProcSymbol = _VkGetDeviceMemoryCommitment--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetDeviceMemoryCommitmentUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetDeviceMemoryCommitmentSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkBindBufferMemory :: CString--pattern VkBindBufferMemory <- (is_VkBindBufferMemory -> True)-  where VkBindBufferMemory = _VkBindBufferMemory--{-# INLINE _VkBindBufferMemory #-}--_VkBindBufferMemory :: CString-_VkBindBufferMemory = Ptr "vkBindBufferMemory\NUL"##--{-# INLINE is_VkBindBufferMemory #-}--is_VkBindBufferMemory :: CString -> Bool-is_VkBindBufferMemory = (EQ ==) . cmpCStrings _VkBindBufferMemory--type VkBindBufferMemory = "vkBindBufferMemory"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkBindBufferMemory--- >     ( VkDevice device--- >     , VkBuffer buffer--- >     , VkDeviceMemory memory--- >     , VkDeviceSize memoryOffset--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindBufferMemory vkBindBufferMemory registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myBindBufferMemory <- vkGetDeviceProc @VkBindBufferMemory vkDevice------ or less efficient:------ > myBindBufferMemory <- vkGetProc @VkBindBufferMemory------ __Note:__ @vkBindBufferMemoryUnsafe@ and @vkBindBufferMemorySafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkBindBufferMemory@ is an alias---           of @vkBindBufferMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkBindBufferMemorySafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkBindBufferMemory"-               vkBindBufferMemoryUnsafe ::-               VkDevice -- ^ device-                        ->-                 VkBuffer -- ^ buffer-                          -> VkDeviceMemory -- ^ memory-                                            -> VkDeviceSize -- ^ memoryOffset-                                                            -> IO VkResult--##else-vkBindBufferMemoryUnsafe ::-                         VkDevice -- ^ device-                                  ->-                           VkBuffer -- ^ buffer-                                    -> VkDeviceMemory -- ^ memory-                                                      -> VkDeviceSize -- ^ memoryOffset-                                                                      -> IO VkResult-vkBindBufferMemoryUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkBindBufferMemory)--{-# NOINLINE vkBindBufferMemoryUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkBindBufferMemory--- >     ( VkDevice device--- >     , VkBuffer buffer--- >     , VkDeviceMemory memory--- >     , VkDeviceSize memoryOffset--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindBufferMemory vkBindBufferMemory registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myBindBufferMemory <- vkGetDeviceProc @VkBindBufferMemory vkDevice------ or less efficient:------ > myBindBufferMemory <- vkGetProc @VkBindBufferMemory------ __Note:__ @vkBindBufferMemoryUnsafe@ and @vkBindBufferMemorySafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkBindBufferMemory@ is an alias---           of @vkBindBufferMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkBindBufferMemorySafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkBindBufferMemory"-               vkBindBufferMemorySafe ::-               VkDevice -- ^ device-                        ->-                 VkBuffer -- ^ buffer-                          -> VkDeviceMemory -- ^ memory-                                            -> VkDeviceSize -- ^ memoryOffset-                                                            -> IO VkResult--##else-vkBindBufferMemorySafe ::-                       VkDevice -- ^ device-                                ->-                         VkBuffer -- ^ buffer-                                  -> VkDeviceMemory -- ^ memory-                                                    -> VkDeviceSize -- ^ memoryOffset-                                                                    -> IO VkResult-vkBindBufferMemorySafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkBindBufferMemory)--{-# NOINLINE vkBindBufferMemorySafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkBindBufferMemory--- >     ( VkDevice device--- >     , VkBuffer buffer--- >     , VkDeviceMemory memory--- >     , VkDeviceSize memoryOffset--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindBufferMemory vkBindBufferMemory registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myBindBufferMemory <- vkGetDeviceProc @VkBindBufferMemory vkDevice------ or less efficient:------ > myBindBufferMemory <- vkGetProc @VkBindBufferMemory------ __Note:__ @vkBindBufferMemoryUnsafe@ and @vkBindBufferMemorySafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkBindBufferMemory@ is an alias---           of @vkBindBufferMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkBindBufferMemorySafe@.----vkBindBufferMemory ::-                   VkDevice -- ^ device-                            ->-                     VkBuffer -- ^ buffer-                              -> VkDeviceMemory -- ^ memory-                                                -> VkDeviceSize -- ^ memoryOffset-                                                                -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkBindBufferMemory = vkBindBufferMemoryUnsafe-##else-vkBindBufferMemory = vkBindBufferMemorySafe--##endif-{-# INLINE vkBindBufferMemory #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkBindBufferMemory---   >     ( VkDevice device---   >     , VkBuffer buffer---   >     , VkDeviceMemory memory---   >     , VkDeviceSize memoryOffset---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindBufferMemory vkBindBufferMemory registry at www.khronos.org>-type HS_vkBindBufferMemory =-     VkDevice -- ^ device-              ->-       VkBuffer -- ^ buffer-                -> VkDeviceMemory -- ^ memory-                                  -> VkDeviceSize -- ^ memoryOffset-                                                  -> IO VkResult--type PFN_vkBindBufferMemory = FunPtr HS_vkBindBufferMemory--foreign import ccall unsafe "dynamic"-               unwrapVkBindBufferMemoryUnsafe ::-               PFN_vkBindBufferMemory -> HS_vkBindBufferMemory--foreign import ccall safe "dynamic" unwrapVkBindBufferMemorySafe ::-               PFN_vkBindBufferMemory -> HS_vkBindBufferMemory--instance VulkanProc "vkBindBufferMemory" where-        type VkProcType "vkBindBufferMemory" = HS_vkBindBufferMemory-        vkProcSymbol = _VkBindBufferMemory--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkBindBufferMemoryUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkBindBufferMemorySafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkBindImageMemory :: CString--pattern VkBindImageMemory <- (is_VkBindImageMemory -> True)-  where VkBindImageMemory = _VkBindImageMemory--{-# INLINE _VkBindImageMemory #-}--_VkBindImageMemory :: CString-_VkBindImageMemory = Ptr "vkBindImageMemory\NUL"##--{-# INLINE is_VkBindImageMemory #-}--is_VkBindImageMemory :: CString -> Bool-is_VkBindImageMemory = (EQ ==) . cmpCStrings _VkBindImageMemory--type VkBindImageMemory = "vkBindImageMemory"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkBindImageMemory--- >     ( VkDevice device--- >     , VkImage image--- >     , VkDeviceMemory memory--- >     , VkDeviceSize memoryOffset--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindImageMemory vkBindImageMemory registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myBindImageMemory <- vkGetDeviceProc @VkBindImageMemory vkDevice------ or less efficient:------ > myBindImageMemory <- vkGetProc @VkBindImageMemory------ __Note:__ @vkBindImageMemoryUnsafe@ and @vkBindImageMemorySafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkBindImageMemory@ is an alias---           of @vkBindImageMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkBindImageMemorySafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkBindImageMemory"-               vkBindImageMemoryUnsafe ::-               VkDevice -- ^ device-                        ->-                 VkImage -- ^ image-                         -> VkDeviceMemory -- ^ memory-                                           -> VkDeviceSize -- ^ memoryOffset-                                                           -> IO VkResult--##else-vkBindImageMemoryUnsafe ::-                        VkDevice -- ^ device-                                 ->-                          VkImage -- ^ image-                                  -> VkDeviceMemory -- ^ memory-                                                    -> VkDeviceSize -- ^ memoryOffset-                                                                    -> IO VkResult-vkBindImageMemoryUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkBindImageMemory)--{-# NOINLINE vkBindImageMemoryUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkBindImageMemory--- >     ( VkDevice device--- >     , VkImage image--- >     , VkDeviceMemory memory--- >     , VkDeviceSize memoryOffset--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindImageMemory vkBindImageMemory registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myBindImageMemory <- vkGetDeviceProc @VkBindImageMemory vkDevice------ or less efficient:------ > myBindImageMemory <- vkGetProc @VkBindImageMemory------ __Note:__ @vkBindImageMemoryUnsafe@ and @vkBindImageMemorySafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkBindImageMemory@ is an alias---           of @vkBindImageMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkBindImageMemorySafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkBindImageMemory" vkBindImageMemorySafe-               ::-               VkDevice -- ^ device-                        ->-                 VkImage -- ^ image-                         -> VkDeviceMemory -- ^ memory-                                           -> VkDeviceSize -- ^ memoryOffset-                                                           -> IO VkResult--##else-vkBindImageMemorySafe ::-                      VkDevice -- ^ device-                               ->-                        VkImage -- ^ image-                                -> VkDeviceMemory -- ^ memory-                                                  -> VkDeviceSize -- ^ memoryOffset-                                                                  -> IO VkResult-vkBindImageMemorySafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkBindImageMemory)--{-# NOINLINE vkBindImageMemorySafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkBindImageMemory--- >     ( VkDevice device--- >     , VkImage image--- >     , VkDeviceMemory memory--- >     , VkDeviceSize memoryOffset--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindImageMemory vkBindImageMemory registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myBindImageMemory <- vkGetDeviceProc @VkBindImageMemory vkDevice------ or less efficient:------ > myBindImageMemory <- vkGetProc @VkBindImageMemory------ __Note:__ @vkBindImageMemoryUnsafe@ and @vkBindImageMemorySafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkBindImageMemory@ is an alias---           of @vkBindImageMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkBindImageMemorySafe@.----vkBindImageMemory ::-                  VkDevice -- ^ device-                           ->-                    VkImage -- ^ image-                            -> VkDeviceMemory -- ^ memory-                                              -> VkDeviceSize -- ^ memoryOffset-                                                              -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkBindImageMemory = vkBindImageMemoryUnsafe-##else-vkBindImageMemory = vkBindImageMemorySafe--##endif-{-# INLINE vkBindImageMemory #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkBindImageMemory---   >     ( VkDevice device---   >     , VkImage image---   >     , VkDeviceMemory memory---   >     , VkDeviceSize memoryOffset---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindImageMemory vkBindImageMemory registry at www.khronos.org>-type HS_vkBindImageMemory =-     VkDevice -- ^ device-              ->-       VkImage -- ^ image-               -> VkDeviceMemory -- ^ memory-                                 -> VkDeviceSize -- ^ memoryOffset-                                                 -> IO VkResult--type PFN_vkBindImageMemory = FunPtr HS_vkBindImageMemory--foreign import ccall unsafe "dynamic" unwrapVkBindImageMemoryUnsafe-               :: PFN_vkBindImageMemory -> HS_vkBindImageMemory--foreign import ccall safe "dynamic" unwrapVkBindImageMemorySafe ::-               PFN_vkBindImageMemory -> HS_vkBindImageMemory--instance VulkanProc "vkBindImageMemory" where-        type VkProcType "vkBindImageMemory" = HS_vkBindImageMemory-        vkProcSymbol = _VkBindImageMemory--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkBindImageMemoryUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkBindImageMemorySafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetBufferMemoryRequirements :: CString--pattern VkGetBufferMemoryRequirements <--        (is_VkGetBufferMemoryRequirements -> True)-  where VkGetBufferMemoryRequirements-          = _VkGetBufferMemoryRequirements--{-# INLINE _VkGetBufferMemoryRequirements #-}--_VkGetBufferMemoryRequirements :: CString-_VkGetBufferMemoryRequirements-  = Ptr "vkGetBufferMemoryRequirements\NUL"##--{-# INLINE is_VkGetBufferMemoryRequirements #-}--is_VkGetBufferMemoryRequirements :: CString -> Bool-is_VkGetBufferMemoryRequirements-  = (EQ ==) . cmpCStrings _VkGetBufferMemoryRequirements--type VkGetBufferMemoryRequirements =-     "vkGetBufferMemoryRequirements"---- |--- > void vkGetBufferMemoryRequirements--- >     ( VkDevice device--- >     , VkBuffer buffer--- >     , VkMemoryRequirements* pMemoryRequirements--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetBufferMemoryRequirements <- vkGetDeviceProc @VkGetBufferMemoryRequirements vkDevice------ or less efficient:------ > myGetBufferMemoryRequirements <- vkGetProc @VkGetBufferMemoryRequirements------ __Note:__ @vkGetBufferMemoryRequirementsUnsafe@ and @vkGetBufferMemoryRequirementsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetBufferMemoryRequirements@ is an alias---           of @vkGetBufferMemoryRequirementsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetBufferMemoryRequirementsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetBufferMemoryRequirements"-               vkGetBufferMemoryRequirementsUnsafe ::-               VkDevice -- ^ device-                        -> VkBuffer -- ^ buffer-                                    -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements-                                                                -> IO ()--##else-vkGetBufferMemoryRequirementsUnsafe ::-                                    VkDevice -- ^ device-                                             -> VkBuffer -- ^ buffer-                                                         -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements-                                                                                     -> IO ()-vkGetBufferMemoryRequirementsUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetBufferMemoryRequirements)--{-# NOINLINE vkGetBufferMemoryRequirementsUnsafe #-}-##endif---- |--- > void vkGetBufferMemoryRequirements--- >     ( VkDevice device--- >     , VkBuffer buffer--- >     , VkMemoryRequirements* pMemoryRequirements--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetBufferMemoryRequirements <- vkGetDeviceProc @VkGetBufferMemoryRequirements vkDevice------ or less efficient:------ > myGetBufferMemoryRequirements <- vkGetProc @VkGetBufferMemoryRequirements------ __Note:__ @vkGetBufferMemoryRequirementsUnsafe@ and @vkGetBufferMemoryRequirementsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetBufferMemoryRequirements@ is an alias---           of @vkGetBufferMemoryRequirementsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetBufferMemoryRequirementsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkGetBufferMemoryRequirements"-               vkGetBufferMemoryRequirementsSafe ::-               VkDevice -- ^ device-                        -> VkBuffer -- ^ buffer-                                    -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements-                                                                -> IO ()--##else-vkGetBufferMemoryRequirementsSafe ::-                                  VkDevice -- ^ device-                                           -> VkBuffer -- ^ buffer-                                                       -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements-                                                                                   -> IO ()-vkGetBufferMemoryRequirementsSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetBufferMemoryRequirements)--{-# NOINLINE vkGetBufferMemoryRequirementsSafe #-}-##endif---- |--- > void vkGetBufferMemoryRequirements--- >     ( VkDevice device--- >     , VkBuffer buffer--- >     , VkMemoryRequirements* pMemoryRequirements--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetBufferMemoryRequirements <- vkGetDeviceProc @VkGetBufferMemoryRequirements vkDevice------ or less efficient:------ > myGetBufferMemoryRequirements <- vkGetProc @VkGetBufferMemoryRequirements------ __Note:__ @vkGetBufferMemoryRequirementsUnsafe@ and @vkGetBufferMemoryRequirementsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetBufferMemoryRequirements@ is an alias---           of @vkGetBufferMemoryRequirementsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetBufferMemoryRequirementsSafe@.----vkGetBufferMemoryRequirements ::-                              VkDevice -- ^ device-                                       -> VkBuffer -- ^ buffer-                                                   -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements-                                                                               -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkGetBufferMemoryRequirements = vkGetBufferMemoryRequirementsUnsafe-##else-vkGetBufferMemoryRequirements = vkGetBufferMemoryRequirementsSafe--##endif-{-# INLINE vkGetBufferMemoryRequirements #-}---- | > void vkGetBufferMemoryRequirements---   >     ( VkDevice device---   >     , VkBuffer buffer---   >     , VkMemoryRequirements* pMemoryRequirements---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements registry at www.khronos.org>-type HS_vkGetBufferMemoryRequirements =-     VkDevice -- ^ device-              -> VkBuffer -- ^ buffer-                          -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements-                                                      -> IO ()--type PFN_vkGetBufferMemoryRequirements =-     FunPtr HS_vkGetBufferMemoryRequirements--foreign import ccall unsafe "dynamic"-               unwrapVkGetBufferMemoryRequirementsUnsafe ::-               PFN_vkGetBufferMemoryRequirements ->-                 HS_vkGetBufferMemoryRequirements--foreign import ccall safe "dynamic"-               unwrapVkGetBufferMemoryRequirementsSafe ::-               PFN_vkGetBufferMemoryRequirements ->-                 HS_vkGetBufferMemoryRequirements--instance VulkanProc "vkGetBufferMemoryRequirements" where-        type VkProcType "vkGetBufferMemoryRequirements" =-             HS_vkGetBufferMemoryRequirements-        vkProcSymbol = _VkGetBufferMemoryRequirements--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetBufferMemoryRequirementsUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetBufferMemoryRequirementsSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetImageMemoryRequirements :: CString--pattern VkGetImageMemoryRequirements <--        (is_VkGetImageMemoryRequirements -> True)-  where VkGetImageMemoryRequirements = _VkGetImageMemoryRequirements--{-# INLINE _VkGetImageMemoryRequirements #-}--_VkGetImageMemoryRequirements :: CString-_VkGetImageMemoryRequirements-  = Ptr "vkGetImageMemoryRequirements\NUL"##--{-# INLINE is_VkGetImageMemoryRequirements #-}--is_VkGetImageMemoryRequirements :: CString -> Bool-is_VkGetImageMemoryRequirements-  = (EQ ==) . cmpCStrings _VkGetImageMemoryRequirements--type VkGetImageMemoryRequirements = "vkGetImageMemoryRequirements"---- |--- > void vkGetImageMemoryRequirements--- >     ( VkDevice device--- >     , VkImage image--- >     , VkMemoryRequirements* pMemoryRequirements--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageMemoryRequirements vkGetImageMemoryRequirements registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetImageMemoryRequirements <- vkGetDeviceProc @VkGetImageMemoryRequirements vkDevice------ or less efficient:------ > myGetImageMemoryRequirements <- vkGetProc @VkGetImageMemoryRequirements------ __Note:__ @vkGetImageMemoryRequirementsUnsafe@ and @vkGetImageMemoryRequirementsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetImageMemoryRequirements@ is an alias---           of @vkGetImageMemoryRequirementsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetImageMemoryRequirementsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetImageMemoryRequirements"-               vkGetImageMemoryRequirementsUnsafe ::-               VkDevice -- ^ device-                        -> VkImage -- ^ image-                                   -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements-                                                               -> IO ()--##else-vkGetImageMemoryRequirementsUnsafe ::-                                   VkDevice -- ^ device-                                            -> VkImage -- ^ image-                                                       -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements-                                                                                   -> IO ()-vkGetImageMemoryRequirementsUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetImageMemoryRequirements)--{-# NOINLINE vkGetImageMemoryRequirementsUnsafe #-}-##endif---- |--- > void vkGetImageMemoryRequirements--- >     ( VkDevice device--- >     , VkImage image--- >     , VkMemoryRequirements* pMemoryRequirements--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageMemoryRequirements vkGetImageMemoryRequirements registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetImageMemoryRequirements <- vkGetDeviceProc @VkGetImageMemoryRequirements vkDevice------ or less efficient:------ > myGetImageMemoryRequirements <- vkGetProc @VkGetImageMemoryRequirements------ __Note:__ @vkGetImageMemoryRequirementsUnsafe@ and @vkGetImageMemoryRequirementsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetImageMemoryRequirements@ is an alias---           of @vkGetImageMemoryRequirementsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetImageMemoryRequirementsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkGetImageMemoryRequirements"-               vkGetImageMemoryRequirementsSafe ::-               VkDevice -- ^ device-                        -> VkImage -- ^ image-                                   -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements-                                                               -> IO ()--##else-vkGetImageMemoryRequirementsSafe ::-                                 VkDevice -- ^ device-                                          -> VkImage -- ^ image-                                                     -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements-                                                                                 -> IO ()-vkGetImageMemoryRequirementsSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetImageMemoryRequirements)--{-# NOINLINE vkGetImageMemoryRequirementsSafe #-}-##endif---- |--- > void vkGetImageMemoryRequirements--- >     ( VkDevice device--- >     , VkImage image--- >     , VkMemoryRequirements* pMemoryRequirements--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageMemoryRequirements vkGetImageMemoryRequirements registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetImageMemoryRequirements <- vkGetDeviceProc @VkGetImageMemoryRequirements vkDevice------ or less efficient:------ > myGetImageMemoryRequirements <- vkGetProc @VkGetImageMemoryRequirements------ __Note:__ @vkGetImageMemoryRequirementsUnsafe@ and @vkGetImageMemoryRequirementsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetImageMemoryRequirements@ is an alias---           of @vkGetImageMemoryRequirementsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetImageMemoryRequirementsSafe@.----vkGetImageMemoryRequirements ::-                             VkDevice -- ^ device-                                      -> VkImage -- ^ image-                                                 -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements-                                                                             -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkGetImageMemoryRequirements = vkGetImageMemoryRequirementsUnsafe-##else-vkGetImageMemoryRequirements = vkGetImageMemoryRequirementsSafe--##endif-{-# INLINE vkGetImageMemoryRequirements #-}---- | > void vkGetImageMemoryRequirements---   >     ( VkDevice device---   >     , VkImage image---   >     , VkMemoryRequirements* pMemoryRequirements---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageMemoryRequirements vkGetImageMemoryRequirements registry at www.khronos.org>-type HS_vkGetImageMemoryRequirements =-     VkDevice -- ^ device-              -> VkImage -- ^ image-                         -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements-                                                     -> IO ()--type PFN_vkGetImageMemoryRequirements =-     FunPtr HS_vkGetImageMemoryRequirements--foreign import ccall unsafe "dynamic"-               unwrapVkGetImageMemoryRequirementsUnsafe ::-               PFN_vkGetImageMemoryRequirements -> HS_vkGetImageMemoryRequirements--foreign import ccall safe "dynamic"-               unwrapVkGetImageMemoryRequirementsSafe ::-               PFN_vkGetImageMemoryRequirements -> HS_vkGetImageMemoryRequirements--instance VulkanProc "vkGetImageMemoryRequirements" where-        type VkProcType "vkGetImageMemoryRequirements" =-             HS_vkGetImageMemoryRequirements-        vkProcSymbol = _VkGetImageMemoryRequirements--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetImageMemoryRequirementsUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetImageMemoryRequirementsSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetImageSparseMemoryRequirements :: CString--pattern VkGetImageSparseMemoryRequirements <--        (is_VkGetImageSparseMemoryRequirements -> True)-  where VkGetImageSparseMemoryRequirements-          = _VkGetImageSparseMemoryRequirements--{-# INLINE _VkGetImageSparseMemoryRequirements #-}--_VkGetImageSparseMemoryRequirements :: CString-_VkGetImageSparseMemoryRequirements-  = Ptr "vkGetImageSparseMemoryRequirements\NUL"##--{-# INLINE is_VkGetImageSparseMemoryRequirements #-}--is_VkGetImageSparseMemoryRequirements :: CString -> Bool-is_VkGetImageSparseMemoryRequirements-  = (EQ ==) . cmpCStrings _VkGetImageSparseMemoryRequirements--type VkGetImageSparseMemoryRequirements =-     "vkGetImageSparseMemoryRequirements"---- |--- > void vkGetImageSparseMemoryRequirements--- >     ( VkDevice device--- >     , VkImage image--- >     , uint32_t* pSparseMemoryRequirementCount--- >     , VkSparseImageMemoryRequirements* pSparseMemoryRequirements--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetImageSparseMemoryRequirements <- vkGetDeviceProc @VkGetImageSparseMemoryRequirements vkDevice------ or less efficient:------ > myGetImageSparseMemoryRequirements <- vkGetProc @VkGetImageSparseMemoryRequirements------ __Note:__ @vkGetImageSparseMemoryRequirementsUnsafe@ and @vkGetImageSparseMemoryRequirementsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetImageSparseMemoryRequirements@ is an alias---           of @vkGetImageSparseMemoryRequirementsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetImageSparseMemoryRequirementsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetImageSparseMemoryRequirements"-               vkGetImageSparseMemoryRequirementsUnsafe ::-               VkDevice -- ^ device-                        ->-                 VkImage -- ^ image-                         ->-                   Ptr Word32 -- ^ pSparseMemoryRequirementCount-                              -> Ptr VkSparseImageMemoryRequirements -- ^ pSparseMemoryRequirements-                                                                     -> IO ()--##else-vkGetImageSparseMemoryRequirementsUnsafe ::-                                         VkDevice -- ^ device-                                                  ->-                                           VkImage -- ^ image-                                                   ->-                                             Ptr Word32 -- ^ pSparseMemoryRequirementCount-                                                        ->-                                               Ptr VkSparseImageMemoryRequirements -- ^ pSparseMemoryRequirements-                                                                                   -> IO ()-vkGetImageSparseMemoryRequirementsUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetImageSparseMemoryRequirements)--{-# NOINLINE vkGetImageSparseMemoryRequirementsUnsafe #-}-##endif---- |--- > void vkGetImageSparseMemoryRequirements--- >     ( VkDevice device--- >     , VkImage image--- >     , uint32_t* pSparseMemoryRequirementCount--- >     , VkSparseImageMemoryRequirements* pSparseMemoryRequirements--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetImageSparseMemoryRequirements <- vkGetDeviceProc @VkGetImageSparseMemoryRequirements vkDevice------ or less efficient:------ > myGetImageSparseMemoryRequirements <- vkGetProc @VkGetImageSparseMemoryRequirements------ __Note:__ @vkGetImageSparseMemoryRequirementsUnsafe@ and @vkGetImageSparseMemoryRequirementsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetImageSparseMemoryRequirements@ is an alias---           of @vkGetImageSparseMemoryRequirementsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetImageSparseMemoryRequirementsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkGetImageSparseMemoryRequirements"-               vkGetImageSparseMemoryRequirementsSafe ::-               VkDevice -- ^ device-                        ->-                 VkImage -- ^ image-                         ->-                   Ptr Word32 -- ^ pSparseMemoryRequirementCount-                              -> Ptr VkSparseImageMemoryRequirements -- ^ pSparseMemoryRequirements-                                                                     -> IO ()--##else-vkGetImageSparseMemoryRequirementsSafe ::-                                       VkDevice -- ^ device-                                                ->-                                         VkImage -- ^ image-                                                 ->-                                           Ptr Word32 -- ^ pSparseMemoryRequirementCount-                                                      ->-                                             Ptr VkSparseImageMemoryRequirements -- ^ pSparseMemoryRequirements-                                                                                 -> IO ()-vkGetImageSparseMemoryRequirementsSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetImageSparseMemoryRequirements)--{-# NOINLINE vkGetImageSparseMemoryRequirementsSafe #-}-##endif---- |--- > void vkGetImageSparseMemoryRequirements--- >     ( VkDevice device--- >     , VkImage image--- >     , uint32_t* pSparseMemoryRequirementCount--- >     , VkSparseImageMemoryRequirements* pSparseMemoryRequirements--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetImageSparseMemoryRequirements <- vkGetDeviceProc @VkGetImageSparseMemoryRequirements vkDevice------ or less efficient:------ > myGetImageSparseMemoryRequirements <- vkGetProc @VkGetImageSparseMemoryRequirements------ __Note:__ @vkGetImageSparseMemoryRequirementsUnsafe@ and @vkGetImageSparseMemoryRequirementsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetImageSparseMemoryRequirements@ is an alias---           of @vkGetImageSparseMemoryRequirementsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetImageSparseMemoryRequirementsSafe@.----vkGetImageSparseMemoryRequirements ::-                                   VkDevice -- ^ device-                                            ->-                                     VkImage -- ^ image-                                             ->-                                       Ptr Word32 -- ^ pSparseMemoryRequirementCount-                                                  -> Ptr VkSparseImageMemoryRequirements -- ^ pSparseMemoryRequirements-                                                                                         -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkGetImageSparseMemoryRequirements-  = vkGetImageSparseMemoryRequirementsUnsafe-##else-vkGetImageSparseMemoryRequirements-  = vkGetImageSparseMemoryRequirementsSafe--##endif-{-# INLINE vkGetImageSparseMemoryRequirements #-}---- | > void vkGetImageSparseMemoryRequirements---   >     ( VkDevice device---   >     , VkImage image---   >     , uint32_t* pSparseMemoryRequirementCount---   >     , VkSparseImageMemoryRequirements* pSparseMemoryRequirements---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements registry at www.khronos.org>-type HS_vkGetImageSparseMemoryRequirements =-     VkDevice -- ^ device-              ->-       VkImage -- ^ image-               ->-         Ptr Word32 -- ^ pSparseMemoryRequirementCount-                    -> Ptr VkSparseImageMemoryRequirements -- ^ pSparseMemoryRequirements-                                                           -> IO ()--type PFN_vkGetImageSparseMemoryRequirements =-     FunPtr HS_vkGetImageSparseMemoryRequirements--foreign import ccall unsafe "dynamic"-               unwrapVkGetImageSparseMemoryRequirementsUnsafe ::-               PFN_vkGetImageSparseMemoryRequirements ->-                 HS_vkGetImageSparseMemoryRequirements--foreign import ccall safe "dynamic"-               unwrapVkGetImageSparseMemoryRequirementsSafe ::-               PFN_vkGetImageSparseMemoryRequirements ->-                 HS_vkGetImageSparseMemoryRequirements--instance VulkanProc "vkGetImageSparseMemoryRequirements" where-        type VkProcType "vkGetImageSparseMemoryRequirements" =-             HS_vkGetImageSparseMemoryRequirements-        vkProcSymbol = _VkGetImageSparseMemoryRequirements--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetImageSparseMemoryRequirementsUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetImageSparseMemoryRequirementsSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetPhysicalDeviceSparseImageFormatProperties :: CString--pattern VkGetPhysicalDeviceSparseImageFormatProperties <--        (is_VkGetPhysicalDeviceSparseImageFormatProperties -> True)-  where VkGetPhysicalDeviceSparseImageFormatProperties-          = _VkGetPhysicalDeviceSparseImageFormatProperties--{-# INLINE _VkGetPhysicalDeviceSparseImageFormatProperties #-}--_VkGetPhysicalDeviceSparseImageFormatProperties :: CString-_VkGetPhysicalDeviceSparseImageFormatProperties-  = Ptr "vkGetPhysicalDeviceSparseImageFormatProperties\NUL"##--{-# INLINE is_VkGetPhysicalDeviceSparseImageFormatProperties #-}--is_VkGetPhysicalDeviceSparseImageFormatProperties ::-                                                  CString -> Bool-is_VkGetPhysicalDeviceSparseImageFormatProperties-  = (EQ ==) .-      cmpCStrings _VkGetPhysicalDeviceSparseImageFormatProperties--type VkGetPhysicalDeviceSparseImageFormatProperties =-     "vkGetPhysicalDeviceSparseImageFormatProperties"---- |--- > void vkGetPhysicalDeviceSparseImageFormatProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , VkFormat format--- >     , VkImageType type--- >     , VkSampleCountFlagBits samples--- >     , VkImageUsageFlags usage--- >     , VkImageTiling tiling--- >     , uint32_t* pPropertyCount--- >     , VkSparseImageFormatProperties* pProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceSparseImageFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceSparseImageFormatProperties vkInstance------ or less efficient:------ > myGetPhysicalDeviceSparseImageFormatProperties <- vkGetProc @VkGetPhysicalDeviceSparseImageFormatProperties------ __Note:__ @vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe@ and @vkGetPhysicalDeviceSparseImageFormatPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceSparseImageFormatProperties@ is an alias---           of @vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceSparseImageFormatPropertiesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe-               "vkGetPhysicalDeviceSparseImageFormatProperties"-               vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 VkFormat -- ^ format-                          ->-                   VkImageType -- ^ type-                               ->-                     VkSampleCountFlagBits -- ^ samples-                                           ->-                       VkImageUsageFlags -- ^ usage-                                         ->-                         VkImageTiling -- ^ tiling-                                       ->-                           Ptr Word32 -- ^ pPropertyCount-                                      -> Ptr VkSparseImageFormatProperties -- ^ pProperties-                                                                           -> IO ()--##else-vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe ::-                                                     VkPhysicalDevice -- ^ physicalDevice-                                                                      ->-                                                       VkFormat -- ^ format-                                                                ->-                                                         VkImageType -- ^ type-                                                                     ->-                                                           VkSampleCountFlagBits -- ^ samples-                                                                                 ->-                                                             VkImageUsageFlags -- ^ usage-                                                                               ->-                                                               VkImageTiling -- ^ tiling-                                                                             ->-                                                                 Ptr Word32 -- ^ pPropertyCount-                                                                            ->-                                                                   Ptr VkSparseImageFormatProperties -- ^ pProperties-                                                                     -> IO ()-vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetPhysicalDeviceSparseImageFormatProperties)--{-# NOINLINE vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe-             #-}-##endif---- |--- > void vkGetPhysicalDeviceSparseImageFormatProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , VkFormat format--- >     , VkImageType type--- >     , VkSampleCountFlagBits samples--- >     , VkImageUsageFlags usage--- >     , VkImageTiling tiling--- >     , uint32_t* pPropertyCount--- >     , VkSparseImageFormatProperties* pProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceSparseImageFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceSparseImageFormatProperties vkInstance------ or less efficient:------ > myGetPhysicalDeviceSparseImageFormatProperties <- vkGetProc @VkGetPhysicalDeviceSparseImageFormatProperties------ __Note:__ @vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe@ and @vkGetPhysicalDeviceSparseImageFormatPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceSparseImageFormatProperties@ is an alias---           of @vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceSparseImageFormatPropertiesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe-               "vkGetPhysicalDeviceSparseImageFormatProperties"-               vkGetPhysicalDeviceSparseImageFormatPropertiesSafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 VkFormat -- ^ format-                          ->-                   VkImageType -- ^ type-                               ->-                     VkSampleCountFlagBits -- ^ samples-                                           ->-                       VkImageUsageFlags -- ^ usage-                                         ->-                         VkImageTiling -- ^ tiling-                                       ->-                           Ptr Word32 -- ^ pPropertyCount-                                      -> Ptr VkSparseImageFormatProperties -- ^ pProperties-                                                                           -> IO ()--##else-vkGetPhysicalDeviceSparseImageFormatPropertiesSafe ::-                                                   VkPhysicalDevice -- ^ physicalDevice-                                                                    ->-                                                     VkFormat -- ^ format-                                                              ->-                                                       VkImageType -- ^ type-                                                                   ->-                                                         VkSampleCountFlagBits -- ^ samples-                                                                               ->-                                                           VkImageUsageFlags -- ^ usage-                                                                             ->-                                                             VkImageTiling -- ^ tiling-                                                                           ->-                                                               Ptr Word32 -- ^ pPropertyCount-                                                                          ->-                                                                 Ptr VkSparseImageFormatProperties -- ^ pProperties-                                                                   -> IO ()-vkGetPhysicalDeviceSparseImageFormatPropertiesSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetPhysicalDeviceSparseImageFormatProperties)--{-# NOINLINE vkGetPhysicalDeviceSparseImageFormatPropertiesSafe #-}-##endif---- |--- > void vkGetPhysicalDeviceSparseImageFormatProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , VkFormat format--- >     , VkImageType type--- >     , VkSampleCountFlagBits samples--- >     , VkImageUsageFlags usage--- >     , VkImageTiling tiling--- >     , uint32_t* pPropertyCount--- >     , VkSparseImageFormatProperties* pProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceSparseImageFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceSparseImageFormatProperties vkInstance------ or less efficient:------ > myGetPhysicalDeviceSparseImageFormatProperties <- vkGetProc @VkGetPhysicalDeviceSparseImageFormatProperties------ __Note:__ @vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe@ and @vkGetPhysicalDeviceSparseImageFormatPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceSparseImageFormatProperties@ is an alias---           of @vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceSparseImageFormatPropertiesSafe@.----vkGetPhysicalDeviceSparseImageFormatProperties ::-                                               VkPhysicalDevice -- ^ physicalDevice-                                                                ->-                                                 VkFormat -- ^ format-                                                          ->-                                                   VkImageType -- ^ type-                                                               ->-                                                     VkSampleCountFlagBits -- ^ samples-                                                                           ->-                                                       VkImageUsageFlags -- ^ usage-                                                                         ->-                                                         VkImageTiling -- ^ tiling-                                                                       ->-                                                           Ptr Word32 -- ^ pPropertyCount-                                                                      ->-                                                             Ptr VkSparseImageFormatProperties -- ^ pProperties-                                                                                               ->-                                                               IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkGetPhysicalDeviceSparseImageFormatProperties-  = vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe-##else-vkGetPhysicalDeviceSparseImageFormatProperties-  = vkGetPhysicalDeviceSparseImageFormatPropertiesSafe--##endif-{-# INLINE vkGetPhysicalDeviceSparseImageFormatProperties #-}---- | > void vkGetPhysicalDeviceSparseImageFormatProperties---   >     ( VkPhysicalDevice physicalDevice---   >     , VkFormat format---   >     , VkImageType type---   >     , VkSampleCountFlagBits samples---   >     , VkImageUsageFlags usage---   >     , VkImageTiling tiling---   >     , uint32_t* pPropertyCount---   >     , VkSparseImageFormatProperties* pProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties registry at www.khronos.org>-type HS_vkGetPhysicalDeviceSparseImageFormatProperties =-     VkPhysicalDevice -- ^ physicalDevice-                      ->-       VkFormat -- ^ format-                ->-         VkImageType -- ^ type-                     ->-           VkSampleCountFlagBits -- ^ samples-                                 ->-             VkImageUsageFlags -- ^ usage-                               ->-               VkImageTiling -- ^ tiling-                             ->-                 Ptr Word32 -- ^ pPropertyCount-                            -> Ptr VkSparseImageFormatProperties -- ^ pProperties-                                                                 -> IO ()--type PFN_vkGetPhysicalDeviceSparseImageFormatProperties =-     FunPtr HS_vkGetPhysicalDeviceSparseImageFormatProperties--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe ::-               PFN_vkGetPhysicalDeviceSparseImageFormatProperties ->-                 HS_vkGetPhysicalDeviceSparseImageFormatProperties--foreign import ccall safe "dynamic"-               unwrapVkGetPhysicalDeviceSparseImageFormatPropertiesSafe ::-               PFN_vkGetPhysicalDeviceSparseImageFormatProperties ->-                 HS_vkGetPhysicalDeviceSparseImageFormatProperties--instance VulkanProc-           "vkGetPhysicalDeviceSparseImageFormatProperties"-         where-        type VkProcType "vkGetPhysicalDeviceSparseImageFormatProperties" =-             HS_vkGetPhysicalDeviceSparseImageFormatProperties-        vkProcSymbol = _VkGetPhysicalDeviceSparseImageFormatProperties--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceSparseImageFormatPropertiesSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkQueueBindSparse :: CString--pattern VkQueueBindSparse <- (is_VkQueueBindSparse -> True)-  where VkQueueBindSparse = _VkQueueBindSparse--{-# INLINE _VkQueueBindSparse #-}--_VkQueueBindSparse :: CString-_VkQueueBindSparse = Ptr "vkQueueBindSparse\NUL"##--{-# INLINE is_VkQueueBindSparse #-}--is_VkQueueBindSparse :: CString -> Bool-is_VkQueueBindSparse = (EQ ==) . cmpCStrings _VkQueueBindSparse--type VkQueueBindSparse = "vkQueueBindSparse"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ Queues: 'sparse_binding'.------ > VkResult vkQueueBindSparse--- >     ( VkQueue queue--- >     , uint32_t bindInfoCount--- >     , const VkBindSparseInfo* pBindInfo--- >     , VkFence fence--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueBindSparse vkQueueBindSparse registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myQueueBindSparse <- vkGetInstanceProc @VkQueueBindSparse vkInstance------ or less efficient:------ > myQueueBindSparse <- vkGetProc @VkQueueBindSparse------ __Note:__ @vkQueueBindSparseUnsafe@ and @vkQueueBindSparseSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkQueueBindSparse@ is an alias---           of @vkQueueBindSparseUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkQueueBindSparseSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkQueueBindSparse"-               vkQueueBindSparseUnsafe ::-               VkQueue -- ^ queue-                       -> Word32 -- ^ bindInfoCount-                                 -> Ptr VkBindSparseInfo -- ^ pBindInfo-                                                         -> VkFence -- ^ fence-                                                                    -> IO VkResult--##else-vkQueueBindSparseUnsafe ::-                        VkQueue -- ^ queue-                                -> Word32 -- ^ bindInfoCount-                                          -> Ptr VkBindSparseInfo -- ^ pBindInfo-                                                                  -> VkFence -- ^ fence-                                                                             -> IO VkResult-vkQueueBindSparseUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkQueueBindSparse)--{-# NOINLINE vkQueueBindSparseUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ Queues: 'sparse_binding'.------ > VkResult vkQueueBindSparse--- >     ( VkQueue queue--- >     , uint32_t bindInfoCount--- >     , const VkBindSparseInfo* pBindInfo--- >     , VkFence fence--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueBindSparse vkQueueBindSparse registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myQueueBindSparse <- vkGetInstanceProc @VkQueueBindSparse vkInstance------ or less efficient:------ > myQueueBindSparse <- vkGetProc @VkQueueBindSparse------ __Note:__ @vkQueueBindSparseUnsafe@ and @vkQueueBindSparseSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkQueueBindSparse@ is an alias---           of @vkQueueBindSparseUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkQueueBindSparseSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkQueueBindSparse" vkQueueBindSparseSafe-               ::-               VkQueue -- ^ queue-                       -> Word32 -- ^ bindInfoCount-                                 -> Ptr VkBindSparseInfo -- ^ pBindInfo-                                                         -> VkFence -- ^ fence-                                                                    -> IO VkResult--##else-vkQueueBindSparseSafe ::-                      VkQueue -- ^ queue-                              -> Word32 -- ^ bindInfoCount-                                        -> Ptr VkBindSparseInfo -- ^ pBindInfo-                                                                -> VkFence -- ^ fence-                                                                           -> IO VkResult-vkQueueBindSparseSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkQueueBindSparse)--{-# NOINLINE vkQueueBindSparseSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ Queues: 'sparse_binding'.------ > VkResult vkQueueBindSparse--- >     ( VkQueue queue--- >     , uint32_t bindInfoCount--- >     , const VkBindSparseInfo* pBindInfo--- >     , VkFence fence--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueBindSparse vkQueueBindSparse registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myQueueBindSparse <- vkGetInstanceProc @VkQueueBindSparse vkInstance------ or less efficient:------ > myQueueBindSparse <- vkGetProc @VkQueueBindSparse------ __Note:__ @vkQueueBindSparseUnsafe@ and @vkQueueBindSparseSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkQueueBindSparse@ is an alias---           of @vkQueueBindSparseUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkQueueBindSparseSafe@.----vkQueueBindSparse ::-                  VkQueue -- ^ queue-                          -> Word32 -- ^ bindInfoCount-                                    -> Ptr VkBindSparseInfo -- ^ pBindInfo-                                                            -> VkFence -- ^ fence-                                                                       -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkQueueBindSparse = vkQueueBindSparseUnsafe-##else-vkQueueBindSparse = vkQueueBindSparseSafe--##endif-{-# INLINE vkQueueBindSparse #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------   Queues: 'sparse_binding'.------   > VkResult vkQueueBindSparse---   >     ( VkQueue queue---   >     , uint32_t bindInfoCount---   >     , const VkBindSparseInfo* pBindInfo---   >     , VkFence fence---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueBindSparse vkQueueBindSparse registry at www.khronos.org>-type HS_vkQueueBindSparse =-     VkQueue -- ^ queue-             -> Word32 -- ^ bindInfoCount-                       -> Ptr VkBindSparseInfo -- ^ pBindInfo-                                               -> VkFence -- ^ fence-                                                          -> IO VkResult--type PFN_vkQueueBindSparse = FunPtr HS_vkQueueBindSparse--foreign import ccall unsafe "dynamic" unwrapVkQueueBindSparseUnsafe-               :: PFN_vkQueueBindSparse -> HS_vkQueueBindSparse--foreign import ccall safe "dynamic" unwrapVkQueueBindSparseSafe ::-               PFN_vkQueueBindSparse -> HS_vkQueueBindSparse--instance VulkanProc "vkQueueBindSparse" where-        type VkProcType "vkQueueBindSparse" = HS_vkQueueBindSparse-        vkProcSymbol = _VkQueueBindSparse--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkQueueBindSparseUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkQueueBindSparseSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCreateFence :: CString--pattern VkCreateFence <- (is_VkCreateFence -> True)-  where VkCreateFence = _VkCreateFence--{-# INLINE _VkCreateFence #-}--_VkCreateFence :: CString-_VkCreateFence = Ptr "vkCreateFence\NUL"##--{-# INLINE is_VkCreateFence #-}--is_VkCreateFence :: CString -> Bool-is_VkCreateFence = (EQ ==) . cmpCStrings _VkCreateFence--type VkCreateFence = "vkCreateFence"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateFence--- >     ( VkDevice device--- >     , const VkFenceCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkFence* pFence--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateFence vkCreateFence registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateFence <- vkGetDeviceProc @VkCreateFence vkDevice------ or less efficient:------ > myCreateFence <- vkGetProc @VkCreateFence------ __Note:__ @vkCreateFenceUnsafe@ and @vkCreateFenceSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateFence@ is an alias---           of @vkCreateFenceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateFenceSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateFence" vkCreateFenceUnsafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkFenceCreateInfo -- ^ pCreateInfo-                                       ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkFence -- ^ pFence-                                                            -> IO VkResult--##else-vkCreateFenceUnsafe ::-                    VkDevice -- ^ device-                             ->-                      Ptr VkFenceCreateInfo -- ^ pCreateInfo-                                            ->-                        Ptr VkAllocationCallbacks -- ^ pAllocator-                                                  -> Ptr VkFence -- ^ pFence-                                                                 -> IO VkResult-vkCreateFenceUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateFence)--{-# NOINLINE vkCreateFenceUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateFence--- >     ( VkDevice device--- >     , const VkFenceCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkFence* pFence--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateFence vkCreateFence registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateFence <- vkGetDeviceProc @VkCreateFence vkDevice------ or less efficient:------ > myCreateFence <- vkGetProc @VkCreateFence------ __Note:__ @vkCreateFenceUnsafe@ and @vkCreateFenceSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateFence@ is an alias---           of @vkCreateFenceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateFenceSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCreateFence" vkCreateFenceSafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkFenceCreateInfo -- ^ pCreateInfo-                                       ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkFence -- ^ pFence-                                                            -> IO VkResult--##else-vkCreateFenceSafe ::-                  VkDevice -- ^ device-                           ->-                    Ptr VkFenceCreateInfo -- ^ pCreateInfo-                                          ->-                      Ptr VkAllocationCallbacks -- ^ pAllocator-                                                -> Ptr VkFence -- ^ pFence-                                                               -> IO VkResult-vkCreateFenceSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateFence)--{-# NOINLINE vkCreateFenceSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateFence--- >     ( VkDevice device--- >     , const VkFenceCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkFence* pFence--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateFence vkCreateFence registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateFence <- vkGetDeviceProc @VkCreateFence vkDevice------ or less efficient:------ > myCreateFence <- vkGetProc @VkCreateFence------ __Note:__ @vkCreateFenceUnsafe@ and @vkCreateFenceSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateFence@ is an alias---           of @vkCreateFenceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateFenceSafe@.----vkCreateFence ::-              VkDevice -- ^ device-                       ->-                Ptr VkFenceCreateInfo -- ^ pCreateInfo-                                      ->-                  Ptr VkAllocationCallbacks -- ^ pAllocator-                                            -> Ptr VkFence -- ^ pFence-                                                           -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkCreateFence = vkCreateFenceUnsafe-##else-vkCreateFence = vkCreateFenceSafe--##endif-{-# INLINE vkCreateFence #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreateFence---   >     ( VkDevice device---   >     , const VkFenceCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkFence* pFence---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateFence vkCreateFence registry at www.khronos.org>-type HS_vkCreateFence =-     VkDevice -- ^ device-              ->-       Ptr VkFenceCreateInfo -- ^ pCreateInfo-                             ->-         Ptr VkAllocationCallbacks -- ^ pAllocator-                                   -> Ptr VkFence -- ^ pFence-                                                  -> IO VkResult--type PFN_vkCreateFence = FunPtr HS_vkCreateFence--foreign import ccall unsafe "dynamic" unwrapVkCreateFenceUnsafe ::-               PFN_vkCreateFence -> HS_vkCreateFence--foreign import ccall safe "dynamic" unwrapVkCreateFenceSafe ::-               PFN_vkCreateFence -> HS_vkCreateFence--instance VulkanProc "vkCreateFence" where-        type VkProcType "vkCreateFence" = HS_vkCreateFence-        vkProcSymbol = _VkCreateFence--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateFenceUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateFenceSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkDestroyFence :: CString--pattern VkDestroyFence <- (is_VkDestroyFence -> True)-  where VkDestroyFence = _VkDestroyFence--{-# INLINE _VkDestroyFence #-}--_VkDestroyFence :: CString-_VkDestroyFence = Ptr "vkDestroyFence\NUL"##--{-# INLINE is_VkDestroyFence #-}--is_VkDestroyFence :: CString -> Bool-is_VkDestroyFence = (EQ ==) . cmpCStrings _VkDestroyFence--type VkDestroyFence = "vkDestroyFence"---- |--- > void vkDestroyFence--- >     ( VkDevice device--- >     , VkFence fence--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyFence vkDestroyFence registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyFence <- vkGetDeviceProc @VkDestroyFence vkDevice------ or less efficient:------ > myDestroyFence <- vkGetProc @VkDestroyFence------ __Note:__ @vkDestroyFenceUnsafe@ and @vkDestroyFenceSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyFence@ is an alias---           of @vkDestroyFenceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyFenceSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyFence" vkDestroyFenceUnsafe-               :: VkDevice -- ^ device-                           -> VkFence -- ^ fence-                                      -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                   -> IO ()--##else-vkDestroyFenceUnsafe ::-                     VkDevice -- ^ device-                              -> VkFence -- ^ fence-                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                      -> IO ()-vkDestroyFenceUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyFence)--{-# NOINLINE vkDestroyFenceUnsafe #-}-##endif---- |--- > void vkDestroyFence--- >     ( VkDevice device--- >     , VkFence fence--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyFence vkDestroyFence registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyFence <- vkGetDeviceProc @VkDestroyFence vkDevice------ or less efficient:------ > myDestroyFence <- vkGetProc @VkDestroyFence------ __Note:__ @vkDestroyFenceUnsafe@ and @vkDestroyFenceSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyFence@ is an alias---           of @vkDestroyFenceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyFenceSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkDestroyFence" vkDestroyFenceSafe ::-               VkDevice -- ^ device-                        -> VkFence -- ^ fence-                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                -> IO ()--##else-vkDestroyFenceSafe ::-                   VkDevice -- ^ device-                            -> VkFence -- ^ fence-                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                    -> IO ()-vkDestroyFenceSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyFence)--{-# NOINLINE vkDestroyFenceSafe #-}-##endif---- |--- > void vkDestroyFence--- >     ( VkDevice device--- >     , VkFence fence--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyFence vkDestroyFence registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyFence <- vkGetDeviceProc @VkDestroyFence vkDevice------ or less efficient:------ > myDestroyFence <- vkGetProc @VkDestroyFence------ __Note:__ @vkDestroyFenceUnsafe@ and @vkDestroyFenceSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyFence@ is an alias---           of @vkDestroyFenceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyFenceSafe@.----vkDestroyFence ::-               VkDevice -- ^ device-                        -> VkFence -- ^ fence-                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkDestroyFence = vkDestroyFenceUnsafe-##else-vkDestroyFence = vkDestroyFenceSafe--##endif-{-# INLINE vkDestroyFence #-}---- | > void vkDestroyFence---   >     ( VkDevice device---   >     , VkFence fence---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyFence vkDestroyFence registry at www.khronos.org>-type HS_vkDestroyFence =-     VkDevice -- ^ device-              -> VkFence -- ^ fence-                         -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                      -> IO ()--type PFN_vkDestroyFence = FunPtr HS_vkDestroyFence--foreign import ccall unsafe "dynamic" unwrapVkDestroyFenceUnsafe ::-               PFN_vkDestroyFence -> HS_vkDestroyFence--foreign import ccall safe "dynamic" unwrapVkDestroyFenceSafe ::-               PFN_vkDestroyFence -> HS_vkDestroyFence--instance VulkanProc "vkDestroyFence" where-        type VkProcType "vkDestroyFence" = HS_vkDestroyFence-        vkProcSymbol = _VkDestroyFence--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDestroyFenceUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroyFenceSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkResetFences :: CString--pattern VkResetFences <- (is_VkResetFences -> True)-  where VkResetFences = _VkResetFences--{-# INLINE _VkResetFences #-}--_VkResetFences :: CString-_VkResetFences = Ptr "vkResetFences\NUL"##--{-# INLINE is_VkResetFences #-}--is_VkResetFences :: CString -> Bool-is_VkResetFences = (EQ ==) . cmpCStrings _VkResetFences--type VkResetFences = "vkResetFences"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkResetFences--- >     ( VkDevice device--- >     , uint32_t fenceCount--- >     , const VkFence* pFences--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetFences vkResetFences registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myResetFences <- vkGetDeviceProc @VkResetFences vkDevice------ or less efficient:------ > myResetFences <- vkGetProc @VkResetFences------ __Note:__ @vkResetFencesUnsafe@ and @vkResetFencesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkResetFences@ is an alias---           of @vkResetFencesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkResetFencesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkResetFences" vkResetFencesUnsafe ::-               VkDevice -- ^ device-                        -> Word32 -- ^ fenceCount-                                  -> Ptr VkFence -- ^ pFences-                                                 -> IO VkResult--##else-vkResetFencesUnsafe ::-                    VkDevice -- ^ device-                             -> Word32 -- ^ fenceCount-                                       -> Ptr VkFence -- ^ pFences-                                                      -> IO VkResult-vkResetFencesUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkResetFences)--{-# NOINLINE vkResetFencesUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkResetFences--- >     ( VkDevice device--- >     , uint32_t fenceCount--- >     , const VkFence* pFences--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetFences vkResetFences registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myResetFences <- vkGetDeviceProc @VkResetFences vkDevice------ or less efficient:------ > myResetFences <- vkGetProc @VkResetFences------ __Note:__ @vkResetFencesUnsafe@ and @vkResetFencesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkResetFences@ is an alias---           of @vkResetFencesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkResetFencesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkResetFences" vkResetFencesSafe ::-               VkDevice -- ^ device-                        -> Word32 -- ^ fenceCount-                                  -> Ptr VkFence -- ^ pFences-                                                 -> IO VkResult--##else-vkResetFencesSafe ::-                  VkDevice -- ^ device-                           -> Word32 -- ^ fenceCount-                                     -> Ptr VkFence -- ^ pFences-                                                    -> IO VkResult-vkResetFencesSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkResetFences)--{-# NOINLINE vkResetFencesSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkResetFences--- >     ( VkDevice device--- >     , uint32_t fenceCount--- >     , const VkFence* pFences--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetFences vkResetFences registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myResetFences <- vkGetDeviceProc @VkResetFences vkDevice------ or less efficient:------ > myResetFences <- vkGetProc @VkResetFences------ __Note:__ @vkResetFencesUnsafe@ and @vkResetFencesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkResetFences@ is an alias---           of @vkResetFencesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkResetFencesSafe@.----vkResetFences :: VkDevice -- ^ device-                          -> Word32 -- ^ fenceCount-                                    -> Ptr VkFence -- ^ pFences-                                                   -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkResetFences = vkResetFencesUnsafe-##else-vkResetFences = vkResetFencesSafe--##endif-{-# INLINE vkResetFences #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkResetFences---   >     ( VkDevice device---   >     , uint32_t fenceCount---   >     , const VkFence* pFences---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetFences vkResetFences registry at www.khronos.org>-type HS_vkResetFences =-     VkDevice -- ^ device-              -> Word32 -- ^ fenceCount-                        -> Ptr VkFence -- ^ pFences-                                       -> IO VkResult--type PFN_vkResetFences = FunPtr HS_vkResetFences--foreign import ccall unsafe "dynamic" unwrapVkResetFencesUnsafe ::-               PFN_vkResetFences -> HS_vkResetFences--foreign import ccall safe "dynamic" unwrapVkResetFencesSafe ::-               PFN_vkResetFences -> HS_vkResetFences--instance VulkanProc "vkResetFences" where-        type VkProcType "vkResetFences" = HS_vkResetFences-        vkProcSymbol = _VkResetFences--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkResetFencesUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkResetFencesSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetFenceStatus :: CString--pattern VkGetFenceStatus <- (is_VkGetFenceStatus -> True)-  where VkGetFenceStatus = _VkGetFenceStatus--{-# INLINE _VkGetFenceStatus #-}--_VkGetFenceStatus :: CString-_VkGetFenceStatus = Ptr "vkGetFenceStatus\NUL"##--{-# INLINE is_VkGetFenceStatus #-}--is_VkGetFenceStatus :: CString -> Bool-is_VkGetFenceStatus = (EQ ==) . cmpCStrings _VkGetFenceStatus--type VkGetFenceStatus = "vkGetFenceStatus"---- |--- Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkGetFenceStatus--- >     ( VkDevice device--- >     , VkFence fence--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetFenceStatus vkGetFenceStatus registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetFenceStatus <- vkGetDeviceProc @VkGetFenceStatus vkDevice------ or less efficient:------ > myGetFenceStatus <- vkGetProc @VkGetFenceStatus------ __Note:__ @vkGetFenceStatusUnsafe@ and @vkGetFenceStatusSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetFenceStatus@ is an alias---           of @vkGetFenceStatusUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetFenceStatusSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetFenceStatus"-               vkGetFenceStatusUnsafe :: VkDevice -- ^ device-                                                  -> VkFence -- ^ fence-                                                             -> IO VkResult--##else-vkGetFenceStatusUnsafe :: VkDevice -- ^ device-                                   -> VkFence -- ^ fence-                                              -> IO VkResult-vkGetFenceStatusUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkGetFenceStatus)--{-# NOINLINE vkGetFenceStatusUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkGetFenceStatus--- >     ( VkDevice device--- >     , VkFence fence--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetFenceStatus vkGetFenceStatus registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetFenceStatus <- vkGetDeviceProc @VkGetFenceStatus vkDevice------ or less efficient:------ > myGetFenceStatus <- vkGetProc @VkGetFenceStatus------ __Note:__ @vkGetFenceStatusUnsafe@ and @vkGetFenceStatusSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetFenceStatus@ is an alias---           of @vkGetFenceStatusUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetFenceStatusSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkGetFenceStatus" vkGetFenceStatusSafe-               :: VkDevice -- ^ device-                           -> VkFence -- ^ fence-                                      -> IO VkResult--##else-vkGetFenceStatusSafe :: VkDevice -- ^ device-                                 -> VkFence -- ^ fence-                                            -> IO VkResult-vkGetFenceStatusSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkGetFenceStatus)--{-# NOINLINE vkGetFenceStatusSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkGetFenceStatus--- >     ( VkDevice device--- >     , VkFence fence--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetFenceStatus vkGetFenceStatus registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetFenceStatus <- vkGetDeviceProc @VkGetFenceStatus vkDevice------ or less efficient:------ > myGetFenceStatus <- vkGetProc @VkGetFenceStatus------ __Note:__ @vkGetFenceStatusUnsafe@ and @vkGetFenceStatusSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetFenceStatus@ is an alias---           of @vkGetFenceStatusUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetFenceStatusSafe@.----vkGetFenceStatus :: VkDevice -- ^ device-                             -> VkFence -- ^ fence-                                        -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkGetFenceStatus = vkGetFenceStatusUnsafe-##else-vkGetFenceStatus = vkGetFenceStatusSafe--##endif-{-# INLINE vkGetFenceStatus #-}---- | Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------   > VkResult vkGetFenceStatus---   >     ( VkDevice device---   >     , VkFence fence---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetFenceStatus vkGetFenceStatus registry at www.khronos.org>-type HS_vkGetFenceStatus = VkDevice -- ^ device-                                    -> VkFence -- ^ fence-                                               -> IO VkResult--type PFN_vkGetFenceStatus = FunPtr HS_vkGetFenceStatus--foreign import ccall unsafe "dynamic" unwrapVkGetFenceStatusUnsafe-               :: PFN_vkGetFenceStatus -> HS_vkGetFenceStatus--foreign import ccall safe "dynamic" unwrapVkGetFenceStatusSafe ::-               PFN_vkGetFenceStatus -> HS_vkGetFenceStatus--instance VulkanProc "vkGetFenceStatus" where-        type VkProcType "vkGetFenceStatus" = HS_vkGetFenceStatus-        vkProcSymbol = _VkGetFenceStatus--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetFenceStatusUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetFenceStatusSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkWaitForFences :: CString--pattern VkWaitForFences <- (is_VkWaitForFences -> True)-  where VkWaitForFences = _VkWaitForFences--{-# INLINE _VkWaitForFences #-}--_VkWaitForFences :: CString-_VkWaitForFences = Ptr "vkWaitForFences\NUL"##--{-# INLINE is_VkWaitForFences #-}--is_VkWaitForFences :: CString -> Bool-is_VkWaitForFences = (EQ ==) . cmpCStrings _VkWaitForFences--type VkWaitForFences = "vkWaitForFences"---- |--- Success codes: 'VK_SUCCESS', 'VK_TIMEOUT'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkWaitForFences--- >     ( VkDevice device--- >     , uint32_t fenceCount--- >     , const VkFence* pFences--- >     , VkBool32 waitAll--- >     , uint64_t timeout--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkWaitForFences vkWaitForFences registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myWaitForFences <- vkGetDeviceProc @VkWaitForFences vkDevice------ or less efficient:------ > myWaitForFences <- vkGetProc @VkWaitForFences------ __Note:__ @vkWaitForFencesUnsafe@ and @vkWaitForFencesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkWaitForFences@ is an alias---           of @vkWaitForFencesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkWaitForFencesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkWaitForFences" vkWaitForFencesUnsafe-               ::-               VkDevice -- ^ device-                        ->-                 Word32 -- ^ fenceCount-                        -> Ptr VkFence -- ^ pFences-                                       -> VkBool32 -- ^ waitAll-                                                   -> Word64 -- ^ timeout-                                                             -> IO VkResult--##else-vkWaitForFencesUnsafe ::-                      VkDevice -- ^ device-                               ->-                        Word32 -- ^ fenceCount-                               -> Ptr VkFence -- ^ pFences-                                              -> VkBool32 -- ^ waitAll-                                                          -> Word64 -- ^ timeout-                                                                    -> IO VkResult-vkWaitForFencesUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkWaitForFences)--{-# NOINLINE vkWaitForFencesUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS', 'VK_TIMEOUT'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkWaitForFences--- >     ( VkDevice device--- >     , uint32_t fenceCount--- >     , const VkFence* pFences--- >     , VkBool32 waitAll--- >     , uint64_t timeout--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkWaitForFences vkWaitForFences registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myWaitForFences <- vkGetDeviceProc @VkWaitForFences vkDevice------ or less efficient:------ > myWaitForFences <- vkGetProc @VkWaitForFences------ __Note:__ @vkWaitForFencesUnsafe@ and @vkWaitForFencesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkWaitForFences@ is an alias---           of @vkWaitForFencesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkWaitForFencesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkWaitForFences" vkWaitForFencesSafe ::-               VkDevice -- ^ device-                        ->-                 Word32 -- ^ fenceCount-                        -> Ptr VkFence -- ^ pFences-                                       -> VkBool32 -- ^ waitAll-                                                   -> Word64 -- ^ timeout-                                                             -> IO VkResult--##else-vkWaitForFencesSafe ::-                    VkDevice -- ^ device-                             ->-                      Word32 -- ^ fenceCount-                             -> Ptr VkFence -- ^ pFences-                                            -> VkBool32 -- ^ waitAll-                                                        -> Word64 -- ^ timeout-                                                                  -> IO VkResult-vkWaitForFencesSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkWaitForFences)--{-# NOINLINE vkWaitForFencesSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS', 'VK_TIMEOUT'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkWaitForFences--- >     ( VkDevice device--- >     , uint32_t fenceCount--- >     , const VkFence* pFences--- >     , VkBool32 waitAll--- >     , uint64_t timeout--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkWaitForFences vkWaitForFences registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myWaitForFences <- vkGetDeviceProc @VkWaitForFences vkDevice------ or less efficient:------ > myWaitForFences <- vkGetProc @VkWaitForFences------ __Note:__ @vkWaitForFencesUnsafe@ and @vkWaitForFencesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkWaitForFences@ is an alias---           of @vkWaitForFencesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkWaitForFencesSafe@.----vkWaitForFences ::-                VkDevice -- ^ device-                         ->-                  Word32 -- ^ fenceCount-                         -> Ptr VkFence -- ^ pFences-                                        -> VkBool32 -- ^ waitAll-                                                    -> Word64 -- ^ timeout-                                                              -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkWaitForFences = vkWaitForFencesUnsafe-##else-vkWaitForFences = vkWaitForFencesSafe--##endif-{-# INLINE vkWaitForFences #-}---- | Success codes: 'VK_SUCCESS', 'VK_TIMEOUT'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------   > VkResult vkWaitForFences---   >     ( VkDevice device---   >     , uint32_t fenceCount---   >     , const VkFence* pFences---   >     , VkBool32 waitAll---   >     , uint64_t timeout---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkWaitForFences vkWaitForFences registry at www.khronos.org>-type HS_vkWaitForFences =-     VkDevice -- ^ device-              ->-       Word32 -- ^ fenceCount-              -> Ptr VkFence -- ^ pFences-                             -> VkBool32 -- ^ waitAll-                                         -> Word64 -- ^ timeout-                                                   -> IO VkResult--type PFN_vkWaitForFences = FunPtr HS_vkWaitForFences--foreign import ccall unsafe "dynamic" unwrapVkWaitForFencesUnsafe-               :: PFN_vkWaitForFences -> HS_vkWaitForFences--foreign import ccall safe "dynamic" unwrapVkWaitForFencesSafe ::-               PFN_vkWaitForFences -> HS_vkWaitForFences--instance VulkanProc "vkWaitForFences" where-        type VkProcType "vkWaitForFences" = HS_vkWaitForFences-        vkProcSymbol = _VkWaitForFences--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkWaitForFencesUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkWaitForFencesSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCreateSemaphore :: CString--pattern VkCreateSemaphore <- (is_VkCreateSemaphore -> True)-  where VkCreateSemaphore = _VkCreateSemaphore--{-# INLINE _VkCreateSemaphore #-}--_VkCreateSemaphore :: CString-_VkCreateSemaphore = Ptr "vkCreateSemaphore\NUL"##--{-# INLINE is_VkCreateSemaphore #-}--is_VkCreateSemaphore :: CString -> Bool-is_VkCreateSemaphore = (EQ ==) . cmpCStrings _VkCreateSemaphore--type VkCreateSemaphore = "vkCreateSemaphore"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateSemaphore--- >     ( VkDevice device--- >     , const VkSemaphoreCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkSemaphore* pSemaphore--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSemaphore vkCreateSemaphore registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateSemaphore <- vkGetDeviceProc @VkCreateSemaphore vkDevice------ or less efficient:------ > myCreateSemaphore <- vkGetProc @VkCreateSemaphore------ __Note:__ @vkCreateSemaphoreUnsafe@ and @vkCreateSemaphoreSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateSemaphore@ is an alias---           of @vkCreateSemaphoreUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateSemaphoreSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateSemaphore"-               vkCreateSemaphoreUnsafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkSemaphoreCreateInfo -- ^ pCreateInfo-                                           ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkSemaphore -- ^ pSemaphore-                                                                -> IO VkResult--##else-vkCreateSemaphoreUnsafe ::-                        VkDevice -- ^ device-                                 ->-                          Ptr VkSemaphoreCreateInfo -- ^ pCreateInfo-                                                    ->-                            Ptr VkAllocationCallbacks -- ^ pAllocator-                                                      -> Ptr VkSemaphore -- ^ pSemaphore-                                                                         -> IO VkResult-vkCreateSemaphoreUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateSemaphore)--{-# NOINLINE vkCreateSemaphoreUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateSemaphore--- >     ( VkDevice device--- >     , const VkSemaphoreCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkSemaphore* pSemaphore--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSemaphore vkCreateSemaphore registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateSemaphore <- vkGetDeviceProc @VkCreateSemaphore vkDevice------ or less efficient:------ > myCreateSemaphore <- vkGetProc @VkCreateSemaphore------ __Note:__ @vkCreateSemaphoreUnsafe@ and @vkCreateSemaphoreSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateSemaphore@ is an alias---           of @vkCreateSemaphoreUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateSemaphoreSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCreateSemaphore" vkCreateSemaphoreSafe-               ::-               VkDevice -- ^ device-                        ->-                 Ptr VkSemaphoreCreateInfo -- ^ pCreateInfo-                                           ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkSemaphore -- ^ pSemaphore-                                                                -> IO VkResult--##else-vkCreateSemaphoreSafe ::-                      VkDevice -- ^ device-                               ->-                        Ptr VkSemaphoreCreateInfo -- ^ pCreateInfo-                                                  ->-                          Ptr VkAllocationCallbacks -- ^ pAllocator-                                                    -> Ptr VkSemaphore -- ^ pSemaphore-                                                                       -> IO VkResult-vkCreateSemaphoreSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateSemaphore)--{-# NOINLINE vkCreateSemaphoreSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateSemaphore--- >     ( VkDevice device--- >     , const VkSemaphoreCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkSemaphore* pSemaphore--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSemaphore vkCreateSemaphore registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateSemaphore <- vkGetDeviceProc @VkCreateSemaphore vkDevice------ or less efficient:------ > myCreateSemaphore <- vkGetProc @VkCreateSemaphore------ __Note:__ @vkCreateSemaphoreUnsafe@ and @vkCreateSemaphoreSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateSemaphore@ is an alias---           of @vkCreateSemaphoreUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateSemaphoreSafe@.----vkCreateSemaphore ::-                  VkDevice -- ^ device-                           ->-                    Ptr VkSemaphoreCreateInfo -- ^ pCreateInfo-                                              ->-                      Ptr VkAllocationCallbacks -- ^ pAllocator-                                                -> Ptr VkSemaphore -- ^ pSemaphore-                                                                   -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkCreateSemaphore = vkCreateSemaphoreUnsafe-##else-vkCreateSemaphore = vkCreateSemaphoreSafe--##endif-{-# INLINE vkCreateSemaphore #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreateSemaphore---   >     ( VkDevice device---   >     , const VkSemaphoreCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkSemaphore* pSemaphore---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSemaphore vkCreateSemaphore registry at www.khronos.org>-type HS_vkCreateSemaphore =-     VkDevice -- ^ device-              ->-       Ptr VkSemaphoreCreateInfo -- ^ pCreateInfo-                                 ->-         Ptr VkAllocationCallbacks -- ^ pAllocator-                                   -> Ptr VkSemaphore -- ^ pSemaphore-                                                      -> IO VkResult--type PFN_vkCreateSemaphore = FunPtr HS_vkCreateSemaphore--foreign import ccall unsafe "dynamic" unwrapVkCreateSemaphoreUnsafe-               :: PFN_vkCreateSemaphore -> HS_vkCreateSemaphore--foreign import ccall safe "dynamic" unwrapVkCreateSemaphoreSafe ::-               PFN_vkCreateSemaphore -> HS_vkCreateSemaphore--instance VulkanProc "vkCreateSemaphore" where-        type VkProcType "vkCreateSemaphore" = HS_vkCreateSemaphore-        vkProcSymbol = _VkCreateSemaphore--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateSemaphoreUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateSemaphoreSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkDestroySemaphore :: CString--pattern VkDestroySemaphore <- (is_VkDestroySemaphore -> True)-  where VkDestroySemaphore = _VkDestroySemaphore--{-# INLINE _VkDestroySemaphore #-}--_VkDestroySemaphore :: CString-_VkDestroySemaphore = Ptr "vkDestroySemaphore\NUL"##--{-# INLINE is_VkDestroySemaphore #-}--is_VkDestroySemaphore :: CString -> Bool-is_VkDestroySemaphore = (EQ ==) . cmpCStrings _VkDestroySemaphore--type VkDestroySemaphore = "vkDestroySemaphore"---- |--- > void vkDestroySemaphore--- >     ( VkDevice device--- >     , VkSemaphore semaphore--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySemaphore vkDestroySemaphore registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroySemaphore <- vkGetDeviceProc @VkDestroySemaphore vkDevice------ or less efficient:------ > myDestroySemaphore <- vkGetProc @VkDestroySemaphore------ __Note:__ @vkDestroySemaphoreUnsafe@ and @vkDestroySemaphoreSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroySemaphore@ is an alias---           of @vkDestroySemaphoreUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroySemaphoreSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroySemaphore"-               vkDestroySemaphoreUnsafe ::-               VkDevice -- ^ device-                        -> VkSemaphore -- ^ semaphore-                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                    -> IO ()--##else-vkDestroySemaphoreUnsafe ::-                         VkDevice -- ^ device-                                  -> VkSemaphore -- ^ semaphore-                                                 -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                              -> IO ()-vkDestroySemaphoreUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroySemaphore)--{-# NOINLINE vkDestroySemaphoreUnsafe #-}-##endif---- |--- > void vkDestroySemaphore--- >     ( VkDevice device--- >     , VkSemaphore semaphore--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySemaphore vkDestroySemaphore registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroySemaphore <- vkGetDeviceProc @VkDestroySemaphore vkDevice------ or less efficient:------ > myDestroySemaphore <- vkGetProc @VkDestroySemaphore------ __Note:__ @vkDestroySemaphoreUnsafe@ and @vkDestroySemaphoreSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroySemaphore@ is an alias---           of @vkDestroySemaphoreUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroySemaphoreSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkDestroySemaphore"-               vkDestroySemaphoreSafe ::-               VkDevice -- ^ device-                        -> VkSemaphore -- ^ semaphore-                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                    -> IO ()--##else-vkDestroySemaphoreSafe ::-                       VkDevice -- ^ device-                                -> VkSemaphore -- ^ semaphore-                                               -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                            -> IO ()-vkDestroySemaphoreSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroySemaphore)--{-# NOINLINE vkDestroySemaphoreSafe #-}-##endif---- |--- > void vkDestroySemaphore--- >     ( VkDevice device--- >     , VkSemaphore semaphore--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySemaphore vkDestroySemaphore registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroySemaphore <- vkGetDeviceProc @VkDestroySemaphore vkDevice------ or less efficient:------ > myDestroySemaphore <- vkGetProc @VkDestroySemaphore------ __Note:__ @vkDestroySemaphoreUnsafe@ and @vkDestroySemaphoreSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroySemaphore@ is an alias---           of @vkDestroySemaphoreUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroySemaphoreSafe@.----vkDestroySemaphore ::-                   VkDevice -- ^ device-                            -> VkSemaphore -- ^ semaphore-                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                        -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkDestroySemaphore = vkDestroySemaphoreUnsafe-##else-vkDestroySemaphore = vkDestroySemaphoreSafe--##endif-{-# INLINE vkDestroySemaphore #-}---- | > void vkDestroySemaphore---   >     ( VkDevice device---   >     , VkSemaphore semaphore---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySemaphore vkDestroySemaphore registry at www.khronos.org>-type HS_vkDestroySemaphore =-     VkDevice -- ^ device-              -> VkSemaphore -- ^ semaphore-                             -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                          -> IO ()--type PFN_vkDestroySemaphore = FunPtr HS_vkDestroySemaphore--foreign import ccall unsafe "dynamic"-               unwrapVkDestroySemaphoreUnsafe ::-               PFN_vkDestroySemaphore -> HS_vkDestroySemaphore--foreign import ccall safe "dynamic" unwrapVkDestroySemaphoreSafe ::-               PFN_vkDestroySemaphore -> HS_vkDestroySemaphore--instance VulkanProc "vkDestroySemaphore" where-        type VkProcType "vkDestroySemaphore" = HS_vkDestroySemaphore-        vkProcSymbol = _VkDestroySemaphore--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDestroySemaphoreUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroySemaphoreSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCreateEvent :: CString--pattern VkCreateEvent <- (is_VkCreateEvent -> True)-  where VkCreateEvent = _VkCreateEvent--{-# INLINE _VkCreateEvent #-}--_VkCreateEvent :: CString-_VkCreateEvent = Ptr "vkCreateEvent\NUL"##--{-# INLINE is_VkCreateEvent #-}--is_VkCreateEvent :: CString -> Bool-is_VkCreateEvent = (EQ ==) . cmpCStrings _VkCreateEvent--type VkCreateEvent = "vkCreateEvent"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateEvent--- >     ( VkDevice device--- >     , const VkEventCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkEvent* pEvent--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateEvent vkCreateEvent registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateEvent <- vkGetDeviceProc @VkCreateEvent vkDevice------ or less efficient:------ > myCreateEvent <- vkGetProc @VkCreateEvent------ __Note:__ @vkCreateEventUnsafe@ and @vkCreateEventSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateEvent@ is an alias---           of @vkCreateEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateEventSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateEvent" vkCreateEventUnsafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkEventCreateInfo -- ^ pCreateInfo-                                       ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkEvent -- ^ pEvent-                                                            -> IO VkResult--##else-vkCreateEventUnsafe ::-                    VkDevice -- ^ device-                             ->-                      Ptr VkEventCreateInfo -- ^ pCreateInfo-                                            ->-                        Ptr VkAllocationCallbacks -- ^ pAllocator-                                                  -> Ptr VkEvent -- ^ pEvent-                                                                 -> IO VkResult-vkCreateEventUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateEvent)--{-# NOINLINE vkCreateEventUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateEvent--- >     ( VkDevice device--- >     , const VkEventCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkEvent* pEvent--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateEvent vkCreateEvent registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateEvent <- vkGetDeviceProc @VkCreateEvent vkDevice------ or less efficient:------ > myCreateEvent <- vkGetProc @VkCreateEvent------ __Note:__ @vkCreateEventUnsafe@ and @vkCreateEventSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateEvent@ is an alias---           of @vkCreateEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateEventSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCreateEvent" vkCreateEventSafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkEventCreateInfo -- ^ pCreateInfo-                                       ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkEvent -- ^ pEvent-                                                            -> IO VkResult--##else-vkCreateEventSafe ::-                  VkDevice -- ^ device-                           ->-                    Ptr VkEventCreateInfo -- ^ pCreateInfo-                                          ->-                      Ptr VkAllocationCallbacks -- ^ pAllocator-                                                -> Ptr VkEvent -- ^ pEvent-                                                               -> IO VkResult-vkCreateEventSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateEvent)--{-# NOINLINE vkCreateEventSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateEvent--- >     ( VkDevice device--- >     , const VkEventCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkEvent* pEvent--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateEvent vkCreateEvent registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateEvent <- vkGetDeviceProc @VkCreateEvent vkDevice------ or less efficient:------ > myCreateEvent <- vkGetProc @VkCreateEvent------ __Note:__ @vkCreateEventUnsafe@ and @vkCreateEventSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateEvent@ is an alias---           of @vkCreateEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateEventSafe@.----vkCreateEvent ::-              VkDevice -- ^ device-                       ->-                Ptr VkEventCreateInfo -- ^ pCreateInfo-                                      ->-                  Ptr VkAllocationCallbacks -- ^ pAllocator-                                            -> Ptr VkEvent -- ^ pEvent-                                                           -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkCreateEvent = vkCreateEventUnsafe-##else-vkCreateEvent = vkCreateEventSafe--##endif-{-# INLINE vkCreateEvent #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreateEvent---   >     ( VkDevice device---   >     , const VkEventCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkEvent* pEvent---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateEvent vkCreateEvent registry at www.khronos.org>-type HS_vkCreateEvent =-     VkDevice -- ^ device-              ->-       Ptr VkEventCreateInfo -- ^ pCreateInfo-                             ->-         Ptr VkAllocationCallbacks -- ^ pAllocator-                                   -> Ptr VkEvent -- ^ pEvent-                                                  -> IO VkResult--type PFN_vkCreateEvent = FunPtr HS_vkCreateEvent--foreign import ccall unsafe "dynamic" unwrapVkCreateEventUnsafe ::-               PFN_vkCreateEvent -> HS_vkCreateEvent--foreign import ccall safe "dynamic" unwrapVkCreateEventSafe ::-               PFN_vkCreateEvent -> HS_vkCreateEvent--instance VulkanProc "vkCreateEvent" where-        type VkProcType "vkCreateEvent" = HS_vkCreateEvent-        vkProcSymbol = _VkCreateEvent--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateEventUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateEventSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkDestroyEvent :: CString--pattern VkDestroyEvent <- (is_VkDestroyEvent -> True)-  where VkDestroyEvent = _VkDestroyEvent--{-# INLINE _VkDestroyEvent #-}--_VkDestroyEvent :: CString-_VkDestroyEvent = Ptr "vkDestroyEvent\NUL"##--{-# INLINE is_VkDestroyEvent #-}--is_VkDestroyEvent :: CString -> Bool-is_VkDestroyEvent = (EQ ==) . cmpCStrings _VkDestroyEvent--type VkDestroyEvent = "vkDestroyEvent"---- |--- > void vkDestroyEvent--- >     ( VkDevice device--- >     , VkEvent event--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyEvent vkDestroyEvent registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyEvent <- vkGetDeviceProc @VkDestroyEvent vkDevice------ or less efficient:------ > myDestroyEvent <- vkGetProc @VkDestroyEvent------ __Note:__ @vkDestroyEventUnsafe@ and @vkDestroyEventSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyEvent@ is an alias---           of @vkDestroyEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyEventSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyEvent" vkDestroyEventUnsafe-               :: VkDevice -- ^ device-                           -> VkEvent -- ^ event-                                      -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                   -> IO ()--##else-vkDestroyEventUnsafe ::-                     VkDevice -- ^ device-                              -> VkEvent -- ^ event-                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                      -> IO ()-vkDestroyEventUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyEvent)--{-# NOINLINE vkDestroyEventUnsafe #-}-##endif---- |--- > void vkDestroyEvent--- >     ( VkDevice device--- >     , VkEvent event--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyEvent vkDestroyEvent registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyEvent <- vkGetDeviceProc @VkDestroyEvent vkDevice------ or less efficient:------ > myDestroyEvent <- vkGetProc @VkDestroyEvent------ __Note:__ @vkDestroyEventUnsafe@ and @vkDestroyEventSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyEvent@ is an alias---           of @vkDestroyEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyEventSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkDestroyEvent" vkDestroyEventSafe ::-               VkDevice -- ^ device-                        -> VkEvent -- ^ event-                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                -> IO ()--##else-vkDestroyEventSafe ::-                   VkDevice -- ^ device-                            -> VkEvent -- ^ event-                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                    -> IO ()-vkDestroyEventSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyEvent)--{-# NOINLINE vkDestroyEventSafe #-}-##endif---- |--- > void vkDestroyEvent--- >     ( VkDevice device--- >     , VkEvent event--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyEvent vkDestroyEvent registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyEvent <- vkGetDeviceProc @VkDestroyEvent vkDevice------ or less efficient:------ > myDestroyEvent <- vkGetProc @VkDestroyEvent------ __Note:__ @vkDestroyEventUnsafe@ and @vkDestroyEventSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyEvent@ is an alias---           of @vkDestroyEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyEventSafe@.----vkDestroyEvent ::-               VkDevice -- ^ device-                        -> VkEvent -- ^ event-                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkDestroyEvent = vkDestroyEventUnsafe-##else-vkDestroyEvent = vkDestroyEventSafe--##endif-{-# INLINE vkDestroyEvent #-}---- | > void vkDestroyEvent---   >     ( VkDevice device---   >     , VkEvent event---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyEvent vkDestroyEvent registry at www.khronos.org>-type HS_vkDestroyEvent =-     VkDevice -- ^ device-              -> VkEvent -- ^ event-                         -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                      -> IO ()--type PFN_vkDestroyEvent = FunPtr HS_vkDestroyEvent--foreign import ccall unsafe "dynamic" unwrapVkDestroyEventUnsafe ::-               PFN_vkDestroyEvent -> HS_vkDestroyEvent--foreign import ccall safe "dynamic" unwrapVkDestroyEventSafe ::-               PFN_vkDestroyEvent -> HS_vkDestroyEvent--instance VulkanProc "vkDestroyEvent" where-        type VkProcType "vkDestroyEvent" = HS_vkDestroyEvent-        vkProcSymbol = _VkDestroyEvent--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDestroyEventUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroyEventSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetEventStatus :: CString--pattern VkGetEventStatus <- (is_VkGetEventStatus -> True)-  where VkGetEventStatus = _VkGetEventStatus--{-# INLINE _VkGetEventStatus #-}--_VkGetEventStatus :: CString-_VkGetEventStatus = Ptr "vkGetEventStatus\NUL"##--{-# INLINE is_VkGetEventStatus #-}--is_VkGetEventStatus :: CString -> Bool-is_VkGetEventStatus = (EQ ==) . cmpCStrings _VkGetEventStatus--type VkGetEventStatus = "vkGetEventStatus"---- |--- Success codes: 'VK_EVENT_SET', 'VK_EVENT_RESET'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkGetEventStatus--- >     ( VkDevice device--- >     , VkEvent event--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetEventStatus vkGetEventStatus registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetEventStatus <- vkGetDeviceProc @VkGetEventStatus vkDevice------ or less efficient:------ > myGetEventStatus <- vkGetProc @VkGetEventStatus------ __Note:__ @vkGetEventStatusUnsafe@ and @vkGetEventStatusSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetEventStatus@ is an alias---           of @vkGetEventStatusUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetEventStatusSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetEventStatus"-               vkGetEventStatusUnsafe :: VkDevice -- ^ device-                                                  -> VkEvent -- ^ event-                                                             -> IO VkResult--##else-vkGetEventStatusUnsafe :: VkDevice -- ^ device-                                   -> VkEvent -- ^ event-                                              -> IO VkResult-vkGetEventStatusUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkGetEventStatus)--{-# NOINLINE vkGetEventStatusUnsafe #-}-##endif---- |--- Success codes: 'VK_EVENT_SET', 'VK_EVENT_RESET'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkGetEventStatus--- >     ( VkDevice device--- >     , VkEvent event--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetEventStatus vkGetEventStatus registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetEventStatus <- vkGetDeviceProc @VkGetEventStatus vkDevice------ or less efficient:------ > myGetEventStatus <- vkGetProc @VkGetEventStatus------ __Note:__ @vkGetEventStatusUnsafe@ and @vkGetEventStatusSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetEventStatus@ is an alias---           of @vkGetEventStatusUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetEventStatusSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkGetEventStatus" vkGetEventStatusSafe-               :: VkDevice -- ^ device-                           -> VkEvent -- ^ event-                                      -> IO VkResult--##else-vkGetEventStatusSafe :: VkDevice -- ^ device-                                 -> VkEvent -- ^ event-                                            -> IO VkResult-vkGetEventStatusSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkGetEventStatus)--{-# NOINLINE vkGetEventStatusSafe #-}-##endif---- |--- Success codes: 'VK_EVENT_SET', 'VK_EVENT_RESET'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkGetEventStatus--- >     ( VkDevice device--- >     , VkEvent event--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetEventStatus vkGetEventStatus registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetEventStatus <- vkGetDeviceProc @VkGetEventStatus vkDevice------ or less efficient:------ > myGetEventStatus <- vkGetProc @VkGetEventStatus------ __Note:__ @vkGetEventStatusUnsafe@ and @vkGetEventStatusSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetEventStatus@ is an alias---           of @vkGetEventStatusUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetEventStatusSafe@.----vkGetEventStatus :: VkDevice -- ^ device-                             -> VkEvent -- ^ event-                                        -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkGetEventStatus = vkGetEventStatusUnsafe-##else-vkGetEventStatus = vkGetEventStatusSafe--##endif-{-# INLINE vkGetEventStatus #-}---- | Success codes: 'VK_EVENT_SET', 'VK_EVENT_RESET'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------   > VkResult vkGetEventStatus---   >     ( VkDevice device---   >     , VkEvent event---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetEventStatus vkGetEventStatus registry at www.khronos.org>-type HS_vkGetEventStatus = VkDevice -- ^ device-                                    -> VkEvent -- ^ event-                                               -> IO VkResult--type PFN_vkGetEventStatus = FunPtr HS_vkGetEventStatus--foreign import ccall unsafe "dynamic" unwrapVkGetEventStatusUnsafe-               :: PFN_vkGetEventStatus -> HS_vkGetEventStatus--foreign import ccall safe "dynamic" unwrapVkGetEventStatusSafe ::-               PFN_vkGetEventStatus -> HS_vkGetEventStatus--instance VulkanProc "vkGetEventStatus" where-        type VkProcType "vkGetEventStatus" = HS_vkGetEventStatus-        vkProcSymbol = _VkGetEventStatus--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetEventStatusUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetEventStatusSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkSetEvent :: CString--pattern VkSetEvent <- (is_VkSetEvent -> True)-  where VkSetEvent = _VkSetEvent--{-# INLINE _VkSetEvent #-}--_VkSetEvent :: CString-_VkSetEvent = Ptr "vkSetEvent\NUL"##--{-# INLINE is_VkSetEvent #-}--is_VkSetEvent :: CString -> Bool-is_VkSetEvent = (EQ ==) . cmpCStrings _VkSetEvent--type VkSetEvent = "vkSetEvent"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkSetEvent--- >     ( VkDevice device--- >     , VkEvent event--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkSetEvent vkSetEvent registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > mySetEvent <- vkGetDeviceProc @VkSetEvent vkDevice------ or less efficient:------ > mySetEvent <- vkGetProc @VkSetEvent------ __Note:__ @vkSetEventUnsafe@ and @vkSetEventSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkSetEvent@ is an alias---           of @vkSetEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkSetEventSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkSetEvent" vkSetEventUnsafe ::-               VkDevice -- ^ device-                        -> VkEvent -- ^ event-                                   -> IO VkResult--##else-vkSetEventUnsafe :: VkDevice -- ^ device-                             -> VkEvent -- ^ event-                                        -> IO VkResult-vkSetEventUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkSetEvent)--{-# NOINLINE vkSetEventUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkSetEvent--- >     ( VkDevice device--- >     , VkEvent event--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkSetEvent vkSetEvent registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > mySetEvent <- vkGetDeviceProc @VkSetEvent vkDevice------ or less efficient:------ > mySetEvent <- vkGetProc @VkSetEvent------ __Note:__ @vkSetEventUnsafe@ and @vkSetEventSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkSetEvent@ is an alias---           of @vkSetEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkSetEventSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkSetEvent" vkSetEventSafe ::-               VkDevice -- ^ device-                        -> VkEvent -- ^ event-                                   -> IO VkResult--##else-vkSetEventSafe :: VkDevice -- ^ device-                           -> VkEvent -- ^ event-                                      -> IO VkResult-vkSetEventSafe = unsafeDupablePerformIO (vkGetProcSafe @VkSetEvent)--{-# NOINLINE vkSetEventSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkSetEvent--- >     ( VkDevice device--- >     , VkEvent event--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkSetEvent vkSetEvent registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > mySetEvent <- vkGetDeviceProc @VkSetEvent vkDevice------ or less efficient:------ > mySetEvent <- vkGetProc @VkSetEvent------ __Note:__ @vkSetEventUnsafe@ and @vkSetEventSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkSetEvent@ is an alias---           of @vkSetEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkSetEventSafe@.----vkSetEvent :: VkDevice -- ^ device-                       -> VkEvent -- ^ event-                                  -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkSetEvent = vkSetEventUnsafe-##else-vkSetEvent = vkSetEventSafe--##endif-{-# INLINE vkSetEvent #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkSetEvent---   >     ( VkDevice device---   >     , VkEvent event---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkSetEvent vkSetEvent registry at www.khronos.org>-type HS_vkSetEvent = VkDevice -- ^ device-                              -> VkEvent -- ^ event-                                         -> IO VkResult--type PFN_vkSetEvent = FunPtr HS_vkSetEvent--foreign import ccall unsafe "dynamic" unwrapVkSetEventUnsafe ::-               PFN_vkSetEvent -> HS_vkSetEvent--foreign import ccall safe "dynamic" unwrapVkSetEventSafe ::-               PFN_vkSetEvent -> HS_vkSetEvent--instance VulkanProc "vkSetEvent" where-        type VkProcType "vkSetEvent" = HS_vkSetEvent-        vkProcSymbol = _VkSetEvent--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkSetEventUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkSetEventSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkResetEvent :: CString--pattern VkResetEvent <- (is_VkResetEvent -> True)-  where VkResetEvent = _VkResetEvent--{-# INLINE _VkResetEvent #-}--_VkResetEvent :: CString-_VkResetEvent = Ptr "vkResetEvent\NUL"##--{-# INLINE is_VkResetEvent #-}--is_VkResetEvent :: CString -> Bool-is_VkResetEvent = (EQ ==) . cmpCStrings _VkResetEvent--type VkResetEvent = "vkResetEvent"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkResetEvent--- >     ( VkDevice device--- >     , VkEvent event--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetEvent vkResetEvent registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myResetEvent <- vkGetDeviceProc @VkResetEvent vkDevice------ or less efficient:------ > myResetEvent <- vkGetProc @VkResetEvent------ __Note:__ @vkResetEventUnsafe@ and @vkResetEventSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkResetEvent@ is an alias---           of @vkResetEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkResetEventSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkResetEvent" vkResetEventUnsafe ::-               VkDevice -- ^ device-                        -> VkEvent -- ^ event-                                   -> IO VkResult--##else-vkResetEventUnsafe :: VkDevice -- ^ device-                               -> VkEvent -- ^ event-                                          -> IO VkResult-vkResetEventUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkResetEvent)--{-# NOINLINE vkResetEventUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkResetEvent--- >     ( VkDevice device--- >     , VkEvent event--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetEvent vkResetEvent registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myResetEvent <- vkGetDeviceProc @VkResetEvent vkDevice------ or less efficient:------ > myResetEvent <- vkGetProc @VkResetEvent------ __Note:__ @vkResetEventUnsafe@ and @vkResetEventSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkResetEvent@ is an alias---           of @vkResetEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkResetEventSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkResetEvent" vkResetEventSafe ::-               VkDevice -- ^ device-                        -> VkEvent -- ^ event-                                   -> IO VkResult--##else-vkResetEventSafe :: VkDevice -- ^ device-                             -> VkEvent -- ^ event-                                        -> IO VkResult-vkResetEventSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkResetEvent)--{-# NOINLINE vkResetEventSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkResetEvent--- >     ( VkDevice device--- >     , VkEvent event--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetEvent vkResetEvent registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myResetEvent <- vkGetDeviceProc @VkResetEvent vkDevice------ or less efficient:------ > myResetEvent <- vkGetProc @VkResetEvent------ __Note:__ @vkResetEventUnsafe@ and @vkResetEventSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkResetEvent@ is an alias---           of @vkResetEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkResetEventSafe@.----vkResetEvent :: VkDevice -- ^ device-                         -> VkEvent -- ^ event-                                    -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkResetEvent = vkResetEventUnsafe-##else-vkResetEvent = vkResetEventSafe--##endif-{-# INLINE vkResetEvent #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkResetEvent---   >     ( VkDevice device---   >     , VkEvent event---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetEvent vkResetEvent registry at www.khronos.org>-type HS_vkResetEvent = VkDevice -- ^ device-                                -> VkEvent -- ^ event-                                           -> IO VkResult--type PFN_vkResetEvent = FunPtr HS_vkResetEvent--foreign import ccall unsafe "dynamic" unwrapVkResetEventUnsafe ::-               PFN_vkResetEvent -> HS_vkResetEvent--foreign import ccall safe "dynamic" unwrapVkResetEventSafe ::-               PFN_vkResetEvent -> HS_vkResetEvent--instance VulkanProc "vkResetEvent" where-        type VkProcType "vkResetEvent" = HS_vkResetEvent-        vkProcSymbol = _VkResetEvent--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkResetEventUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkResetEventSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCreateQueryPool :: CString--pattern VkCreateQueryPool <- (is_VkCreateQueryPool -> True)-  where VkCreateQueryPool = _VkCreateQueryPool--{-# INLINE _VkCreateQueryPool #-}--_VkCreateQueryPool :: CString-_VkCreateQueryPool = Ptr "vkCreateQueryPool\NUL"##--{-# INLINE is_VkCreateQueryPool #-}--is_VkCreateQueryPool :: CString -> Bool-is_VkCreateQueryPool = (EQ ==) . cmpCStrings _VkCreateQueryPool--type VkCreateQueryPool = "vkCreateQueryPool"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateQueryPool--- >     ( VkDevice device--- >     , const VkQueryPoolCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkQueryPool* pQueryPool--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateQueryPool vkCreateQueryPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateQueryPool <- vkGetDeviceProc @VkCreateQueryPool vkDevice------ or less efficient:------ > myCreateQueryPool <- vkGetProc @VkCreateQueryPool------ __Note:__ @vkCreateQueryPoolUnsafe@ and @vkCreateQueryPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateQueryPool@ is an alias---           of @vkCreateQueryPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateQueryPoolSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateQueryPool"-               vkCreateQueryPoolUnsafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkQueryPoolCreateInfo -- ^ pCreateInfo-                                           ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkQueryPool -- ^ pQueryPool-                                                                -> IO VkResult--##else-vkCreateQueryPoolUnsafe ::-                        VkDevice -- ^ device-                                 ->-                          Ptr VkQueryPoolCreateInfo -- ^ pCreateInfo-                                                    ->-                            Ptr VkAllocationCallbacks -- ^ pAllocator-                                                      -> Ptr VkQueryPool -- ^ pQueryPool-                                                                         -> IO VkResult-vkCreateQueryPoolUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateQueryPool)--{-# NOINLINE vkCreateQueryPoolUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateQueryPool--- >     ( VkDevice device--- >     , const VkQueryPoolCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkQueryPool* pQueryPool--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateQueryPool vkCreateQueryPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateQueryPool <- vkGetDeviceProc @VkCreateQueryPool vkDevice------ or less efficient:------ > myCreateQueryPool <- vkGetProc @VkCreateQueryPool------ __Note:__ @vkCreateQueryPoolUnsafe@ and @vkCreateQueryPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateQueryPool@ is an alias---           of @vkCreateQueryPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateQueryPoolSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCreateQueryPool" vkCreateQueryPoolSafe-               ::-               VkDevice -- ^ device-                        ->-                 Ptr VkQueryPoolCreateInfo -- ^ pCreateInfo-                                           ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkQueryPool -- ^ pQueryPool-                                                                -> IO VkResult--##else-vkCreateQueryPoolSafe ::-                      VkDevice -- ^ device-                               ->-                        Ptr VkQueryPoolCreateInfo -- ^ pCreateInfo-                                                  ->-                          Ptr VkAllocationCallbacks -- ^ pAllocator-                                                    -> Ptr VkQueryPool -- ^ pQueryPool-                                                                       -> IO VkResult-vkCreateQueryPoolSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateQueryPool)--{-# NOINLINE vkCreateQueryPoolSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateQueryPool--- >     ( VkDevice device--- >     , const VkQueryPoolCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkQueryPool* pQueryPool--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateQueryPool vkCreateQueryPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateQueryPool <- vkGetDeviceProc @VkCreateQueryPool vkDevice------ or less efficient:------ > myCreateQueryPool <- vkGetProc @VkCreateQueryPool------ __Note:__ @vkCreateQueryPoolUnsafe@ and @vkCreateQueryPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateQueryPool@ is an alias---           of @vkCreateQueryPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateQueryPoolSafe@.----vkCreateQueryPool ::-                  VkDevice -- ^ device-                           ->-                    Ptr VkQueryPoolCreateInfo -- ^ pCreateInfo-                                              ->-                      Ptr VkAllocationCallbacks -- ^ pAllocator-                                                -> Ptr VkQueryPool -- ^ pQueryPool-                                                                   -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkCreateQueryPool = vkCreateQueryPoolUnsafe-##else-vkCreateQueryPool = vkCreateQueryPoolSafe--##endif-{-# INLINE vkCreateQueryPool #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreateQueryPool---   >     ( VkDevice device---   >     , const VkQueryPoolCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkQueryPool* pQueryPool---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateQueryPool vkCreateQueryPool registry at www.khronos.org>-type HS_vkCreateQueryPool =-     VkDevice -- ^ device-              ->-       Ptr VkQueryPoolCreateInfo -- ^ pCreateInfo-                                 ->-         Ptr VkAllocationCallbacks -- ^ pAllocator-                                   -> Ptr VkQueryPool -- ^ pQueryPool-                                                      -> IO VkResult--type PFN_vkCreateQueryPool = FunPtr HS_vkCreateQueryPool--foreign import ccall unsafe "dynamic" unwrapVkCreateQueryPoolUnsafe-               :: PFN_vkCreateQueryPool -> HS_vkCreateQueryPool--foreign import ccall safe "dynamic" unwrapVkCreateQueryPoolSafe ::-               PFN_vkCreateQueryPool -> HS_vkCreateQueryPool--instance VulkanProc "vkCreateQueryPool" where-        type VkProcType "vkCreateQueryPool" = HS_vkCreateQueryPool-        vkProcSymbol = _VkCreateQueryPool--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateQueryPoolUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateQueryPoolSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkDestroyQueryPool :: CString--pattern VkDestroyQueryPool <- (is_VkDestroyQueryPool -> True)-  where VkDestroyQueryPool = _VkDestroyQueryPool--{-# INLINE _VkDestroyQueryPool #-}--_VkDestroyQueryPool :: CString-_VkDestroyQueryPool = Ptr "vkDestroyQueryPool\NUL"##--{-# INLINE is_VkDestroyQueryPool #-}--is_VkDestroyQueryPool :: CString -> Bool-is_VkDestroyQueryPool = (EQ ==) . cmpCStrings _VkDestroyQueryPool--type VkDestroyQueryPool = "vkDestroyQueryPool"---- |--- > void vkDestroyQueryPool--- >     ( VkDevice device--- >     , VkQueryPool queryPool--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyQueryPool vkDestroyQueryPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyQueryPool <- vkGetDeviceProc @VkDestroyQueryPool vkDevice------ or less efficient:------ > myDestroyQueryPool <- vkGetProc @VkDestroyQueryPool------ __Note:__ @vkDestroyQueryPoolUnsafe@ and @vkDestroyQueryPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyQueryPool@ is an alias---           of @vkDestroyQueryPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyQueryPoolSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyQueryPool"-               vkDestroyQueryPoolUnsafe ::-               VkDevice -- ^ device-                        -> VkQueryPool -- ^ queryPool-                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                    -> IO ()--##else-vkDestroyQueryPoolUnsafe ::-                         VkDevice -- ^ device-                                  -> VkQueryPool -- ^ queryPool-                                                 -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                              -> IO ()-vkDestroyQueryPoolUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyQueryPool)--{-# NOINLINE vkDestroyQueryPoolUnsafe #-}-##endif---- |--- > void vkDestroyQueryPool--- >     ( VkDevice device--- >     , VkQueryPool queryPool--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyQueryPool vkDestroyQueryPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyQueryPool <- vkGetDeviceProc @VkDestroyQueryPool vkDevice------ or less efficient:------ > myDestroyQueryPool <- vkGetProc @VkDestroyQueryPool------ __Note:__ @vkDestroyQueryPoolUnsafe@ and @vkDestroyQueryPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyQueryPool@ is an alias---           of @vkDestroyQueryPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyQueryPoolSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkDestroyQueryPool"-               vkDestroyQueryPoolSafe ::-               VkDevice -- ^ device-                        -> VkQueryPool -- ^ queryPool-                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                    -> IO ()--##else-vkDestroyQueryPoolSafe ::-                       VkDevice -- ^ device-                                -> VkQueryPool -- ^ queryPool-                                               -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                            -> IO ()-vkDestroyQueryPoolSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyQueryPool)--{-# NOINLINE vkDestroyQueryPoolSafe #-}-##endif---- |--- > void vkDestroyQueryPool--- >     ( VkDevice device--- >     , VkQueryPool queryPool--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyQueryPool vkDestroyQueryPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyQueryPool <- vkGetDeviceProc @VkDestroyQueryPool vkDevice------ or less efficient:------ > myDestroyQueryPool <- vkGetProc @VkDestroyQueryPool------ __Note:__ @vkDestroyQueryPoolUnsafe@ and @vkDestroyQueryPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyQueryPool@ is an alias---           of @vkDestroyQueryPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyQueryPoolSafe@.----vkDestroyQueryPool ::-                   VkDevice -- ^ device-                            -> VkQueryPool -- ^ queryPool-                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                        -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkDestroyQueryPool = vkDestroyQueryPoolUnsafe-##else-vkDestroyQueryPool = vkDestroyQueryPoolSafe--##endif-{-# INLINE vkDestroyQueryPool #-}---- | > void vkDestroyQueryPool---   >     ( VkDevice device---   >     , VkQueryPool queryPool---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyQueryPool vkDestroyQueryPool registry at www.khronos.org>-type HS_vkDestroyQueryPool =-     VkDevice -- ^ device-              -> VkQueryPool -- ^ queryPool-                             -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                          -> IO ()--type PFN_vkDestroyQueryPool = FunPtr HS_vkDestroyQueryPool--foreign import ccall unsafe "dynamic"-               unwrapVkDestroyQueryPoolUnsafe ::-               PFN_vkDestroyQueryPool -> HS_vkDestroyQueryPool--foreign import ccall safe "dynamic" unwrapVkDestroyQueryPoolSafe ::-               PFN_vkDestroyQueryPool -> HS_vkDestroyQueryPool--instance VulkanProc "vkDestroyQueryPool" where-        type VkProcType "vkDestroyQueryPool" = HS_vkDestroyQueryPool-        vkProcSymbol = _VkDestroyQueryPool--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDestroyQueryPoolUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroyQueryPoolSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetQueryPoolResults :: CString--pattern VkGetQueryPoolResults <- (is_VkGetQueryPoolResults -> True)-  where VkGetQueryPoolResults = _VkGetQueryPoolResults--{-# INLINE _VkGetQueryPoolResults #-}--_VkGetQueryPoolResults :: CString-_VkGetQueryPoolResults = Ptr "vkGetQueryPoolResults\NUL"##--{-# INLINE is_VkGetQueryPoolResults #-}--is_VkGetQueryPoolResults :: CString -> Bool-is_VkGetQueryPoolResults-  = (EQ ==) . cmpCStrings _VkGetQueryPoolResults--type VkGetQueryPoolResults = "vkGetQueryPoolResults"---- |--- Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkGetQueryPoolResults--- >     ( VkDevice device--- >     , VkQueryPool queryPool--- >     , uint32_t firstQuery--- >     , uint32_t queryCount--- >     , size_t dataSize--- >     , void* pData--- >     , VkDeviceSize stride--- >     , VkQueryResultFlags flags--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetQueryPoolResults vkGetQueryPoolResults registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetQueryPoolResults <- vkGetDeviceProc @VkGetQueryPoolResults vkDevice------ or less efficient:------ > myGetQueryPoolResults <- vkGetProc @VkGetQueryPoolResults------ __Note:__ @vkGetQueryPoolResultsUnsafe@ and @vkGetQueryPoolResultsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetQueryPoolResults@ is an alias---           of @vkGetQueryPoolResultsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetQueryPoolResultsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetQueryPoolResults"-               vkGetQueryPoolResultsUnsafe ::-               VkDevice -- ^ device-                        ->-                 VkQueryPool -- ^ queryPool-                             ->-                   Word32 -- ^ firstQuery-                          ->-                     Word32 -- ^ queryCount-                            ->-                       CSize -- ^ dataSize-                             ->-                         Ptr Void -- ^ pData-                                  -> VkDeviceSize -- ^ stride-                                                  -> VkQueryResultFlags -- ^ flags-                                                                        -> IO VkResult--##else-vkGetQueryPoolResultsUnsafe ::-                            VkDevice -- ^ device-                                     ->-                              VkQueryPool -- ^ queryPool-                                          ->-                                Word32 -- ^ firstQuery-                                       ->-                                  Word32 -- ^ queryCount-                                         ->-                                    CSize -- ^ dataSize-                                          ->-                                      Ptr Void -- ^ pData-                                               -> VkDeviceSize -- ^ stride-                                                               -> VkQueryResultFlags -- ^ flags-                                                                                     -> IO VkResult-vkGetQueryPoolResultsUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkGetQueryPoolResults)--{-# NOINLINE vkGetQueryPoolResultsUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkGetQueryPoolResults--- >     ( VkDevice device--- >     , VkQueryPool queryPool--- >     , uint32_t firstQuery--- >     , uint32_t queryCount--- >     , size_t dataSize--- >     , void* pData--- >     , VkDeviceSize stride--- >     , VkQueryResultFlags flags--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetQueryPoolResults vkGetQueryPoolResults registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetQueryPoolResults <- vkGetDeviceProc @VkGetQueryPoolResults vkDevice------ or less efficient:------ > myGetQueryPoolResults <- vkGetProc @VkGetQueryPoolResults------ __Note:__ @vkGetQueryPoolResultsUnsafe@ and @vkGetQueryPoolResultsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetQueryPoolResults@ is an alias---           of @vkGetQueryPoolResultsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetQueryPoolResultsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkGetQueryPoolResults"-               vkGetQueryPoolResultsSafe ::-               VkDevice -- ^ device-                        ->-                 VkQueryPool -- ^ queryPool-                             ->-                   Word32 -- ^ firstQuery-                          ->-                     Word32 -- ^ queryCount-                            ->-                       CSize -- ^ dataSize-                             ->-                         Ptr Void -- ^ pData-                                  -> VkDeviceSize -- ^ stride-                                                  -> VkQueryResultFlags -- ^ flags-                                                                        -> IO VkResult--##else-vkGetQueryPoolResultsSafe ::-                          VkDevice -- ^ device-                                   ->-                            VkQueryPool -- ^ queryPool-                                        ->-                              Word32 -- ^ firstQuery-                                     ->-                                Word32 -- ^ queryCount-                                       ->-                                  CSize -- ^ dataSize-                                        ->-                                    Ptr Void -- ^ pData-                                             -> VkDeviceSize -- ^ stride-                                                             -> VkQueryResultFlags -- ^ flags-                                                                                   -> IO VkResult-vkGetQueryPoolResultsSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkGetQueryPoolResults)--{-# NOINLINE vkGetQueryPoolResultsSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkGetQueryPoolResults--- >     ( VkDevice device--- >     , VkQueryPool queryPool--- >     , uint32_t firstQuery--- >     , uint32_t queryCount--- >     , size_t dataSize--- >     , void* pData--- >     , VkDeviceSize stride--- >     , VkQueryResultFlags flags--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetQueryPoolResults vkGetQueryPoolResults registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetQueryPoolResults <- vkGetDeviceProc @VkGetQueryPoolResults vkDevice------ or less efficient:------ > myGetQueryPoolResults <- vkGetProc @VkGetQueryPoolResults------ __Note:__ @vkGetQueryPoolResultsUnsafe@ and @vkGetQueryPoolResultsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetQueryPoolResults@ is an alias---           of @vkGetQueryPoolResultsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetQueryPoolResultsSafe@.----vkGetQueryPoolResults ::-                      VkDevice -- ^ device-                               ->-                        VkQueryPool -- ^ queryPool-                                    ->-                          Word32 -- ^ firstQuery-                                 ->-                            Word32 -- ^ queryCount-                                   ->-                              CSize -- ^ dataSize-                                    ->-                                Ptr Void -- ^ pData-                                         -> VkDeviceSize -- ^ stride-                                                         -> VkQueryResultFlags -- ^ flags-                                                                               -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkGetQueryPoolResults = vkGetQueryPoolResultsUnsafe-##else-vkGetQueryPoolResults = vkGetQueryPoolResultsSafe--##endif-{-# INLINE vkGetQueryPoolResults #-}---- | Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------   > VkResult vkGetQueryPoolResults---   >     ( VkDevice device---   >     , VkQueryPool queryPool---   >     , uint32_t firstQuery---   >     , uint32_t queryCount---   >     , size_t dataSize---   >     , void* pData---   >     , VkDeviceSize stride---   >     , VkQueryResultFlags flags---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetQueryPoolResults vkGetQueryPoolResults registry at www.khronos.org>-type HS_vkGetQueryPoolResults =-     VkDevice -- ^ device-              ->-       VkQueryPool -- ^ queryPool-                   ->-         Word32 -- ^ firstQuery-                ->-           Word32 -- ^ queryCount-                  ->-             CSize -- ^ dataSize-                   ->-               Ptr Void -- ^ pData-                        -> VkDeviceSize -- ^ stride-                                        -> VkQueryResultFlags -- ^ flags-                                                              -> IO VkResult--type PFN_vkGetQueryPoolResults = FunPtr HS_vkGetQueryPoolResults--foreign import ccall unsafe "dynamic"-               unwrapVkGetQueryPoolResultsUnsafe ::-               PFN_vkGetQueryPoolResults -> HS_vkGetQueryPoolResults--foreign import ccall safe "dynamic" unwrapVkGetQueryPoolResultsSafe-               :: PFN_vkGetQueryPoolResults -> HS_vkGetQueryPoolResults--instance VulkanProc "vkGetQueryPoolResults" where-        type VkProcType "vkGetQueryPoolResults" = HS_vkGetQueryPoolResults-        vkProcSymbol = _VkGetQueryPoolResults--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetQueryPoolResultsUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetQueryPoolResultsSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCreateBuffer :: CString--pattern VkCreateBuffer <- (is_VkCreateBuffer -> True)-  where VkCreateBuffer = _VkCreateBuffer--{-# INLINE _VkCreateBuffer #-}--_VkCreateBuffer :: CString-_VkCreateBuffer = Ptr "vkCreateBuffer\NUL"##--{-# INLINE is_VkCreateBuffer #-}--is_VkCreateBuffer :: CString -> Bool-is_VkCreateBuffer = (EQ ==) . cmpCStrings _VkCreateBuffer--type VkCreateBuffer = "vkCreateBuffer"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateBuffer--- >     ( VkDevice device--- >     , const VkBufferCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkBuffer* pBuffer--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateBuffer vkCreateBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateBuffer <- vkGetDeviceProc @VkCreateBuffer vkDevice------ or less efficient:------ > myCreateBuffer <- vkGetProc @VkCreateBuffer------ __Note:__ @vkCreateBufferUnsafe@ and @vkCreateBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateBuffer@ is an alias---           of @vkCreateBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateBufferSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateBuffer" vkCreateBufferUnsafe-               ::-               VkDevice -- ^ device-                        ->-                 Ptr VkBufferCreateInfo -- ^ pCreateInfo-                                        ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkBuffer -- ^ pBuffer-                                                             -> IO VkResult--##else-vkCreateBufferUnsafe ::-                     VkDevice -- ^ device-                              ->-                       Ptr VkBufferCreateInfo -- ^ pCreateInfo-                                              ->-                         Ptr VkAllocationCallbacks -- ^ pAllocator-                                                   -> Ptr VkBuffer -- ^ pBuffer-                                                                   -> IO VkResult-vkCreateBufferUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateBuffer)--{-# NOINLINE vkCreateBufferUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateBuffer--- >     ( VkDevice device--- >     , const VkBufferCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkBuffer* pBuffer--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateBuffer vkCreateBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateBuffer <- vkGetDeviceProc @VkCreateBuffer vkDevice------ or less efficient:------ > myCreateBuffer <- vkGetProc @VkCreateBuffer------ __Note:__ @vkCreateBufferUnsafe@ and @vkCreateBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateBuffer@ is an alias---           of @vkCreateBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateBufferSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCreateBuffer" vkCreateBufferSafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkBufferCreateInfo -- ^ pCreateInfo-                                        ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkBuffer -- ^ pBuffer-                                                             -> IO VkResult--##else-vkCreateBufferSafe ::-                   VkDevice -- ^ device-                            ->-                     Ptr VkBufferCreateInfo -- ^ pCreateInfo-                                            ->-                       Ptr VkAllocationCallbacks -- ^ pAllocator-                                                 -> Ptr VkBuffer -- ^ pBuffer-                                                                 -> IO VkResult-vkCreateBufferSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateBuffer)--{-# NOINLINE vkCreateBufferSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateBuffer--- >     ( VkDevice device--- >     , const VkBufferCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkBuffer* pBuffer--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateBuffer vkCreateBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateBuffer <- vkGetDeviceProc @VkCreateBuffer vkDevice------ or less efficient:------ > myCreateBuffer <- vkGetProc @VkCreateBuffer------ __Note:__ @vkCreateBufferUnsafe@ and @vkCreateBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateBuffer@ is an alias---           of @vkCreateBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateBufferSafe@.----vkCreateBuffer ::-               VkDevice -- ^ device-                        ->-                 Ptr VkBufferCreateInfo -- ^ pCreateInfo-                                        ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkBuffer -- ^ pBuffer-                                                             -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkCreateBuffer = vkCreateBufferUnsafe-##else-vkCreateBuffer = vkCreateBufferSafe--##endif-{-# INLINE vkCreateBuffer #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreateBuffer---   >     ( VkDevice device---   >     , const VkBufferCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkBuffer* pBuffer---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateBuffer vkCreateBuffer registry at www.khronos.org>-type HS_vkCreateBuffer =-     VkDevice -- ^ device-              ->-       Ptr VkBufferCreateInfo -- ^ pCreateInfo-                              ->-         Ptr VkAllocationCallbacks -- ^ pAllocator-                                   -> Ptr VkBuffer -- ^ pBuffer-                                                   -> IO VkResult--type PFN_vkCreateBuffer = FunPtr HS_vkCreateBuffer--foreign import ccall unsafe "dynamic" unwrapVkCreateBufferUnsafe ::-               PFN_vkCreateBuffer -> HS_vkCreateBuffer--foreign import ccall safe "dynamic" unwrapVkCreateBufferSafe ::-               PFN_vkCreateBuffer -> HS_vkCreateBuffer--instance VulkanProc "vkCreateBuffer" where-        type VkProcType "vkCreateBuffer" = HS_vkCreateBuffer-        vkProcSymbol = _VkCreateBuffer--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateBufferUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateBufferSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkDestroyBuffer :: CString--pattern VkDestroyBuffer <- (is_VkDestroyBuffer -> True)-  where VkDestroyBuffer = _VkDestroyBuffer--{-# INLINE _VkDestroyBuffer #-}--_VkDestroyBuffer :: CString-_VkDestroyBuffer = Ptr "vkDestroyBuffer\NUL"##--{-# INLINE is_VkDestroyBuffer #-}--is_VkDestroyBuffer :: CString -> Bool-is_VkDestroyBuffer = (EQ ==) . cmpCStrings _VkDestroyBuffer--type VkDestroyBuffer = "vkDestroyBuffer"---- |--- > void vkDestroyBuffer--- >     ( VkDevice device--- >     , VkBuffer buffer--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyBuffer vkDestroyBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyBuffer <- vkGetDeviceProc @VkDestroyBuffer vkDevice------ or less efficient:------ > myDestroyBuffer <- vkGetProc @VkDestroyBuffer------ __Note:__ @vkDestroyBufferUnsafe@ and @vkDestroyBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyBuffer@ is an alias---           of @vkDestroyBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyBufferSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyBuffer" vkDestroyBufferUnsafe-               :: VkDevice -- ^ device-                           -> VkBuffer -- ^ buffer-                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                    -> IO ()--##else-vkDestroyBufferUnsafe ::-                      VkDevice -- ^ device-                               -> VkBuffer -- ^ buffer-                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                        -> IO ()-vkDestroyBufferUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyBuffer)--{-# NOINLINE vkDestroyBufferUnsafe #-}-##endif---- |--- > void vkDestroyBuffer--- >     ( VkDevice device--- >     , VkBuffer buffer--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyBuffer vkDestroyBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyBuffer <- vkGetDeviceProc @VkDestroyBuffer vkDevice------ or less efficient:------ > myDestroyBuffer <- vkGetProc @VkDestroyBuffer------ __Note:__ @vkDestroyBufferUnsafe@ and @vkDestroyBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyBuffer@ is an alias---           of @vkDestroyBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyBufferSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkDestroyBuffer" vkDestroyBufferSafe ::-               VkDevice -- ^ device-                        -> VkBuffer -- ^ buffer-                                    -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                 -> IO ()--##else-vkDestroyBufferSafe ::-                    VkDevice -- ^ device-                             -> VkBuffer -- ^ buffer-                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                      -> IO ()-vkDestroyBufferSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyBuffer)--{-# NOINLINE vkDestroyBufferSafe #-}-##endif---- |--- > void vkDestroyBuffer--- >     ( VkDevice device--- >     , VkBuffer buffer--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyBuffer vkDestroyBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyBuffer <- vkGetDeviceProc @VkDestroyBuffer vkDevice------ or less efficient:------ > myDestroyBuffer <- vkGetProc @VkDestroyBuffer------ __Note:__ @vkDestroyBufferUnsafe@ and @vkDestroyBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyBuffer@ is an alias---           of @vkDestroyBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyBufferSafe@.----vkDestroyBuffer ::-                VkDevice -- ^ device-                         -> VkBuffer -- ^ buffer-                                     -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                  -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkDestroyBuffer = vkDestroyBufferUnsafe-##else-vkDestroyBuffer = vkDestroyBufferSafe--##endif-{-# INLINE vkDestroyBuffer #-}---- | > void vkDestroyBuffer---   >     ( VkDevice device---   >     , VkBuffer buffer---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyBuffer vkDestroyBuffer registry at www.khronos.org>-type HS_vkDestroyBuffer =-     VkDevice -- ^ device-              -> VkBuffer -- ^ buffer-                          -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                       -> IO ()--type PFN_vkDestroyBuffer = FunPtr HS_vkDestroyBuffer--foreign import ccall unsafe "dynamic" unwrapVkDestroyBufferUnsafe-               :: PFN_vkDestroyBuffer -> HS_vkDestroyBuffer--foreign import ccall safe "dynamic" unwrapVkDestroyBufferSafe ::-               PFN_vkDestroyBuffer -> HS_vkDestroyBuffer--instance VulkanProc "vkDestroyBuffer" where-        type VkProcType "vkDestroyBuffer" = HS_vkDestroyBuffer-        vkProcSymbol = _VkDestroyBuffer--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDestroyBufferUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroyBufferSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCreateBufferView :: CString--pattern VkCreateBufferView <- (is_VkCreateBufferView -> True)-  where VkCreateBufferView = _VkCreateBufferView--{-# INLINE _VkCreateBufferView #-}--_VkCreateBufferView :: CString-_VkCreateBufferView = Ptr "vkCreateBufferView\NUL"##--{-# INLINE is_VkCreateBufferView #-}--is_VkCreateBufferView :: CString -> Bool-is_VkCreateBufferView = (EQ ==) . cmpCStrings _VkCreateBufferView--type VkCreateBufferView = "vkCreateBufferView"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateBufferView--- >     ( VkDevice device--- >     , const VkBufferViewCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkBufferView* pView--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateBufferView vkCreateBufferView registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateBufferView <- vkGetDeviceProc @VkCreateBufferView vkDevice------ or less efficient:------ > myCreateBufferView <- vkGetProc @VkCreateBufferView------ __Note:__ @vkCreateBufferViewUnsafe@ and @vkCreateBufferViewSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateBufferView@ is an alias---           of @vkCreateBufferViewUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateBufferViewSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateBufferView"-               vkCreateBufferViewUnsafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkBufferViewCreateInfo -- ^ pCreateInfo-                                            ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkBufferView -- ^ pView-                                                                 -> IO VkResult--##else-vkCreateBufferViewUnsafe ::-                         VkDevice -- ^ device-                                  ->-                           Ptr VkBufferViewCreateInfo -- ^ pCreateInfo-                                                      ->-                             Ptr VkAllocationCallbacks -- ^ pAllocator-                                                       -> Ptr VkBufferView -- ^ pView-                                                                           -> IO VkResult-vkCreateBufferViewUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateBufferView)--{-# NOINLINE vkCreateBufferViewUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateBufferView--- >     ( VkDevice device--- >     , const VkBufferViewCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkBufferView* pView--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateBufferView vkCreateBufferView registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateBufferView <- vkGetDeviceProc @VkCreateBufferView vkDevice------ or less efficient:------ > myCreateBufferView <- vkGetProc @VkCreateBufferView------ __Note:__ @vkCreateBufferViewUnsafe@ and @vkCreateBufferViewSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateBufferView@ is an alias---           of @vkCreateBufferViewUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateBufferViewSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCreateBufferView"-               vkCreateBufferViewSafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkBufferViewCreateInfo -- ^ pCreateInfo-                                            ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkBufferView -- ^ pView-                                                                 -> IO VkResult--##else-vkCreateBufferViewSafe ::-                       VkDevice -- ^ device-                                ->-                         Ptr VkBufferViewCreateInfo -- ^ pCreateInfo-                                                    ->-                           Ptr VkAllocationCallbacks -- ^ pAllocator-                                                     -> Ptr VkBufferView -- ^ pView-                                                                         -> IO VkResult-vkCreateBufferViewSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateBufferView)--{-# NOINLINE vkCreateBufferViewSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateBufferView--- >     ( VkDevice device--- >     , const VkBufferViewCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkBufferView* pView--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateBufferView vkCreateBufferView registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateBufferView <- vkGetDeviceProc @VkCreateBufferView vkDevice------ or less efficient:------ > myCreateBufferView <- vkGetProc @VkCreateBufferView------ __Note:__ @vkCreateBufferViewUnsafe@ and @vkCreateBufferViewSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateBufferView@ is an alias---           of @vkCreateBufferViewUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateBufferViewSafe@.----vkCreateBufferView ::-                   VkDevice -- ^ device-                            ->-                     Ptr VkBufferViewCreateInfo -- ^ pCreateInfo-                                                ->-                       Ptr VkAllocationCallbacks -- ^ pAllocator-                                                 -> Ptr VkBufferView -- ^ pView-                                                                     -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkCreateBufferView = vkCreateBufferViewUnsafe-##else-vkCreateBufferView = vkCreateBufferViewSafe--##endif-{-# INLINE vkCreateBufferView #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreateBufferView---   >     ( VkDevice device---   >     , const VkBufferViewCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkBufferView* pView---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateBufferView vkCreateBufferView registry at www.khronos.org>-type HS_vkCreateBufferView =-     VkDevice -- ^ device-              ->-       Ptr VkBufferViewCreateInfo -- ^ pCreateInfo-                                  ->-         Ptr VkAllocationCallbacks -- ^ pAllocator-                                   -> Ptr VkBufferView -- ^ pView-                                                       -> IO VkResult--type PFN_vkCreateBufferView = FunPtr HS_vkCreateBufferView--foreign import ccall unsafe "dynamic"-               unwrapVkCreateBufferViewUnsafe ::-               PFN_vkCreateBufferView -> HS_vkCreateBufferView--foreign import ccall safe "dynamic" unwrapVkCreateBufferViewSafe ::-               PFN_vkCreateBufferView -> HS_vkCreateBufferView--instance VulkanProc "vkCreateBufferView" where-        type VkProcType "vkCreateBufferView" = HS_vkCreateBufferView-        vkProcSymbol = _VkCreateBufferView--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateBufferViewUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateBufferViewSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkDestroyBufferView :: CString--pattern VkDestroyBufferView <- (is_VkDestroyBufferView -> True)-  where VkDestroyBufferView = _VkDestroyBufferView--{-# INLINE _VkDestroyBufferView #-}--_VkDestroyBufferView :: CString-_VkDestroyBufferView = Ptr "vkDestroyBufferView\NUL"##--{-# INLINE is_VkDestroyBufferView #-}--is_VkDestroyBufferView :: CString -> Bool-is_VkDestroyBufferView = (EQ ==) . cmpCStrings _VkDestroyBufferView--type VkDestroyBufferView = "vkDestroyBufferView"---- |--- > void vkDestroyBufferView--- >     ( VkDevice device--- >     , VkBufferView bufferView--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyBufferView vkDestroyBufferView registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyBufferView <- vkGetDeviceProc @VkDestroyBufferView vkDevice------ or less efficient:------ > myDestroyBufferView <- vkGetProc @VkDestroyBufferView------ __Note:__ @vkDestroyBufferViewUnsafe@ and @vkDestroyBufferViewSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyBufferView@ is an alias---           of @vkDestroyBufferViewUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyBufferViewSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyBufferView"-               vkDestroyBufferViewUnsafe ::-               VkDevice -- ^ device-                        -> VkBufferView -- ^ bufferView-                                        -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                     -> IO ()--##else-vkDestroyBufferViewUnsafe ::-                          VkDevice -- ^ device-                                   -> VkBufferView -- ^ bufferView-                                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                -> IO ()-vkDestroyBufferViewUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyBufferView)--{-# NOINLINE vkDestroyBufferViewUnsafe #-}-##endif---- |--- > void vkDestroyBufferView--- >     ( VkDevice device--- >     , VkBufferView bufferView--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyBufferView vkDestroyBufferView registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyBufferView <- vkGetDeviceProc @VkDestroyBufferView vkDevice------ or less efficient:------ > myDestroyBufferView <- vkGetProc @VkDestroyBufferView------ __Note:__ @vkDestroyBufferViewUnsafe@ and @vkDestroyBufferViewSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyBufferView@ is an alias---           of @vkDestroyBufferViewUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyBufferViewSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkDestroyBufferView"-               vkDestroyBufferViewSafe ::-               VkDevice -- ^ device-                        -> VkBufferView -- ^ bufferView-                                        -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                     -> IO ()--##else-vkDestroyBufferViewSafe ::-                        VkDevice -- ^ device-                                 -> VkBufferView -- ^ bufferView-                                                 -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                              -> IO ()-vkDestroyBufferViewSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyBufferView)--{-# NOINLINE vkDestroyBufferViewSafe #-}-##endif---- |--- > void vkDestroyBufferView--- >     ( VkDevice device--- >     , VkBufferView bufferView--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyBufferView vkDestroyBufferView registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyBufferView <- vkGetDeviceProc @VkDestroyBufferView vkDevice------ or less efficient:------ > myDestroyBufferView <- vkGetProc @VkDestroyBufferView------ __Note:__ @vkDestroyBufferViewUnsafe@ and @vkDestroyBufferViewSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyBufferView@ is an alias---           of @vkDestroyBufferViewUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyBufferViewSafe@.----vkDestroyBufferView ::-                    VkDevice -- ^ device-                             -> VkBufferView -- ^ bufferView-                                             -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                          -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkDestroyBufferView = vkDestroyBufferViewUnsafe-##else-vkDestroyBufferView = vkDestroyBufferViewSafe--##endif-{-# INLINE vkDestroyBufferView #-}---- | > void vkDestroyBufferView---   >     ( VkDevice device---   >     , VkBufferView bufferView---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyBufferView vkDestroyBufferView registry at www.khronos.org>-type HS_vkDestroyBufferView =-     VkDevice -- ^ device-              -> VkBufferView -- ^ bufferView-                              -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                           -> IO ()--type PFN_vkDestroyBufferView = FunPtr HS_vkDestroyBufferView--foreign import ccall unsafe "dynamic"-               unwrapVkDestroyBufferViewUnsafe ::-               PFN_vkDestroyBufferView -> HS_vkDestroyBufferView--foreign import ccall safe "dynamic" unwrapVkDestroyBufferViewSafe-               :: PFN_vkDestroyBufferView -> HS_vkDestroyBufferView--instance VulkanProc "vkDestroyBufferView" where-        type VkProcType "vkDestroyBufferView" = HS_vkDestroyBufferView-        vkProcSymbol = _VkDestroyBufferView--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDestroyBufferViewUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroyBufferViewSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCreateImage :: CString--pattern VkCreateImage <- (is_VkCreateImage -> True)-  where VkCreateImage = _VkCreateImage--{-# INLINE _VkCreateImage #-}--_VkCreateImage :: CString-_VkCreateImage = Ptr "vkCreateImage\NUL"##--{-# INLINE is_VkCreateImage #-}--is_VkCreateImage :: CString -> Bool-is_VkCreateImage = (EQ ==) . cmpCStrings _VkCreateImage--type VkCreateImage = "vkCreateImage"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateImage--- >     ( VkDevice device--- >     , const VkImageCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkImage* pImage--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateImage vkCreateImage registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateImage <- vkGetDeviceProc @VkCreateImage vkDevice------ or less efficient:------ > myCreateImage <- vkGetProc @VkCreateImage------ __Note:__ @vkCreateImageUnsafe@ and @vkCreateImageSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateImage@ is an alias---           of @vkCreateImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateImageSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateImage" vkCreateImageUnsafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkImageCreateInfo -- ^ pCreateInfo-                                       ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkImage -- ^ pImage-                                                            -> IO VkResult--##else-vkCreateImageUnsafe ::-                    VkDevice -- ^ device-                             ->-                      Ptr VkImageCreateInfo -- ^ pCreateInfo-                                            ->-                        Ptr VkAllocationCallbacks -- ^ pAllocator-                                                  -> Ptr VkImage -- ^ pImage-                                                                 -> IO VkResult-vkCreateImageUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateImage)--{-# NOINLINE vkCreateImageUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateImage--- >     ( VkDevice device--- >     , const VkImageCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkImage* pImage--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateImage vkCreateImage registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateImage <- vkGetDeviceProc @VkCreateImage vkDevice------ or less efficient:------ > myCreateImage <- vkGetProc @VkCreateImage------ __Note:__ @vkCreateImageUnsafe@ and @vkCreateImageSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateImage@ is an alias---           of @vkCreateImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateImageSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCreateImage" vkCreateImageSafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkImageCreateInfo -- ^ pCreateInfo-                                       ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkImage -- ^ pImage-                                                            -> IO VkResult--##else-vkCreateImageSafe ::-                  VkDevice -- ^ device-                           ->-                    Ptr VkImageCreateInfo -- ^ pCreateInfo-                                          ->-                      Ptr VkAllocationCallbacks -- ^ pAllocator-                                                -> Ptr VkImage -- ^ pImage-                                                               -> IO VkResult-vkCreateImageSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateImage)--{-# NOINLINE vkCreateImageSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateImage--- >     ( VkDevice device--- >     , const VkImageCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkImage* pImage--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateImage vkCreateImage registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateImage <- vkGetDeviceProc @VkCreateImage vkDevice------ or less efficient:------ > myCreateImage <- vkGetProc @VkCreateImage------ __Note:__ @vkCreateImageUnsafe@ and @vkCreateImageSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateImage@ is an alias---           of @vkCreateImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateImageSafe@.----vkCreateImage ::-              VkDevice -- ^ device-                       ->-                Ptr VkImageCreateInfo -- ^ pCreateInfo-                                      ->-                  Ptr VkAllocationCallbacks -- ^ pAllocator-                                            -> Ptr VkImage -- ^ pImage-                                                           -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkCreateImage = vkCreateImageUnsafe-##else-vkCreateImage = vkCreateImageSafe--##endif-{-# INLINE vkCreateImage #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreateImage---   >     ( VkDevice device---   >     , const VkImageCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkImage* pImage---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateImage vkCreateImage registry at www.khronos.org>-type HS_vkCreateImage =-     VkDevice -- ^ device-              ->-       Ptr VkImageCreateInfo -- ^ pCreateInfo-                             ->-         Ptr VkAllocationCallbacks -- ^ pAllocator-                                   -> Ptr VkImage -- ^ pImage-                                                  -> IO VkResult--type PFN_vkCreateImage = FunPtr HS_vkCreateImage--foreign import ccall unsafe "dynamic" unwrapVkCreateImageUnsafe ::-               PFN_vkCreateImage -> HS_vkCreateImage--foreign import ccall safe "dynamic" unwrapVkCreateImageSafe ::-               PFN_vkCreateImage -> HS_vkCreateImage--instance VulkanProc "vkCreateImage" where-        type VkProcType "vkCreateImage" = HS_vkCreateImage-        vkProcSymbol = _VkCreateImage--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateImageUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateImageSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkDestroyImage :: CString--pattern VkDestroyImage <- (is_VkDestroyImage -> True)-  where VkDestroyImage = _VkDestroyImage--{-# INLINE _VkDestroyImage #-}--_VkDestroyImage :: CString-_VkDestroyImage = Ptr "vkDestroyImage\NUL"##--{-# INLINE is_VkDestroyImage #-}--is_VkDestroyImage :: CString -> Bool-is_VkDestroyImage = (EQ ==) . cmpCStrings _VkDestroyImage--type VkDestroyImage = "vkDestroyImage"---- |--- > void vkDestroyImage--- >     ( VkDevice device--- >     , VkImage image--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyImage vkDestroyImage registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyImage <- vkGetDeviceProc @VkDestroyImage vkDevice------ or less efficient:------ > myDestroyImage <- vkGetProc @VkDestroyImage------ __Note:__ @vkDestroyImageUnsafe@ and @vkDestroyImageSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyImage@ is an alias---           of @vkDestroyImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyImageSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyImage" vkDestroyImageUnsafe-               :: VkDevice -- ^ device-                           -> VkImage -- ^ image-                                      -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                   -> IO ()--##else-vkDestroyImageUnsafe ::-                     VkDevice -- ^ device-                              -> VkImage -- ^ image-                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                      -> IO ()-vkDestroyImageUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyImage)--{-# NOINLINE vkDestroyImageUnsafe #-}-##endif---- |--- > void vkDestroyImage--- >     ( VkDevice device--- >     , VkImage image--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyImage vkDestroyImage registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyImage <- vkGetDeviceProc @VkDestroyImage vkDevice------ or less efficient:------ > myDestroyImage <- vkGetProc @VkDestroyImage------ __Note:__ @vkDestroyImageUnsafe@ and @vkDestroyImageSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyImage@ is an alias---           of @vkDestroyImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyImageSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkDestroyImage" vkDestroyImageSafe ::-               VkDevice -- ^ device-                        -> VkImage -- ^ image-                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                -> IO ()--##else-vkDestroyImageSafe ::-                   VkDevice -- ^ device-                            -> VkImage -- ^ image-                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                    -> IO ()-vkDestroyImageSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyImage)--{-# NOINLINE vkDestroyImageSafe #-}-##endif---- |--- > void vkDestroyImage--- >     ( VkDevice device--- >     , VkImage image--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyImage vkDestroyImage registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyImage <- vkGetDeviceProc @VkDestroyImage vkDevice------ or less efficient:------ > myDestroyImage <- vkGetProc @VkDestroyImage------ __Note:__ @vkDestroyImageUnsafe@ and @vkDestroyImageSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyImage@ is an alias---           of @vkDestroyImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyImageSafe@.----vkDestroyImage ::-               VkDevice -- ^ device-                        -> VkImage -- ^ image-                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkDestroyImage = vkDestroyImageUnsafe-##else-vkDestroyImage = vkDestroyImageSafe--##endif-{-# INLINE vkDestroyImage #-}---- | > void vkDestroyImage---   >     ( VkDevice device---   >     , VkImage image---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyImage vkDestroyImage registry at www.khronos.org>-type HS_vkDestroyImage =-     VkDevice -- ^ device-              -> VkImage -- ^ image-                         -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                      -> IO ()--type PFN_vkDestroyImage = FunPtr HS_vkDestroyImage--foreign import ccall unsafe "dynamic" unwrapVkDestroyImageUnsafe ::-               PFN_vkDestroyImage -> HS_vkDestroyImage--foreign import ccall safe "dynamic" unwrapVkDestroyImageSafe ::-               PFN_vkDestroyImage -> HS_vkDestroyImage--instance VulkanProc "vkDestroyImage" where-        type VkProcType "vkDestroyImage" = HS_vkDestroyImage-        vkProcSymbol = _VkDestroyImage--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDestroyImageUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroyImageSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetImageSubresourceLayout :: CString--pattern VkGetImageSubresourceLayout <--        (is_VkGetImageSubresourceLayout -> True)-  where VkGetImageSubresourceLayout = _VkGetImageSubresourceLayout--{-# INLINE _VkGetImageSubresourceLayout #-}--_VkGetImageSubresourceLayout :: CString-_VkGetImageSubresourceLayout-  = Ptr "vkGetImageSubresourceLayout\NUL"##--{-# INLINE is_VkGetImageSubresourceLayout #-}--is_VkGetImageSubresourceLayout :: CString -> Bool-is_VkGetImageSubresourceLayout-  = (EQ ==) . cmpCStrings _VkGetImageSubresourceLayout--type VkGetImageSubresourceLayout = "vkGetImageSubresourceLayout"---- |--- > void vkGetImageSubresourceLayout--- >     ( VkDevice device--- >     , VkImage image--- >     , const VkImageSubresource* pSubresource--- >     , VkSubresourceLayout* pLayout--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSubresourceLayout vkGetImageSubresourceLayout registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetImageSubresourceLayout <- vkGetDeviceProc @VkGetImageSubresourceLayout vkDevice------ or less efficient:------ > myGetImageSubresourceLayout <- vkGetProc @VkGetImageSubresourceLayout------ __Note:__ @vkGetImageSubresourceLayoutUnsafe@ and @vkGetImageSubresourceLayoutSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetImageSubresourceLayout@ is an alias---           of @vkGetImageSubresourceLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetImageSubresourceLayoutSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetImageSubresourceLayout"-               vkGetImageSubresourceLayoutUnsafe ::-               VkDevice -- ^ device-                        ->-                 VkImage -- ^ image-                         ->-                   Ptr VkImageSubresource -- ^ pSubresource-                                          -> Ptr VkSubresourceLayout -- ^ pLayout-                                                                     -> IO ()--##else-vkGetImageSubresourceLayoutUnsafe ::-                                  VkDevice -- ^ device-                                           ->-                                    VkImage -- ^ image-                                            ->-                                      Ptr VkImageSubresource -- ^ pSubresource-                                                             -> Ptr VkSubresourceLayout -- ^ pLayout-                                                                                        -> IO ()-vkGetImageSubresourceLayoutUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetImageSubresourceLayout)--{-# NOINLINE vkGetImageSubresourceLayoutUnsafe #-}-##endif---- |--- > void vkGetImageSubresourceLayout--- >     ( VkDevice device--- >     , VkImage image--- >     , const VkImageSubresource* pSubresource--- >     , VkSubresourceLayout* pLayout--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSubresourceLayout vkGetImageSubresourceLayout registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetImageSubresourceLayout <- vkGetDeviceProc @VkGetImageSubresourceLayout vkDevice------ or less efficient:------ > myGetImageSubresourceLayout <- vkGetProc @VkGetImageSubresourceLayout------ __Note:__ @vkGetImageSubresourceLayoutUnsafe@ and @vkGetImageSubresourceLayoutSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetImageSubresourceLayout@ is an alias---           of @vkGetImageSubresourceLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetImageSubresourceLayoutSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkGetImageSubresourceLayout"-               vkGetImageSubresourceLayoutSafe ::-               VkDevice -- ^ device-                        ->-                 VkImage -- ^ image-                         ->-                   Ptr VkImageSubresource -- ^ pSubresource-                                          -> Ptr VkSubresourceLayout -- ^ pLayout-                                                                     -> IO ()--##else-vkGetImageSubresourceLayoutSafe ::-                                VkDevice -- ^ device-                                         ->-                                  VkImage -- ^ image-                                          ->-                                    Ptr VkImageSubresource -- ^ pSubresource-                                                           -> Ptr VkSubresourceLayout -- ^ pLayout-                                                                                      -> IO ()-vkGetImageSubresourceLayoutSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetImageSubresourceLayout)--{-# NOINLINE vkGetImageSubresourceLayoutSafe #-}-##endif---- |--- > void vkGetImageSubresourceLayout--- >     ( VkDevice device--- >     , VkImage image--- >     , const VkImageSubresource* pSubresource--- >     , VkSubresourceLayout* pLayout--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSubresourceLayout vkGetImageSubresourceLayout registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetImageSubresourceLayout <- vkGetDeviceProc @VkGetImageSubresourceLayout vkDevice------ or less efficient:------ > myGetImageSubresourceLayout <- vkGetProc @VkGetImageSubresourceLayout------ __Note:__ @vkGetImageSubresourceLayoutUnsafe@ and @vkGetImageSubresourceLayoutSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetImageSubresourceLayout@ is an alias---           of @vkGetImageSubresourceLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetImageSubresourceLayoutSafe@.----vkGetImageSubresourceLayout ::-                            VkDevice -- ^ device-                                     ->-                              VkImage -- ^ image-                                      ->-                                Ptr VkImageSubresource -- ^ pSubresource-                                                       -> Ptr VkSubresourceLayout -- ^ pLayout-                                                                                  -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkGetImageSubresourceLayout = vkGetImageSubresourceLayoutUnsafe-##else-vkGetImageSubresourceLayout = vkGetImageSubresourceLayoutSafe--##endif-{-# INLINE vkGetImageSubresourceLayout #-}---- | > void vkGetImageSubresourceLayout---   >     ( VkDevice device---   >     , VkImage image---   >     , const VkImageSubresource* pSubresource---   >     , VkSubresourceLayout* pLayout---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSubresourceLayout vkGetImageSubresourceLayout registry at www.khronos.org>-type HS_vkGetImageSubresourceLayout =-     VkDevice -- ^ device-              ->-       VkImage -- ^ image-               ->-         Ptr VkImageSubresource -- ^ pSubresource-                                -> Ptr VkSubresourceLayout -- ^ pLayout-                                                           -> IO ()--type PFN_vkGetImageSubresourceLayout =-     FunPtr HS_vkGetImageSubresourceLayout--foreign import ccall unsafe "dynamic"-               unwrapVkGetImageSubresourceLayoutUnsafe ::-               PFN_vkGetImageSubresourceLayout -> HS_vkGetImageSubresourceLayout--foreign import ccall safe "dynamic"-               unwrapVkGetImageSubresourceLayoutSafe ::-               PFN_vkGetImageSubresourceLayout -> HS_vkGetImageSubresourceLayout--instance VulkanProc "vkGetImageSubresourceLayout" where-        type VkProcType "vkGetImageSubresourceLayout" =-             HS_vkGetImageSubresourceLayout-        vkProcSymbol = _VkGetImageSubresourceLayout--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetImageSubresourceLayoutUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetImageSubresourceLayoutSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCreateImageView :: CString--pattern VkCreateImageView <- (is_VkCreateImageView -> True)-  where VkCreateImageView = _VkCreateImageView--{-# INLINE _VkCreateImageView #-}--_VkCreateImageView :: CString-_VkCreateImageView = Ptr "vkCreateImageView\NUL"##--{-# INLINE is_VkCreateImageView #-}--is_VkCreateImageView :: CString -> Bool-is_VkCreateImageView = (EQ ==) . cmpCStrings _VkCreateImageView--type VkCreateImageView = "vkCreateImageView"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateImageView--- >     ( VkDevice device--- >     , const VkImageViewCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkImageView* pView--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateImageView vkCreateImageView registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateImageView <- vkGetDeviceProc @VkCreateImageView vkDevice------ or less efficient:------ > myCreateImageView <- vkGetProc @VkCreateImageView------ __Note:__ @vkCreateImageViewUnsafe@ and @vkCreateImageViewSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateImageView@ is an alias---           of @vkCreateImageViewUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateImageViewSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateImageView"-               vkCreateImageViewUnsafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkImageViewCreateInfo -- ^ pCreateInfo-                                           ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkImageView -- ^ pView-                                                                -> IO VkResult--##else-vkCreateImageViewUnsafe ::-                        VkDevice -- ^ device-                                 ->-                          Ptr VkImageViewCreateInfo -- ^ pCreateInfo-                                                    ->-                            Ptr VkAllocationCallbacks -- ^ pAllocator-                                                      -> Ptr VkImageView -- ^ pView-                                                                         -> IO VkResult-vkCreateImageViewUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateImageView)--{-# NOINLINE vkCreateImageViewUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateImageView--- >     ( VkDevice device--- >     , const VkImageViewCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkImageView* pView--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateImageView vkCreateImageView registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateImageView <- vkGetDeviceProc @VkCreateImageView vkDevice------ or less efficient:------ > myCreateImageView <- vkGetProc @VkCreateImageView------ __Note:__ @vkCreateImageViewUnsafe@ and @vkCreateImageViewSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateImageView@ is an alias---           of @vkCreateImageViewUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateImageViewSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCreateImageView" vkCreateImageViewSafe-               ::-               VkDevice -- ^ device-                        ->-                 Ptr VkImageViewCreateInfo -- ^ pCreateInfo-                                           ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkImageView -- ^ pView-                                                                -> IO VkResult--##else-vkCreateImageViewSafe ::-                      VkDevice -- ^ device-                               ->-                        Ptr VkImageViewCreateInfo -- ^ pCreateInfo-                                                  ->-                          Ptr VkAllocationCallbacks -- ^ pAllocator-                                                    -> Ptr VkImageView -- ^ pView-                                                                       -> IO VkResult-vkCreateImageViewSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateImageView)--{-# NOINLINE vkCreateImageViewSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateImageView--- >     ( VkDevice device--- >     , const VkImageViewCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkImageView* pView--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateImageView vkCreateImageView registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateImageView <- vkGetDeviceProc @VkCreateImageView vkDevice------ or less efficient:------ > myCreateImageView <- vkGetProc @VkCreateImageView------ __Note:__ @vkCreateImageViewUnsafe@ and @vkCreateImageViewSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateImageView@ is an alias---           of @vkCreateImageViewUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateImageViewSafe@.----vkCreateImageView ::-                  VkDevice -- ^ device-                           ->-                    Ptr VkImageViewCreateInfo -- ^ pCreateInfo-                                              ->-                      Ptr VkAllocationCallbacks -- ^ pAllocator-                                                -> Ptr VkImageView -- ^ pView-                                                                   -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkCreateImageView = vkCreateImageViewUnsafe-##else-vkCreateImageView = vkCreateImageViewSafe--##endif-{-# INLINE vkCreateImageView #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreateImageView---   >     ( VkDevice device---   >     , const VkImageViewCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkImageView* pView---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateImageView vkCreateImageView registry at www.khronos.org>-type HS_vkCreateImageView =-     VkDevice -- ^ device-              ->-       Ptr VkImageViewCreateInfo -- ^ pCreateInfo-                                 ->-         Ptr VkAllocationCallbacks -- ^ pAllocator-                                   -> Ptr VkImageView -- ^ pView-                                                      -> IO VkResult--type PFN_vkCreateImageView = FunPtr HS_vkCreateImageView--foreign import ccall unsafe "dynamic" unwrapVkCreateImageViewUnsafe-               :: PFN_vkCreateImageView -> HS_vkCreateImageView--foreign import ccall safe "dynamic" unwrapVkCreateImageViewSafe ::-               PFN_vkCreateImageView -> HS_vkCreateImageView--instance VulkanProc "vkCreateImageView" where-        type VkProcType "vkCreateImageView" = HS_vkCreateImageView-        vkProcSymbol = _VkCreateImageView--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateImageViewUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateImageViewSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkDestroyImageView :: CString--pattern VkDestroyImageView <- (is_VkDestroyImageView -> True)-  where VkDestroyImageView = _VkDestroyImageView--{-# INLINE _VkDestroyImageView #-}--_VkDestroyImageView :: CString-_VkDestroyImageView = Ptr "vkDestroyImageView\NUL"##--{-# INLINE is_VkDestroyImageView #-}--is_VkDestroyImageView :: CString -> Bool-is_VkDestroyImageView = (EQ ==) . cmpCStrings _VkDestroyImageView--type VkDestroyImageView = "vkDestroyImageView"---- |--- > void vkDestroyImageView--- >     ( VkDevice device--- >     , VkImageView imageView--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyImageView vkDestroyImageView registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyImageView <- vkGetDeviceProc @VkDestroyImageView vkDevice------ or less efficient:------ > myDestroyImageView <- vkGetProc @VkDestroyImageView------ __Note:__ @vkDestroyImageViewUnsafe@ and @vkDestroyImageViewSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyImageView@ is an alias---           of @vkDestroyImageViewUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyImageViewSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyImageView"-               vkDestroyImageViewUnsafe ::-               VkDevice -- ^ device-                        -> VkImageView -- ^ imageView-                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                    -> IO ()--##else-vkDestroyImageViewUnsafe ::-                         VkDevice -- ^ device-                                  -> VkImageView -- ^ imageView-                                                 -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                              -> IO ()-vkDestroyImageViewUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyImageView)--{-# NOINLINE vkDestroyImageViewUnsafe #-}-##endif---- |--- > void vkDestroyImageView--- >     ( VkDevice device--- >     , VkImageView imageView--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyImageView vkDestroyImageView registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyImageView <- vkGetDeviceProc @VkDestroyImageView vkDevice------ or less efficient:------ > myDestroyImageView <- vkGetProc @VkDestroyImageView------ __Note:__ @vkDestroyImageViewUnsafe@ and @vkDestroyImageViewSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyImageView@ is an alias---           of @vkDestroyImageViewUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyImageViewSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkDestroyImageView"-               vkDestroyImageViewSafe ::-               VkDevice -- ^ device-                        -> VkImageView -- ^ imageView-                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                    -> IO ()--##else-vkDestroyImageViewSafe ::-                       VkDevice -- ^ device-                                -> VkImageView -- ^ imageView-                                               -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                            -> IO ()-vkDestroyImageViewSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyImageView)--{-# NOINLINE vkDestroyImageViewSafe #-}-##endif---- |--- > void vkDestroyImageView--- >     ( VkDevice device--- >     , VkImageView imageView--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyImageView vkDestroyImageView registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyImageView <- vkGetDeviceProc @VkDestroyImageView vkDevice------ or less efficient:------ > myDestroyImageView <- vkGetProc @VkDestroyImageView------ __Note:__ @vkDestroyImageViewUnsafe@ and @vkDestroyImageViewSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyImageView@ is an alias---           of @vkDestroyImageViewUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyImageViewSafe@.----vkDestroyImageView ::-                   VkDevice -- ^ device-                            -> VkImageView -- ^ imageView-                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                        -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkDestroyImageView = vkDestroyImageViewUnsafe-##else-vkDestroyImageView = vkDestroyImageViewSafe--##endif-{-# INLINE vkDestroyImageView #-}---- | > void vkDestroyImageView---   >     ( VkDevice device---   >     , VkImageView imageView---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyImageView vkDestroyImageView registry at www.khronos.org>-type HS_vkDestroyImageView =-     VkDevice -- ^ device-              -> VkImageView -- ^ imageView-                             -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                          -> IO ()--type PFN_vkDestroyImageView = FunPtr HS_vkDestroyImageView--foreign import ccall unsafe "dynamic"-               unwrapVkDestroyImageViewUnsafe ::-               PFN_vkDestroyImageView -> HS_vkDestroyImageView--foreign import ccall safe "dynamic" unwrapVkDestroyImageViewSafe ::-               PFN_vkDestroyImageView -> HS_vkDestroyImageView--instance VulkanProc "vkDestroyImageView" where-        type VkProcType "vkDestroyImageView" = HS_vkDestroyImageView-        vkProcSymbol = _VkDestroyImageView--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDestroyImageViewUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroyImageViewSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCreateShaderModule :: CString--pattern VkCreateShaderModule <- (is_VkCreateShaderModule -> True)-  where VkCreateShaderModule = _VkCreateShaderModule--{-# INLINE _VkCreateShaderModule #-}--_VkCreateShaderModule :: CString-_VkCreateShaderModule = Ptr "vkCreateShaderModule\NUL"##--{-# INLINE is_VkCreateShaderModule #-}--is_VkCreateShaderModule :: CString -> Bool-is_VkCreateShaderModule-  = (EQ ==) . cmpCStrings _VkCreateShaderModule--type VkCreateShaderModule = "vkCreateShaderModule"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.------ > VkResult vkCreateShaderModule--- >     ( VkDevice device--- >     , const VkShaderModuleCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkShaderModule* pShaderModule--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateShaderModule vkCreateShaderModule registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateShaderModule <- vkGetDeviceProc @VkCreateShaderModule vkDevice------ or less efficient:------ > myCreateShaderModule <- vkGetProc @VkCreateShaderModule------ __Note:__ @vkCreateShaderModuleUnsafe@ and @vkCreateShaderModuleSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateShaderModule@ is an alias---           of @vkCreateShaderModuleUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateShaderModuleSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateShaderModule"-               vkCreateShaderModuleUnsafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkShaderModuleCreateInfo -- ^ pCreateInfo-                                              ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkShaderModule -- ^ pShaderModule-                                                                   -> IO VkResult--##else-vkCreateShaderModuleUnsafe ::-                           VkDevice -- ^ device-                                    ->-                             Ptr VkShaderModuleCreateInfo -- ^ pCreateInfo-                                                          ->-                               Ptr VkAllocationCallbacks -- ^ pAllocator-                                                         -> Ptr VkShaderModule -- ^ pShaderModule-                                                                               -> IO VkResult-vkCreateShaderModuleUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateShaderModule)--{-# NOINLINE vkCreateShaderModuleUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.------ > VkResult vkCreateShaderModule--- >     ( VkDevice device--- >     , const VkShaderModuleCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkShaderModule* pShaderModule--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateShaderModule vkCreateShaderModule registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateShaderModule <- vkGetDeviceProc @VkCreateShaderModule vkDevice------ or less efficient:------ > myCreateShaderModule <- vkGetProc @VkCreateShaderModule------ __Note:__ @vkCreateShaderModuleUnsafe@ and @vkCreateShaderModuleSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateShaderModule@ is an alias---           of @vkCreateShaderModuleUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateShaderModuleSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCreateShaderModule"-               vkCreateShaderModuleSafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkShaderModuleCreateInfo -- ^ pCreateInfo-                                              ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkShaderModule -- ^ pShaderModule-                                                                   -> IO VkResult--##else-vkCreateShaderModuleSafe ::-                         VkDevice -- ^ device-                                  ->-                           Ptr VkShaderModuleCreateInfo -- ^ pCreateInfo-                                                        ->-                             Ptr VkAllocationCallbacks -- ^ pAllocator-                                                       -> Ptr VkShaderModule -- ^ pShaderModule-                                                                             -> IO VkResult-vkCreateShaderModuleSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateShaderModule)--{-# NOINLINE vkCreateShaderModuleSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.------ > VkResult vkCreateShaderModule--- >     ( VkDevice device--- >     , const VkShaderModuleCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkShaderModule* pShaderModule--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateShaderModule vkCreateShaderModule registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateShaderModule <- vkGetDeviceProc @VkCreateShaderModule vkDevice------ or less efficient:------ > myCreateShaderModule <- vkGetProc @VkCreateShaderModule------ __Note:__ @vkCreateShaderModuleUnsafe@ and @vkCreateShaderModuleSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateShaderModule@ is an alias---           of @vkCreateShaderModuleUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateShaderModuleSafe@.----vkCreateShaderModule ::-                     VkDevice -- ^ device-                              ->-                       Ptr VkShaderModuleCreateInfo -- ^ pCreateInfo-                                                    ->-                         Ptr VkAllocationCallbacks -- ^ pAllocator-                                                   -> Ptr VkShaderModule -- ^ pShaderModule-                                                                         -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkCreateShaderModule = vkCreateShaderModuleUnsafe-##else-vkCreateShaderModule = vkCreateShaderModuleSafe--##endif-{-# INLINE vkCreateShaderModule #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.------   > VkResult vkCreateShaderModule---   >     ( VkDevice device---   >     , const VkShaderModuleCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkShaderModule* pShaderModule---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateShaderModule vkCreateShaderModule registry at www.khronos.org>-type HS_vkCreateShaderModule =-     VkDevice -- ^ device-              ->-       Ptr VkShaderModuleCreateInfo -- ^ pCreateInfo-                                    ->-         Ptr VkAllocationCallbacks -- ^ pAllocator-                                   -> Ptr VkShaderModule -- ^ pShaderModule-                                                         -> IO VkResult--type PFN_vkCreateShaderModule = FunPtr HS_vkCreateShaderModule--foreign import ccall unsafe "dynamic"-               unwrapVkCreateShaderModuleUnsafe ::-               PFN_vkCreateShaderModule -> HS_vkCreateShaderModule--foreign import ccall safe "dynamic" unwrapVkCreateShaderModuleSafe-               :: PFN_vkCreateShaderModule -> HS_vkCreateShaderModule--instance VulkanProc "vkCreateShaderModule" where-        type VkProcType "vkCreateShaderModule" = HS_vkCreateShaderModule-        vkProcSymbol = _VkCreateShaderModule--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateShaderModuleUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateShaderModuleSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkDestroyShaderModule :: CString--pattern VkDestroyShaderModule <- (is_VkDestroyShaderModule -> True)-  where VkDestroyShaderModule = _VkDestroyShaderModule--{-# INLINE _VkDestroyShaderModule #-}--_VkDestroyShaderModule :: CString-_VkDestroyShaderModule = Ptr "vkDestroyShaderModule\NUL"##--{-# INLINE is_VkDestroyShaderModule #-}--is_VkDestroyShaderModule :: CString -> Bool-is_VkDestroyShaderModule-  = (EQ ==) . cmpCStrings _VkDestroyShaderModule--type VkDestroyShaderModule = "vkDestroyShaderModule"---- |--- > void vkDestroyShaderModule--- >     ( VkDevice device--- >     , VkShaderModule shaderModule--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyShaderModule vkDestroyShaderModule registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyShaderModule <- vkGetDeviceProc @VkDestroyShaderModule vkDevice------ or less efficient:------ > myDestroyShaderModule <- vkGetProc @VkDestroyShaderModule------ __Note:__ @vkDestroyShaderModuleUnsafe@ and @vkDestroyShaderModuleSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyShaderModule@ is an alias---           of @vkDestroyShaderModuleUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyShaderModuleSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyShaderModule"-               vkDestroyShaderModuleUnsafe ::-               VkDevice -- ^ device-                        -> VkShaderModule -- ^ shaderModule-                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                       -> IO ()--##else-vkDestroyShaderModuleUnsafe ::-                            VkDevice -- ^ device-                                     -> VkShaderModule -- ^ shaderModule-                                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                    -> IO ()-vkDestroyShaderModuleUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyShaderModule)--{-# NOINLINE vkDestroyShaderModuleUnsafe #-}-##endif---- |--- > void vkDestroyShaderModule--- >     ( VkDevice device--- >     , VkShaderModule shaderModule--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyShaderModule vkDestroyShaderModule registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyShaderModule <- vkGetDeviceProc @VkDestroyShaderModule vkDevice------ or less efficient:------ > myDestroyShaderModule <- vkGetProc @VkDestroyShaderModule------ __Note:__ @vkDestroyShaderModuleUnsafe@ and @vkDestroyShaderModuleSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyShaderModule@ is an alias---           of @vkDestroyShaderModuleUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyShaderModuleSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkDestroyShaderModule"-               vkDestroyShaderModuleSafe ::-               VkDevice -- ^ device-                        -> VkShaderModule -- ^ shaderModule-                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                       -> IO ()--##else-vkDestroyShaderModuleSafe ::-                          VkDevice -- ^ device-                                   -> VkShaderModule -- ^ shaderModule-                                                     -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                  -> IO ()-vkDestroyShaderModuleSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyShaderModule)--{-# NOINLINE vkDestroyShaderModuleSafe #-}-##endif---- |--- > void vkDestroyShaderModule--- >     ( VkDevice device--- >     , VkShaderModule shaderModule--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyShaderModule vkDestroyShaderModule registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyShaderModule <- vkGetDeviceProc @VkDestroyShaderModule vkDevice------ or less efficient:------ > myDestroyShaderModule <- vkGetProc @VkDestroyShaderModule------ __Note:__ @vkDestroyShaderModuleUnsafe@ and @vkDestroyShaderModuleSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyShaderModule@ is an alias---           of @vkDestroyShaderModuleUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyShaderModuleSafe@.----vkDestroyShaderModule ::-                      VkDevice -- ^ device-                               -> VkShaderModule -- ^ shaderModule-                                                 -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                              -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkDestroyShaderModule = vkDestroyShaderModuleUnsafe-##else-vkDestroyShaderModule = vkDestroyShaderModuleSafe--##endif-{-# INLINE vkDestroyShaderModule #-}---- | > void vkDestroyShaderModule---   >     ( VkDevice device---   >     , VkShaderModule shaderModule---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyShaderModule vkDestroyShaderModule registry at www.khronos.org>-type HS_vkDestroyShaderModule =-     VkDevice -- ^ device-              -> VkShaderModule -- ^ shaderModule-                                -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                             -> IO ()--type PFN_vkDestroyShaderModule = FunPtr HS_vkDestroyShaderModule--foreign import ccall unsafe "dynamic"-               unwrapVkDestroyShaderModuleUnsafe ::-               PFN_vkDestroyShaderModule -> HS_vkDestroyShaderModule--foreign import ccall safe "dynamic" unwrapVkDestroyShaderModuleSafe-               :: PFN_vkDestroyShaderModule -> HS_vkDestroyShaderModule--instance VulkanProc "vkDestroyShaderModule" where-        type VkProcType "vkDestroyShaderModule" = HS_vkDestroyShaderModule-        vkProcSymbol = _VkDestroyShaderModule--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDestroyShaderModuleUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroyShaderModuleSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCreatePipelineCache :: CString--pattern VkCreatePipelineCache <- (is_VkCreatePipelineCache -> True)-  where VkCreatePipelineCache = _VkCreatePipelineCache--{-# INLINE _VkCreatePipelineCache #-}--_VkCreatePipelineCache :: CString-_VkCreatePipelineCache = Ptr "vkCreatePipelineCache\NUL"##--{-# INLINE is_VkCreatePipelineCache #-}--is_VkCreatePipelineCache :: CString -> Bool-is_VkCreatePipelineCache-  = (EQ ==) . cmpCStrings _VkCreatePipelineCache--type VkCreatePipelineCache = "vkCreatePipelineCache"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreatePipelineCache--- >     ( VkDevice device--- >     , const VkPipelineCacheCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkPipelineCache* pPipelineCache--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreatePipelineCache vkCreatePipelineCache registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreatePipelineCache <- vkGetDeviceProc @VkCreatePipelineCache vkDevice------ or less efficient:------ > myCreatePipelineCache <- vkGetProc @VkCreatePipelineCache------ __Note:__ @vkCreatePipelineCacheUnsafe@ and @vkCreatePipelineCacheSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreatePipelineCache@ is an alias---           of @vkCreatePipelineCacheUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreatePipelineCacheSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreatePipelineCache"-               vkCreatePipelineCacheUnsafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkPipelineCacheCreateInfo -- ^ pCreateInfo-                                               ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkPipelineCache -- ^ pPipelineCache-                                                                    -> IO VkResult--##else-vkCreatePipelineCacheUnsafe ::-                            VkDevice -- ^ device-                                     ->-                              Ptr VkPipelineCacheCreateInfo -- ^ pCreateInfo-                                                            ->-                                Ptr VkAllocationCallbacks -- ^ pAllocator-                                                          -> Ptr VkPipelineCache -- ^ pPipelineCache-                                                                                 -> IO VkResult-vkCreatePipelineCacheUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreatePipelineCache)--{-# NOINLINE vkCreatePipelineCacheUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreatePipelineCache--- >     ( VkDevice device--- >     , const VkPipelineCacheCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkPipelineCache* pPipelineCache--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreatePipelineCache vkCreatePipelineCache registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreatePipelineCache <- vkGetDeviceProc @VkCreatePipelineCache vkDevice------ or less efficient:------ > myCreatePipelineCache <- vkGetProc @VkCreatePipelineCache------ __Note:__ @vkCreatePipelineCacheUnsafe@ and @vkCreatePipelineCacheSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreatePipelineCache@ is an alias---           of @vkCreatePipelineCacheUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreatePipelineCacheSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCreatePipelineCache"-               vkCreatePipelineCacheSafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkPipelineCacheCreateInfo -- ^ pCreateInfo-                                               ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkPipelineCache -- ^ pPipelineCache-                                                                    -> IO VkResult--##else-vkCreatePipelineCacheSafe ::-                          VkDevice -- ^ device-                                   ->-                            Ptr VkPipelineCacheCreateInfo -- ^ pCreateInfo-                                                          ->-                              Ptr VkAllocationCallbacks -- ^ pAllocator-                                                        -> Ptr VkPipelineCache -- ^ pPipelineCache-                                                                               -> IO VkResult-vkCreatePipelineCacheSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCreatePipelineCache)--{-# NOINLINE vkCreatePipelineCacheSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreatePipelineCache--- >     ( VkDevice device--- >     , const VkPipelineCacheCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkPipelineCache* pPipelineCache--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreatePipelineCache vkCreatePipelineCache registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreatePipelineCache <- vkGetDeviceProc @VkCreatePipelineCache vkDevice------ or less efficient:------ > myCreatePipelineCache <- vkGetProc @VkCreatePipelineCache------ __Note:__ @vkCreatePipelineCacheUnsafe@ and @vkCreatePipelineCacheSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreatePipelineCache@ is an alias---           of @vkCreatePipelineCacheUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreatePipelineCacheSafe@.----vkCreatePipelineCache ::-                      VkDevice -- ^ device-                               ->-                        Ptr VkPipelineCacheCreateInfo -- ^ pCreateInfo-                                                      ->-                          Ptr VkAllocationCallbacks -- ^ pAllocator-                                                    -> Ptr VkPipelineCache -- ^ pPipelineCache-                                                                           -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkCreatePipelineCache = vkCreatePipelineCacheUnsafe-##else-vkCreatePipelineCache = vkCreatePipelineCacheSafe--##endif-{-# INLINE vkCreatePipelineCache #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreatePipelineCache---   >     ( VkDevice device---   >     , const VkPipelineCacheCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkPipelineCache* pPipelineCache---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreatePipelineCache vkCreatePipelineCache registry at www.khronos.org>-type HS_vkCreatePipelineCache =-     VkDevice -- ^ device-              ->-       Ptr VkPipelineCacheCreateInfo -- ^ pCreateInfo-                                     ->-         Ptr VkAllocationCallbacks -- ^ pAllocator-                                   -> Ptr VkPipelineCache -- ^ pPipelineCache-                                                          -> IO VkResult--type PFN_vkCreatePipelineCache = FunPtr HS_vkCreatePipelineCache--foreign import ccall unsafe "dynamic"-               unwrapVkCreatePipelineCacheUnsafe ::-               PFN_vkCreatePipelineCache -> HS_vkCreatePipelineCache--foreign import ccall safe "dynamic" unwrapVkCreatePipelineCacheSafe-               :: PFN_vkCreatePipelineCache -> HS_vkCreatePipelineCache--instance VulkanProc "vkCreatePipelineCache" where-        type VkProcType "vkCreatePipelineCache" = HS_vkCreatePipelineCache-        vkProcSymbol = _VkCreatePipelineCache--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreatePipelineCacheUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreatePipelineCacheSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkDestroyPipelineCache :: CString--pattern VkDestroyPipelineCache <--        (is_VkDestroyPipelineCache -> True)-  where VkDestroyPipelineCache = _VkDestroyPipelineCache--{-# INLINE _VkDestroyPipelineCache #-}--_VkDestroyPipelineCache :: CString-_VkDestroyPipelineCache = Ptr "vkDestroyPipelineCache\NUL"##--{-# INLINE is_VkDestroyPipelineCache #-}--is_VkDestroyPipelineCache :: CString -> Bool-is_VkDestroyPipelineCache-  = (EQ ==) . cmpCStrings _VkDestroyPipelineCache--type VkDestroyPipelineCache = "vkDestroyPipelineCache"---- |--- > void vkDestroyPipelineCache--- >     ( VkDevice device--- >     , VkPipelineCache pipelineCache--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipelineCache vkDestroyPipelineCache registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyPipelineCache <- vkGetDeviceProc @VkDestroyPipelineCache vkDevice------ or less efficient:------ > myDestroyPipelineCache <- vkGetProc @VkDestroyPipelineCache------ __Note:__ @vkDestroyPipelineCacheUnsafe@ and @vkDestroyPipelineCacheSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyPipelineCache@ is an alias---           of @vkDestroyPipelineCacheUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyPipelineCacheSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyPipelineCache"-               vkDestroyPipelineCacheUnsafe ::-               VkDevice -- ^ device-                        -> VkPipelineCache -- ^ pipelineCache-                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                        -> IO ()--##else-vkDestroyPipelineCacheUnsafe ::-                             VkDevice -- ^ device-                                      -> VkPipelineCache -- ^ pipelineCache-                                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                      -> IO ()-vkDestroyPipelineCacheUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyPipelineCache)--{-# NOINLINE vkDestroyPipelineCacheUnsafe #-}-##endif---- |--- > void vkDestroyPipelineCache--- >     ( VkDevice device--- >     , VkPipelineCache pipelineCache--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipelineCache vkDestroyPipelineCache registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyPipelineCache <- vkGetDeviceProc @VkDestroyPipelineCache vkDevice------ or less efficient:------ > myDestroyPipelineCache <- vkGetProc @VkDestroyPipelineCache------ __Note:__ @vkDestroyPipelineCacheUnsafe@ and @vkDestroyPipelineCacheSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyPipelineCache@ is an alias---           of @vkDestroyPipelineCacheUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyPipelineCacheSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkDestroyPipelineCache"-               vkDestroyPipelineCacheSafe ::-               VkDevice -- ^ device-                        -> VkPipelineCache -- ^ pipelineCache-                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                        -> IO ()--##else-vkDestroyPipelineCacheSafe ::-                           VkDevice -- ^ device-                                    -> VkPipelineCache -- ^ pipelineCache-                                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                    -> IO ()-vkDestroyPipelineCacheSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyPipelineCache)--{-# NOINLINE vkDestroyPipelineCacheSafe #-}-##endif---- |--- > void vkDestroyPipelineCache--- >     ( VkDevice device--- >     , VkPipelineCache pipelineCache--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipelineCache vkDestroyPipelineCache registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyPipelineCache <- vkGetDeviceProc @VkDestroyPipelineCache vkDevice------ or less efficient:------ > myDestroyPipelineCache <- vkGetProc @VkDestroyPipelineCache------ __Note:__ @vkDestroyPipelineCacheUnsafe@ and @vkDestroyPipelineCacheSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyPipelineCache@ is an alias---           of @vkDestroyPipelineCacheUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyPipelineCacheSafe@.----vkDestroyPipelineCache ::-                       VkDevice -- ^ device-                                -> VkPipelineCache -- ^ pipelineCache-                                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkDestroyPipelineCache = vkDestroyPipelineCacheUnsafe-##else-vkDestroyPipelineCache = vkDestroyPipelineCacheSafe--##endif-{-# INLINE vkDestroyPipelineCache #-}---- | > void vkDestroyPipelineCache---   >     ( VkDevice device---   >     , VkPipelineCache pipelineCache---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipelineCache vkDestroyPipelineCache registry at www.khronos.org>-type HS_vkDestroyPipelineCache =-     VkDevice -- ^ device-              -> VkPipelineCache -- ^ pipelineCache-                                 -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                              -> IO ()--type PFN_vkDestroyPipelineCache = FunPtr HS_vkDestroyPipelineCache--foreign import ccall unsafe "dynamic"-               unwrapVkDestroyPipelineCacheUnsafe ::-               PFN_vkDestroyPipelineCache -> HS_vkDestroyPipelineCache--foreign import ccall safe "dynamic"-               unwrapVkDestroyPipelineCacheSafe ::-               PFN_vkDestroyPipelineCache -> HS_vkDestroyPipelineCache--instance VulkanProc "vkDestroyPipelineCache" where-        type VkProcType "vkDestroyPipelineCache" =-             HS_vkDestroyPipelineCache-        vkProcSymbol = _VkDestroyPipelineCache--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDestroyPipelineCacheUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroyPipelineCacheSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetPipelineCacheData :: CString--pattern VkGetPipelineCacheData <--        (is_VkGetPipelineCacheData -> True)-  where VkGetPipelineCacheData = _VkGetPipelineCacheData--{-# INLINE _VkGetPipelineCacheData #-}--_VkGetPipelineCacheData :: CString-_VkGetPipelineCacheData = Ptr "vkGetPipelineCacheData\NUL"##--{-# INLINE is_VkGetPipelineCacheData #-}--is_VkGetPipelineCacheData :: CString -> Bool-is_VkGetPipelineCacheData-  = (EQ ==) . cmpCStrings _VkGetPipelineCacheData--type VkGetPipelineCacheData = "vkGetPipelineCacheData"---- |--- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkGetPipelineCacheData--- >     ( VkDevice device--- >     , VkPipelineCache pipelineCache--- >     , size_t* pDataSize--- >     , void* pData--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPipelineCacheData vkGetPipelineCacheData registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPipelineCacheData <- vkGetDeviceProc @VkGetPipelineCacheData vkDevice------ or less efficient:------ > myGetPipelineCacheData <- vkGetProc @VkGetPipelineCacheData------ __Note:__ @vkGetPipelineCacheDataUnsafe@ and @vkGetPipelineCacheDataSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPipelineCacheData@ is an alias---           of @vkGetPipelineCacheDataUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPipelineCacheDataSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetPipelineCacheData"-               vkGetPipelineCacheDataUnsafe ::-               VkDevice -- ^ device-                        -> VkPipelineCache -- ^ pipelineCache-                                           -> Ptr CSize -- ^ pDataSize-                                                        -> Ptr Void -- ^ pData-                                                                    -> IO VkResult--##else-vkGetPipelineCacheDataUnsafe ::-                             VkDevice -- ^ device-                                      -> VkPipelineCache -- ^ pipelineCache-                                                         -> Ptr CSize -- ^ pDataSize-                                                                      -> Ptr Void -- ^ pData-                                                                                  -> IO VkResult-vkGetPipelineCacheDataUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkGetPipelineCacheData)--{-# NOINLINE vkGetPipelineCacheDataUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkGetPipelineCacheData--- >     ( VkDevice device--- >     , VkPipelineCache pipelineCache--- >     , size_t* pDataSize--- >     , void* pData--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPipelineCacheData vkGetPipelineCacheData registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPipelineCacheData <- vkGetDeviceProc @VkGetPipelineCacheData vkDevice------ or less efficient:------ > myGetPipelineCacheData <- vkGetProc @VkGetPipelineCacheData------ __Note:__ @vkGetPipelineCacheDataUnsafe@ and @vkGetPipelineCacheDataSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPipelineCacheData@ is an alias---           of @vkGetPipelineCacheDataUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPipelineCacheDataSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkGetPipelineCacheData"-               vkGetPipelineCacheDataSafe ::-               VkDevice -- ^ device-                        -> VkPipelineCache -- ^ pipelineCache-                                           -> Ptr CSize -- ^ pDataSize-                                                        -> Ptr Void -- ^ pData-                                                                    -> IO VkResult--##else-vkGetPipelineCacheDataSafe ::-                           VkDevice -- ^ device-                                    -> VkPipelineCache -- ^ pipelineCache-                                                       -> Ptr CSize -- ^ pDataSize-                                                                    -> Ptr Void -- ^ pData-                                                                                -> IO VkResult-vkGetPipelineCacheDataSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkGetPipelineCacheData)--{-# NOINLINE vkGetPipelineCacheDataSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkGetPipelineCacheData--- >     ( VkDevice device--- >     , VkPipelineCache pipelineCache--- >     , size_t* pDataSize--- >     , void* pData--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPipelineCacheData vkGetPipelineCacheData registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPipelineCacheData <- vkGetDeviceProc @VkGetPipelineCacheData vkDevice------ or less efficient:------ > myGetPipelineCacheData <- vkGetProc @VkGetPipelineCacheData------ __Note:__ @vkGetPipelineCacheDataUnsafe@ and @vkGetPipelineCacheDataSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPipelineCacheData@ is an alias---           of @vkGetPipelineCacheDataUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPipelineCacheDataSafe@.----vkGetPipelineCacheData ::-                       VkDevice -- ^ device-                                -> VkPipelineCache -- ^ pipelineCache-                                                   -> Ptr CSize -- ^ pDataSize-                                                                -> Ptr Void -- ^ pData-                                                                            -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkGetPipelineCacheData = vkGetPipelineCacheDataUnsafe-##else-vkGetPipelineCacheData = vkGetPipelineCacheDataSafe--##endif-{-# INLINE vkGetPipelineCacheData #-}---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkGetPipelineCacheData---   >     ( VkDevice device---   >     , VkPipelineCache pipelineCache---   >     , size_t* pDataSize---   >     , void* pData---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPipelineCacheData vkGetPipelineCacheData registry at www.khronos.org>-type HS_vkGetPipelineCacheData =-     VkDevice -- ^ device-              -> VkPipelineCache -- ^ pipelineCache-                                 -> Ptr CSize -- ^ pDataSize-                                              -> Ptr Void -- ^ pData-                                                          -> IO VkResult--type PFN_vkGetPipelineCacheData = FunPtr HS_vkGetPipelineCacheData--foreign import ccall unsafe "dynamic"-               unwrapVkGetPipelineCacheDataUnsafe ::-               PFN_vkGetPipelineCacheData -> HS_vkGetPipelineCacheData--foreign import ccall safe "dynamic"-               unwrapVkGetPipelineCacheDataSafe ::-               PFN_vkGetPipelineCacheData -> HS_vkGetPipelineCacheData--instance VulkanProc "vkGetPipelineCacheData" where-        type VkProcType "vkGetPipelineCacheData" =-             HS_vkGetPipelineCacheData-        vkProcSymbol = _VkGetPipelineCacheData--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetPipelineCacheDataUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetPipelineCacheDataSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkMergePipelineCaches :: CString--pattern VkMergePipelineCaches <- (is_VkMergePipelineCaches -> True)-  where VkMergePipelineCaches = _VkMergePipelineCaches--{-# INLINE _VkMergePipelineCaches #-}--_VkMergePipelineCaches :: CString-_VkMergePipelineCaches = Ptr "vkMergePipelineCaches\NUL"##--{-# INLINE is_VkMergePipelineCaches #-}--is_VkMergePipelineCaches :: CString -> Bool-is_VkMergePipelineCaches-  = (EQ ==) . cmpCStrings _VkMergePipelineCaches--type VkMergePipelineCaches = "vkMergePipelineCaches"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkMergePipelineCaches--- >     ( VkDevice device--- >     , VkPipelineCache dstCache--- >     , uint32_t srcCacheCount--- >     , const VkPipelineCache* pSrcCaches--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkMergePipelineCaches vkMergePipelineCaches registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myMergePipelineCaches <- vkGetDeviceProc @VkMergePipelineCaches vkDevice------ or less efficient:------ > myMergePipelineCaches <- vkGetProc @VkMergePipelineCaches------ __Note:__ @vkMergePipelineCachesUnsafe@ and @vkMergePipelineCachesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkMergePipelineCaches@ is an alias---           of @vkMergePipelineCachesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkMergePipelineCachesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkMergePipelineCaches"-               vkMergePipelineCachesUnsafe ::-               VkDevice -- ^ device-                        ->-                 VkPipelineCache -- ^ dstCache-                                 -> Word32 -- ^ srcCacheCount-                                           -> Ptr VkPipelineCache -- ^ pSrcCaches-                                                                  -> IO VkResult--##else-vkMergePipelineCachesUnsafe ::-                            VkDevice -- ^ device-                                     ->-                              VkPipelineCache -- ^ dstCache-                                              -> Word32 -- ^ srcCacheCount-                                                        -> Ptr VkPipelineCache -- ^ pSrcCaches-                                                                               -> IO VkResult-vkMergePipelineCachesUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkMergePipelineCaches)--{-# NOINLINE vkMergePipelineCachesUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkMergePipelineCaches--- >     ( VkDevice device--- >     , VkPipelineCache dstCache--- >     , uint32_t srcCacheCount--- >     , const VkPipelineCache* pSrcCaches--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkMergePipelineCaches vkMergePipelineCaches registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myMergePipelineCaches <- vkGetDeviceProc @VkMergePipelineCaches vkDevice------ or less efficient:------ > myMergePipelineCaches <- vkGetProc @VkMergePipelineCaches------ __Note:__ @vkMergePipelineCachesUnsafe@ and @vkMergePipelineCachesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkMergePipelineCaches@ is an alias---           of @vkMergePipelineCachesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkMergePipelineCachesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkMergePipelineCaches"-               vkMergePipelineCachesSafe ::-               VkDevice -- ^ device-                        ->-                 VkPipelineCache -- ^ dstCache-                                 -> Word32 -- ^ srcCacheCount-                                           -> Ptr VkPipelineCache -- ^ pSrcCaches-                                                                  -> IO VkResult--##else-vkMergePipelineCachesSafe ::-                          VkDevice -- ^ device-                                   ->-                            VkPipelineCache -- ^ dstCache-                                            -> Word32 -- ^ srcCacheCount-                                                      -> Ptr VkPipelineCache -- ^ pSrcCaches-                                                                             -> IO VkResult-vkMergePipelineCachesSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkMergePipelineCaches)--{-# NOINLINE vkMergePipelineCachesSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkMergePipelineCaches--- >     ( VkDevice device--- >     , VkPipelineCache dstCache--- >     , uint32_t srcCacheCount--- >     , const VkPipelineCache* pSrcCaches--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkMergePipelineCaches vkMergePipelineCaches registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myMergePipelineCaches <- vkGetDeviceProc @VkMergePipelineCaches vkDevice------ or less efficient:------ > myMergePipelineCaches <- vkGetProc @VkMergePipelineCaches------ __Note:__ @vkMergePipelineCachesUnsafe@ and @vkMergePipelineCachesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkMergePipelineCaches@ is an alias---           of @vkMergePipelineCachesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkMergePipelineCachesSafe@.----vkMergePipelineCaches ::-                      VkDevice -- ^ device-                               ->-                        VkPipelineCache -- ^ dstCache-                                        -> Word32 -- ^ srcCacheCount-                                                  -> Ptr VkPipelineCache -- ^ pSrcCaches-                                                                         -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkMergePipelineCaches = vkMergePipelineCachesUnsafe-##else-vkMergePipelineCaches = vkMergePipelineCachesSafe--##endif-{-# INLINE vkMergePipelineCaches #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkMergePipelineCaches---   >     ( VkDevice device---   >     , VkPipelineCache dstCache---   >     , uint32_t srcCacheCount---   >     , const VkPipelineCache* pSrcCaches---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkMergePipelineCaches vkMergePipelineCaches registry at www.khronos.org>-type HS_vkMergePipelineCaches =-     VkDevice -- ^ device-              ->-       VkPipelineCache -- ^ dstCache-                       -> Word32 -- ^ srcCacheCount-                                 -> Ptr VkPipelineCache -- ^ pSrcCaches-                                                        -> IO VkResult--type PFN_vkMergePipelineCaches = FunPtr HS_vkMergePipelineCaches--foreign import ccall unsafe "dynamic"-               unwrapVkMergePipelineCachesUnsafe ::-               PFN_vkMergePipelineCaches -> HS_vkMergePipelineCaches--foreign import ccall safe "dynamic" unwrapVkMergePipelineCachesSafe-               :: PFN_vkMergePipelineCaches -> HS_vkMergePipelineCaches--instance VulkanProc "vkMergePipelineCaches" where-        type VkProcType "vkMergePipelineCaches" = HS_vkMergePipelineCaches-        vkProcSymbol = _VkMergePipelineCaches--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkMergePipelineCachesUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkMergePipelineCachesSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCreateGraphicsPipelines :: CString--pattern VkCreateGraphicsPipelines <--        (is_VkCreateGraphicsPipelines -> True)-  where VkCreateGraphicsPipelines = _VkCreateGraphicsPipelines--{-# INLINE _VkCreateGraphicsPipelines #-}--_VkCreateGraphicsPipelines :: CString-_VkCreateGraphicsPipelines = Ptr "vkCreateGraphicsPipelines\NUL"##--{-# INLINE is_VkCreateGraphicsPipelines #-}--is_VkCreateGraphicsPipelines :: CString -> Bool-is_VkCreateGraphicsPipelines-  = (EQ ==) . cmpCStrings _VkCreateGraphicsPipelines--type VkCreateGraphicsPipelines = "vkCreateGraphicsPipelines"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.------ > VkResult vkCreateGraphicsPipelines--- >     ( VkDevice device--- >     , VkPipelineCache pipelineCache--- >     , uint32_t createInfoCount--- >     , const VkGraphicsPipelineCreateInfo* pCreateInfos--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkPipeline* pPipelines--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateGraphicsPipelines vkCreateGraphicsPipelines registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateGraphicsPipelines <- vkGetDeviceProc @VkCreateGraphicsPipelines vkDevice------ or less efficient:------ > myCreateGraphicsPipelines <- vkGetProc @VkCreateGraphicsPipelines------ __Note:__ @vkCreateGraphicsPipelinesUnsafe@ and @vkCreateGraphicsPipelinesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateGraphicsPipelines@ is an alias---           of @vkCreateGraphicsPipelinesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateGraphicsPipelinesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateGraphicsPipelines"-               vkCreateGraphicsPipelinesUnsafe ::-               VkDevice -- ^ device-                        ->-                 VkPipelineCache -- ^ pipelineCache-                                 ->-                   Word32 -- ^ createInfoCount-                          ->-                     Ptr VkGraphicsPipelineCreateInfo -- ^ pCreateInfos-                                                      ->-                       Ptr VkAllocationCallbacks -- ^ pAllocator-                                                 -> Ptr VkPipeline -- ^ pPipelines-                                                                   -> IO VkResult--##else-vkCreateGraphicsPipelinesUnsafe ::-                                VkDevice -- ^ device-                                         ->-                                  VkPipelineCache -- ^ pipelineCache-                                                  ->-                                    Word32 -- ^ createInfoCount-                                           ->-                                      Ptr VkGraphicsPipelineCreateInfo -- ^ pCreateInfos-                                                                       ->-                                        Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                  -> Ptr VkPipeline -- ^ pPipelines-                                                                                    -> IO VkResult-vkCreateGraphicsPipelinesUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkCreateGraphicsPipelines)--{-# NOINLINE vkCreateGraphicsPipelinesUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.------ > VkResult vkCreateGraphicsPipelines--- >     ( VkDevice device--- >     , VkPipelineCache pipelineCache--- >     , uint32_t createInfoCount--- >     , const VkGraphicsPipelineCreateInfo* pCreateInfos--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkPipeline* pPipelines--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateGraphicsPipelines vkCreateGraphicsPipelines registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateGraphicsPipelines <- vkGetDeviceProc @VkCreateGraphicsPipelines vkDevice------ or less efficient:------ > myCreateGraphicsPipelines <- vkGetProc @VkCreateGraphicsPipelines------ __Note:__ @vkCreateGraphicsPipelinesUnsafe@ and @vkCreateGraphicsPipelinesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateGraphicsPipelines@ is an alias---           of @vkCreateGraphicsPipelinesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateGraphicsPipelinesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCreateGraphicsPipelines"-               vkCreateGraphicsPipelinesSafe ::-               VkDevice -- ^ device-                        ->-                 VkPipelineCache -- ^ pipelineCache-                                 ->-                   Word32 -- ^ createInfoCount-                          ->-                     Ptr VkGraphicsPipelineCreateInfo -- ^ pCreateInfos-                                                      ->-                       Ptr VkAllocationCallbacks -- ^ pAllocator-                                                 -> Ptr VkPipeline -- ^ pPipelines-                                                                   -> IO VkResult--##else-vkCreateGraphicsPipelinesSafe ::-                              VkDevice -- ^ device-                                       ->-                                VkPipelineCache -- ^ pipelineCache-                                                ->-                                  Word32 -- ^ createInfoCount-                                         ->-                                    Ptr VkGraphicsPipelineCreateInfo -- ^ pCreateInfos-                                                                     ->-                                      Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                -> Ptr VkPipeline -- ^ pPipelines-                                                                                  -> IO VkResult-vkCreateGraphicsPipelinesSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateGraphicsPipelines)--{-# NOINLINE vkCreateGraphicsPipelinesSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.------ > VkResult vkCreateGraphicsPipelines--- >     ( VkDevice device--- >     , VkPipelineCache pipelineCache--- >     , uint32_t createInfoCount--- >     , const VkGraphicsPipelineCreateInfo* pCreateInfos--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkPipeline* pPipelines--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateGraphicsPipelines vkCreateGraphicsPipelines registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateGraphicsPipelines <- vkGetDeviceProc @VkCreateGraphicsPipelines vkDevice------ or less efficient:------ > myCreateGraphicsPipelines <- vkGetProc @VkCreateGraphicsPipelines------ __Note:__ @vkCreateGraphicsPipelinesUnsafe@ and @vkCreateGraphicsPipelinesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateGraphicsPipelines@ is an alias---           of @vkCreateGraphicsPipelinesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateGraphicsPipelinesSafe@.----vkCreateGraphicsPipelines ::-                          VkDevice -- ^ device-                                   ->-                            VkPipelineCache -- ^ pipelineCache-                                            ->-                              Word32 -- ^ createInfoCount-                                     ->-                                Ptr VkGraphicsPipelineCreateInfo -- ^ pCreateInfos-                                                                 ->-                                  Ptr VkAllocationCallbacks -- ^ pAllocator-                                                            -> Ptr VkPipeline -- ^ pPipelines-                                                                              -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkCreateGraphicsPipelines = vkCreateGraphicsPipelinesUnsafe-##else-vkCreateGraphicsPipelines = vkCreateGraphicsPipelinesSafe--##endif-{-# INLINE vkCreateGraphicsPipelines #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.------   > VkResult vkCreateGraphicsPipelines---   >     ( VkDevice device---   >     , VkPipelineCache pipelineCache---   >     , uint32_t createInfoCount---   >     , const VkGraphicsPipelineCreateInfo* pCreateInfos---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkPipeline* pPipelines---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateGraphicsPipelines vkCreateGraphicsPipelines registry at www.khronos.org>-type HS_vkCreateGraphicsPipelines =-     VkDevice -- ^ device-              ->-       VkPipelineCache -- ^ pipelineCache-                       ->-         Word32 -- ^ createInfoCount-                ->-           Ptr VkGraphicsPipelineCreateInfo -- ^ pCreateInfos-                                            ->-             Ptr VkAllocationCallbacks -- ^ pAllocator-                                       -> Ptr VkPipeline -- ^ pPipelines-                                                         -> IO VkResult--type PFN_vkCreateGraphicsPipelines =-     FunPtr HS_vkCreateGraphicsPipelines--foreign import ccall unsafe "dynamic"-               unwrapVkCreateGraphicsPipelinesUnsafe ::-               PFN_vkCreateGraphicsPipelines -> HS_vkCreateGraphicsPipelines--foreign import ccall safe "dynamic"-               unwrapVkCreateGraphicsPipelinesSafe ::-               PFN_vkCreateGraphicsPipelines -> HS_vkCreateGraphicsPipelines--instance VulkanProc "vkCreateGraphicsPipelines" where-        type VkProcType "vkCreateGraphicsPipelines" =-             HS_vkCreateGraphicsPipelines-        vkProcSymbol = _VkCreateGraphicsPipelines--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateGraphicsPipelinesUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateGraphicsPipelinesSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCreateComputePipelines :: CString--pattern VkCreateComputePipelines <--        (is_VkCreateComputePipelines -> True)-  where VkCreateComputePipelines = _VkCreateComputePipelines--{-# INLINE _VkCreateComputePipelines #-}--_VkCreateComputePipelines :: CString-_VkCreateComputePipelines = Ptr "vkCreateComputePipelines\NUL"##--{-# INLINE is_VkCreateComputePipelines #-}--is_VkCreateComputePipelines :: CString -> Bool-is_VkCreateComputePipelines-  = (EQ ==) . cmpCStrings _VkCreateComputePipelines--type VkCreateComputePipelines = "vkCreateComputePipelines"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.------ > VkResult vkCreateComputePipelines--- >     ( VkDevice device--- >     , VkPipelineCache pipelineCache--- >     , uint32_t createInfoCount--- >     , const VkComputePipelineCreateInfo* pCreateInfos--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkPipeline* pPipelines--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateComputePipelines vkCreateComputePipelines registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateComputePipelines <- vkGetDeviceProc @VkCreateComputePipelines vkDevice------ or less efficient:------ > myCreateComputePipelines <- vkGetProc @VkCreateComputePipelines------ __Note:__ @vkCreateComputePipelinesUnsafe@ and @vkCreateComputePipelinesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateComputePipelines@ is an alias---           of @vkCreateComputePipelinesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateComputePipelinesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateComputePipelines"-               vkCreateComputePipelinesUnsafe ::-               VkDevice -- ^ device-                        ->-                 VkPipelineCache -- ^ pipelineCache-                                 ->-                   Word32 -- ^ createInfoCount-                          ->-                     Ptr VkComputePipelineCreateInfo -- ^ pCreateInfos-                                                     ->-                       Ptr VkAllocationCallbacks -- ^ pAllocator-                                                 -> Ptr VkPipeline -- ^ pPipelines-                                                                   -> IO VkResult--##else-vkCreateComputePipelinesUnsafe ::-                               VkDevice -- ^ device-                                        ->-                                 VkPipelineCache -- ^ pipelineCache-                                                 ->-                                   Word32 -- ^ createInfoCount-                                          ->-                                     Ptr VkComputePipelineCreateInfo -- ^ pCreateInfos-                                                                     ->-                                       Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                 -> Ptr VkPipeline -- ^ pPipelines-                                                                                   -> IO VkResult-vkCreateComputePipelinesUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkCreateComputePipelines)--{-# NOINLINE vkCreateComputePipelinesUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.------ > VkResult vkCreateComputePipelines--- >     ( VkDevice device--- >     , VkPipelineCache pipelineCache--- >     , uint32_t createInfoCount--- >     , const VkComputePipelineCreateInfo* pCreateInfos--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkPipeline* pPipelines--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateComputePipelines vkCreateComputePipelines registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateComputePipelines <- vkGetDeviceProc @VkCreateComputePipelines vkDevice------ or less efficient:------ > myCreateComputePipelines <- vkGetProc @VkCreateComputePipelines------ __Note:__ @vkCreateComputePipelinesUnsafe@ and @vkCreateComputePipelinesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateComputePipelines@ is an alias---           of @vkCreateComputePipelinesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateComputePipelinesSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCreateComputePipelines"-               vkCreateComputePipelinesSafe ::-               VkDevice -- ^ device-                        ->-                 VkPipelineCache -- ^ pipelineCache-                                 ->-                   Word32 -- ^ createInfoCount-                          ->-                     Ptr VkComputePipelineCreateInfo -- ^ pCreateInfos-                                                     ->-                       Ptr VkAllocationCallbacks -- ^ pAllocator-                                                 -> Ptr VkPipeline -- ^ pPipelines-                                                                   -> IO VkResult--##else-vkCreateComputePipelinesSafe ::-                             VkDevice -- ^ device-                                      ->-                               VkPipelineCache -- ^ pipelineCache-                                               ->-                                 Word32 -- ^ createInfoCount-                                        ->-                                   Ptr VkComputePipelineCreateInfo -- ^ pCreateInfos-                                                                   ->-                                     Ptr VkAllocationCallbacks -- ^ pAllocator-                                                               -> Ptr VkPipeline -- ^ pPipelines-                                                                                 -> IO VkResult-vkCreateComputePipelinesSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateComputePipelines)--{-# NOINLINE vkCreateComputePipelinesSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.------ > VkResult vkCreateComputePipelines--- >     ( VkDevice device--- >     , VkPipelineCache pipelineCache--- >     , uint32_t createInfoCount--- >     , const VkComputePipelineCreateInfo* pCreateInfos--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkPipeline* pPipelines--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateComputePipelines vkCreateComputePipelines registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateComputePipelines <- vkGetDeviceProc @VkCreateComputePipelines vkDevice------ or less efficient:------ > myCreateComputePipelines <- vkGetProc @VkCreateComputePipelines------ __Note:__ @vkCreateComputePipelinesUnsafe@ and @vkCreateComputePipelinesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateComputePipelines@ is an alias---           of @vkCreateComputePipelinesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateComputePipelinesSafe@.----vkCreateComputePipelines ::-                         VkDevice -- ^ device-                                  ->-                           VkPipelineCache -- ^ pipelineCache-                                           ->-                             Word32 -- ^ createInfoCount-                                    ->-                               Ptr VkComputePipelineCreateInfo -- ^ pCreateInfos-                                                               ->-                                 Ptr VkAllocationCallbacks -- ^ pAllocator-                                                           -> Ptr VkPipeline -- ^ pPipelines-                                                                             -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkCreateComputePipelines = vkCreateComputePipelinesUnsafe-##else-vkCreateComputePipelines = vkCreateComputePipelinesSafe--##endif-{-# INLINE vkCreateComputePipelines #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.------   > VkResult vkCreateComputePipelines---   >     ( VkDevice device---   >     , VkPipelineCache pipelineCache---   >     , uint32_t createInfoCount---   >     , const VkComputePipelineCreateInfo* pCreateInfos---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkPipeline* pPipelines---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateComputePipelines vkCreateComputePipelines registry at www.khronos.org>-type HS_vkCreateComputePipelines =-     VkDevice -- ^ device-              ->-       VkPipelineCache -- ^ pipelineCache-                       ->-         Word32 -- ^ createInfoCount-                ->-           Ptr VkComputePipelineCreateInfo -- ^ pCreateInfos-                                           ->-             Ptr VkAllocationCallbacks -- ^ pAllocator-                                       -> Ptr VkPipeline -- ^ pPipelines-                                                         -> IO VkResult--type PFN_vkCreateComputePipelines =-     FunPtr HS_vkCreateComputePipelines--foreign import ccall unsafe "dynamic"-               unwrapVkCreateComputePipelinesUnsafe ::-               PFN_vkCreateComputePipelines -> HS_vkCreateComputePipelines--foreign import ccall safe "dynamic"-               unwrapVkCreateComputePipelinesSafe ::-               PFN_vkCreateComputePipelines -> HS_vkCreateComputePipelines--instance VulkanProc "vkCreateComputePipelines" where-        type VkProcType "vkCreateComputePipelines" =-             HS_vkCreateComputePipelines-        vkProcSymbol = _VkCreateComputePipelines--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateComputePipelinesUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateComputePipelinesSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkDestroyPipeline :: CString--pattern VkDestroyPipeline <- (is_VkDestroyPipeline -> True)-  where VkDestroyPipeline = _VkDestroyPipeline--{-# INLINE _VkDestroyPipeline #-}--_VkDestroyPipeline :: CString-_VkDestroyPipeline = Ptr "vkDestroyPipeline\NUL"##--{-# INLINE is_VkDestroyPipeline #-}--is_VkDestroyPipeline :: CString -> Bool-is_VkDestroyPipeline = (EQ ==) . cmpCStrings _VkDestroyPipeline--type VkDestroyPipeline = "vkDestroyPipeline"---- |--- > void vkDestroyPipeline--- >     ( VkDevice device--- >     , VkPipeline pipeline--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipeline vkDestroyPipeline registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyPipeline <- vkGetDeviceProc @VkDestroyPipeline vkDevice------ or less efficient:------ > myDestroyPipeline <- vkGetProc @VkDestroyPipeline------ __Note:__ @vkDestroyPipelineUnsafe@ and @vkDestroyPipelineSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyPipeline@ is an alias---           of @vkDestroyPipelineUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyPipelineSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyPipeline"-               vkDestroyPipelineUnsafe ::-               VkDevice -- ^ device-                        -> VkPipeline -- ^ pipeline-                                      -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                   -> IO ()--##else-vkDestroyPipelineUnsafe ::-                        VkDevice -- ^ device-                                 -> VkPipeline -- ^ pipeline-                                               -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                            -> IO ()-vkDestroyPipelineUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyPipeline)--{-# NOINLINE vkDestroyPipelineUnsafe #-}-##endif---- |--- > void vkDestroyPipeline--- >     ( VkDevice device--- >     , VkPipeline pipeline--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipeline vkDestroyPipeline registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyPipeline <- vkGetDeviceProc @VkDestroyPipeline vkDevice------ or less efficient:------ > myDestroyPipeline <- vkGetProc @VkDestroyPipeline------ __Note:__ @vkDestroyPipelineUnsafe@ and @vkDestroyPipelineSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyPipeline@ is an alias---           of @vkDestroyPipelineUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyPipelineSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkDestroyPipeline" vkDestroyPipelineSafe-               :: VkDevice -- ^ device-                           -> VkPipeline -- ^ pipeline-                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                      -> IO ()--##else-vkDestroyPipelineSafe ::-                      VkDevice -- ^ device-                               -> VkPipeline -- ^ pipeline-                                             -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                          -> IO ()-vkDestroyPipelineSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyPipeline)--{-# NOINLINE vkDestroyPipelineSafe #-}-##endif---- |--- > void vkDestroyPipeline--- >     ( VkDevice device--- >     , VkPipeline pipeline--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipeline vkDestroyPipeline registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyPipeline <- vkGetDeviceProc @VkDestroyPipeline vkDevice------ or less efficient:------ > myDestroyPipeline <- vkGetProc @VkDestroyPipeline------ __Note:__ @vkDestroyPipelineUnsafe@ and @vkDestroyPipelineSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyPipeline@ is an alias---           of @vkDestroyPipelineUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyPipelineSafe@.----vkDestroyPipeline ::-                  VkDevice -- ^ device-                           -> VkPipeline -- ^ pipeline-                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                      -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkDestroyPipeline = vkDestroyPipelineUnsafe-##else-vkDestroyPipeline = vkDestroyPipelineSafe--##endif-{-# INLINE vkDestroyPipeline #-}---- | > void vkDestroyPipeline---   >     ( VkDevice device---   >     , VkPipeline pipeline---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipeline vkDestroyPipeline registry at www.khronos.org>-type HS_vkDestroyPipeline =-     VkDevice -- ^ device-              -> VkPipeline -- ^ pipeline-                            -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                         -> IO ()--type PFN_vkDestroyPipeline = FunPtr HS_vkDestroyPipeline--foreign import ccall unsafe "dynamic" unwrapVkDestroyPipelineUnsafe-               :: PFN_vkDestroyPipeline -> HS_vkDestroyPipeline--foreign import ccall safe "dynamic" unwrapVkDestroyPipelineSafe ::-               PFN_vkDestroyPipeline -> HS_vkDestroyPipeline--instance VulkanProc "vkDestroyPipeline" where-        type VkProcType "vkDestroyPipeline" = HS_vkDestroyPipeline-        vkProcSymbol = _VkDestroyPipeline--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDestroyPipelineUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroyPipelineSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCreatePipelineLayout :: CString--pattern VkCreatePipelineLayout <--        (is_VkCreatePipelineLayout -> True)-  where VkCreatePipelineLayout = _VkCreatePipelineLayout--{-# INLINE _VkCreatePipelineLayout #-}--_VkCreatePipelineLayout :: CString-_VkCreatePipelineLayout = Ptr "vkCreatePipelineLayout\NUL"##--{-# INLINE is_VkCreatePipelineLayout #-}--is_VkCreatePipelineLayout :: CString -> Bool-is_VkCreatePipelineLayout-  = (EQ ==) . cmpCStrings _VkCreatePipelineLayout--type VkCreatePipelineLayout = "vkCreatePipelineLayout"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreatePipelineLayout--- >     ( VkDevice device--- >     , const VkPipelineLayoutCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkPipelineLayout* pPipelineLayout--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreatePipelineLayout vkCreatePipelineLayout registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreatePipelineLayout <- vkGetDeviceProc @VkCreatePipelineLayout vkDevice------ or less efficient:------ > myCreatePipelineLayout <- vkGetProc @VkCreatePipelineLayout------ __Note:__ @vkCreatePipelineLayoutUnsafe@ and @vkCreatePipelineLayoutSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreatePipelineLayout@ is an alias---           of @vkCreatePipelineLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreatePipelineLayoutSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreatePipelineLayout"-               vkCreatePipelineLayoutUnsafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkPipelineLayoutCreateInfo -- ^ pCreateInfo-                                                ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkPipelineLayout -- ^ pPipelineLayout-                                                                     -> IO VkResult--##else-vkCreatePipelineLayoutUnsafe ::-                             VkDevice -- ^ device-                                      ->-                               Ptr VkPipelineLayoutCreateInfo -- ^ pCreateInfo-                                                              ->-                                 Ptr VkAllocationCallbacks -- ^ pAllocator-                                                           -> Ptr VkPipelineLayout -- ^ pPipelineLayout-                                                                                   -> IO VkResult-vkCreatePipelineLayoutUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreatePipelineLayout)--{-# NOINLINE vkCreatePipelineLayoutUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreatePipelineLayout--- >     ( VkDevice device--- >     , const VkPipelineLayoutCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkPipelineLayout* pPipelineLayout--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreatePipelineLayout vkCreatePipelineLayout registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreatePipelineLayout <- vkGetDeviceProc @VkCreatePipelineLayout vkDevice------ or less efficient:------ > myCreatePipelineLayout <- vkGetProc @VkCreatePipelineLayout------ __Note:__ @vkCreatePipelineLayoutUnsafe@ and @vkCreatePipelineLayoutSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreatePipelineLayout@ is an alias---           of @vkCreatePipelineLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreatePipelineLayoutSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCreatePipelineLayout"-               vkCreatePipelineLayoutSafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkPipelineLayoutCreateInfo -- ^ pCreateInfo-                                                ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkPipelineLayout -- ^ pPipelineLayout-                                                                     -> IO VkResult--##else-vkCreatePipelineLayoutSafe ::-                           VkDevice -- ^ device-                                    ->-                             Ptr VkPipelineLayoutCreateInfo -- ^ pCreateInfo-                                                            ->-                               Ptr VkAllocationCallbacks -- ^ pAllocator-                                                         -> Ptr VkPipelineLayout -- ^ pPipelineLayout-                                                                                 -> IO VkResult-vkCreatePipelineLayoutSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCreatePipelineLayout)--{-# NOINLINE vkCreatePipelineLayoutSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreatePipelineLayout--- >     ( VkDevice device--- >     , const VkPipelineLayoutCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkPipelineLayout* pPipelineLayout--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreatePipelineLayout vkCreatePipelineLayout registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreatePipelineLayout <- vkGetDeviceProc @VkCreatePipelineLayout vkDevice------ or less efficient:------ > myCreatePipelineLayout <- vkGetProc @VkCreatePipelineLayout------ __Note:__ @vkCreatePipelineLayoutUnsafe@ and @vkCreatePipelineLayoutSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreatePipelineLayout@ is an alias---           of @vkCreatePipelineLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreatePipelineLayoutSafe@.----vkCreatePipelineLayout ::-                       VkDevice -- ^ device-                                ->-                         Ptr VkPipelineLayoutCreateInfo -- ^ pCreateInfo-                                                        ->-                           Ptr VkAllocationCallbacks -- ^ pAllocator-                                                     -> Ptr VkPipelineLayout -- ^ pPipelineLayout-                                                                             -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkCreatePipelineLayout = vkCreatePipelineLayoutUnsafe-##else-vkCreatePipelineLayout = vkCreatePipelineLayoutSafe--##endif-{-# INLINE vkCreatePipelineLayout #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreatePipelineLayout---   >     ( VkDevice device---   >     , const VkPipelineLayoutCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkPipelineLayout* pPipelineLayout---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreatePipelineLayout vkCreatePipelineLayout registry at www.khronos.org>-type HS_vkCreatePipelineLayout =-     VkDevice -- ^ device-              ->-       Ptr VkPipelineLayoutCreateInfo -- ^ pCreateInfo-                                      ->-         Ptr VkAllocationCallbacks -- ^ pAllocator-                                   -> Ptr VkPipelineLayout -- ^ pPipelineLayout-                                                           -> IO VkResult--type PFN_vkCreatePipelineLayout = FunPtr HS_vkCreatePipelineLayout--foreign import ccall unsafe "dynamic"-               unwrapVkCreatePipelineLayoutUnsafe ::-               PFN_vkCreatePipelineLayout -> HS_vkCreatePipelineLayout--foreign import ccall safe "dynamic"-               unwrapVkCreatePipelineLayoutSafe ::-               PFN_vkCreatePipelineLayout -> HS_vkCreatePipelineLayout--instance VulkanProc "vkCreatePipelineLayout" where-        type VkProcType "vkCreatePipelineLayout" =-             HS_vkCreatePipelineLayout-        vkProcSymbol = _VkCreatePipelineLayout--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreatePipelineLayoutUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreatePipelineLayoutSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkDestroyPipelineLayout :: CString--pattern VkDestroyPipelineLayout <--        (is_VkDestroyPipelineLayout -> True)-  where VkDestroyPipelineLayout = _VkDestroyPipelineLayout--{-# INLINE _VkDestroyPipelineLayout #-}--_VkDestroyPipelineLayout :: CString-_VkDestroyPipelineLayout = Ptr "vkDestroyPipelineLayout\NUL"##--{-# INLINE is_VkDestroyPipelineLayout #-}--is_VkDestroyPipelineLayout :: CString -> Bool-is_VkDestroyPipelineLayout-  = (EQ ==) . cmpCStrings _VkDestroyPipelineLayout--type VkDestroyPipelineLayout = "vkDestroyPipelineLayout"---- |--- > void vkDestroyPipelineLayout--- >     ( VkDevice device--- >     , VkPipelineLayout pipelineLayout--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipelineLayout vkDestroyPipelineLayout registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyPipelineLayout <- vkGetDeviceProc @VkDestroyPipelineLayout vkDevice------ or less efficient:------ > myDestroyPipelineLayout <- vkGetProc @VkDestroyPipelineLayout------ __Note:__ @vkDestroyPipelineLayoutUnsafe@ and @vkDestroyPipelineLayoutSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyPipelineLayout@ is an alias---           of @vkDestroyPipelineLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyPipelineLayoutSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyPipelineLayout"-               vkDestroyPipelineLayoutUnsafe ::-               VkDevice -- ^ device-                        -> VkPipelineLayout -- ^ pipelineLayout-                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                         -> IO ()--##else-vkDestroyPipelineLayoutUnsafe ::-                              VkDevice -- ^ device-                                       -> VkPipelineLayout -- ^ pipelineLayout-                                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                        -> IO ()-vkDestroyPipelineLayoutUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyPipelineLayout)--{-# NOINLINE vkDestroyPipelineLayoutUnsafe #-}-##endif---- |--- > void vkDestroyPipelineLayout--- >     ( VkDevice device--- >     , VkPipelineLayout pipelineLayout--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipelineLayout vkDestroyPipelineLayout registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyPipelineLayout <- vkGetDeviceProc @VkDestroyPipelineLayout vkDevice------ or less efficient:------ > myDestroyPipelineLayout <- vkGetProc @VkDestroyPipelineLayout------ __Note:__ @vkDestroyPipelineLayoutUnsafe@ and @vkDestroyPipelineLayoutSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyPipelineLayout@ is an alias---           of @vkDestroyPipelineLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyPipelineLayoutSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkDestroyPipelineLayout"-               vkDestroyPipelineLayoutSafe ::-               VkDevice -- ^ device-                        -> VkPipelineLayout -- ^ pipelineLayout-                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                         -> IO ()--##else-vkDestroyPipelineLayoutSafe ::-                            VkDevice -- ^ device-                                     -> VkPipelineLayout -- ^ pipelineLayout-                                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                      -> IO ()-vkDestroyPipelineLayoutSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyPipelineLayout)--{-# NOINLINE vkDestroyPipelineLayoutSafe #-}-##endif---- |--- > void vkDestroyPipelineLayout--- >     ( VkDevice device--- >     , VkPipelineLayout pipelineLayout--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipelineLayout vkDestroyPipelineLayout registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyPipelineLayout <- vkGetDeviceProc @VkDestroyPipelineLayout vkDevice------ or less efficient:------ > myDestroyPipelineLayout <- vkGetProc @VkDestroyPipelineLayout------ __Note:__ @vkDestroyPipelineLayoutUnsafe@ and @vkDestroyPipelineLayoutSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyPipelineLayout@ is an alias---           of @vkDestroyPipelineLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyPipelineLayoutSafe@.----vkDestroyPipelineLayout ::-                        VkDevice -- ^ device-                                 -> VkPipelineLayout -- ^ pipelineLayout-                                                     -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                  -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkDestroyPipelineLayout = vkDestroyPipelineLayoutUnsafe-##else-vkDestroyPipelineLayout = vkDestroyPipelineLayoutSafe--##endif-{-# INLINE vkDestroyPipelineLayout #-}---- | > void vkDestroyPipelineLayout---   >     ( VkDevice device---   >     , VkPipelineLayout pipelineLayout---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipelineLayout vkDestroyPipelineLayout registry at www.khronos.org>-type HS_vkDestroyPipelineLayout =-     VkDevice -- ^ device-              -> VkPipelineLayout -- ^ pipelineLayout-                                  -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                               -> IO ()--type PFN_vkDestroyPipelineLayout =-     FunPtr HS_vkDestroyPipelineLayout--foreign import ccall unsafe "dynamic"-               unwrapVkDestroyPipelineLayoutUnsafe ::-               PFN_vkDestroyPipelineLayout -> HS_vkDestroyPipelineLayout--foreign import ccall safe "dynamic"-               unwrapVkDestroyPipelineLayoutSafe ::-               PFN_vkDestroyPipelineLayout -> HS_vkDestroyPipelineLayout--instance VulkanProc "vkDestroyPipelineLayout" where-        type VkProcType "vkDestroyPipelineLayout" =-             HS_vkDestroyPipelineLayout-        vkProcSymbol = _VkDestroyPipelineLayout--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDestroyPipelineLayoutUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroyPipelineLayoutSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCreateSampler :: CString--pattern VkCreateSampler <- (is_VkCreateSampler -> True)-  where VkCreateSampler = _VkCreateSampler--{-# INLINE _VkCreateSampler #-}--_VkCreateSampler :: CString-_VkCreateSampler = Ptr "vkCreateSampler\NUL"##--{-# INLINE is_VkCreateSampler #-}--is_VkCreateSampler :: CString -> Bool-is_VkCreateSampler = (EQ ==) . cmpCStrings _VkCreateSampler--type VkCreateSampler = "vkCreateSampler"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS'.------ > VkResult vkCreateSampler--- >     ( VkDevice device--- >     , const VkSamplerCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkSampler* pSampler--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSampler vkCreateSampler registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateSampler <- vkGetDeviceProc @VkCreateSampler vkDevice------ or less efficient:------ > myCreateSampler <- vkGetProc @VkCreateSampler------ __Note:__ @vkCreateSamplerUnsafe@ and @vkCreateSamplerSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateSampler@ is an alias---           of @vkCreateSamplerUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateSamplerSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateSampler" vkCreateSamplerUnsafe-               ::-               VkDevice -- ^ device-                        ->-                 Ptr VkSamplerCreateInfo -- ^ pCreateInfo-                                         ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkSampler -- ^ pSampler-                                                              -> IO VkResult--##else-vkCreateSamplerUnsafe ::-                      VkDevice -- ^ device-                               ->-                        Ptr VkSamplerCreateInfo -- ^ pCreateInfo-                                                ->-                          Ptr VkAllocationCallbacks -- ^ pAllocator-                                                    -> Ptr VkSampler -- ^ pSampler-                                                                     -> IO VkResult-vkCreateSamplerUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateSampler)--{-# NOINLINE vkCreateSamplerUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS'.------ > VkResult vkCreateSampler--- >     ( VkDevice device--- >     , const VkSamplerCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkSampler* pSampler--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSampler vkCreateSampler registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateSampler <- vkGetDeviceProc @VkCreateSampler vkDevice------ or less efficient:------ > myCreateSampler <- vkGetProc @VkCreateSampler------ __Note:__ @vkCreateSamplerUnsafe@ and @vkCreateSamplerSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateSampler@ is an alias---           of @vkCreateSamplerUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateSamplerSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCreateSampler" vkCreateSamplerSafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkSamplerCreateInfo -- ^ pCreateInfo-                                         ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkSampler -- ^ pSampler-                                                              -> IO VkResult--##else-vkCreateSamplerSafe ::-                    VkDevice -- ^ device-                             ->-                      Ptr VkSamplerCreateInfo -- ^ pCreateInfo-                                              ->-                        Ptr VkAllocationCallbacks -- ^ pAllocator-                                                  -> Ptr VkSampler -- ^ pSampler-                                                                   -> IO VkResult-vkCreateSamplerSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateSampler)--{-# NOINLINE vkCreateSamplerSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS'.------ > VkResult vkCreateSampler--- >     ( VkDevice device--- >     , const VkSamplerCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkSampler* pSampler--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSampler vkCreateSampler registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateSampler <- vkGetDeviceProc @VkCreateSampler vkDevice------ or less efficient:------ > myCreateSampler <- vkGetProc @VkCreateSampler------ __Note:__ @vkCreateSamplerUnsafe@ and @vkCreateSamplerSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateSampler@ is an alias---           of @vkCreateSamplerUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateSamplerSafe@.----vkCreateSampler ::-                VkDevice -- ^ device-                         ->-                  Ptr VkSamplerCreateInfo -- ^ pCreateInfo-                                          ->-                    Ptr VkAllocationCallbacks -- ^ pAllocator-                                              -> Ptr VkSampler -- ^ pSampler-                                                               -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkCreateSampler = vkCreateSamplerUnsafe-##else-vkCreateSampler = vkCreateSamplerSafe--##endif-{-# INLINE vkCreateSampler #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS'.------   > VkResult vkCreateSampler---   >     ( VkDevice device---   >     , const VkSamplerCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkSampler* pSampler---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSampler vkCreateSampler registry at www.khronos.org>-type HS_vkCreateSampler =-     VkDevice -- ^ device-              ->-       Ptr VkSamplerCreateInfo -- ^ pCreateInfo-                               ->-         Ptr VkAllocationCallbacks -- ^ pAllocator-                                   -> Ptr VkSampler -- ^ pSampler-                                                    -> IO VkResult--type PFN_vkCreateSampler = FunPtr HS_vkCreateSampler--foreign import ccall unsafe "dynamic" unwrapVkCreateSamplerUnsafe-               :: PFN_vkCreateSampler -> HS_vkCreateSampler--foreign import ccall safe "dynamic" unwrapVkCreateSamplerSafe ::-               PFN_vkCreateSampler -> HS_vkCreateSampler--instance VulkanProc "vkCreateSampler" where-        type VkProcType "vkCreateSampler" = HS_vkCreateSampler-        vkProcSymbol = _VkCreateSampler--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateSamplerUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateSamplerSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkDestroySampler :: CString--pattern VkDestroySampler <- (is_VkDestroySampler -> True)-  where VkDestroySampler = _VkDestroySampler--{-# INLINE _VkDestroySampler #-}--_VkDestroySampler :: CString-_VkDestroySampler = Ptr "vkDestroySampler\NUL"##--{-# INLINE is_VkDestroySampler #-}--is_VkDestroySampler :: CString -> Bool-is_VkDestroySampler = (EQ ==) . cmpCStrings _VkDestroySampler--type VkDestroySampler = "vkDestroySampler"---- |--- > void vkDestroySampler--- >     ( VkDevice device--- >     , VkSampler sampler--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySampler vkDestroySampler registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroySampler <- vkGetDeviceProc @VkDestroySampler vkDevice------ or less efficient:------ > myDestroySampler <- vkGetProc @VkDestroySampler------ __Note:__ @vkDestroySamplerUnsafe@ and @vkDestroySamplerSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroySampler@ is an alias---           of @vkDestroySamplerUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroySamplerSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroySampler"-               vkDestroySamplerUnsafe ::-               VkDevice -- ^ device-                        -> VkSampler -- ^ sampler-                                     -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                  -> IO ()--##else-vkDestroySamplerUnsafe ::-                       VkDevice -- ^ device-                                -> VkSampler -- ^ sampler-                                             -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                          -> IO ()-vkDestroySamplerUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroySampler)--{-# NOINLINE vkDestroySamplerUnsafe #-}-##endif---- |--- > void vkDestroySampler--- >     ( VkDevice device--- >     , VkSampler sampler--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySampler vkDestroySampler registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroySampler <- vkGetDeviceProc @VkDestroySampler vkDevice------ or less efficient:------ > myDestroySampler <- vkGetProc @VkDestroySampler------ __Note:__ @vkDestroySamplerUnsafe@ and @vkDestroySamplerSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroySampler@ is an alias---           of @vkDestroySamplerUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroySamplerSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkDestroySampler" vkDestroySamplerSafe-               :: VkDevice -- ^ device-                           -> VkSampler -- ^ sampler-                                        -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                     -> IO ()--##else-vkDestroySamplerSafe ::-                     VkDevice -- ^ device-                              -> VkSampler -- ^ sampler-                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                        -> IO ()-vkDestroySamplerSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroySampler)--{-# NOINLINE vkDestroySamplerSafe #-}-##endif---- |--- > void vkDestroySampler--- >     ( VkDevice device--- >     , VkSampler sampler--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySampler vkDestroySampler registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroySampler <- vkGetDeviceProc @VkDestroySampler vkDevice------ or less efficient:------ > myDestroySampler <- vkGetProc @VkDestroySampler------ __Note:__ @vkDestroySamplerUnsafe@ and @vkDestroySamplerSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroySampler@ is an alias---           of @vkDestroySamplerUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroySamplerSafe@.----vkDestroySampler ::-                 VkDevice -- ^ device-                          -> VkSampler -- ^ sampler-                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                    -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkDestroySampler = vkDestroySamplerUnsafe-##else-vkDestroySampler = vkDestroySamplerSafe--##endif-{-# INLINE vkDestroySampler #-}---- | > void vkDestroySampler---   >     ( VkDevice device---   >     , VkSampler sampler---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySampler vkDestroySampler registry at www.khronos.org>-type HS_vkDestroySampler =-     VkDevice -- ^ device-              -> VkSampler -- ^ sampler-                           -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                        -> IO ()--type PFN_vkDestroySampler = FunPtr HS_vkDestroySampler--foreign import ccall unsafe "dynamic" unwrapVkDestroySamplerUnsafe-               :: PFN_vkDestroySampler -> HS_vkDestroySampler--foreign import ccall safe "dynamic" unwrapVkDestroySamplerSafe ::-               PFN_vkDestroySampler -> HS_vkDestroySampler--instance VulkanProc "vkDestroySampler" where-        type VkProcType "vkDestroySampler" = HS_vkDestroySampler-        vkProcSymbol = _VkDestroySampler--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDestroySamplerUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroySamplerSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCreateDescriptorSetLayout :: CString--pattern VkCreateDescriptorSetLayout <--        (is_VkCreateDescriptorSetLayout -> True)-  where VkCreateDescriptorSetLayout = _VkCreateDescriptorSetLayout--{-# INLINE _VkCreateDescriptorSetLayout #-}--_VkCreateDescriptorSetLayout :: CString-_VkCreateDescriptorSetLayout-  = Ptr "vkCreateDescriptorSetLayout\NUL"##--{-# INLINE is_VkCreateDescriptorSetLayout #-}--is_VkCreateDescriptorSetLayout :: CString -> Bool-is_VkCreateDescriptorSetLayout-  = (EQ ==) . cmpCStrings _VkCreateDescriptorSetLayout--type VkCreateDescriptorSetLayout = "vkCreateDescriptorSetLayout"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateDescriptorSetLayout--- >     ( VkDevice device--- >     , const VkDescriptorSetLayoutCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkDescriptorSetLayout* pSetLayout--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateDescriptorSetLayout <- vkGetDeviceProc @VkCreateDescriptorSetLayout vkDevice------ or less efficient:------ > myCreateDescriptorSetLayout <- vkGetProc @VkCreateDescriptorSetLayout------ __Note:__ @vkCreateDescriptorSetLayoutUnsafe@ and @vkCreateDescriptorSetLayoutSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateDescriptorSetLayout@ is an alias---           of @vkCreateDescriptorSetLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateDescriptorSetLayoutSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateDescriptorSetLayout"-               vkCreateDescriptorSetLayoutUnsafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo-                                                     ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             ->-                     Ptr VkDescriptorSetLayout -- ^ pSetLayout-                                               -> IO VkResult--##else-vkCreateDescriptorSetLayoutUnsafe ::-                                  VkDevice -- ^ device-                                           ->-                                    Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo-                                                                        ->-                                      Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                ->-                                        Ptr VkDescriptorSetLayout -- ^ pSetLayout-                                                                  -> IO VkResult-vkCreateDescriptorSetLayoutUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkCreateDescriptorSetLayout)--{-# NOINLINE vkCreateDescriptorSetLayoutUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateDescriptorSetLayout--- >     ( VkDevice device--- >     , const VkDescriptorSetLayoutCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkDescriptorSetLayout* pSetLayout--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateDescriptorSetLayout <- vkGetDeviceProc @VkCreateDescriptorSetLayout vkDevice------ or less efficient:------ > myCreateDescriptorSetLayout <- vkGetProc @VkCreateDescriptorSetLayout------ __Note:__ @vkCreateDescriptorSetLayoutUnsafe@ and @vkCreateDescriptorSetLayoutSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateDescriptorSetLayout@ is an alias---           of @vkCreateDescriptorSetLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateDescriptorSetLayoutSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCreateDescriptorSetLayout"-               vkCreateDescriptorSetLayoutSafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo-                                                     ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             ->-                     Ptr VkDescriptorSetLayout -- ^ pSetLayout-                                               -> IO VkResult--##else-vkCreateDescriptorSetLayoutSafe ::-                                VkDevice -- ^ device-                                         ->-                                  Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo-                                                                      ->-                                    Ptr VkAllocationCallbacks -- ^ pAllocator-                                                              ->-                                      Ptr VkDescriptorSetLayout -- ^ pSetLayout-                                                                -> IO VkResult-vkCreateDescriptorSetLayoutSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkCreateDescriptorSetLayout)--{-# NOINLINE vkCreateDescriptorSetLayoutSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateDescriptorSetLayout--- >     ( VkDevice device--- >     , const VkDescriptorSetLayoutCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkDescriptorSetLayout* pSetLayout--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateDescriptorSetLayout <- vkGetDeviceProc @VkCreateDescriptorSetLayout vkDevice------ or less efficient:------ > myCreateDescriptorSetLayout <- vkGetProc @VkCreateDescriptorSetLayout------ __Note:__ @vkCreateDescriptorSetLayoutUnsafe@ and @vkCreateDescriptorSetLayoutSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateDescriptorSetLayout@ is an alias---           of @vkCreateDescriptorSetLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateDescriptorSetLayoutSafe@.----vkCreateDescriptorSetLayout ::-                            VkDevice -- ^ device-                                     ->-                              Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo-                                                                  ->-                                Ptr VkAllocationCallbacks -- ^ pAllocator-                                                          ->-                                  Ptr VkDescriptorSetLayout -- ^ pSetLayout-                                                            -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkCreateDescriptorSetLayout = vkCreateDescriptorSetLayoutUnsafe-##else-vkCreateDescriptorSetLayout = vkCreateDescriptorSetLayoutSafe--##endif-{-# INLINE vkCreateDescriptorSetLayout #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreateDescriptorSetLayout---   >     ( VkDevice device---   >     , const VkDescriptorSetLayoutCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkDescriptorSetLayout* pSetLayout---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout registry at www.khronos.org>-type HS_vkCreateDescriptorSetLayout =-     VkDevice -- ^ device-              ->-       Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo-                                           ->-         Ptr VkAllocationCallbacks -- ^ pAllocator-                                   ->-           Ptr VkDescriptorSetLayout -- ^ pSetLayout-                                     -> IO VkResult--type PFN_vkCreateDescriptorSetLayout =-     FunPtr HS_vkCreateDescriptorSetLayout--foreign import ccall unsafe "dynamic"-               unwrapVkCreateDescriptorSetLayoutUnsafe ::-               PFN_vkCreateDescriptorSetLayout -> HS_vkCreateDescriptorSetLayout--foreign import ccall safe "dynamic"-               unwrapVkCreateDescriptorSetLayoutSafe ::-               PFN_vkCreateDescriptorSetLayout -> HS_vkCreateDescriptorSetLayout--instance VulkanProc "vkCreateDescriptorSetLayout" where-        type VkProcType "vkCreateDescriptorSetLayout" =-             HS_vkCreateDescriptorSetLayout-        vkProcSymbol = _VkCreateDescriptorSetLayout--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateDescriptorSetLayoutUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateDescriptorSetLayoutSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkDestroyDescriptorSetLayout :: CString--pattern VkDestroyDescriptorSetLayout <--        (is_VkDestroyDescriptorSetLayout -> True)-  where VkDestroyDescriptorSetLayout = _VkDestroyDescriptorSetLayout--{-# INLINE _VkDestroyDescriptorSetLayout #-}--_VkDestroyDescriptorSetLayout :: CString-_VkDestroyDescriptorSetLayout-  = Ptr "vkDestroyDescriptorSetLayout\NUL"##--{-# INLINE is_VkDestroyDescriptorSetLayout #-}--is_VkDestroyDescriptorSetLayout :: CString -> Bool-is_VkDestroyDescriptorSetLayout-  = (EQ ==) . cmpCStrings _VkDestroyDescriptorSetLayout--type VkDestroyDescriptorSetLayout = "vkDestroyDescriptorSetLayout"---- |--- > void vkDestroyDescriptorSetLayout--- >     ( VkDevice device--- >     , VkDescriptorSetLayout descriptorSetLayout--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyDescriptorSetLayout <- vkGetDeviceProc @VkDestroyDescriptorSetLayout vkDevice------ or less efficient:------ > myDestroyDescriptorSetLayout <- vkGetProc @VkDestroyDescriptorSetLayout------ __Note:__ @vkDestroyDescriptorSetLayoutUnsafe@ and @vkDestroyDescriptorSetLayoutSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyDescriptorSetLayout@ is an alias---           of @vkDestroyDescriptorSetLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyDescriptorSetLayoutSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyDescriptorSetLayout"-               vkDestroyDescriptorSetLayoutUnsafe ::-               VkDevice -- ^ device-                        ->-                 VkDescriptorSetLayout -- ^ descriptorSetLayout-                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                    -> IO ()--##else-vkDestroyDescriptorSetLayoutUnsafe ::-                                   VkDevice -- ^ device-                                            ->-                                     VkDescriptorSetLayout -- ^ descriptorSetLayout-                                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                        -> IO ()-vkDestroyDescriptorSetLayoutUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkDestroyDescriptorSetLayout)--{-# NOINLINE vkDestroyDescriptorSetLayoutUnsafe #-}-##endif---- |--- > void vkDestroyDescriptorSetLayout--- >     ( VkDevice device--- >     , VkDescriptorSetLayout descriptorSetLayout--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyDescriptorSetLayout <- vkGetDeviceProc @VkDestroyDescriptorSetLayout vkDevice------ or less efficient:------ > myDestroyDescriptorSetLayout <- vkGetProc @VkDestroyDescriptorSetLayout------ __Note:__ @vkDestroyDescriptorSetLayoutUnsafe@ and @vkDestroyDescriptorSetLayoutSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyDescriptorSetLayout@ is an alias---           of @vkDestroyDescriptorSetLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyDescriptorSetLayoutSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkDestroyDescriptorSetLayout"-               vkDestroyDescriptorSetLayoutSafe ::-               VkDevice -- ^ device-                        ->-                 VkDescriptorSetLayout -- ^ descriptorSetLayout-                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                    -> IO ()--##else-vkDestroyDescriptorSetLayoutSafe ::-                                 VkDevice -- ^ device-                                          ->-                                   VkDescriptorSetLayout -- ^ descriptorSetLayout-                                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                      -> IO ()-vkDestroyDescriptorSetLayoutSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkDestroyDescriptorSetLayout)--{-# NOINLINE vkDestroyDescriptorSetLayoutSafe #-}-##endif---- |--- > void vkDestroyDescriptorSetLayout--- >     ( VkDevice device--- >     , VkDescriptorSetLayout descriptorSetLayout--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyDescriptorSetLayout <- vkGetDeviceProc @VkDestroyDescriptorSetLayout vkDevice------ or less efficient:------ > myDestroyDescriptorSetLayout <- vkGetProc @VkDestroyDescriptorSetLayout------ __Note:__ @vkDestroyDescriptorSetLayoutUnsafe@ and @vkDestroyDescriptorSetLayoutSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyDescriptorSetLayout@ is an alias---           of @vkDestroyDescriptorSetLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyDescriptorSetLayoutSafe@.----vkDestroyDescriptorSetLayout ::-                             VkDevice -- ^ device-                                      ->-                               VkDescriptorSetLayout -- ^ descriptorSetLayout-                                                     -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                  -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkDestroyDescriptorSetLayout = vkDestroyDescriptorSetLayoutUnsafe-##else-vkDestroyDescriptorSetLayout = vkDestroyDescriptorSetLayoutSafe--##endif-{-# INLINE vkDestroyDescriptorSetLayout #-}---- | > void vkDestroyDescriptorSetLayout---   >     ( VkDevice device---   >     , VkDescriptorSetLayout descriptorSetLayout---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout registry at www.khronos.org>-type HS_vkDestroyDescriptorSetLayout =-     VkDevice -- ^ device-              ->-       VkDescriptorSetLayout -- ^ descriptorSetLayout-                             -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                          -> IO ()--type PFN_vkDestroyDescriptorSetLayout =-     FunPtr HS_vkDestroyDescriptorSetLayout--foreign import ccall unsafe "dynamic"-               unwrapVkDestroyDescriptorSetLayoutUnsafe ::-               PFN_vkDestroyDescriptorSetLayout -> HS_vkDestroyDescriptorSetLayout--foreign import ccall safe "dynamic"-               unwrapVkDestroyDescriptorSetLayoutSafe ::-               PFN_vkDestroyDescriptorSetLayout -> HS_vkDestroyDescriptorSetLayout--instance VulkanProc "vkDestroyDescriptorSetLayout" where-        type VkProcType "vkDestroyDescriptorSetLayout" =-             HS_vkDestroyDescriptorSetLayout-        vkProcSymbol = _VkDestroyDescriptorSetLayout--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDestroyDescriptorSetLayoutUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroyDescriptorSetLayoutSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCreateDescriptorPool :: CString--pattern VkCreateDescriptorPool <--        (is_VkCreateDescriptorPool -> True)-  where VkCreateDescriptorPool = _VkCreateDescriptorPool--{-# INLINE _VkCreateDescriptorPool #-}--_VkCreateDescriptorPool :: CString-_VkCreateDescriptorPool = Ptr "vkCreateDescriptorPool\NUL"##--{-# INLINE is_VkCreateDescriptorPool #-}--is_VkCreateDescriptorPool :: CString -> Bool-is_VkCreateDescriptorPool-  = (EQ ==) . cmpCStrings _VkCreateDescriptorPool--type VkCreateDescriptorPool = "vkCreateDescriptorPool"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTATION_EXT'.------ > VkResult vkCreateDescriptorPool--- >     ( VkDevice device--- >     , const VkDescriptorPoolCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkDescriptorPool* pDescriptorPool--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorPool vkCreateDescriptorPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateDescriptorPool <- vkGetDeviceProc @VkCreateDescriptorPool vkDevice------ or less efficient:------ > myCreateDescriptorPool <- vkGetProc @VkCreateDescriptorPool------ __Note:__ @vkCreateDescriptorPoolUnsafe@ and @vkCreateDescriptorPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateDescriptorPool@ is an alias---           of @vkCreateDescriptorPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateDescriptorPoolSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateDescriptorPool"-               vkCreateDescriptorPoolUnsafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkDescriptorPoolCreateInfo -- ^ pCreateInfo-                                                ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkDescriptorPool -- ^ pDescriptorPool-                                                                     -> IO VkResult--##else-vkCreateDescriptorPoolUnsafe ::-                             VkDevice -- ^ device-                                      ->-                               Ptr VkDescriptorPoolCreateInfo -- ^ pCreateInfo-                                                              ->-                                 Ptr VkAllocationCallbacks -- ^ pAllocator-                                                           -> Ptr VkDescriptorPool -- ^ pDescriptorPool-                                                                                   -> IO VkResult-vkCreateDescriptorPoolUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateDescriptorPool)--{-# NOINLINE vkCreateDescriptorPoolUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTATION_EXT'.------ > VkResult vkCreateDescriptorPool--- >     ( VkDevice device--- >     , const VkDescriptorPoolCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkDescriptorPool* pDescriptorPool--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorPool vkCreateDescriptorPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateDescriptorPool <- vkGetDeviceProc @VkCreateDescriptorPool vkDevice------ or less efficient:------ > myCreateDescriptorPool <- vkGetProc @VkCreateDescriptorPool------ __Note:__ @vkCreateDescriptorPoolUnsafe@ and @vkCreateDescriptorPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateDescriptorPool@ is an alias---           of @vkCreateDescriptorPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateDescriptorPoolSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCreateDescriptorPool"-               vkCreateDescriptorPoolSafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkDescriptorPoolCreateInfo -- ^ pCreateInfo-                                                ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkDescriptorPool -- ^ pDescriptorPool-                                                                     -> IO VkResult--##else-vkCreateDescriptorPoolSafe ::-                           VkDevice -- ^ device-                                    ->-                             Ptr VkDescriptorPoolCreateInfo -- ^ pCreateInfo-                                                            ->-                               Ptr VkAllocationCallbacks -- ^ pAllocator-                                                         -> Ptr VkDescriptorPool -- ^ pDescriptorPool-                                                                                 -> IO VkResult-vkCreateDescriptorPoolSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateDescriptorPool)--{-# NOINLINE vkCreateDescriptorPoolSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTATION_EXT'.------ > VkResult vkCreateDescriptorPool--- >     ( VkDevice device--- >     , const VkDescriptorPoolCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkDescriptorPool* pDescriptorPool--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorPool vkCreateDescriptorPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateDescriptorPool <- vkGetDeviceProc @VkCreateDescriptorPool vkDevice------ or less efficient:------ > myCreateDescriptorPool <- vkGetProc @VkCreateDescriptorPool------ __Note:__ @vkCreateDescriptorPoolUnsafe@ and @vkCreateDescriptorPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateDescriptorPool@ is an alias---           of @vkCreateDescriptorPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateDescriptorPoolSafe@.----vkCreateDescriptorPool ::-                       VkDevice -- ^ device-                                ->-                         Ptr VkDescriptorPoolCreateInfo -- ^ pCreateInfo-                                                        ->-                           Ptr VkAllocationCallbacks -- ^ pAllocator-                                                     -> Ptr VkDescriptorPool -- ^ pDescriptorPool-                                                                             -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkCreateDescriptorPool = vkCreateDescriptorPoolUnsafe-##else-vkCreateDescriptorPool = vkCreateDescriptorPoolSafe--##endif-{-# INLINE vkCreateDescriptorPool #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTATION_EXT'.------   > VkResult vkCreateDescriptorPool---   >     ( VkDevice device---   >     , const VkDescriptorPoolCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkDescriptorPool* pDescriptorPool---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorPool vkCreateDescriptorPool registry at www.khronos.org>-type HS_vkCreateDescriptorPool =-     VkDevice -- ^ device-              ->-       Ptr VkDescriptorPoolCreateInfo -- ^ pCreateInfo-                                      ->-         Ptr VkAllocationCallbacks -- ^ pAllocator-                                   -> Ptr VkDescriptorPool -- ^ pDescriptorPool-                                                           -> IO VkResult--type PFN_vkCreateDescriptorPool = FunPtr HS_vkCreateDescriptorPool--foreign import ccall unsafe "dynamic"-               unwrapVkCreateDescriptorPoolUnsafe ::-               PFN_vkCreateDescriptorPool -> HS_vkCreateDescriptorPool--foreign import ccall safe "dynamic"-               unwrapVkCreateDescriptorPoolSafe ::-               PFN_vkCreateDescriptorPool -> HS_vkCreateDescriptorPool--instance VulkanProc "vkCreateDescriptorPool" where-        type VkProcType "vkCreateDescriptorPool" =-             HS_vkCreateDescriptorPool-        vkProcSymbol = _VkCreateDescriptorPool--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateDescriptorPoolUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateDescriptorPoolSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkDestroyDescriptorPool :: CString--pattern VkDestroyDescriptorPool <--        (is_VkDestroyDescriptorPool -> True)-  where VkDestroyDescriptorPool = _VkDestroyDescriptorPool--{-# INLINE _VkDestroyDescriptorPool #-}--_VkDestroyDescriptorPool :: CString-_VkDestroyDescriptorPool = Ptr "vkDestroyDescriptorPool\NUL"##--{-# INLINE is_VkDestroyDescriptorPool #-}--is_VkDestroyDescriptorPool :: CString -> Bool-is_VkDestroyDescriptorPool-  = (EQ ==) . cmpCStrings _VkDestroyDescriptorPool--type VkDestroyDescriptorPool = "vkDestroyDescriptorPool"---- |--- > void vkDestroyDescriptorPool--- >     ( VkDevice device--- >     , VkDescriptorPool descriptorPool--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorPool vkDestroyDescriptorPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyDescriptorPool <- vkGetDeviceProc @VkDestroyDescriptorPool vkDevice------ or less efficient:------ > myDestroyDescriptorPool <- vkGetProc @VkDestroyDescriptorPool------ __Note:__ @vkDestroyDescriptorPoolUnsafe@ and @vkDestroyDescriptorPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyDescriptorPool@ is an alias---           of @vkDestroyDescriptorPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyDescriptorPoolSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyDescriptorPool"-               vkDestroyDescriptorPoolUnsafe ::-               VkDevice -- ^ device-                        -> VkDescriptorPool -- ^ descriptorPool-                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                         -> IO ()--##else-vkDestroyDescriptorPoolUnsafe ::-                              VkDevice -- ^ device-                                       -> VkDescriptorPool -- ^ descriptorPool-                                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                        -> IO ()-vkDestroyDescriptorPoolUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyDescriptorPool)--{-# NOINLINE vkDestroyDescriptorPoolUnsafe #-}-##endif---- |--- > void vkDestroyDescriptorPool--- >     ( VkDevice device--- >     , VkDescriptorPool descriptorPool--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorPool vkDestroyDescriptorPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyDescriptorPool <- vkGetDeviceProc @VkDestroyDescriptorPool vkDevice------ or less efficient:------ > myDestroyDescriptorPool <- vkGetProc @VkDestroyDescriptorPool------ __Note:__ @vkDestroyDescriptorPoolUnsafe@ and @vkDestroyDescriptorPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyDescriptorPool@ is an alias---           of @vkDestroyDescriptorPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyDescriptorPoolSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkDestroyDescriptorPool"-               vkDestroyDescriptorPoolSafe ::-               VkDevice -- ^ device-                        -> VkDescriptorPool -- ^ descriptorPool-                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                         -> IO ()--##else-vkDestroyDescriptorPoolSafe ::-                            VkDevice -- ^ device-                                     -> VkDescriptorPool -- ^ descriptorPool-                                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                      -> IO ()-vkDestroyDescriptorPoolSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyDescriptorPool)--{-# NOINLINE vkDestroyDescriptorPoolSafe #-}-##endif---- |--- > void vkDestroyDescriptorPool--- >     ( VkDevice device--- >     , VkDescriptorPool descriptorPool--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorPool vkDestroyDescriptorPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyDescriptorPool <- vkGetDeviceProc @VkDestroyDescriptorPool vkDevice------ or less efficient:------ > myDestroyDescriptorPool <- vkGetProc @VkDestroyDescriptorPool------ __Note:__ @vkDestroyDescriptorPoolUnsafe@ and @vkDestroyDescriptorPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyDescriptorPool@ is an alias---           of @vkDestroyDescriptorPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyDescriptorPoolSafe@.----vkDestroyDescriptorPool ::-                        VkDevice -- ^ device-                                 -> VkDescriptorPool -- ^ descriptorPool-                                                     -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                  -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkDestroyDescriptorPool = vkDestroyDescriptorPoolUnsafe-##else-vkDestroyDescriptorPool = vkDestroyDescriptorPoolSafe--##endif-{-# INLINE vkDestroyDescriptorPool #-}---- | > void vkDestroyDescriptorPool---   >     ( VkDevice device---   >     , VkDescriptorPool descriptorPool---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorPool vkDestroyDescriptorPool registry at www.khronos.org>-type HS_vkDestroyDescriptorPool =-     VkDevice -- ^ device-              -> VkDescriptorPool -- ^ descriptorPool-                                  -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                               -> IO ()--type PFN_vkDestroyDescriptorPool =-     FunPtr HS_vkDestroyDescriptorPool--foreign import ccall unsafe "dynamic"-               unwrapVkDestroyDescriptorPoolUnsafe ::-               PFN_vkDestroyDescriptorPool -> HS_vkDestroyDescriptorPool--foreign import ccall safe "dynamic"-               unwrapVkDestroyDescriptorPoolSafe ::-               PFN_vkDestroyDescriptorPool -> HS_vkDestroyDescriptorPool--instance VulkanProc "vkDestroyDescriptorPool" where-        type VkProcType "vkDestroyDescriptorPool" =-             HS_vkDestroyDescriptorPool-        vkProcSymbol = _VkDestroyDescriptorPool--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDestroyDescriptorPoolUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroyDescriptorPoolSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkResetDescriptorPool :: CString--pattern VkResetDescriptorPool <- (is_VkResetDescriptorPool -> True)-  where VkResetDescriptorPool = _VkResetDescriptorPool--{-# INLINE _VkResetDescriptorPool #-}--_VkResetDescriptorPool :: CString-_VkResetDescriptorPool = Ptr "vkResetDescriptorPool\NUL"##--{-# INLINE is_VkResetDescriptorPool #-}--is_VkResetDescriptorPool :: CString -> Bool-is_VkResetDescriptorPool-  = (EQ ==) . cmpCStrings _VkResetDescriptorPool--type VkResetDescriptorPool = "vkResetDescriptorPool"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkResetDescriptorPool--- >     ( VkDevice device--- >     , VkDescriptorPool descriptorPool--- >     , VkDescriptorPoolResetFlags flags--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetDescriptorPool vkResetDescriptorPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myResetDescriptorPool <- vkGetDeviceProc @VkResetDescriptorPool vkDevice------ or less efficient:------ > myResetDescriptorPool <- vkGetProc @VkResetDescriptorPool------ __Note:__ @vkResetDescriptorPoolUnsafe@ and @vkResetDescriptorPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkResetDescriptorPool@ is an alias---           of @vkResetDescriptorPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkResetDescriptorPoolSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkResetDescriptorPool"-               vkResetDescriptorPoolUnsafe ::-               VkDevice -- ^ device-                        ->-                 VkDescriptorPool -- ^ descriptorPool-                                  -> VkDescriptorPoolResetFlags -- ^ flags-                                                                -> IO VkResult--##else-vkResetDescriptorPoolUnsafe ::-                            VkDevice -- ^ device-                                     ->-                              VkDescriptorPool -- ^ descriptorPool-                                               -> VkDescriptorPoolResetFlags -- ^ flags-                                                                             -> IO VkResult-vkResetDescriptorPoolUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkResetDescriptorPool)--{-# NOINLINE vkResetDescriptorPoolUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkResetDescriptorPool--- >     ( VkDevice device--- >     , VkDescriptorPool descriptorPool--- >     , VkDescriptorPoolResetFlags flags--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetDescriptorPool vkResetDescriptorPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myResetDescriptorPool <- vkGetDeviceProc @VkResetDescriptorPool vkDevice------ or less efficient:------ > myResetDescriptorPool <- vkGetProc @VkResetDescriptorPool------ __Note:__ @vkResetDescriptorPoolUnsafe@ and @vkResetDescriptorPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkResetDescriptorPool@ is an alias---           of @vkResetDescriptorPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkResetDescriptorPoolSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkResetDescriptorPool"-               vkResetDescriptorPoolSafe ::-               VkDevice -- ^ device-                        ->-                 VkDescriptorPool -- ^ descriptorPool-                                  -> VkDescriptorPoolResetFlags -- ^ flags-                                                                -> IO VkResult--##else-vkResetDescriptorPoolSafe ::-                          VkDevice -- ^ device-                                   ->-                            VkDescriptorPool -- ^ descriptorPool-                                             -> VkDescriptorPoolResetFlags -- ^ flags-                                                                           -> IO VkResult-vkResetDescriptorPoolSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkResetDescriptorPool)--{-# NOINLINE vkResetDescriptorPoolSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkResetDescriptorPool--- >     ( VkDevice device--- >     , VkDescriptorPool descriptorPool--- >     , VkDescriptorPoolResetFlags flags--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetDescriptorPool vkResetDescriptorPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myResetDescriptorPool <- vkGetDeviceProc @VkResetDescriptorPool vkDevice------ or less efficient:------ > myResetDescriptorPool <- vkGetProc @VkResetDescriptorPool------ __Note:__ @vkResetDescriptorPoolUnsafe@ and @vkResetDescriptorPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkResetDescriptorPool@ is an alias---           of @vkResetDescriptorPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkResetDescriptorPoolSafe@.----vkResetDescriptorPool ::-                      VkDevice -- ^ device-                               ->-                        VkDescriptorPool -- ^ descriptorPool-                                         -> VkDescriptorPoolResetFlags -- ^ flags-                                                                       -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkResetDescriptorPool = vkResetDescriptorPoolUnsafe-##else-vkResetDescriptorPool = vkResetDescriptorPoolSafe--##endif-{-# INLINE vkResetDescriptorPool #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkResetDescriptorPool---   >     ( VkDevice device---   >     , VkDescriptorPool descriptorPool---   >     , VkDescriptorPoolResetFlags flags---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetDescriptorPool vkResetDescriptorPool registry at www.khronos.org>-type HS_vkResetDescriptorPool =-     VkDevice -- ^ device-              ->-       VkDescriptorPool -- ^ descriptorPool-                        -> VkDescriptorPoolResetFlags -- ^ flags-                                                      -> IO VkResult--type PFN_vkResetDescriptorPool = FunPtr HS_vkResetDescriptorPool--foreign import ccall unsafe "dynamic"-               unwrapVkResetDescriptorPoolUnsafe ::-               PFN_vkResetDescriptorPool -> HS_vkResetDescriptorPool--foreign import ccall safe "dynamic" unwrapVkResetDescriptorPoolSafe-               :: PFN_vkResetDescriptorPool -> HS_vkResetDescriptorPool--instance VulkanProc "vkResetDescriptorPool" where-        type VkProcType "vkResetDescriptorPool" = HS_vkResetDescriptorPool-        vkProcSymbol = _VkResetDescriptorPool--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkResetDescriptorPoolUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkResetDescriptorPoolSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkAllocateDescriptorSets :: CString--pattern VkAllocateDescriptorSets <--        (is_VkAllocateDescriptorSets -> True)-  where VkAllocateDescriptorSets = _VkAllocateDescriptorSets--{-# INLINE _VkAllocateDescriptorSets #-}--_VkAllocateDescriptorSets :: CString-_VkAllocateDescriptorSets = Ptr "vkAllocateDescriptorSets\NUL"##--{-# INLINE is_VkAllocateDescriptorSets #-}--is_VkAllocateDescriptorSets :: CString -> Bool-is_VkAllocateDescriptorSets-  = (EQ ==) . cmpCStrings _VkAllocateDescriptorSets--type VkAllocateDescriptorSets = "vkAllocateDescriptorSets"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTED_POOL', 'VK_ERROR_OUT_OF_POOL_MEMORY'.------ > VkResult vkAllocateDescriptorSets--- >     ( VkDevice device--- >     , const VkDescriptorSetAllocateInfo* pAllocateInfo--- >     , VkDescriptorSet* pDescriptorSets--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateDescriptorSets vkAllocateDescriptorSets registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myAllocateDescriptorSets <- vkGetDeviceProc @VkAllocateDescriptorSets vkDevice------ or less efficient:------ > myAllocateDescriptorSets <- vkGetProc @VkAllocateDescriptorSets------ __Note:__ @vkAllocateDescriptorSetsUnsafe@ and @vkAllocateDescriptorSetsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkAllocateDescriptorSets@ is an alias---           of @vkAllocateDescriptorSetsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkAllocateDescriptorSetsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkAllocateDescriptorSets"-               vkAllocateDescriptorSetsUnsafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkDescriptorSetAllocateInfo -- ^ pAllocateInfo-                                                 ->-                   Ptr VkDescriptorSet -- ^ pDescriptorSets-                                       -> IO VkResult--##else-vkAllocateDescriptorSetsUnsafe ::-                               VkDevice -- ^ device-                                        ->-                                 Ptr VkDescriptorSetAllocateInfo -- ^ pAllocateInfo-                                                                 ->-                                   Ptr VkDescriptorSet -- ^ pDescriptorSets-                                                       -> IO VkResult-vkAllocateDescriptorSetsUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkAllocateDescriptorSets)--{-# NOINLINE vkAllocateDescriptorSetsUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTED_POOL', 'VK_ERROR_OUT_OF_POOL_MEMORY'.------ > VkResult vkAllocateDescriptorSets--- >     ( VkDevice device--- >     , const VkDescriptorSetAllocateInfo* pAllocateInfo--- >     , VkDescriptorSet* pDescriptorSets--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateDescriptorSets vkAllocateDescriptorSets registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myAllocateDescriptorSets <- vkGetDeviceProc @VkAllocateDescriptorSets vkDevice------ or less efficient:------ > myAllocateDescriptorSets <- vkGetProc @VkAllocateDescriptorSets------ __Note:__ @vkAllocateDescriptorSetsUnsafe@ and @vkAllocateDescriptorSetsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkAllocateDescriptorSets@ is an alias---           of @vkAllocateDescriptorSetsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkAllocateDescriptorSetsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkAllocateDescriptorSets"-               vkAllocateDescriptorSetsSafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkDescriptorSetAllocateInfo -- ^ pAllocateInfo-                                                 ->-                   Ptr VkDescriptorSet -- ^ pDescriptorSets-                                       -> IO VkResult--##else-vkAllocateDescriptorSetsSafe ::-                             VkDevice -- ^ device-                                      ->-                               Ptr VkDescriptorSetAllocateInfo -- ^ pAllocateInfo-                                                               ->-                                 Ptr VkDescriptorSet -- ^ pDescriptorSets-                                                     -> IO VkResult-vkAllocateDescriptorSetsSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkAllocateDescriptorSets)--{-# NOINLINE vkAllocateDescriptorSetsSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTED_POOL', 'VK_ERROR_OUT_OF_POOL_MEMORY'.------ > VkResult vkAllocateDescriptorSets--- >     ( VkDevice device--- >     , const VkDescriptorSetAllocateInfo* pAllocateInfo--- >     , VkDescriptorSet* pDescriptorSets--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateDescriptorSets vkAllocateDescriptorSets registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myAllocateDescriptorSets <- vkGetDeviceProc @VkAllocateDescriptorSets vkDevice------ or less efficient:------ > myAllocateDescriptorSets <- vkGetProc @VkAllocateDescriptorSets------ __Note:__ @vkAllocateDescriptorSetsUnsafe@ and @vkAllocateDescriptorSetsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkAllocateDescriptorSets@ is an alias---           of @vkAllocateDescriptorSetsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkAllocateDescriptorSetsSafe@.----vkAllocateDescriptorSets ::-                         VkDevice -- ^ device-                                  ->-                           Ptr VkDescriptorSetAllocateInfo -- ^ pAllocateInfo-                                                           ->-                             Ptr VkDescriptorSet -- ^ pDescriptorSets-                                                 -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkAllocateDescriptorSets = vkAllocateDescriptorSetsUnsafe-##else-vkAllocateDescriptorSets = vkAllocateDescriptorSetsSafe--##endif-{-# INLINE vkAllocateDescriptorSets #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTED_POOL', 'VK_ERROR_OUT_OF_POOL_MEMORY'.------   > VkResult vkAllocateDescriptorSets---   >     ( VkDevice device---   >     , const VkDescriptorSetAllocateInfo* pAllocateInfo---   >     , VkDescriptorSet* pDescriptorSets---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateDescriptorSets vkAllocateDescriptorSets registry at www.khronos.org>-type HS_vkAllocateDescriptorSets =-     VkDevice -- ^ device-              ->-       Ptr VkDescriptorSetAllocateInfo -- ^ pAllocateInfo-                                       ->-         Ptr VkDescriptorSet -- ^ pDescriptorSets-                             -> IO VkResult--type PFN_vkAllocateDescriptorSets =-     FunPtr HS_vkAllocateDescriptorSets--foreign import ccall unsafe "dynamic"-               unwrapVkAllocateDescriptorSetsUnsafe ::-               PFN_vkAllocateDescriptorSets -> HS_vkAllocateDescriptorSets--foreign import ccall safe "dynamic"-               unwrapVkAllocateDescriptorSetsSafe ::-               PFN_vkAllocateDescriptorSets -> HS_vkAllocateDescriptorSets--instance VulkanProc "vkAllocateDescriptorSets" where-        type VkProcType "vkAllocateDescriptorSets" =-             HS_vkAllocateDescriptorSets-        vkProcSymbol = _VkAllocateDescriptorSets--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkAllocateDescriptorSetsUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkAllocateDescriptorSetsSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkFreeDescriptorSets :: CString--pattern VkFreeDescriptorSets <- (is_VkFreeDescriptorSets -> True)-  where VkFreeDescriptorSets = _VkFreeDescriptorSets--{-# INLINE _VkFreeDescriptorSets #-}--_VkFreeDescriptorSets :: CString-_VkFreeDescriptorSets = Ptr "vkFreeDescriptorSets\NUL"##--{-# INLINE is_VkFreeDescriptorSets #-}--is_VkFreeDescriptorSets :: CString -> Bool-is_VkFreeDescriptorSets-  = (EQ ==) . cmpCStrings _VkFreeDescriptorSets--type VkFreeDescriptorSets = "vkFreeDescriptorSets"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkFreeDescriptorSets--- >     ( VkDevice device--- >     , VkDescriptorPool descriptorPool--- >     , uint32_t descriptorSetCount--- >     , const VkDescriptorSet* pDescriptorSets--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeDescriptorSets vkFreeDescriptorSets registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myFreeDescriptorSets <- vkGetDeviceProc @VkFreeDescriptorSets vkDevice------ or less efficient:------ > myFreeDescriptorSets <- vkGetProc @VkFreeDescriptorSets------ __Note:__ @vkFreeDescriptorSetsUnsafe@ and @vkFreeDescriptorSetsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkFreeDescriptorSets@ is an alias---           of @vkFreeDescriptorSetsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkFreeDescriptorSetsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkFreeDescriptorSets"-               vkFreeDescriptorSetsUnsafe ::-               VkDevice -- ^ device-                        ->-                 VkDescriptorPool -- ^ descriptorPool-                                  -> Word32 -- ^ descriptorSetCount-                                            -> Ptr VkDescriptorSet -- ^ pDescriptorSets-                                                                   -> IO VkResult--##else-vkFreeDescriptorSetsUnsafe ::-                           VkDevice -- ^ device-                                    ->-                             VkDescriptorPool -- ^ descriptorPool-                                              -> Word32 -- ^ descriptorSetCount-                                                        -> Ptr VkDescriptorSet -- ^ pDescriptorSets-                                                                               -> IO VkResult-vkFreeDescriptorSetsUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkFreeDescriptorSets)--{-# NOINLINE vkFreeDescriptorSetsUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkFreeDescriptorSets--- >     ( VkDevice device--- >     , VkDescriptorPool descriptorPool--- >     , uint32_t descriptorSetCount--- >     , const VkDescriptorSet* pDescriptorSets--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeDescriptorSets vkFreeDescriptorSets registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myFreeDescriptorSets <- vkGetDeviceProc @VkFreeDescriptorSets vkDevice------ or less efficient:------ > myFreeDescriptorSets <- vkGetProc @VkFreeDescriptorSets------ __Note:__ @vkFreeDescriptorSetsUnsafe@ and @vkFreeDescriptorSetsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkFreeDescriptorSets@ is an alias---           of @vkFreeDescriptorSetsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkFreeDescriptorSetsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkFreeDescriptorSets"-               vkFreeDescriptorSetsSafe ::-               VkDevice -- ^ device-                        ->-                 VkDescriptorPool -- ^ descriptorPool-                                  -> Word32 -- ^ descriptorSetCount-                                            -> Ptr VkDescriptorSet -- ^ pDescriptorSets-                                                                   -> IO VkResult--##else-vkFreeDescriptorSetsSafe ::-                         VkDevice -- ^ device-                                  ->-                           VkDescriptorPool -- ^ descriptorPool-                                            -> Word32 -- ^ descriptorSetCount-                                                      -> Ptr VkDescriptorSet -- ^ pDescriptorSets-                                                                             -> IO VkResult-vkFreeDescriptorSetsSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkFreeDescriptorSets)--{-# NOINLINE vkFreeDescriptorSetsSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkFreeDescriptorSets--- >     ( VkDevice device--- >     , VkDescriptorPool descriptorPool--- >     , uint32_t descriptorSetCount--- >     , const VkDescriptorSet* pDescriptorSets--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeDescriptorSets vkFreeDescriptorSets registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myFreeDescriptorSets <- vkGetDeviceProc @VkFreeDescriptorSets vkDevice------ or less efficient:------ > myFreeDescriptorSets <- vkGetProc @VkFreeDescriptorSets------ __Note:__ @vkFreeDescriptorSetsUnsafe@ and @vkFreeDescriptorSetsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkFreeDescriptorSets@ is an alias---           of @vkFreeDescriptorSetsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkFreeDescriptorSetsSafe@.----vkFreeDescriptorSets ::-                     VkDevice -- ^ device-                              ->-                       VkDescriptorPool -- ^ descriptorPool-                                        -> Word32 -- ^ descriptorSetCount-                                                  -> Ptr VkDescriptorSet -- ^ pDescriptorSets-                                                                         -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkFreeDescriptorSets = vkFreeDescriptorSetsUnsafe-##else-vkFreeDescriptorSets = vkFreeDescriptorSetsSafe--##endif-{-# INLINE vkFreeDescriptorSets #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkFreeDescriptorSets---   >     ( VkDevice device---   >     , VkDescriptorPool descriptorPool---   >     , uint32_t descriptorSetCount---   >     , const VkDescriptorSet* pDescriptorSets---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeDescriptorSets vkFreeDescriptorSets registry at www.khronos.org>-type HS_vkFreeDescriptorSets =-     VkDevice -- ^ device-              ->-       VkDescriptorPool -- ^ descriptorPool-                        -> Word32 -- ^ descriptorSetCount-                                  -> Ptr VkDescriptorSet -- ^ pDescriptorSets-                                                         -> IO VkResult--type PFN_vkFreeDescriptorSets = FunPtr HS_vkFreeDescriptorSets--foreign import ccall unsafe "dynamic"-               unwrapVkFreeDescriptorSetsUnsafe ::-               PFN_vkFreeDescriptorSets -> HS_vkFreeDescriptorSets--foreign import ccall safe "dynamic" unwrapVkFreeDescriptorSetsSafe-               :: PFN_vkFreeDescriptorSets -> HS_vkFreeDescriptorSets--instance VulkanProc "vkFreeDescriptorSets" where-        type VkProcType "vkFreeDescriptorSets" = HS_vkFreeDescriptorSets-        vkProcSymbol = _VkFreeDescriptorSets--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkFreeDescriptorSetsUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkFreeDescriptorSetsSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkUpdateDescriptorSets :: CString--pattern VkUpdateDescriptorSets <--        (is_VkUpdateDescriptorSets -> True)-  where VkUpdateDescriptorSets = _VkUpdateDescriptorSets--{-# INLINE _VkUpdateDescriptorSets #-}--_VkUpdateDescriptorSets :: CString-_VkUpdateDescriptorSets = Ptr "vkUpdateDescriptorSets\NUL"##--{-# INLINE is_VkUpdateDescriptorSets #-}--is_VkUpdateDescriptorSets :: CString -> Bool-is_VkUpdateDescriptorSets-  = (EQ ==) . cmpCStrings _VkUpdateDescriptorSets--type VkUpdateDescriptorSets = "vkUpdateDescriptorSets"---- |--- > void vkUpdateDescriptorSets--- >     ( VkDevice device--- >     , uint32_t descriptorWriteCount--- >     , const VkWriteDescriptorSet* pDescriptorWrites--- >     , uint32_t descriptorCopyCount--- >     , const VkCopyDescriptorSet* pDescriptorCopies--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUpdateDescriptorSets vkUpdateDescriptorSets registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myUpdateDescriptorSets <- vkGetDeviceProc @VkUpdateDescriptorSets vkDevice------ or less efficient:------ > myUpdateDescriptorSets <- vkGetProc @VkUpdateDescriptorSets------ __Note:__ @vkUpdateDescriptorSetsUnsafe@ and @vkUpdateDescriptorSetsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkUpdateDescriptorSets@ is an alias---           of @vkUpdateDescriptorSetsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkUpdateDescriptorSetsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkUpdateDescriptorSets"-               vkUpdateDescriptorSetsUnsafe ::-               VkDevice -- ^ device-                        ->-                 Word32 -- ^ descriptorWriteCount-                        ->-                   Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites-                                            ->-                     Word32 -- ^ descriptorCopyCount-                            -> Ptr VkCopyDescriptorSet -- ^ pDescriptorCopies-                                                       -> IO ()--##else-vkUpdateDescriptorSetsUnsafe ::-                             VkDevice -- ^ device-                                      ->-                               Word32 -- ^ descriptorWriteCount-                                      ->-                                 Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites-                                                          ->-                                   Word32 -- ^ descriptorCopyCount-                                          -> Ptr VkCopyDescriptorSet -- ^ pDescriptorCopies-                                                                     -> IO ()-vkUpdateDescriptorSetsUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkUpdateDescriptorSets)--{-# NOINLINE vkUpdateDescriptorSetsUnsafe #-}-##endif---- |--- > void vkUpdateDescriptorSets--- >     ( VkDevice device--- >     , uint32_t descriptorWriteCount--- >     , const VkWriteDescriptorSet* pDescriptorWrites--- >     , uint32_t descriptorCopyCount--- >     , const VkCopyDescriptorSet* pDescriptorCopies--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUpdateDescriptorSets vkUpdateDescriptorSets registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myUpdateDescriptorSets <- vkGetDeviceProc @VkUpdateDescriptorSets vkDevice------ or less efficient:------ > myUpdateDescriptorSets <- vkGetProc @VkUpdateDescriptorSets------ __Note:__ @vkUpdateDescriptorSetsUnsafe@ and @vkUpdateDescriptorSetsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkUpdateDescriptorSets@ is an alias---           of @vkUpdateDescriptorSetsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkUpdateDescriptorSetsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkUpdateDescriptorSets"-               vkUpdateDescriptorSetsSafe ::-               VkDevice -- ^ device-                        ->-                 Word32 -- ^ descriptorWriteCount-                        ->-                   Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites-                                            ->-                     Word32 -- ^ descriptorCopyCount-                            -> Ptr VkCopyDescriptorSet -- ^ pDescriptorCopies-                                                       -> IO ()--##else-vkUpdateDescriptorSetsSafe ::-                           VkDevice -- ^ device-                                    ->-                             Word32 -- ^ descriptorWriteCount-                                    ->-                               Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites-                                                        ->-                                 Word32 -- ^ descriptorCopyCount-                                        -> Ptr VkCopyDescriptorSet -- ^ pDescriptorCopies-                                                                   -> IO ()-vkUpdateDescriptorSetsSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkUpdateDescriptorSets)--{-# NOINLINE vkUpdateDescriptorSetsSafe #-}-##endif---- |--- > void vkUpdateDescriptorSets--- >     ( VkDevice device--- >     , uint32_t descriptorWriteCount--- >     , const VkWriteDescriptorSet* pDescriptorWrites--- >     , uint32_t descriptorCopyCount--- >     , const VkCopyDescriptorSet* pDescriptorCopies--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUpdateDescriptorSets vkUpdateDescriptorSets registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myUpdateDescriptorSets <- vkGetDeviceProc @VkUpdateDescriptorSets vkDevice------ or less efficient:------ > myUpdateDescriptorSets <- vkGetProc @VkUpdateDescriptorSets------ __Note:__ @vkUpdateDescriptorSetsUnsafe@ and @vkUpdateDescriptorSetsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkUpdateDescriptorSets@ is an alias---           of @vkUpdateDescriptorSetsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkUpdateDescriptorSetsSafe@.----vkUpdateDescriptorSets ::-                       VkDevice -- ^ device-                                ->-                         Word32 -- ^ descriptorWriteCount-                                ->-                           Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites-                                                    ->-                             Word32 -- ^ descriptorCopyCount-                                    -> Ptr VkCopyDescriptorSet -- ^ pDescriptorCopies-                                                               -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkUpdateDescriptorSets = vkUpdateDescriptorSetsUnsafe-##else-vkUpdateDescriptorSets = vkUpdateDescriptorSetsSafe--##endif-{-# INLINE vkUpdateDescriptorSets #-}---- | > void vkUpdateDescriptorSets---   >     ( VkDevice device---   >     , uint32_t descriptorWriteCount---   >     , const VkWriteDescriptorSet* pDescriptorWrites---   >     , uint32_t descriptorCopyCount---   >     , const VkCopyDescriptorSet* pDescriptorCopies---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUpdateDescriptorSets vkUpdateDescriptorSets registry at www.khronos.org>-type HS_vkUpdateDescriptorSets =-     VkDevice -- ^ device-              ->-       Word32 -- ^ descriptorWriteCount-              ->-         Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites-                                  ->-           Word32 -- ^ descriptorCopyCount-                  -> Ptr VkCopyDescriptorSet -- ^ pDescriptorCopies-                                             -> IO ()--type PFN_vkUpdateDescriptorSets = FunPtr HS_vkUpdateDescriptorSets--foreign import ccall unsafe "dynamic"-               unwrapVkUpdateDescriptorSetsUnsafe ::-               PFN_vkUpdateDescriptorSets -> HS_vkUpdateDescriptorSets--foreign import ccall safe "dynamic"-               unwrapVkUpdateDescriptorSetsSafe ::-               PFN_vkUpdateDescriptorSets -> HS_vkUpdateDescriptorSets--instance VulkanProc "vkUpdateDescriptorSets" where-        type VkProcType "vkUpdateDescriptorSets" =-             HS_vkUpdateDescriptorSets-        vkProcSymbol = _VkUpdateDescriptorSets--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkUpdateDescriptorSetsUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkUpdateDescriptorSetsSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCreateFramebuffer :: CString--pattern VkCreateFramebuffer <- (is_VkCreateFramebuffer -> True)-  where VkCreateFramebuffer = _VkCreateFramebuffer--{-# INLINE _VkCreateFramebuffer #-}--_VkCreateFramebuffer :: CString-_VkCreateFramebuffer = Ptr "vkCreateFramebuffer\NUL"##--{-# INLINE is_VkCreateFramebuffer #-}--is_VkCreateFramebuffer :: CString -> Bool-is_VkCreateFramebuffer = (EQ ==) . cmpCStrings _VkCreateFramebuffer--type VkCreateFramebuffer = "vkCreateFramebuffer"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateFramebuffer--- >     ( VkDevice device--- >     , const VkFramebufferCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkFramebuffer* pFramebuffer--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateFramebuffer vkCreateFramebuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateFramebuffer <- vkGetDeviceProc @VkCreateFramebuffer vkDevice------ or less efficient:------ > myCreateFramebuffer <- vkGetProc @VkCreateFramebuffer------ __Note:__ @vkCreateFramebufferUnsafe@ and @vkCreateFramebufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateFramebuffer@ is an alias---           of @vkCreateFramebufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateFramebufferSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateFramebuffer"-               vkCreateFramebufferUnsafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkFramebufferCreateInfo -- ^ pCreateInfo-                                             ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkFramebuffer -- ^ pFramebuffer-                                                                  -> IO VkResult--##else-vkCreateFramebufferUnsafe ::-                          VkDevice -- ^ device-                                   ->-                            Ptr VkFramebufferCreateInfo -- ^ pCreateInfo-                                                        ->-                              Ptr VkAllocationCallbacks -- ^ pAllocator-                                                        -> Ptr VkFramebuffer -- ^ pFramebuffer-                                                                             -> IO VkResult-vkCreateFramebufferUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateFramebuffer)--{-# NOINLINE vkCreateFramebufferUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateFramebuffer--- >     ( VkDevice device--- >     , const VkFramebufferCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkFramebuffer* pFramebuffer--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateFramebuffer vkCreateFramebuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateFramebuffer <- vkGetDeviceProc @VkCreateFramebuffer vkDevice------ or less efficient:------ > myCreateFramebuffer <- vkGetProc @VkCreateFramebuffer------ __Note:__ @vkCreateFramebufferUnsafe@ and @vkCreateFramebufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateFramebuffer@ is an alias---           of @vkCreateFramebufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateFramebufferSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCreateFramebuffer"-               vkCreateFramebufferSafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkFramebufferCreateInfo -- ^ pCreateInfo-                                             ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkFramebuffer -- ^ pFramebuffer-                                                                  -> IO VkResult--##else-vkCreateFramebufferSafe ::-                        VkDevice -- ^ device-                                 ->-                          Ptr VkFramebufferCreateInfo -- ^ pCreateInfo-                                                      ->-                            Ptr VkAllocationCallbacks -- ^ pAllocator-                                                      -> Ptr VkFramebuffer -- ^ pFramebuffer-                                                                           -> IO VkResult-vkCreateFramebufferSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateFramebuffer)--{-# NOINLINE vkCreateFramebufferSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateFramebuffer--- >     ( VkDevice device--- >     , const VkFramebufferCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkFramebuffer* pFramebuffer--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateFramebuffer vkCreateFramebuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateFramebuffer <- vkGetDeviceProc @VkCreateFramebuffer vkDevice------ or less efficient:------ > myCreateFramebuffer <- vkGetProc @VkCreateFramebuffer------ __Note:__ @vkCreateFramebufferUnsafe@ and @vkCreateFramebufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateFramebuffer@ is an alias---           of @vkCreateFramebufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateFramebufferSafe@.----vkCreateFramebuffer ::-                    VkDevice -- ^ device-                             ->-                      Ptr VkFramebufferCreateInfo -- ^ pCreateInfo-                                                  ->-                        Ptr VkAllocationCallbacks -- ^ pAllocator-                                                  -> Ptr VkFramebuffer -- ^ pFramebuffer-                                                                       -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkCreateFramebuffer = vkCreateFramebufferUnsafe-##else-vkCreateFramebuffer = vkCreateFramebufferSafe--##endif-{-# INLINE vkCreateFramebuffer #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreateFramebuffer---   >     ( VkDevice device---   >     , const VkFramebufferCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkFramebuffer* pFramebuffer---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateFramebuffer vkCreateFramebuffer registry at www.khronos.org>-type HS_vkCreateFramebuffer =-     VkDevice -- ^ device-              ->-       Ptr VkFramebufferCreateInfo -- ^ pCreateInfo-                                   ->-         Ptr VkAllocationCallbacks -- ^ pAllocator-                                   -> Ptr VkFramebuffer -- ^ pFramebuffer-                                                        -> IO VkResult--type PFN_vkCreateFramebuffer = FunPtr HS_vkCreateFramebuffer--foreign import ccall unsafe "dynamic"-               unwrapVkCreateFramebufferUnsafe ::-               PFN_vkCreateFramebuffer -> HS_vkCreateFramebuffer--foreign import ccall safe "dynamic" unwrapVkCreateFramebufferSafe-               :: PFN_vkCreateFramebuffer -> HS_vkCreateFramebuffer--instance VulkanProc "vkCreateFramebuffer" where-        type VkProcType "vkCreateFramebuffer" = HS_vkCreateFramebuffer-        vkProcSymbol = _VkCreateFramebuffer--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateFramebufferUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateFramebufferSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkDestroyFramebuffer :: CString--pattern VkDestroyFramebuffer <- (is_VkDestroyFramebuffer -> True)-  where VkDestroyFramebuffer = _VkDestroyFramebuffer--{-# INLINE _VkDestroyFramebuffer #-}--_VkDestroyFramebuffer :: CString-_VkDestroyFramebuffer = Ptr "vkDestroyFramebuffer\NUL"##--{-# INLINE is_VkDestroyFramebuffer #-}--is_VkDestroyFramebuffer :: CString -> Bool-is_VkDestroyFramebuffer-  = (EQ ==) . cmpCStrings _VkDestroyFramebuffer--type VkDestroyFramebuffer = "vkDestroyFramebuffer"---- |--- > void vkDestroyFramebuffer--- >     ( VkDevice device--- >     , VkFramebuffer framebuffer--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyFramebuffer vkDestroyFramebuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyFramebuffer <- vkGetDeviceProc @VkDestroyFramebuffer vkDevice------ or less efficient:------ > myDestroyFramebuffer <- vkGetProc @VkDestroyFramebuffer------ __Note:__ @vkDestroyFramebufferUnsafe@ and @vkDestroyFramebufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyFramebuffer@ is an alias---           of @vkDestroyFramebufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyFramebufferSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyFramebuffer"-               vkDestroyFramebufferUnsafe ::-               VkDevice -- ^ device-                        -> VkFramebuffer -- ^ framebuffer-                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                      -> IO ()--##else-vkDestroyFramebufferUnsafe ::-                           VkDevice -- ^ device-                                    -> VkFramebuffer -- ^ framebuffer-                                                     -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                  -> IO ()-vkDestroyFramebufferUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyFramebuffer)--{-# NOINLINE vkDestroyFramebufferUnsafe #-}-##endif---- |--- > void vkDestroyFramebuffer--- >     ( VkDevice device--- >     , VkFramebuffer framebuffer--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyFramebuffer vkDestroyFramebuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyFramebuffer <- vkGetDeviceProc @VkDestroyFramebuffer vkDevice------ or less efficient:------ > myDestroyFramebuffer <- vkGetProc @VkDestroyFramebuffer------ __Note:__ @vkDestroyFramebufferUnsafe@ and @vkDestroyFramebufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyFramebuffer@ is an alias---           of @vkDestroyFramebufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyFramebufferSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkDestroyFramebuffer"-               vkDestroyFramebufferSafe ::-               VkDevice -- ^ device-                        -> VkFramebuffer -- ^ framebuffer-                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                      -> IO ()--##else-vkDestroyFramebufferSafe ::-                         VkDevice -- ^ device-                                  -> VkFramebuffer -- ^ framebuffer-                                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                -> IO ()-vkDestroyFramebufferSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyFramebuffer)--{-# NOINLINE vkDestroyFramebufferSafe #-}-##endif---- |--- > void vkDestroyFramebuffer--- >     ( VkDevice device--- >     , VkFramebuffer framebuffer--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyFramebuffer vkDestroyFramebuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyFramebuffer <- vkGetDeviceProc @VkDestroyFramebuffer vkDevice------ or less efficient:------ > myDestroyFramebuffer <- vkGetProc @VkDestroyFramebuffer------ __Note:__ @vkDestroyFramebufferUnsafe@ and @vkDestroyFramebufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyFramebuffer@ is an alias---           of @vkDestroyFramebufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyFramebufferSafe@.----vkDestroyFramebuffer ::-                     VkDevice -- ^ device-                              -> VkFramebuffer -- ^ framebuffer-                                               -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                            -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkDestroyFramebuffer = vkDestroyFramebufferUnsafe-##else-vkDestroyFramebuffer = vkDestroyFramebufferSafe--##endif-{-# INLINE vkDestroyFramebuffer #-}---- | > void vkDestroyFramebuffer---   >     ( VkDevice device---   >     , VkFramebuffer framebuffer---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyFramebuffer vkDestroyFramebuffer registry at www.khronos.org>-type HS_vkDestroyFramebuffer =-     VkDevice -- ^ device-              -> VkFramebuffer -- ^ framebuffer-                               -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                            -> IO ()--type PFN_vkDestroyFramebuffer = FunPtr HS_vkDestroyFramebuffer--foreign import ccall unsafe "dynamic"-               unwrapVkDestroyFramebufferUnsafe ::-               PFN_vkDestroyFramebuffer -> HS_vkDestroyFramebuffer--foreign import ccall safe "dynamic" unwrapVkDestroyFramebufferSafe-               :: PFN_vkDestroyFramebuffer -> HS_vkDestroyFramebuffer--instance VulkanProc "vkDestroyFramebuffer" where-        type VkProcType "vkDestroyFramebuffer" = HS_vkDestroyFramebuffer-        vkProcSymbol = _VkDestroyFramebuffer--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDestroyFramebufferUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroyFramebufferSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCreateRenderPass :: CString--pattern VkCreateRenderPass <- (is_VkCreateRenderPass -> True)-  where VkCreateRenderPass = _VkCreateRenderPass--{-# INLINE _VkCreateRenderPass #-}--_VkCreateRenderPass :: CString-_VkCreateRenderPass = Ptr "vkCreateRenderPass\NUL"##--{-# INLINE is_VkCreateRenderPass #-}--is_VkCreateRenderPass :: CString -> Bool-is_VkCreateRenderPass = (EQ ==) . cmpCStrings _VkCreateRenderPass--type VkCreateRenderPass = "vkCreateRenderPass"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateRenderPass--- >     ( VkDevice device--- >     , const VkRenderPassCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkRenderPass* pRenderPass--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateRenderPass vkCreateRenderPass registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateRenderPass <- vkGetDeviceProc @VkCreateRenderPass vkDevice------ or less efficient:------ > myCreateRenderPass <- vkGetProc @VkCreateRenderPass------ __Note:__ @vkCreateRenderPassUnsafe@ and @vkCreateRenderPassSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateRenderPass@ is an alias---           of @vkCreateRenderPassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateRenderPassSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateRenderPass"-               vkCreateRenderPassUnsafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkRenderPassCreateInfo -- ^ pCreateInfo-                                            ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkRenderPass -- ^ pRenderPass-                                                                 -> IO VkResult--##else-vkCreateRenderPassUnsafe ::-                         VkDevice -- ^ device-                                  ->-                           Ptr VkRenderPassCreateInfo -- ^ pCreateInfo-                                                      ->-                             Ptr VkAllocationCallbacks -- ^ pAllocator-                                                       -> Ptr VkRenderPass -- ^ pRenderPass-                                                                           -> IO VkResult-vkCreateRenderPassUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateRenderPass)--{-# NOINLINE vkCreateRenderPassUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateRenderPass--- >     ( VkDevice device--- >     , const VkRenderPassCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkRenderPass* pRenderPass--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateRenderPass vkCreateRenderPass registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateRenderPass <- vkGetDeviceProc @VkCreateRenderPass vkDevice------ or less efficient:------ > myCreateRenderPass <- vkGetProc @VkCreateRenderPass------ __Note:__ @vkCreateRenderPassUnsafe@ and @vkCreateRenderPassSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateRenderPass@ is an alias---           of @vkCreateRenderPassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateRenderPassSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCreateRenderPass"-               vkCreateRenderPassSafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkRenderPassCreateInfo -- ^ pCreateInfo-                                            ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkRenderPass -- ^ pRenderPass-                                                                 -> IO VkResult--##else-vkCreateRenderPassSafe ::-                       VkDevice -- ^ device-                                ->-                         Ptr VkRenderPassCreateInfo -- ^ pCreateInfo-                                                    ->-                           Ptr VkAllocationCallbacks -- ^ pAllocator-                                                     -> Ptr VkRenderPass -- ^ pRenderPass-                                                                         -> IO VkResult-vkCreateRenderPassSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateRenderPass)--{-# NOINLINE vkCreateRenderPassSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateRenderPass--- >     ( VkDevice device--- >     , const VkRenderPassCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkRenderPass* pRenderPass--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateRenderPass vkCreateRenderPass registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateRenderPass <- vkGetDeviceProc @VkCreateRenderPass vkDevice------ or less efficient:------ > myCreateRenderPass <- vkGetProc @VkCreateRenderPass------ __Note:__ @vkCreateRenderPassUnsafe@ and @vkCreateRenderPassSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateRenderPass@ is an alias---           of @vkCreateRenderPassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateRenderPassSafe@.----vkCreateRenderPass ::-                   VkDevice -- ^ device-                            ->-                     Ptr VkRenderPassCreateInfo -- ^ pCreateInfo-                                                ->-                       Ptr VkAllocationCallbacks -- ^ pAllocator-                                                 -> Ptr VkRenderPass -- ^ pRenderPass-                                                                     -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkCreateRenderPass = vkCreateRenderPassUnsafe-##else-vkCreateRenderPass = vkCreateRenderPassSafe--##endif-{-# INLINE vkCreateRenderPass #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreateRenderPass---   >     ( VkDevice device---   >     , const VkRenderPassCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkRenderPass* pRenderPass---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateRenderPass vkCreateRenderPass registry at www.khronos.org>-type HS_vkCreateRenderPass =-     VkDevice -- ^ device-              ->-       Ptr VkRenderPassCreateInfo -- ^ pCreateInfo-                                  ->-         Ptr VkAllocationCallbacks -- ^ pAllocator-                                   -> Ptr VkRenderPass -- ^ pRenderPass-                                                       -> IO VkResult--type PFN_vkCreateRenderPass = FunPtr HS_vkCreateRenderPass--foreign import ccall unsafe "dynamic"-               unwrapVkCreateRenderPassUnsafe ::-               PFN_vkCreateRenderPass -> HS_vkCreateRenderPass--foreign import ccall safe "dynamic" unwrapVkCreateRenderPassSafe ::-               PFN_vkCreateRenderPass -> HS_vkCreateRenderPass--instance VulkanProc "vkCreateRenderPass" where-        type VkProcType "vkCreateRenderPass" = HS_vkCreateRenderPass-        vkProcSymbol = _VkCreateRenderPass--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateRenderPassUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateRenderPassSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkDestroyRenderPass :: CString--pattern VkDestroyRenderPass <- (is_VkDestroyRenderPass -> True)-  where VkDestroyRenderPass = _VkDestroyRenderPass--{-# INLINE _VkDestroyRenderPass #-}--_VkDestroyRenderPass :: CString-_VkDestroyRenderPass = Ptr "vkDestroyRenderPass\NUL"##--{-# INLINE is_VkDestroyRenderPass #-}--is_VkDestroyRenderPass :: CString -> Bool-is_VkDestroyRenderPass = (EQ ==) . cmpCStrings _VkDestroyRenderPass--type VkDestroyRenderPass = "vkDestroyRenderPass"---- |--- > void vkDestroyRenderPass--- >     ( VkDevice device--- >     , VkRenderPass renderPass--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyRenderPass vkDestroyRenderPass registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyRenderPass <- vkGetDeviceProc @VkDestroyRenderPass vkDevice------ or less efficient:------ > myDestroyRenderPass <- vkGetProc @VkDestroyRenderPass------ __Note:__ @vkDestroyRenderPassUnsafe@ and @vkDestroyRenderPassSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyRenderPass@ is an alias---           of @vkDestroyRenderPassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyRenderPassSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyRenderPass"-               vkDestroyRenderPassUnsafe ::-               VkDevice -- ^ device-                        -> VkRenderPass -- ^ renderPass-                                        -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                     -> IO ()--##else-vkDestroyRenderPassUnsafe ::-                          VkDevice -- ^ device-                                   -> VkRenderPass -- ^ renderPass-                                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                -> IO ()-vkDestroyRenderPassUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyRenderPass)--{-# NOINLINE vkDestroyRenderPassUnsafe #-}-##endif---- |--- > void vkDestroyRenderPass--- >     ( VkDevice device--- >     , VkRenderPass renderPass--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyRenderPass vkDestroyRenderPass registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyRenderPass <- vkGetDeviceProc @VkDestroyRenderPass vkDevice------ or less efficient:------ > myDestroyRenderPass <- vkGetProc @VkDestroyRenderPass------ __Note:__ @vkDestroyRenderPassUnsafe@ and @vkDestroyRenderPassSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyRenderPass@ is an alias---           of @vkDestroyRenderPassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyRenderPassSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkDestroyRenderPass"-               vkDestroyRenderPassSafe ::-               VkDevice -- ^ device-                        -> VkRenderPass -- ^ renderPass-                                        -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                     -> IO ()--##else-vkDestroyRenderPassSafe ::-                        VkDevice -- ^ device-                                 -> VkRenderPass -- ^ renderPass-                                                 -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                              -> IO ()-vkDestroyRenderPassSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyRenderPass)--{-# NOINLINE vkDestroyRenderPassSafe #-}-##endif---- |--- > void vkDestroyRenderPass--- >     ( VkDevice device--- >     , VkRenderPass renderPass--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyRenderPass vkDestroyRenderPass registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyRenderPass <- vkGetDeviceProc @VkDestroyRenderPass vkDevice------ or less efficient:------ > myDestroyRenderPass <- vkGetProc @VkDestroyRenderPass------ __Note:__ @vkDestroyRenderPassUnsafe@ and @vkDestroyRenderPassSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyRenderPass@ is an alias---           of @vkDestroyRenderPassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyRenderPassSafe@.----vkDestroyRenderPass ::-                    VkDevice -- ^ device-                             -> VkRenderPass -- ^ renderPass-                                             -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                          -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkDestroyRenderPass = vkDestroyRenderPassUnsafe-##else-vkDestroyRenderPass = vkDestroyRenderPassSafe--##endif-{-# INLINE vkDestroyRenderPass #-}---- | > void vkDestroyRenderPass---   >     ( VkDevice device---   >     , VkRenderPass renderPass---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyRenderPass vkDestroyRenderPass registry at www.khronos.org>-type HS_vkDestroyRenderPass =-     VkDevice -- ^ device-              -> VkRenderPass -- ^ renderPass-                              -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                           -> IO ()--type PFN_vkDestroyRenderPass = FunPtr HS_vkDestroyRenderPass--foreign import ccall unsafe "dynamic"-               unwrapVkDestroyRenderPassUnsafe ::-               PFN_vkDestroyRenderPass -> HS_vkDestroyRenderPass--foreign import ccall safe "dynamic" unwrapVkDestroyRenderPassSafe-               :: PFN_vkDestroyRenderPass -> HS_vkDestroyRenderPass--instance VulkanProc "vkDestroyRenderPass" where-        type VkProcType "vkDestroyRenderPass" = HS_vkDestroyRenderPass-        vkProcSymbol = _VkDestroyRenderPass--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDestroyRenderPassUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroyRenderPassSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetRenderAreaGranularity :: CString--pattern VkGetRenderAreaGranularity <--        (is_VkGetRenderAreaGranularity -> True)-  where VkGetRenderAreaGranularity = _VkGetRenderAreaGranularity--{-# INLINE _VkGetRenderAreaGranularity #-}--_VkGetRenderAreaGranularity :: CString-_VkGetRenderAreaGranularity = Ptr "vkGetRenderAreaGranularity\NUL"##--{-# INLINE is_VkGetRenderAreaGranularity #-}--is_VkGetRenderAreaGranularity :: CString -> Bool-is_VkGetRenderAreaGranularity-  = (EQ ==) . cmpCStrings _VkGetRenderAreaGranularity--type VkGetRenderAreaGranularity = "vkGetRenderAreaGranularity"---- |--- > void vkGetRenderAreaGranularity--- >     ( VkDevice device--- >     , VkRenderPass renderPass--- >     , VkExtent2D* pGranularity--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetRenderAreaGranularity vkGetRenderAreaGranularity registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetRenderAreaGranularity <- vkGetDeviceProc @VkGetRenderAreaGranularity vkDevice------ or less efficient:------ > myGetRenderAreaGranularity <- vkGetProc @VkGetRenderAreaGranularity------ __Note:__ @vkGetRenderAreaGranularityUnsafe@ and @vkGetRenderAreaGranularitySafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetRenderAreaGranularity@ is an alias---           of @vkGetRenderAreaGranularityUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetRenderAreaGranularitySafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetRenderAreaGranularity"-               vkGetRenderAreaGranularityUnsafe ::-               VkDevice -- ^ device-                        -> VkRenderPass -- ^ renderPass-                                        -> Ptr VkExtent2D -- ^ pGranularity-                                                          -> IO ()--##else-vkGetRenderAreaGranularityUnsafe ::-                                 VkDevice -- ^ device-                                          -> VkRenderPass -- ^ renderPass-                                                          -> Ptr VkExtent2D -- ^ pGranularity-                                                                            -> IO ()-vkGetRenderAreaGranularityUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetRenderAreaGranularity)--{-# NOINLINE vkGetRenderAreaGranularityUnsafe #-}-##endif---- |--- > void vkGetRenderAreaGranularity--- >     ( VkDevice device--- >     , VkRenderPass renderPass--- >     , VkExtent2D* pGranularity--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetRenderAreaGranularity vkGetRenderAreaGranularity registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetRenderAreaGranularity <- vkGetDeviceProc @VkGetRenderAreaGranularity vkDevice------ or less efficient:------ > myGetRenderAreaGranularity <- vkGetProc @VkGetRenderAreaGranularity------ __Note:__ @vkGetRenderAreaGranularityUnsafe@ and @vkGetRenderAreaGranularitySafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetRenderAreaGranularity@ is an alias---           of @vkGetRenderAreaGranularityUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetRenderAreaGranularitySafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkGetRenderAreaGranularity"-               vkGetRenderAreaGranularitySafe ::-               VkDevice -- ^ device-                        -> VkRenderPass -- ^ renderPass-                                        -> Ptr VkExtent2D -- ^ pGranularity-                                                          -> IO ()--##else-vkGetRenderAreaGranularitySafe ::-                               VkDevice -- ^ device-                                        -> VkRenderPass -- ^ renderPass-                                                        -> Ptr VkExtent2D -- ^ pGranularity-                                                                          -> IO ()-vkGetRenderAreaGranularitySafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetRenderAreaGranularity)--{-# NOINLINE vkGetRenderAreaGranularitySafe #-}-##endif---- |--- > void vkGetRenderAreaGranularity--- >     ( VkDevice device--- >     , VkRenderPass renderPass--- >     , VkExtent2D* pGranularity--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetRenderAreaGranularity vkGetRenderAreaGranularity registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetRenderAreaGranularity <- vkGetDeviceProc @VkGetRenderAreaGranularity vkDevice------ or less efficient:------ > myGetRenderAreaGranularity <- vkGetProc @VkGetRenderAreaGranularity------ __Note:__ @vkGetRenderAreaGranularityUnsafe@ and @vkGetRenderAreaGranularitySafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetRenderAreaGranularity@ is an alias---           of @vkGetRenderAreaGranularityUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetRenderAreaGranularitySafe@.----vkGetRenderAreaGranularity ::-                           VkDevice -- ^ device-                                    -> VkRenderPass -- ^ renderPass-                                                    -> Ptr VkExtent2D -- ^ pGranularity-                                                                      -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkGetRenderAreaGranularity = vkGetRenderAreaGranularityUnsafe-##else-vkGetRenderAreaGranularity = vkGetRenderAreaGranularitySafe--##endif-{-# INLINE vkGetRenderAreaGranularity #-}---- | > void vkGetRenderAreaGranularity---   >     ( VkDevice device---   >     , VkRenderPass renderPass---   >     , VkExtent2D* pGranularity---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetRenderAreaGranularity vkGetRenderAreaGranularity registry at www.khronos.org>-type HS_vkGetRenderAreaGranularity =-     VkDevice -- ^ device-              -> VkRenderPass -- ^ renderPass-                              -> Ptr VkExtent2D -- ^ pGranularity-                                                -> IO ()--type PFN_vkGetRenderAreaGranularity =-     FunPtr HS_vkGetRenderAreaGranularity--foreign import ccall unsafe "dynamic"-               unwrapVkGetRenderAreaGranularityUnsafe ::-               PFN_vkGetRenderAreaGranularity -> HS_vkGetRenderAreaGranularity--foreign import ccall safe "dynamic"-               unwrapVkGetRenderAreaGranularitySafe ::-               PFN_vkGetRenderAreaGranularity -> HS_vkGetRenderAreaGranularity--instance VulkanProc "vkGetRenderAreaGranularity" where-        type VkProcType "vkGetRenderAreaGranularity" =-             HS_vkGetRenderAreaGranularity-        vkProcSymbol = _VkGetRenderAreaGranularity--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetRenderAreaGranularityUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetRenderAreaGranularitySafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCreateCommandPool :: CString--pattern VkCreateCommandPool <- (is_VkCreateCommandPool -> True)-  where VkCreateCommandPool = _VkCreateCommandPool--{-# INLINE _VkCreateCommandPool #-}--_VkCreateCommandPool :: CString-_VkCreateCommandPool = Ptr "vkCreateCommandPool\NUL"##--{-# INLINE is_VkCreateCommandPool #-}--is_VkCreateCommandPool :: CString -> Bool-is_VkCreateCommandPool = (EQ ==) . cmpCStrings _VkCreateCommandPool--type VkCreateCommandPool = "vkCreateCommandPool"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateCommandPool--- >     ( VkDevice device--- >     , const VkCommandPoolCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkCommandPool* pCommandPool--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateCommandPool vkCreateCommandPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateCommandPool <- vkGetDeviceProc @VkCreateCommandPool vkDevice------ or less efficient:------ > myCreateCommandPool <- vkGetProc @VkCreateCommandPool------ __Note:__ @vkCreateCommandPoolUnsafe@ and @vkCreateCommandPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateCommandPool@ is an alias---           of @vkCreateCommandPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateCommandPoolSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateCommandPool"-               vkCreateCommandPoolUnsafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkCommandPoolCreateInfo -- ^ pCreateInfo-                                             ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkCommandPool -- ^ pCommandPool-                                                                  -> IO VkResult--##else-vkCreateCommandPoolUnsafe ::-                          VkDevice -- ^ device-                                   ->-                            Ptr VkCommandPoolCreateInfo -- ^ pCreateInfo-                                                        ->-                              Ptr VkAllocationCallbacks -- ^ pAllocator-                                                        -> Ptr VkCommandPool -- ^ pCommandPool-                                                                             -> IO VkResult-vkCreateCommandPoolUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateCommandPool)--{-# NOINLINE vkCreateCommandPoolUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateCommandPool--- >     ( VkDevice device--- >     , const VkCommandPoolCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkCommandPool* pCommandPool--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateCommandPool vkCreateCommandPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateCommandPool <- vkGetDeviceProc @VkCreateCommandPool vkDevice------ or less efficient:------ > myCreateCommandPool <- vkGetProc @VkCreateCommandPool------ __Note:__ @vkCreateCommandPoolUnsafe@ and @vkCreateCommandPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateCommandPool@ is an alias---           of @vkCreateCommandPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateCommandPoolSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCreateCommandPool"-               vkCreateCommandPoolSafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkCommandPoolCreateInfo -- ^ pCreateInfo-                                             ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkCommandPool -- ^ pCommandPool-                                                                  -> IO VkResult--##else-vkCreateCommandPoolSafe ::-                        VkDevice -- ^ device-                                 ->-                          Ptr VkCommandPoolCreateInfo -- ^ pCreateInfo-                                                      ->-                            Ptr VkAllocationCallbacks -- ^ pAllocator-                                                      -> Ptr VkCommandPool -- ^ pCommandPool-                                                                           -> IO VkResult-vkCreateCommandPoolSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateCommandPool)--{-# NOINLINE vkCreateCommandPoolSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateCommandPool--- >     ( VkDevice device--- >     , const VkCommandPoolCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkCommandPool* pCommandPool--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateCommandPool vkCreateCommandPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateCommandPool <- vkGetDeviceProc @VkCreateCommandPool vkDevice------ or less efficient:------ > myCreateCommandPool <- vkGetProc @VkCreateCommandPool------ __Note:__ @vkCreateCommandPoolUnsafe@ and @vkCreateCommandPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateCommandPool@ is an alias---           of @vkCreateCommandPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateCommandPoolSafe@.----vkCreateCommandPool ::-                    VkDevice -- ^ device-                             ->-                      Ptr VkCommandPoolCreateInfo -- ^ pCreateInfo-                                                  ->-                        Ptr VkAllocationCallbacks -- ^ pAllocator-                                                  -> Ptr VkCommandPool -- ^ pCommandPool-                                                                       -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkCreateCommandPool = vkCreateCommandPoolUnsafe-##else-vkCreateCommandPool = vkCreateCommandPoolSafe--##endif-{-# INLINE vkCreateCommandPool #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreateCommandPool---   >     ( VkDevice device---   >     , const VkCommandPoolCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkCommandPool* pCommandPool---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateCommandPool vkCreateCommandPool registry at www.khronos.org>-type HS_vkCreateCommandPool =-     VkDevice -- ^ device-              ->-       Ptr VkCommandPoolCreateInfo -- ^ pCreateInfo-                                   ->-         Ptr VkAllocationCallbacks -- ^ pAllocator-                                   -> Ptr VkCommandPool -- ^ pCommandPool-                                                        -> IO VkResult--type PFN_vkCreateCommandPool = FunPtr HS_vkCreateCommandPool--foreign import ccall unsafe "dynamic"-               unwrapVkCreateCommandPoolUnsafe ::-               PFN_vkCreateCommandPool -> HS_vkCreateCommandPool--foreign import ccall safe "dynamic" unwrapVkCreateCommandPoolSafe-               :: PFN_vkCreateCommandPool -> HS_vkCreateCommandPool--instance VulkanProc "vkCreateCommandPool" where-        type VkProcType "vkCreateCommandPool" = HS_vkCreateCommandPool-        vkProcSymbol = _VkCreateCommandPool--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateCommandPoolUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateCommandPoolSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkDestroyCommandPool :: CString--pattern VkDestroyCommandPool <- (is_VkDestroyCommandPool -> True)-  where VkDestroyCommandPool = _VkDestroyCommandPool--{-# INLINE _VkDestroyCommandPool #-}--_VkDestroyCommandPool :: CString-_VkDestroyCommandPool = Ptr "vkDestroyCommandPool\NUL"##--{-# INLINE is_VkDestroyCommandPool #-}--is_VkDestroyCommandPool :: CString -> Bool-is_VkDestroyCommandPool-  = (EQ ==) . cmpCStrings _VkDestroyCommandPool--type VkDestroyCommandPool = "vkDestroyCommandPool"---- |--- > void vkDestroyCommandPool--- >     ( VkDevice device--- >     , VkCommandPool commandPool--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyCommandPool vkDestroyCommandPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyCommandPool <- vkGetDeviceProc @VkDestroyCommandPool vkDevice------ or less efficient:------ > myDestroyCommandPool <- vkGetProc @VkDestroyCommandPool------ __Note:__ @vkDestroyCommandPoolUnsafe@ and @vkDestroyCommandPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyCommandPool@ is an alias---           of @vkDestroyCommandPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyCommandPoolSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyCommandPool"-               vkDestroyCommandPoolUnsafe ::-               VkDevice -- ^ device-                        -> VkCommandPool -- ^ commandPool-                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                      -> IO ()--##else-vkDestroyCommandPoolUnsafe ::-                           VkDevice -- ^ device-                                    -> VkCommandPool -- ^ commandPool-                                                     -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                  -> IO ()-vkDestroyCommandPoolUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyCommandPool)--{-# NOINLINE vkDestroyCommandPoolUnsafe #-}-##endif---- |--- > void vkDestroyCommandPool--- >     ( VkDevice device--- >     , VkCommandPool commandPool--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyCommandPool vkDestroyCommandPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyCommandPool <- vkGetDeviceProc @VkDestroyCommandPool vkDevice------ or less efficient:------ > myDestroyCommandPool <- vkGetProc @VkDestroyCommandPool------ __Note:__ @vkDestroyCommandPoolUnsafe@ and @vkDestroyCommandPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyCommandPool@ is an alias---           of @vkDestroyCommandPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyCommandPoolSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkDestroyCommandPool"-               vkDestroyCommandPoolSafe ::-               VkDevice -- ^ device-                        -> VkCommandPool -- ^ commandPool-                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                      -> IO ()--##else-vkDestroyCommandPoolSafe ::-                         VkDevice -- ^ device-                                  -> VkCommandPool -- ^ commandPool-                                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                -> IO ()-vkDestroyCommandPoolSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyCommandPool)--{-# NOINLINE vkDestroyCommandPoolSafe #-}-##endif---- |--- > void vkDestroyCommandPool--- >     ( VkDevice device--- >     , VkCommandPool commandPool--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyCommandPool vkDestroyCommandPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyCommandPool <- vkGetDeviceProc @VkDestroyCommandPool vkDevice------ or less efficient:------ > myDestroyCommandPool <- vkGetProc @VkDestroyCommandPool------ __Note:__ @vkDestroyCommandPoolUnsafe@ and @vkDestroyCommandPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyCommandPool@ is an alias---           of @vkDestroyCommandPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyCommandPoolSafe@.----vkDestroyCommandPool ::-                     VkDevice -- ^ device-                              -> VkCommandPool -- ^ commandPool-                                               -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                            -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkDestroyCommandPool = vkDestroyCommandPoolUnsafe-##else-vkDestroyCommandPool = vkDestroyCommandPoolSafe--##endif-{-# INLINE vkDestroyCommandPool #-}---- | > void vkDestroyCommandPool---   >     ( VkDevice device---   >     , VkCommandPool commandPool---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyCommandPool vkDestroyCommandPool registry at www.khronos.org>-type HS_vkDestroyCommandPool =-     VkDevice -- ^ device-              -> VkCommandPool -- ^ commandPool-                               -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                            -> IO ()--type PFN_vkDestroyCommandPool = FunPtr HS_vkDestroyCommandPool--foreign import ccall unsafe "dynamic"-               unwrapVkDestroyCommandPoolUnsafe ::-               PFN_vkDestroyCommandPool -> HS_vkDestroyCommandPool--foreign import ccall safe "dynamic" unwrapVkDestroyCommandPoolSafe-               :: PFN_vkDestroyCommandPool -> HS_vkDestroyCommandPool--instance VulkanProc "vkDestroyCommandPool" where-        type VkProcType "vkDestroyCommandPool" = HS_vkDestroyCommandPool-        vkProcSymbol = _VkDestroyCommandPool--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDestroyCommandPoolUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroyCommandPoolSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkResetCommandPool :: CString--pattern VkResetCommandPool <- (is_VkResetCommandPool -> True)-  where VkResetCommandPool = _VkResetCommandPool--{-# INLINE _VkResetCommandPool #-}--_VkResetCommandPool :: CString-_VkResetCommandPool = Ptr "vkResetCommandPool\NUL"##--{-# INLINE is_VkResetCommandPool #-}--is_VkResetCommandPool :: CString -> Bool-is_VkResetCommandPool = (EQ ==) . cmpCStrings _VkResetCommandPool--type VkResetCommandPool = "vkResetCommandPool"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkResetCommandPool--- >     ( VkDevice device--- >     , VkCommandPool commandPool--- >     , VkCommandPoolResetFlags flags--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetCommandPool vkResetCommandPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myResetCommandPool <- vkGetDeviceProc @VkResetCommandPool vkDevice------ or less efficient:------ > myResetCommandPool <- vkGetProc @VkResetCommandPool------ __Note:__ @vkResetCommandPoolUnsafe@ and @vkResetCommandPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkResetCommandPool@ is an alias---           of @vkResetCommandPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkResetCommandPoolSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkResetCommandPool"-               vkResetCommandPoolUnsafe ::-               VkDevice -- ^ device-                        -> VkCommandPool -- ^ commandPool-                                         -> VkCommandPoolResetFlags -- ^ flags-                                                                    -> IO VkResult--##else-vkResetCommandPoolUnsafe ::-                         VkDevice -- ^ device-                                  -> VkCommandPool -- ^ commandPool-                                                   -> VkCommandPoolResetFlags -- ^ flags-                                                                              -> IO VkResult-vkResetCommandPoolUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkResetCommandPool)--{-# NOINLINE vkResetCommandPoolUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkResetCommandPool--- >     ( VkDevice device--- >     , VkCommandPool commandPool--- >     , VkCommandPoolResetFlags flags--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetCommandPool vkResetCommandPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myResetCommandPool <- vkGetDeviceProc @VkResetCommandPool vkDevice------ or less efficient:------ > myResetCommandPool <- vkGetProc @VkResetCommandPool------ __Note:__ @vkResetCommandPoolUnsafe@ and @vkResetCommandPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkResetCommandPool@ is an alias---           of @vkResetCommandPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkResetCommandPoolSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkResetCommandPool"-               vkResetCommandPoolSafe ::-               VkDevice -- ^ device-                        -> VkCommandPool -- ^ commandPool-                                         -> VkCommandPoolResetFlags -- ^ flags-                                                                    -> IO VkResult--##else-vkResetCommandPoolSafe ::-                       VkDevice -- ^ device-                                -> VkCommandPool -- ^ commandPool-                                                 -> VkCommandPoolResetFlags -- ^ flags-                                                                            -> IO VkResult-vkResetCommandPoolSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkResetCommandPool)--{-# NOINLINE vkResetCommandPoolSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkResetCommandPool--- >     ( VkDevice device--- >     , VkCommandPool commandPool--- >     , VkCommandPoolResetFlags flags--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetCommandPool vkResetCommandPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myResetCommandPool <- vkGetDeviceProc @VkResetCommandPool vkDevice------ or less efficient:------ > myResetCommandPool <- vkGetProc @VkResetCommandPool------ __Note:__ @vkResetCommandPoolUnsafe@ and @vkResetCommandPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkResetCommandPool@ is an alias---           of @vkResetCommandPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkResetCommandPoolSafe@.----vkResetCommandPool ::-                   VkDevice -- ^ device-                            -> VkCommandPool -- ^ commandPool-                                             -> VkCommandPoolResetFlags -- ^ flags-                                                                        -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkResetCommandPool = vkResetCommandPoolUnsafe-##else-vkResetCommandPool = vkResetCommandPoolSafe--##endif-{-# INLINE vkResetCommandPool #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkResetCommandPool---   >     ( VkDevice device---   >     , VkCommandPool commandPool---   >     , VkCommandPoolResetFlags flags---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetCommandPool vkResetCommandPool registry at www.khronos.org>-type HS_vkResetCommandPool =-     VkDevice -- ^ device-              -> VkCommandPool -- ^ commandPool-                               -> VkCommandPoolResetFlags -- ^ flags-                                                          -> IO VkResult--type PFN_vkResetCommandPool = FunPtr HS_vkResetCommandPool--foreign import ccall unsafe "dynamic"-               unwrapVkResetCommandPoolUnsafe ::-               PFN_vkResetCommandPool -> HS_vkResetCommandPool--foreign import ccall safe "dynamic" unwrapVkResetCommandPoolSafe ::-               PFN_vkResetCommandPool -> HS_vkResetCommandPool--instance VulkanProc "vkResetCommandPool" where-        type VkProcType "vkResetCommandPool" = HS_vkResetCommandPool-        vkProcSymbol = _VkResetCommandPool--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkResetCommandPoolUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkResetCommandPoolSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkAllocateCommandBuffers :: CString--pattern VkAllocateCommandBuffers <--        (is_VkAllocateCommandBuffers -> True)-  where VkAllocateCommandBuffers = _VkAllocateCommandBuffers--{-# INLINE _VkAllocateCommandBuffers #-}--_VkAllocateCommandBuffers :: CString-_VkAllocateCommandBuffers = Ptr "vkAllocateCommandBuffers\NUL"##--{-# INLINE is_VkAllocateCommandBuffers #-}--is_VkAllocateCommandBuffers :: CString -> Bool-is_VkAllocateCommandBuffers-  = (EQ ==) . cmpCStrings _VkAllocateCommandBuffers--type VkAllocateCommandBuffers = "vkAllocateCommandBuffers"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkAllocateCommandBuffers--- >     ( VkDevice device--- >     , const VkCommandBufferAllocateInfo* pAllocateInfo--- >     , VkCommandBuffer* pCommandBuffers--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateCommandBuffers vkAllocateCommandBuffers registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myAllocateCommandBuffers <- vkGetDeviceProc @VkAllocateCommandBuffers vkDevice------ or less efficient:------ > myAllocateCommandBuffers <- vkGetProc @VkAllocateCommandBuffers------ __Note:__ @vkAllocateCommandBuffersUnsafe@ and @vkAllocateCommandBuffersSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkAllocateCommandBuffers@ is an alias---           of @vkAllocateCommandBuffersUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkAllocateCommandBuffersSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkAllocateCommandBuffers"-               vkAllocateCommandBuffersUnsafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkCommandBufferAllocateInfo -- ^ pAllocateInfo-                                                 ->-                   Ptr VkCommandBuffer -- ^ pCommandBuffers-                                       -> IO VkResult--##else-vkAllocateCommandBuffersUnsafe ::-                               VkDevice -- ^ device-                                        ->-                                 Ptr VkCommandBufferAllocateInfo -- ^ pAllocateInfo-                                                                 ->-                                   Ptr VkCommandBuffer -- ^ pCommandBuffers-                                                       -> IO VkResult-vkAllocateCommandBuffersUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkAllocateCommandBuffers)--{-# NOINLINE vkAllocateCommandBuffersUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkAllocateCommandBuffers--- >     ( VkDevice device--- >     , const VkCommandBufferAllocateInfo* pAllocateInfo--- >     , VkCommandBuffer* pCommandBuffers--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateCommandBuffers vkAllocateCommandBuffers registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myAllocateCommandBuffers <- vkGetDeviceProc @VkAllocateCommandBuffers vkDevice------ or less efficient:------ > myAllocateCommandBuffers <- vkGetProc @VkAllocateCommandBuffers------ __Note:__ @vkAllocateCommandBuffersUnsafe@ and @vkAllocateCommandBuffersSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkAllocateCommandBuffers@ is an alias---           of @vkAllocateCommandBuffersUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkAllocateCommandBuffersSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkAllocateCommandBuffers"-               vkAllocateCommandBuffersSafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkCommandBufferAllocateInfo -- ^ pAllocateInfo-                                                 ->-                   Ptr VkCommandBuffer -- ^ pCommandBuffers-                                       -> IO VkResult--##else-vkAllocateCommandBuffersSafe ::-                             VkDevice -- ^ device-                                      ->-                               Ptr VkCommandBufferAllocateInfo -- ^ pAllocateInfo-                                                               ->-                                 Ptr VkCommandBuffer -- ^ pCommandBuffers-                                                     -> IO VkResult-vkAllocateCommandBuffersSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkAllocateCommandBuffers)--{-# NOINLINE vkAllocateCommandBuffersSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkAllocateCommandBuffers--- >     ( VkDevice device--- >     , const VkCommandBufferAllocateInfo* pAllocateInfo--- >     , VkCommandBuffer* pCommandBuffers--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateCommandBuffers vkAllocateCommandBuffers registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myAllocateCommandBuffers <- vkGetDeviceProc @VkAllocateCommandBuffers vkDevice------ or less efficient:------ > myAllocateCommandBuffers <- vkGetProc @VkAllocateCommandBuffers------ __Note:__ @vkAllocateCommandBuffersUnsafe@ and @vkAllocateCommandBuffersSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkAllocateCommandBuffers@ is an alias---           of @vkAllocateCommandBuffersUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkAllocateCommandBuffersSafe@.----vkAllocateCommandBuffers ::-                         VkDevice -- ^ device-                                  ->-                           Ptr VkCommandBufferAllocateInfo -- ^ pAllocateInfo-                                                           ->-                             Ptr VkCommandBuffer -- ^ pCommandBuffers-                                                 -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkAllocateCommandBuffers = vkAllocateCommandBuffersUnsafe-##else-vkAllocateCommandBuffers = vkAllocateCommandBuffersSafe--##endif-{-# INLINE vkAllocateCommandBuffers #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkAllocateCommandBuffers---   >     ( VkDevice device---   >     , const VkCommandBufferAllocateInfo* pAllocateInfo---   >     , VkCommandBuffer* pCommandBuffers---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateCommandBuffers vkAllocateCommandBuffers registry at www.khronos.org>-type HS_vkAllocateCommandBuffers =-     VkDevice -- ^ device-              ->-       Ptr VkCommandBufferAllocateInfo -- ^ pAllocateInfo-                                       ->-         Ptr VkCommandBuffer -- ^ pCommandBuffers-                             -> IO VkResult--type PFN_vkAllocateCommandBuffers =-     FunPtr HS_vkAllocateCommandBuffers--foreign import ccall unsafe "dynamic"-               unwrapVkAllocateCommandBuffersUnsafe ::-               PFN_vkAllocateCommandBuffers -> HS_vkAllocateCommandBuffers--foreign import ccall safe "dynamic"-               unwrapVkAllocateCommandBuffersSafe ::-               PFN_vkAllocateCommandBuffers -> HS_vkAllocateCommandBuffers--instance VulkanProc "vkAllocateCommandBuffers" where-        type VkProcType "vkAllocateCommandBuffers" =-             HS_vkAllocateCommandBuffers-        vkProcSymbol = _VkAllocateCommandBuffers--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkAllocateCommandBuffersUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkAllocateCommandBuffersSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkFreeCommandBuffers :: CString--pattern VkFreeCommandBuffers <- (is_VkFreeCommandBuffers -> True)-  where VkFreeCommandBuffers = _VkFreeCommandBuffers--{-# INLINE _VkFreeCommandBuffers #-}--_VkFreeCommandBuffers :: CString-_VkFreeCommandBuffers = Ptr "vkFreeCommandBuffers\NUL"##--{-# INLINE is_VkFreeCommandBuffers #-}--is_VkFreeCommandBuffers :: CString -> Bool-is_VkFreeCommandBuffers-  = (EQ ==) . cmpCStrings _VkFreeCommandBuffers--type VkFreeCommandBuffers = "vkFreeCommandBuffers"---- |--- > void vkFreeCommandBuffers--- >     ( VkDevice device--- >     , VkCommandPool commandPool--- >     , uint32_t commandBufferCount--- >     , const VkCommandBuffer* pCommandBuffers--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeCommandBuffers vkFreeCommandBuffers registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myFreeCommandBuffers <- vkGetDeviceProc @VkFreeCommandBuffers vkDevice------ or less efficient:------ > myFreeCommandBuffers <- vkGetProc @VkFreeCommandBuffers------ __Note:__ @vkFreeCommandBuffersUnsafe@ and @vkFreeCommandBuffersSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkFreeCommandBuffers@ is an alias---           of @vkFreeCommandBuffersUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkFreeCommandBuffersSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkFreeCommandBuffers"-               vkFreeCommandBuffersUnsafe ::-               VkDevice -- ^ device-                        -> VkCommandPool -- ^ commandPool-                                         -> Word32 -- ^ commandBufferCount-                                                   -> Ptr VkCommandBuffer -- ^ pCommandBuffers-                                                                          -> IO ()--##else-vkFreeCommandBuffersUnsafe ::-                           VkDevice -- ^ device-                                    -> VkCommandPool -- ^ commandPool-                                                     -> Word32 -- ^ commandBufferCount-                                                               -> Ptr VkCommandBuffer -- ^ pCommandBuffers-                                                                                      -> IO ()-vkFreeCommandBuffersUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkFreeCommandBuffers)--{-# NOINLINE vkFreeCommandBuffersUnsafe #-}-##endif---- |--- > void vkFreeCommandBuffers--- >     ( VkDevice device--- >     , VkCommandPool commandPool--- >     , uint32_t commandBufferCount--- >     , const VkCommandBuffer* pCommandBuffers--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeCommandBuffers vkFreeCommandBuffers registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myFreeCommandBuffers <- vkGetDeviceProc @VkFreeCommandBuffers vkDevice------ or less efficient:------ > myFreeCommandBuffers <- vkGetProc @VkFreeCommandBuffers------ __Note:__ @vkFreeCommandBuffersUnsafe@ and @vkFreeCommandBuffersSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkFreeCommandBuffers@ is an alias---           of @vkFreeCommandBuffersUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkFreeCommandBuffersSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkFreeCommandBuffers"-               vkFreeCommandBuffersSafe ::-               VkDevice -- ^ device-                        -> VkCommandPool -- ^ commandPool-                                         -> Word32 -- ^ commandBufferCount-                                                   -> Ptr VkCommandBuffer -- ^ pCommandBuffers-                                                                          -> IO ()--##else-vkFreeCommandBuffersSafe ::-                         VkDevice -- ^ device-                                  -> VkCommandPool -- ^ commandPool-                                                   -> Word32 -- ^ commandBufferCount-                                                             -> Ptr VkCommandBuffer -- ^ pCommandBuffers-                                                                                    -> IO ()-vkFreeCommandBuffersSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkFreeCommandBuffers)--{-# NOINLINE vkFreeCommandBuffersSafe #-}-##endif---- |--- > void vkFreeCommandBuffers--- >     ( VkDevice device--- >     , VkCommandPool commandPool--- >     , uint32_t commandBufferCount--- >     , const VkCommandBuffer* pCommandBuffers--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeCommandBuffers vkFreeCommandBuffers registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myFreeCommandBuffers <- vkGetDeviceProc @VkFreeCommandBuffers vkDevice------ or less efficient:------ > myFreeCommandBuffers <- vkGetProc @VkFreeCommandBuffers------ __Note:__ @vkFreeCommandBuffersUnsafe@ and @vkFreeCommandBuffersSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkFreeCommandBuffers@ is an alias---           of @vkFreeCommandBuffersUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkFreeCommandBuffersSafe@.----vkFreeCommandBuffers ::-                     VkDevice -- ^ device-                              -> VkCommandPool -- ^ commandPool-                                               -> Word32 -- ^ commandBufferCount-                                                         -> Ptr VkCommandBuffer -- ^ pCommandBuffers-                                                                                -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkFreeCommandBuffers = vkFreeCommandBuffersUnsafe-##else-vkFreeCommandBuffers = vkFreeCommandBuffersSafe--##endif-{-# INLINE vkFreeCommandBuffers #-}---- | > void vkFreeCommandBuffers---   >     ( VkDevice device---   >     , VkCommandPool commandPool---   >     , uint32_t commandBufferCount---   >     , const VkCommandBuffer* pCommandBuffers---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeCommandBuffers vkFreeCommandBuffers registry at www.khronos.org>-type HS_vkFreeCommandBuffers =-     VkDevice -- ^ device-              -> VkCommandPool -- ^ commandPool-                               -> Word32 -- ^ commandBufferCount-                                         -> Ptr VkCommandBuffer -- ^ pCommandBuffers-                                                                -> IO ()--type PFN_vkFreeCommandBuffers = FunPtr HS_vkFreeCommandBuffers--foreign import ccall unsafe "dynamic"-               unwrapVkFreeCommandBuffersUnsafe ::-               PFN_vkFreeCommandBuffers -> HS_vkFreeCommandBuffers--foreign import ccall safe "dynamic" unwrapVkFreeCommandBuffersSafe-               :: PFN_vkFreeCommandBuffers -> HS_vkFreeCommandBuffers--instance VulkanProc "vkFreeCommandBuffers" where-        type VkProcType "vkFreeCommandBuffers" = HS_vkFreeCommandBuffers-        vkProcSymbol = _VkFreeCommandBuffers--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkFreeCommandBuffersUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkFreeCommandBuffersSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkBeginCommandBuffer :: CString--pattern VkBeginCommandBuffer <- (is_VkBeginCommandBuffer -> True)-  where VkBeginCommandBuffer = _VkBeginCommandBuffer--{-# INLINE _VkBeginCommandBuffer #-}--_VkBeginCommandBuffer :: CString-_VkBeginCommandBuffer = Ptr "vkBeginCommandBuffer\NUL"##--{-# INLINE is_VkBeginCommandBuffer #-}--is_VkBeginCommandBuffer :: CString -> Bool-is_VkBeginCommandBuffer-  = (EQ ==) . cmpCStrings _VkBeginCommandBuffer--type VkBeginCommandBuffer = "vkBeginCommandBuffer"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkBeginCommandBuffer--- >     ( VkCommandBuffer commandBuffer--- >     , const VkCommandBufferBeginInfo* pBeginInfo--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBeginCommandBuffer vkBeginCommandBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myBeginCommandBuffer <- vkGetInstanceProc @VkBeginCommandBuffer vkInstance------ or less efficient:------ > myBeginCommandBuffer <- vkGetProc @VkBeginCommandBuffer------ __Note:__ @vkBeginCommandBufferUnsafe@ and @vkBeginCommandBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkBeginCommandBuffer@ is an alias---           of @vkBeginCommandBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkBeginCommandBufferSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkBeginCommandBuffer"-               vkBeginCommandBufferUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> Ptr VkCommandBufferBeginInfo -- ^ pBeginInfo-                                                               -> IO VkResult--##else-vkBeginCommandBufferUnsafe ::-                           VkCommandBuffer -- ^ commandBuffer-                                           -> Ptr VkCommandBufferBeginInfo -- ^ pBeginInfo-                                                                           -> IO VkResult-vkBeginCommandBufferUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkBeginCommandBuffer)--{-# NOINLINE vkBeginCommandBufferUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkBeginCommandBuffer--- >     ( VkCommandBuffer commandBuffer--- >     , const VkCommandBufferBeginInfo* pBeginInfo--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBeginCommandBuffer vkBeginCommandBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myBeginCommandBuffer <- vkGetInstanceProc @VkBeginCommandBuffer vkInstance------ or less efficient:------ > myBeginCommandBuffer <- vkGetProc @VkBeginCommandBuffer------ __Note:__ @vkBeginCommandBufferUnsafe@ and @vkBeginCommandBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkBeginCommandBuffer@ is an alias---           of @vkBeginCommandBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkBeginCommandBufferSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkBeginCommandBuffer"-               vkBeginCommandBufferSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> Ptr VkCommandBufferBeginInfo -- ^ pBeginInfo-                                                               -> IO VkResult--##else-vkBeginCommandBufferSafe ::-                         VkCommandBuffer -- ^ commandBuffer-                                         -> Ptr VkCommandBufferBeginInfo -- ^ pBeginInfo-                                                                         -> IO VkResult-vkBeginCommandBufferSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkBeginCommandBuffer)--{-# NOINLINE vkBeginCommandBufferSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkBeginCommandBuffer--- >     ( VkCommandBuffer commandBuffer--- >     , const VkCommandBufferBeginInfo* pBeginInfo--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBeginCommandBuffer vkBeginCommandBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myBeginCommandBuffer <- vkGetInstanceProc @VkBeginCommandBuffer vkInstance------ or less efficient:------ > myBeginCommandBuffer <- vkGetProc @VkBeginCommandBuffer------ __Note:__ @vkBeginCommandBufferUnsafe@ and @vkBeginCommandBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkBeginCommandBuffer@ is an alias---           of @vkBeginCommandBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkBeginCommandBufferSafe@.----vkBeginCommandBuffer ::-                     VkCommandBuffer -- ^ commandBuffer-                                     -> Ptr VkCommandBufferBeginInfo -- ^ pBeginInfo-                                                                     -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkBeginCommandBuffer = vkBeginCommandBufferUnsafe-##else-vkBeginCommandBuffer = vkBeginCommandBufferSafe--##endif-{-# INLINE vkBeginCommandBuffer #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkBeginCommandBuffer---   >     ( VkCommandBuffer commandBuffer---   >     , const VkCommandBufferBeginInfo* pBeginInfo---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBeginCommandBuffer vkBeginCommandBuffer registry at www.khronos.org>-type HS_vkBeginCommandBuffer =-     VkCommandBuffer -- ^ commandBuffer-                     -> Ptr VkCommandBufferBeginInfo -- ^ pBeginInfo-                                                     -> IO VkResult--type PFN_vkBeginCommandBuffer = FunPtr HS_vkBeginCommandBuffer--foreign import ccall unsafe "dynamic"-               unwrapVkBeginCommandBufferUnsafe ::-               PFN_vkBeginCommandBuffer -> HS_vkBeginCommandBuffer--foreign import ccall safe "dynamic" unwrapVkBeginCommandBufferSafe-               :: PFN_vkBeginCommandBuffer -> HS_vkBeginCommandBuffer--instance VulkanProc "vkBeginCommandBuffer" where-        type VkProcType "vkBeginCommandBuffer" = HS_vkBeginCommandBuffer-        vkProcSymbol = _VkBeginCommandBuffer--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkBeginCommandBufferUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkBeginCommandBufferSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkEndCommandBuffer :: CString--pattern VkEndCommandBuffer <- (is_VkEndCommandBuffer -> True)-  where VkEndCommandBuffer = _VkEndCommandBuffer--{-# INLINE _VkEndCommandBuffer #-}--_VkEndCommandBuffer :: CString-_VkEndCommandBuffer = Ptr "vkEndCommandBuffer\NUL"##--{-# INLINE is_VkEndCommandBuffer #-}--is_VkEndCommandBuffer :: CString -> Bool-is_VkEndCommandBuffer = (EQ ==) . cmpCStrings _VkEndCommandBuffer--type VkEndCommandBuffer = "vkEndCommandBuffer"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkEndCommandBuffer--- >     ( VkCommandBuffer commandBuffer--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEndCommandBuffer vkEndCommandBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myEndCommandBuffer <- vkGetInstanceProc @VkEndCommandBuffer vkInstance------ or less efficient:------ > myEndCommandBuffer <- vkGetProc @VkEndCommandBuffer------ __Note:__ @vkEndCommandBufferUnsafe@ and @vkEndCommandBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkEndCommandBuffer@ is an alias---           of @vkEndCommandBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkEndCommandBufferSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkEndCommandBuffer"-               vkEndCommandBufferUnsafe :: VkCommandBuffer -- ^ commandBuffer-                                                           -> IO VkResult--##else-vkEndCommandBufferUnsafe :: VkCommandBuffer -- ^ commandBuffer-                                            -> IO VkResult-vkEndCommandBufferUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkEndCommandBuffer)--{-# NOINLINE vkEndCommandBufferUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkEndCommandBuffer--- >     ( VkCommandBuffer commandBuffer--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEndCommandBuffer vkEndCommandBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myEndCommandBuffer <- vkGetInstanceProc @VkEndCommandBuffer vkInstance------ or less efficient:------ > myEndCommandBuffer <- vkGetProc @VkEndCommandBuffer------ __Note:__ @vkEndCommandBufferUnsafe@ and @vkEndCommandBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkEndCommandBuffer@ is an alias---           of @vkEndCommandBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkEndCommandBufferSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkEndCommandBuffer"-               vkEndCommandBufferSafe :: VkCommandBuffer -- ^ commandBuffer-                                                         -> IO VkResult--##else-vkEndCommandBufferSafe :: VkCommandBuffer -- ^ commandBuffer-                                          -> IO VkResult-vkEndCommandBufferSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkEndCommandBuffer)--{-# NOINLINE vkEndCommandBufferSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkEndCommandBuffer--- >     ( VkCommandBuffer commandBuffer--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEndCommandBuffer vkEndCommandBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myEndCommandBuffer <- vkGetInstanceProc @VkEndCommandBuffer vkInstance------ or less efficient:------ > myEndCommandBuffer <- vkGetProc @VkEndCommandBuffer------ __Note:__ @vkEndCommandBufferUnsafe@ and @vkEndCommandBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkEndCommandBuffer@ is an alias---           of @vkEndCommandBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkEndCommandBufferSafe@.----vkEndCommandBuffer :: VkCommandBuffer -- ^ commandBuffer-                                      -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkEndCommandBuffer = vkEndCommandBufferUnsafe-##else-vkEndCommandBuffer = vkEndCommandBufferSafe--##endif-{-# INLINE vkEndCommandBuffer #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkEndCommandBuffer---   >     ( VkCommandBuffer commandBuffer---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEndCommandBuffer vkEndCommandBuffer registry at www.khronos.org>-type HS_vkEndCommandBuffer = VkCommandBuffer -- ^ commandBuffer-                                             -> IO VkResult--type PFN_vkEndCommandBuffer = FunPtr HS_vkEndCommandBuffer--foreign import ccall unsafe "dynamic"-               unwrapVkEndCommandBufferUnsafe ::-               PFN_vkEndCommandBuffer -> HS_vkEndCommandBuffer--foreign import ccall safe "dynamic" unwrapVkEndCommandBufferSafe ::-               PFN_vkEndCommandBuffer -> HS_vkEndCommandBuffer--instance VulkanProc "vkEndCommandBuffer" where-        type VkProcType "vkEndCommandBuffer" = HS_vkEndCommandBuffer-        vkProcSymbol = _VkEndCommandBuffer--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkEndCommandBufferUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkEndCommandBufferSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkResetCommandBuffer :: CString--pattern VkResetCommandBuffer <- (is_VkResetCommandBuffer -> True)-  where VkResetCommandBuffer = _VkResetCommandBuffer--{-# INLINE _VkResetCommandBuffer #-}--_VkResetCommandBuffer :: CString-_VkResetCommandBuffer = Ptr "vkResetCommandBuffer\NUL"##--{-# INLINE is_VkResetCommandBuffer #-}--is_VkResetCommandBuffer :: CString -> Bool-is_VkResetCommandBuffer-  = (EQ ==) . cmpCStrings _VkResetCommandBuffer--type VkResetCommandBuffer = "vkResetCommandBuffer"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkResetCommandBuffer--- >     ( VkCommandBuffer commandBuffer--- >     , VkCommandBufferResetFlags flags--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetCommandBuffer vkResetCommandBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myResetCommandBuffer <- vkGetInstanceProc @VkResetCommandBuffer vkInstance------ or less efficient:------ > myResetCommandBuffer <- vkGetProc @VkResetCommandBuffer------ __Note:__ @vkResetCommandBufferUnsafe@ and @vkResetCommandBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkResetCommandBuffer@ is an alias---           of @vkResetCommandBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkResetCommandBufferSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkResetCommandBuffer"-               vkResetCommandBufferUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkCommandBufferResetFlags -- ^ flags-                                                            -> IO VkResult--##else-vkResetCommandBufferUnsafe ::-                           VkCommandBuffer -- ^ commandBuffer-                                           -> VkCommandBufferResetFlags -- ^ flags-                                                                        -> IO VkResult-vkResetCommandBufferUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkResetCommandBuffer)--{-# NOINLINE vkResetCommandBufferUnsafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkResetCommandBuffer--- >     ( VkCommandBuffer commandBuffer--- >     , VkCommandBufferResetFlags flags--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetCommandBuffer vkResetCommandBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myResetCommandBuffer <- vkGetInstanceProc @VkResetCommandBuffer vkInstance------ or less efficient:------ > myResetCommandBuffer <- vkGetProc @VkResetCommandBuffer------ __Note:__ @vkResetCommandBufferUnsafe@ and @vkResetCommandBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkResetCommandBuffer@ is an alias---           of @vkResetCommandBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkResetCommandBufferSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkResetCommandBuffer"-               vkResetCommandBufferSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkCommandBufferResetFlags -- ^ flags-                                                            -> IO VkResult--##else-vkResetCommandBufferSafe ::-                         VkCommandBuffer -- ^ commandBuffer-                                         -> VkCommandBufferResetFlags -- ^ flags-                                                                      -> IO VkResult-vkResetCommandBufferSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkResetCommandBuffer)--{-# NOINLINE vkResetCommandBufferSafe #-}-##endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkResetCommandBuffer--- >     ( VkCommandBuffer commandBuffer--- >     , VkCommandBufferResetFlags flags--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetCommandBuffer vkResetCommandBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myResetCommandBuffer <- vkGetInstanceProc @VkResetCommandBuffer vkInstance------ or less efficient:------ > myResetCommandBuffer <- vkGetProc @VkResetCommandBuffer------ __Note:__ @vkResetCommandBufferUnsafe@ and @vkResetCommandBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkResetCommandBuffer@ is an alias---           of @vkResetCommandBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkResetCommandBufferSafe@.----vkResetCommandBuffer ::-                     VkCommandBuffer -- ^ commandBuffer-                                     -> VkCommandBufferResetFlags -- ^ flags-                                                                  -> IO VkResult-##ifdef UNSAFE_FFI_DEFAULT-vkResetCommandBuffer = vkResetCommandBufferUnsafe-##else-vkResetCommandBuffer = vkResetCommandBufferSafe--##endif-{-# INLINE vkResetCommandBuffer #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkResetCommandBuffer---   >     ( VkCommandBuffer commandBuffer---   >     , VkCommandBufferResetFlags flags---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetCommandBuffer vkResetCommandBuffer registry at www.khronos.org>-type HS_vkResetCommandBuffer =-     VkCommandBuffer -- ^ commandBuffer-                     -> VkCommandBufferResetFlags -- ^ flags-                                                  -> IO VkResult--type PFN_vkResetCommandBuffer = FunPtr HS_vkResetCommandBuffer--foreign import ccall unsafe "dynamic"-               unwrapVkResetCommandBufferUnsafe ::-               PFN_vkResetCommandBuffer -> HS_vkResetCommandBuffer--foreign import ccall safe "dynamic" unwrapVkResetCommandBufferSafe-               :: PFN_vkResetCommandBuffer -> HS_vkResetCommandBuffer--instance VulkanProc "vkResetCommandBuffer" where-        type VkProcType "vkResetCommandBuffer" = HS_vkResetCommandBuffer-        vkProcSymbol = _VkResetCommandBuffer--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkResetCommandBufferUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkResetCommandBufferSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdBindPipeline :: CString--pattern VkCmdBindPipeline <- (is_VkCmdBindPipeline -> True)-  where VkCmdBindPipeline = _VkCmdBindPipeline--{-# INLINE _VkCmdBindPipeline #-}--_VkCmdBindPipeline :: CString-_VkCmdBindPipeline = Ptr "vkCmdBindPipeline\NUL"##--{-# INLINE is_VkCmdBindPipeline #-}--is_VkCmdBindPipeline :: CString -> Bool-is_VkCmdBindPipeline = (EQ ==) . cmpCStrings _VkCmdBindPipeline--type VkCmdBindPipeline = "vkCmdBindPipeline"---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @both@------ > void vkCmdBindPipeline--- >     ( VkCommandBuffer commandBuffer--- >     , VkPipelineBindPoint pipelineBindPoint--- >     , VkPipeline pipeline--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindPipeline vkCmdBindPipeline registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdBindPipeline <- vkGetInstanceProc @VkCmdBindPipeline vkInstance------ or less efficient:------ > myCmdBindPipeline <- vkGetProc @VkCmdBindPipeline------ __Note:__ @vkCmdBindPipelineUnsafe@ and @vkCmdBindPipelineSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdBindPipeline@ is an alias---           of @vkCmdBindPipelineUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdBindPipelineSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdBindPipeline"-               vkCmdBindPipelineUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkPipelineBindPoint -- ^ pipelineBindPoint-                                                      -> VkPipeline -- ^ pipeline-                                                                    -> IO ()--##else-vkCmdBindPipelineUnsafe ::-                        VkCommandBuffer -- ^ commandBuffer-                                        -> VkPipelineBindPoint -- ^ pipelineBindPoint-                                                               -> VkPipeline -- ^ pipeline-                                                                             -> IO ()-vkCmdBindPipelineUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdBindPipeline)--{-# NOINLINE vkCmdBindPipelineUnsafe #-}-##endif---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @both@------ > void vkCmdBindPipeline--- >     ( VkCommandBuffer commandBuffer--- >     , VkPipelineBindPoint pipelineBindPoint--- >     , VkPipeline pipeline--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindPipeline vkCmdBindPipeline registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdBindPipeline <- vkGetInstanceProc @VkCmdBindPipeline vkInstance------ or less efficient:------ > myCmdBindPipeline <- vkGetProc @VkCmdBindPipeline------ __Note:__ @vkCmdBindPipelineUnsafe@ and @vkCmdBindPipelineSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdBindPipeline@ is an alias---           of @vkCmdBindPipelineUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdBindPipelineSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdBindPipeline" vkCmdBindPipelineSafe-               :: VkCommandBuffer -- ^ commandBuffer-                                  -> VkPipelineBindPoint -- ^ pipelineBindPoint-                                                         -> VkPipeline -- ^ pipeline-                                                                       -> IO ()--##else-vkCmdBindPipelineSafe ::-                      VkCommandBuffer -- ^ commandBuffer-                                      -> VkPipelineBindPoint -- ^ pipelineBindPoint-                                                             -> VkPipeline -- ^ pipeline-                                                                           -> IO ()-vkCmdBindPipelineSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdBindPipeline)--{-# NOINLINE vkCmdBindPipelineSafe #-}-##endif---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @both@------ > void vkCmdBindPipeline--- >     ( VkCommandBuffer commandBuffer--- >     , VkPipelineBindPoint pipelineBindPoint--- >     , VkPipeline pipeline--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindPipeline vkCmdBindPipeline registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdBindPipeline <- vkGetInstanceProc @VkCmdBindPipeline vkInstance------ or less efficient:------ > myCmdBindPipeline <- vkGetProc @VkCmdBindPipeline------ __Note:__ @vkCmdBindPipelineUnsafe@ and @vkCmdBindPipelineSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdBindPipeline@ is an alias---           of @vkCmdBindPipelineUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdBindPipelineSafe@.----vkCmdBindPipeline ::-                  VkCommandBuffer -- ^ commandBuffer-                                  -> VkPipelineBindPoint -- ^ pipelineBindPoint-                                                         -> VkPipeline -- ^ pipeline-                                                                       -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdBindPipeline = vkCmdBindPipelineUnsafe-##else-vkCmdBindPipeline = vkCmdBindPipelineSafe--##endif-{-# INLINE vkCmdBindPipeline #-}---- | Queues: 'graphics', 'compute'.------   Renderpass: @both@------   > void vkCmdBindPipeline---   >     ( VkCommandBuffer commandBuffer---   >     , VkPipelineBindPoint pipelineBindPoint---   >     , VkPipeline pipeline---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindPipeline vkCmdBindPipeline registry at www.khronos.org>-type HS_vkCmdBindPipeline =-     VkCommandBuffer -- ^ commandBuffer-                     -> VkPipelineBindPoint -- ^ pipelineBindPoint-                                            -> VkPipeline -- ^ pipeline-                                                          -> IO ()--type PFN_vkCmdBindPipeline = FunPtr HS_vkCmdBindPipeline--foreign import ccall unsafe "dynamic" unwrapVkCmdBindPipelineUnsafe-               :: PFN_vkCmdBindPipeline -> HS_vkCmdBindPipeline--foreign import ccall safe "dynamic" unwrapVkCmdBindPipelineSafe ::-               PFN_vkCmdBindPipeline -> HS_vkCmdBindPipeline--instance VulkanProc "vkCmdBindPipeline" where-        type VkProcType "vkCmdBindPipeline" = HS_vkCmdBindPipeline-        vkProcSymbol = _VkCmdBindPipeline--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdBindPipelineUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdBindPipelineSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdSetViewport :: CString--pattern VkCmdSetViewport <- (is_VkCmdSetViewport -> True)-  where VkCmdSetViewport = _VkCmdSetViewport--{-# INLINE _VkCmdSetViewport #-}--_VkCmdSetViewport :: CString-_VkCmdSetViewport = Ptr "vkCmdSetViewport\NUL"##--{-# INLINE is_VkCmdSetViewport #-}--is_VkCmdSetViewport :: CString -> Bool-is_VkCmdSetViewport = (EQ ==) . cmpCStrings _VkCmdSetViewport--type VkCmdSetViewport = "vkCmdSetViewport"---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdSetViewport--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t firstViewport--- >     , uint32_t viewportCount--- >     , const VkViewport* pViewports--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetViewport vkCmdSetViewport registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetViewport <- vkGetInstanceProc @VkCmdSetViewport vkInstance------ or less efficient:------ > myCmdSetViewport <- vkGetProc @VkCmdSetViewport------ __Note:__ @vkCmdSetViewportUnsafe@ and @vkCmdSetViewportSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetViewport@ is an alias---           of @vkCmdSetViewportUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetViewportSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdSetViewport"-               vkCmdSetViewportUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> Word32 -- ^ firstViewport-                                         -> Word32 -- ^ viewportCount-                                                   -> Ptr VkViewport -- ^ pViewports-                                                                     -> IO ()--##else-vkCmdSetViewportUnsafe ::-                       VkCommandBuffer -- ^ commandBuffer-                                       -> Word32 -- ^ firstViewport-                                                 -> Word32 -- ^ viewportCount-                                                           -> Ptr VkViewport -- ^ pViewports-                                                                             -> IO ()-vkCmdSetViewportUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdSetViewport)--{-# NOINLINE vkCmdSetViewportUnsafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdSetViewport--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t firstViewport--- >     , uint32_t viewportCount--- >     , const VkViewport* pViewports--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetViewport vkCmdSetViewport registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetViewport <- vkGetInstanceProc @VkCmdSetViewport vkInstance------ or less efficient:------ > myCmdSetViewport <- vkGetProc @VkCmdSetViewport------ __Note:__ @vkCmdSetViewportUnsafe@ and @vkCmdSetViewportSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetViewport@ is an alias---           of @vkCmdSetViewportUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetViewportSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdSetViewport" vkCmdSetViewportSafe-               :: VkCommandBuffer -- ^ commandBuffer-                                  -> Word32 -- ^ firstViewport-                                            -> Word32 -- ^ viewportCount-                                                      -> Ptr VkViewport -- ^ pViewports-                                                                        -> IO ()--##else-vkCmdSetViewportSafe ::-                     VkCommandBuffer -- ^ commandBuffer-                                     -> Word32 -- ^ firstViewport-                                               -> Word32 -- ^ viewportCount-                                                         -> Ptr VkViewport -- ^ pViewports-                                                                           -> IO ()-vkCmdSetViewportSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdSetViewport)--{-# NOINLINE vkCmdSetViewportSafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdSetViewport--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t firstViewport--- >     , uint32_t viewportCount--- >     , const VkViewport* pViewports--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetViewport vkCmdSetViewport registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetViewport <- vkGetInstanceProc @VkCmdSetViewport vkInstance------ or less efficient:------ > myCmdSetViewport <- vkGetProc @VkCmdSetViewport------ __Note:__ @vkCmdSetViewportUnsafe@ and @vkCmdSetViewportSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetViewport@ is an alias---           of @vkCmdSetViewportUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetViewportSafe@.----vkCmdSetViewport ::-                 VkCommandBuffer -- ^ commandBuffer-                                 -> Word32 -- ^ firstViewport-                                           -> Word32 -- ^ viewportCount-                                                     -> Ptr VkViewport -- ^ pViewports-                                                                       -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdSetViewport = vkCmdSetViewportUnsafe-##else-vkCmdSetViewport = vkCmdSetViewportSafe--##endif-{-# INLINE vkCmdSetViewport #-}---- | Queues: 'graphics'.------   Renderpass: @both@------   > void vkCmdSetViewport---   >     ( VkCommandBuffer commandBuffer---   >     , uint32_t firstViewport---   >     , uint32_t viewportCount---   >     , const VkViewport* pViewports---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetViewport vkCmdSetViewport registry at www.khronos.org>-type HS_vkCmdSetViewport =-     VkCommandBuffer -- ^ commandBuffer-                     -> Word32 -- ^ firstViewport-                               -> Word32 -- ^ viewportCount-                                         -> Ptr VkViewport -- ^ pViewports-                                                           -> IO ()--type PFN_vkCmdSetViewport = FunPtr HS_vkCmdSetViewport--foreign import ccall unsafe "dynamic" unwrapVkCmdSetViewportUnsafe-               :: PFN_vkCmdSetViewport -> HS_vkCmdSetViewport--foreign import ccall safe "dynamic" unwrapVkCmdSetViewportSafe ::-               PFN_vkCmdSetViewport -> HS_vkCmdSetViewport--instance VulkanProc "vkCmdSetViewport" where-        type VkProcType "vkCmdSetViewport" = HS_vkCmdSetViewport-        vkProcSymbol = _VkCmdSetViewport--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdSetViewportUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdSetViewportSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdSetScissor :: CString--pattern VkCmdSetScissor <- (is_VkCmdSetScissor -> True)-  where VkCmdSetScissor = _VkCmdSetScissor--{-# INLINE _VkCmdSetScissor #-}--_VkCmdSetScissor :: CString-_VkCmdSetScissor = Ptr "vkCmdSetScissor\NUL"##--{-# INLINE is_VkCmdSetScissor #-}--is_VkCmdSetScissor :: CString -> Bool-is_VkCmdSetScissor = (EQ ==) . cmpCStrings _VkCmdSetScissor--type VkCmdSetScissor = "vkCmdSetScissor"---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdSetScissor--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t firstScissor--- >     , uint32_t scissorCount--- >     , const VkRect2D* pScissors--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetScissor vkCmdSetScissor registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetScissor <- vkGetInstanceProc @VkCmdSetScissor vkInstance------ or less efficient:------ > myCmdSetScissor <- vkGetProc @VkCmdSetScissor------ __Note:__ @vkCmdSetScissorUnsafe@ and @vkCmdSetScissorSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetScissor@ is an alias---           of @vkCmdSetScissorUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetScissorSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdSetScissor" vkCmdSetScissorUnsafe-               :: VkCommandBuffer -- ^ commandBuffer-                                  -> Word32 -- ^ firstScissor-                                            -> Word32 -- ^ scissorCount-                                                      -> Ptr VkRect2D -- ^ pScissors-                                                                      -> IO ()--##else-vkCmdSetScissorUnsafe ::-                      VkCommandBuffer -- ^ commandBuffer-                                      -> Word32 -- ^ firstScissor-                                                -> Word32 -- ^ scissorCount-                                                          -> Ptr VkRect2D -- ^ pScissors-                                                                          -> IO ()-vkCmdSetScissorUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdSetScissor)--{-# NOINLINE vkCmdSetScissorUnsafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdSetScissor--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t firstScissor--- >     , uint32_t scissorCount--- >     , const VkRect2D* pScissors--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetScissor vkCmdSetScissor registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetScissor <- vkGetInstanceProc @VkCmdSetScissor vkInstance------ or less efficient:------ > myCmdSetScissor <- vkGetProc @VkCmdSetScissor------ __Note:__ @vkCmdSetScissorUnsafe@ and @vkCmdSetScissorSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetScissor@ is an alias---           of @vkCmdSetScissorUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetScissorSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdSetScissor" vkCmdSetScissorSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> Word32 -- ^ firstScissor-                                         -> Word32 -- ^ scissorCount-                                                   -> Ptr VkRect2D -- ^ pScissors-                                                                   -> IO ()--##else-vkCmdSetScissorSafe ::-                    VkCommandBuffer -- ^ commandBuffer-                                    -> Word32 -- ^ firstScissor-                                              -> Word32 -- ^ scissorCount-                                                        -> Ptr VkRect2D -- ^ pScissors-                                                                        -> IO ()-vkCmdSetScissorSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdSetScissor)--{-# NOINLINE vkCmdSetScissorSafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdSetScissor--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t firstScissor--- >     , uint32_t scissorCount--- >     , const VkRect2D* pScissors--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetScissor vkCmdSetScissor registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetScissor <- vkGetInstanceProc @VkCmdSetScissor vkInstance------ or less efficient:------ > myCmdSetScissor <- vkGetProc @VkCmdSetScissor------ __Note:__ @vkCmdSetScissorUnsafe@ and @vkCmdSetScissorSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetScissor@ is an alias---           of @vkCmdSetScissorUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetScissorSafe@.----vkCmdSetScissor ::-                VkCommandBuffer -- ^ commandBuffer-                                -> Word32 -- ^ firstScissor-                                          -> Word32 -- ^ scissorCount-                                                    -> Ptr VkRect2D -- ^ pScissors-                                                                    -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdSetScissor = vkCmdSetScissorUnsafe-##else-vkCmdSetScissor = vkCmdSetScissorSafe--##endif-{-# INLINE vkCmdSetScissor #-}---- | Queues: 'graphics'.------   Renderpass: @both@------   > void vkCmdSetScissor---   >     ( VkCommandBuffer commandBuffer---   >     , uint32_t firstScissor---   >     , uint32_t scissorCount---   >     , const VkRect2D* pScissors---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetScissor vkCmdSetScissor registry at www.khronos.org>-type HS_vkCmdSetScissor =-     VkCommandBuffer -- ^ commandBuffer-                     -> Word32 -- ^ firstScissor-                               -> Word32 -- ^ scissorCount-                                         -> Ptr VkRect2D -- ^ pScissors-                                                         -> IO ()--type PFN_vkCmdSetScissor = FunPtr HS_vkCmdSetScissor--foreign import ccall unsafe "dynamic" unwrapVkCmdSetScissorUnsafe-               :: PFN_vkCmdSetScissor -> HS_vkCmdSetScissor--foreign import ccall safe "dynamic" unwrapVkCmdSetScissorSafe ::-               PFN_vkCmdSetScissor -> HS_vkCmdSetScissor--instance VulkanProc "vkCmdSetScissor" where-        type VkProcType "vkCmdSetScissor" = HS_vkCmdSetScissor-        vkProcSymbol = _VkCmdSetScissor--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdSetScissorUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdSetScissorSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdSetLineWidth :: CString--pattern VkCmdSetLineWidth <- (is_VkCmdSetLineWidth -> True)-  where VkCmdSetLineWidth = _VkCmdSetLineWidth--{-# INLINE _VkCmdSetLineWidth #-}--_VkCmdSetLineWidth :: CString-_VkCmdSetLineWidth = Ptr "vkCmdSetLineWidth\NUL"##--{-# INLINE is_VkCmdSetLineWidth #-}--is_VkCmdSetLineWidth :: CString -> Bool-is_VkCmdSetLineWidth = (EQ ==) . cmpCStrings _VkCmdSetLineWidth--type VkCmdSetLineWidth = "vkCmdSetLineWidth"---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdSetLineWidth--- >     ( VkCommandBuffer commandBuffer--- >     , float lineWidth--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetLineWidth vkCmdSetLineWidth registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetLineWidth <- vkGetInstanceProc @VkCmdSetLineWidth vkInstance------ or less efficient:------ > myCmdSetLineWidth <- vkGetProc @VkCmdSetLineWidth------ __Note:__ @vkCmdSetLineWidthUnsafe@ and @vkCmdSetLineWidthSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetLineWidth@ is an alias---           of @vkCmdSetLineWidthUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetLineWidthSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdSetLineWidth"-               vkCmdSetLineWidthUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> #{type float} -> IO ()--##else-vkCmdSetLineWidthUnsafe ::-                        VkCommandBuffer -- ^ commandBuffer-                                        -> #{type float} -> IO ()-vkCmdSetLineWidthUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdSetLineWidth)--{-# NOINLINE vkCmdSetLineWidthUnsafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdSetLineWidth--- >     ( VkCommandBuffer commandBuffer--- >     , float lineWidth--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetLineWidth vkCmdSetLineWidth registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetLineWidth <- vkGetInstanceProc @VkCmdSetLineWidth vkInstance------ or less efficient:------ > myCmdSetLineWidth <- vkGetProc @VkCmdSetLineWidth------ __Note:__ @vkCmdSetLineWidthUnsafe@ and @vkCmdSetLineWidthSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetLineWidth@ is an alias---           of @vkCmdSetLineWidthUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetLineWidthSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdSetLineWidth" vkCmdSetLineWidthSafe-               :: VkCommandBuffer -- ^ commandBuffer-                                  -> #{type float} -> IO ()--##else-vkCmdSetLineWidthSafe ::-                      VkCommandBuffer -- ^ commandBuffer-                                      -> #{type float} -> IO ()-vkCmdSetLineWidthSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdSetLineWidth)--{-# NOINLINE vkCmdSetLineWidthSafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdSetLineWidth--- >     ( VkCommandBuffer commandBuffer--- >     , float lineWidth--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetLineWidth vkCmdSetLineWidth registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetLineWidth <- vkGetInstanceProc @VkCmdSetLineWidth vkInstance------ or less efficient:------ > myCmdSetLineWidth <- vkGetProc @VkCmdSetLineWidth------ __Note:__ @vkCmdSetLineWidthUnsafe@ and @vkCmdSetLineWidthSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetLineWidth@ is an alias---           of @vkCmdSetLineWidthUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetLineWidthSafe@.----vkCmdSetLineWidth ::-                  VkCommandBuffer -- ^ commandBuffer-                                  -> #{type float} -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdSetLineWidth = vkCmdSetLineWidthUnsafe-##else-vkCmdSetLineWidth = vkCmdSetLineWidthSafe--##endif-{-# INLINE vkCmdSetLineWidth #-}---- | Queues: 'graphics'.------   Renderpass: @both@------   > void vkCmdSetLineWidth---   >     ( VkCommandBuffer commandBuffer---   >     , float lineWidth---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetLineWidth vkCmdSetLineWidth registry at www.khronos.org>-type HS_vkCmdSetLineWidth =-     VkCommandBuffer -- ^ commandBuffer-                     -> #{type float} -> IO ()--type PFN_vkCmdSetLineWidth = FunPtr HS_vkCmdSetLineWidth--foreign import ccall unsafe "dynamic" unwrapVkCmdSetLineWidthUnsafe-               :: PFN_vkCmdSetLineWidth -> HS_vkCmdSetLineWidth--foreign import ccall safe "dynamic" unwrapVkCmdSetLineWidthSafe ::-               PFN_vkCmdSetLineWidth -> HS_vkCmdSetLineWidth--instance VulkanProc "vkCmdSetLineWidth" where-        type VkProcType "vkCmdSetLineWidth" = HS_vkCmdSetLineWidth-        vkProcSymbol = _VkCmdSetLineWidth--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdSetLineWidthUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdSetLineWidthSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdSetDepthBias :: CString--pattern VkCmdSetDepthBias <- (is_VkCmdSetDepthBias -> True)-  where VkCmdSetDepthBias = _VkCmdSetDepthBias--{-# INLINE _VkCmdSetDepthBias #-}--_VkCmdSetDepthBias :: CString-_VkCmdSetDepthBias = Ptr "vkCmdSetDepthBias\NUL"##--{-# INLINE is_VkCmdSetDepthBias #-}--is_VkCmdSetDepthBias :: CString -> Bool-is_VkCmdSetDepthBias = (EQ ==) . cmpCStrings _VkCmdSetDepthBias--type VkCmdSetDepthBias = "vkCmdSetDepthBias"---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdSetDepthBias--- >     ( VkCommandBuffer commandBuffer--- >     , float depthBiasConstantFactor--- >     , float depthBiasClamp--- >     , float depthBiasSlopeFactor--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDepthBias vkCmdSetDepthBias registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetDepthBias <- vkGetInstanceProc @VkCmdSetDepthBias vkInstance------ or less efficient:------ > myCmdSetDepthBias <- vkGetProc @VkCmdSetDepthBias------ __Note:__ @vkCmdSetDepthBiasUnsafe@ and @vkCmdSetDepthBiasSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetDepthBias@ is an alias---           of @vkCmdSetDepthBiasUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetDepthBiasSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdSetDepthBias"-               vkCmdSetDepthBiasUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 #{type float} ->-                   #{type float} -> #{type float} -> IO ()--##else-vkCmdSetDepthBiasUnsafe ::-                        VkCommandBuffer -- ^ commandBuffer-                                        ->-                          #{type float} ->-                            #{type float} -> #{type float} -> IO ()-vkCmdSetDepthBiasUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdSetDepthBias)--{-# NOINLINE vkCmdSetDepthBiasUnsafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdSetDepthBias--- >     ( VkCommandBuffer commandBuffer--- >     , float depthBiasConstantFactor--- >     , float depthBiasClamp--- >     , float depthBiasSlopeFactor--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDepthBias vkCmdSetDepthBias registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetDepthBias <- vkGetInstanceProc @VkCmdSetDepthBias vkInstance------ or less efficient:------ > myCmdSetDepthBias <- vkGetProc @VkCmdSetDepthBias------ __Note:__ @vkCmdSetDepthBiasUnsafe@ and @vkCmdSetDepthBiasSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetDepthBias@ is an alias---           of @vkCmdSetDepthBiasUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetDepthBiasSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdSetDepthBias" vkCmdSetDepthBiasSafe-               ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 #{type float} ->-                   #{type float} -> #{type float} -> IO ()--##else-vkCmdSetDepthBiasSafe ::-                      VkCommandBuffer -- ^ commandBuffer-                                      ->-                        #{type float} ->-                          #{type float} -> #{type float} -> IO ()-vkCmdSetDepthBiasSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdSetDepthBias)--{-# NOINLINE vkCmdSetDepthBiasSafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdSetDepthBias--- >     ( VkCommandBuffer commandBuffer--- >     , float depthBiasConstantFactor--- >     , float depthBiasClamp--- >     , float depthBiasSlopeFactor--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDepthBias vkCmdSetDepthBias registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetDepthBias <- vkGetInstanceProc @VkCmdSetDepthBias vkInstance------ or less efficient:------ > myCmdSetDepthBias <- vkGetProc @VkCmdSetDepthBias------ __Note:__ @vkCmdSetDepthBiasUnsafe@ and @vkCmdSetDepthBiasSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetDepthBias@ is an alias---           of @vkCmdSetDepthBiasUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetDepthBiasSafe@.----vkCmdSetDepthBias ::-                  VkCommandBuffer -- ^ commandBuffer-                                  ->-                    #{type float} ->-                      #{type float} -> #{type float} -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdSetDepthBias = vkCmdSetDepthBiasUnsafe-##else-vkCmdSetDepthBias = vkCmdSetDepthBiasSafe--##endif-{-# INLINE vkCmdSetDepthBias #-}---- | Queues: 'graphics'.------   Renderpass: @both@------   > void vkCmdSetDepthBias---   >     ( VkCommandBuffer commandBuffer---   >     , float depthBiasConstantFactor---   >     , float depthBiasClamp---   >     , float depthBiasSlopeFactor---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDepthBias vkCmdSetDepthBias registry at www.khronos.org>-type HS_vkCmdSetDepthBias =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       #{type float} ->-         #{type float} -> #{type float} -> IO ()--type PFN_vkCmdSetDepthBias = FunPtr HS_vkCmdSetDepthBias--foreign import ccall unsafe "dynamic" unwrapVkCmdSetDepthBiasUnsafe-               :: PFN_vkCmdSetDepthBias -> HS_vkCmdSetDepthBias--foreign import ccall safe "dynamic" unwrapVkCmdSetDepthBiasSafe ::-               PFN_vkCmdSetDepthBias -> HS_vkCmdSetDepthBias--instance VulkanProc "vkCmdSetDepthBias" where-        type VkProcType "vkCmdSetDepthBias" = HS_vkCmdSetDepthBias-        vkProcSymbol = _VkCmdSetDepthBias--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdSetDepthBiasUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdSetDepthBiasSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdSetBlendConstants :: CString--pattern VkCmdSetBlendConstants <--        (is_VkCmdSetBlendConstants -> True)-  where VkCmdSetBlendConstants = _VkCmdSetBlendConstants--{-# INLINE _VkCmdSetBlendConstants #-}--_VkCmdSetBlendConstants :: CString-_VkCmdSetBlendConstants = Ptr "vkCmdSetBlendConstants\NUL"##--{-# INLINE is_VkCmdSetBlendConstants #-}--is_VkCmdSetBlendConstants :: CString -> Bool-is_VkCmdSetBlendConstants-  = (EQ ==) . cmpCStrings _VkCmdSetBlendConstants--type VkCmdSetBlendConstants = "vkCmdSetBlendConstants"---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdSetBlendConstants--- >     ( VkCommandBuffer commandBuffer--- >     , const float blendConstants[4]--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetBlendConstants vkCmdSetBlendConstants registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetBlendConstants <- vkGetInstanceProc @VkCmdSetBlendConstants vkInstance------ or less efficient:------ > myCmdSetBlendConstants <- vkGetProc @VkCmdSetBlendConstants------ __Note:__ @vkCmdSetBlendConstantsUnsafe@ and @vkCmdSetBlendConstantsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetBlendConstants@ is an alias---           of @vkCmdSetBlendConstantsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetBlendConstantsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdSetBlendConstants"-               vkCmdSetBlendConstantsUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> Ptr #{type float} -- ^ blendConstants-                                                                -> IO ()--##else-vkCmdSetBlendConstantsUnsafe ::-                             VkCommandBuffer -- ^ commandBuffer-                                             -> Ptr #{type float} -- ^ blendConstants-                                                                              -> IO ()-vkCmdSetBlendConstantsUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdSetBlendConstants)--{-# NOINLINE vkCmdSetBlendConstantsUnsafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdSetBlendConstants--- >     ( VkCommandBuffer commandBuffer--- >     , const float blendConstants[4]--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetBlendConstants vkCmdSetBlendConstants registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetBlendConstants <- vkGetInstanceProc @VkCmdSetBlendConstants vkInstance------ or less efficient:------ > myCmdSetBlendConstants <- vkGetProc @VkCmdSetBlendConstants------ __Note:__ @vkCmdSetBlendConstantsUnsafe@ and @vkCmdSetBlendConstantsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetBlendConstants@ is an alias---           of @vkCmdSetBlendConstantsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetBlendConstantsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdSetBlendConstants"-               vkCmdSetBlendConstantsSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> Ptr #{type float} -- ^ blendConstants-                                                                -> IO ()--##else-vkCmdSetBlendConstantsSafe ::-                           VkCommandBuffer -- ^ commandBuffer-                                           -> Ptr #{type float} -- ^ blendConstants-                                                                            -> IO ()-vkCmdSetBlendConstantsSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdSetBlendConstants)--{-# NOINLINE vkCmdSetBlendConstantsSafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdSetBlendConstants--- >     ( VkCommandBuffer commandBuffer--- >     , const float blendConstants[4]--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetBlendConstants vkCmdSetBlendConstants registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetBlendConstants <- vkGetInstanceProc @VkCmdSetBlendConstants vkInstance------ or less efficient:------ > myCmdSetBlendConstants <- vkGetProc @VkCmdSetBlendConstants------ __Note:__ @vkCmdSetBlendConstantsUnsafe@ and @vkCmdSetBlendConstantsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetBlendConstants@ is an alias---           of @vkCmdSetBlendConstantsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetBlendConstantsSafe@.----vkCmdSetBlendConstants ::-                       VkCommandBuffer -- ^ commandBuffer-                                       -> Ptr #{type float} -- ^ blendConstants-                                                                        -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdSetBlendConstants = vkCmdSetBlendConstantsUnsafe-##else-vkCmdSetBlendConstants = vkCmdSetBlendConstantsSafe--##endif-{-# INLINE vkCmdSetBlendConstants #-}---- | Queues: 'graphics'.------   Renderpass: @both@------   > void vkCmdSetBlendConstants---   >     ( VkCommandBuffer commandBuffer---   >     , const float blendConstants[4]---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetBlendConstants vkCmdSetBlendConstants registry at www.khronos.org>-type HS_vkCmdSetBlendConstants =-     VkCommandBuffer -- ^ commandBuffer-                     -> Ptr #{type float} -- ^ blendConstants-                                                      -> IO ()--type PFN_vkCmdSetBlendConstants = FunPtr HS_vkCmdSetBlendConstants--foreign import ccall unsafe "dynamic"-               unwrapVkCmdSetBlendConstantsUnsafe ::-               PFN_vkCmdSetBlendConstants -> HS_vkCmdSetBlendConstants--foreign import ccall safe "dynamic"-               unwrapVkCmdSetBlendConstantsSafe ::-               PFN_vkCmdSetBlendConstants -> HS_vkCmdSetBlendConstants--instance VulkanProc "vkCmdSetBlendConstants" where-        type VkProcType "vkCmdSetBlendConstants" =-             HS_vkCmdSetBlendConstants-        vkProcSymbol = _VkCmdSetBlendConstants--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdSetBlendConstantsUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdSetBlendConstantsSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdSetDepthBounds :: CString--pattern VkCmdSetDepthBounds <- (is_VkCmdSetDepthBounds -> True)-  where VkCmdSetDepthBounds = _VkCmdSetDepthBounds--{-# INLINE _VkCmdSetDepthBounds #-}--_VkCmdSetDepthBounds :: CString-_VkCmdSetDepthBounds = Ptr "vkCmdSetDepthBounds\NUL"##--{-# INLINE is_VkCmdSetDepthBounds #-}--is_VkCmdSetDepthBounds :: CString -> Bool-is_VkCmdSetDepthBounds = (EQ ==) . cmpCStrings _VkCmdSetDepthBounds--type VkCmdSetDepthBounds = "vkCmdSetDepthBounds"---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdSetDepthBounds--- >     ( VkCommandBuffer commandBuffer--- >     , float minDepthBounds--- >     , float maxDepthBounds--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDepthBounds vkCmdSetDepthBounds registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetDepthBounds <- vkGetInstanceProc @VkCmdSetDepthBounds vkInstance------ or less efficient:------ > myCmdSetDepthBounds <- vkGetProc @VkCmdSetDepthBounds------ __Note:__ @vkCmdSetDepthBoundsUnsafe@ and @vkCmdSetDepthBoundsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetDepthBounds@ is an alias---           of @vkCmdSetDepthBoundsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetDepthBoundsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdSetDepthBounds"-               vkCmdSetDepthBoundsUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 #{type float} -> #{type float} -> IO ()--##else-vkCmdSetDepthBoundsUnsafe ::-                          VkCommandBuffer -- ^ commandBuffer-                                          ->-                            #{type float} -> #{type float} -> IO ()-vkCmdSetDepthBoundsUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdSetDepthBounds)--{-# NOINLINE vkCmdSetDepthBoundsUnsafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdSetDepthBounds--- >     ( VkCommandBuffer commandBuffer--- >     , float minDepthBounds--- >     , float maxDepthBounds--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDepthBounds vkCmdSetDepthBounds registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetDepthBounds <- vkGetInstanceProc @VkCmdSetDepthBounds vkInstance------ or less efficient:------ > myCmdSetDepthBounds <- vkGetProc @VkCmdSetDepthBounds------ __Note:__ @vkCmdSetDepthBoundsUnsafe@ and @vkCmdSetDepthBoundsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetDepthBounds@ is an alias---           of @vkCmdSetDepthBoundsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetDepthBoundsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdSetDepthBounds"-               vkCmdSetDepthBoundsSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 #{type float} -> #{type float} -> IO ()--##else-vkCmdSetDepthBoundsSafe ::-                        VkCommandBuffer -- ^ commandBuffer-                                        ->-                          #{type float} -> #{type float} -> IO ()-vkCmdSetDepthBoundsSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdSetDepthBounds)--{-# NOINLINE vkCmdSetDepthBoundsSafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdSetDepthBounds--- >     ( VkCommandBuffer commandBuffer--- >     , float minDepthBounds--- >     , float maxDepthBounds--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDepthBounds vkCmdSetDepthBounds registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetDepthBounds <- vkGetInstanceProc @VkCmdSetDepthBounds vkInstance------ or less efficient:------ > myCmdSetDepthBounds <- vkGetProc @VkCmdSetDepthBounds------ __Note:__ @vkCmdSetDepthBoundsUnsafe@ and @vkCmdSetDepthBoundsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetDepthBounds@ is an alias---           of @vkCmdSetDepthBoundsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetDepthBoundsSafe@.----vkCmdSetDepthBounds ::-                    VkCommandBuffer -- ^ commandBuffer-                                    ->-                      #{type float} -> #{type float} -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdSetDepthBounds = vkCmdSetDepthBoundsUnsafe-##else-vkCmdSetDepthBounds = vkCmdSetDepthBoundsSafe--##endif-{-# INLINE vkCmdSetDepthBounds #-}---- | Queues: 'graphics'.------   Renderpass: @both@------   > void vkCmdSetDepthBounds---   >     ( VkCommandBuffer commandBuffer---   >     , float minDepthBounds---   >     , float maxDepthBounds---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDepthBounds vkCmdSetDepthBounds registry at www.khronos.org>-type HS_vkCmdSetDepthBounds =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       #{type float} -> #{type float} -> IO ()--type PFN_vkCmdSetDepthBounds = FunPtr HS_vkCmdSetDepthBounds--foreign import ccall unsafe "dynamic"-               unwrapVkCmdSetDepthBoundsUnsafe ::-               PFN_vkCmdSetDepthBounds -> HS_vkCmdSetDepthBounds--foreign import ccall safe "dynamic" unwrapVkCmdSetDepthBoundsSafe-               :: PFN_vkCmdSetDepthBounds -> HS_vkCmdSetDepthBounds--instance VulkanProc "vkCmdSetDepthBounds" where-        type VkProcType "vkCmdSetDepthBounds" = HS_vkCmdSetDepthBounds-        vkProcSymbol = _VkCmdSetDepthBounds--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdSetDepthBoundsUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdSetDepthBoundsSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdSetStencilCompareMask :: CString--pattern VkCmdSetStencilCompareMask <--        (is_VkCmdSetStencilCompareMask -> True)-  where VkCmdSetStencilCompareMask = _VkCmdSetStencilCompareMask--{-# INLINE _VkCmdSetStencilCompareMask #-}--_VkCmdSetStencilCompareMask :: CString-_VkCmdSetStencilCompareMask = Ptr "vkCmdSetStencilCompareMask\NUL"##--{-# INLINE is_VkCmdSetStencilCompareMask #-}--is_VkCmdSetStencilCompareMask :: CString -> Bool-is_VkCmdSetStencilCompareMask-  = (EQ ==) . cmpCStrings _VkCmdSetStencilCompareMask--type VkCmdSetStencilCompareMask = "vkCmdSetStencilCompareMask"---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdSetStencilCompareMask--- >     ( VkCommandBuffer commandBuffer--- >     , VkStencilFaceFlags faceMask--- >     , uint32_t compareMask--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetStencilCompareMask <- vkGetInstanceProc @VkCmdSetStencilCompareMask vkInstance------ or less efficient:------ > myCmdSetStencilCompareMask <- vkGetProc @VkCmdSetStencilCompareMask------ __Note:__ @vkCmdSetStencilCompareMaskUnsafe@ and @vkCmdSetStencilCompareMaskSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetStencilCompareMask@ is an alias---           of @vkCmdSetStencilCompareMaskUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetStencilCompareMaskSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdSetStencilCompareMask"-               vkCmdSetStencilCompareMaskUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkStencilFaceFlags -- ^ faceMask-                                                     -> Word32 -- ^ compareMask-                                                               -> IO ()--##else-vkCmdSetStencilCompareMaskUnsafe ::-                                 VkCommandBuffer -- ^ commandBuffer-                                                 -> VkStencilFaceFlags -- ^ faceMask-                                                                       -> Word32 -- ^ compareMask-                                                                                 -> IO ()-vkCmdSetStencilCompareMaskUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkCmdSetStencilCompareMask)--{-# NOINLINE vkCmdSetStencilCompareMaskUnsafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdSetStencilCompareMask--- >     ( VkCommandBuffer commandBuffer--- >     , VkStencilFaceFlags faceMask--- >     , uint32_t compareMask--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetStencilCompareMask <- vkGetInstanceProc @VkCmdSetStencilCompareMask vkInstance------ or less efficient:------ > myCmdSetStencilCompareMask <- vkGetProc @VkCmdSetStencilCompareMask------ __Note:__ @vkCmdSetStencilCompareMaskUnsafe@ and @vkCmdSetStencilCompareMaskSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetStencilCompareMask@ is an alias---           of @vkCmdSetStencilCompareMaskUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetStencilCompareMaskSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdSetStencilCompareMask"-               vkCmdSetStencilCompareMaskSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkStencilFaceFlags -- ^ faceMask-                                                     -> Word32 -- ^ compareMask-                                                               -> IO ()--##else-vkCmdSetStencilCompareMaskSafe ::-                               VkCommandBuffer -- ^ commandBuffer-                                               -> VkStencilFaceFlags -- ^ faceMask-                                                                     -> Word32 -- ^ compareMask-                                                                               -> IO ()-vkCmdSetStencilCompareMaskSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkCmdSetStencilCompareMask)--{-# NOINLINE vkCmdSetStencilCompareMaskSafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdSetStencilCompareMask--- >     ( VkCommandBuffer commandBuffer--- >     , VkStencilFaceFlags faceMask--- >     , uint32_t compareMask--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetStencilCompareMask <- vkGetInstanceProc @VkCmdSetStencilCompareMask vkInstance------ or less efficient:------ > myCmdSetStencilCompareMask <- vkGetProc @VkCmdSetStencilCompareMask------ __Note:__ @vkCmdSetStencilCompareMaskUnsafe@ and @vkCmdSetStencilCompareMaskSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetStencilCompareMask@ is an alias---           of @vkCmdSetStencilCompareMaskUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetStencilCompareMaskSafe@.----vkCmdSetStencilCompareMask ::-                           VkCommandBuffer -- ^ commandBuffer-                                           -> VkStencilFaceFlags -- ^ faceMask-                                                                 -> Word32 -- ^ compareMask-                                                                           -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdSetStencilCompareMask = vkCmdSetStencilCompareMaskUnsafe-##else-vkCmdSetStencilCompareMask = vkCmdSetStencilCompareMaskSafe--##endif-{-# INLINE vkCmdSetStencilCompareMask #-}---- | Queues: 'graphics'.------   Renderpass: @both@------   > void vkCmdSetStencilCompareMask---   >     ( VkCommandBuffer commandBuffer---   >     , VkStencilFaceFlags faceMask---   >     , uint32_t compareMask---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask registry at www.khronos.org>-type HS_vkCmdSetStencilCompareMask =-     VkCommandBuffer -- ^ commandBuffer-                     -> VkStencilFaceFlags -- ^ faceMask-                                           -> Word32 -- ^ compareMask-                                                     -> IO ()--type PFN_vkCmdSetStencilCompareMask =-     FunPtr HS_vkCmdSetStencilCompareMask--foreign import ccall unsafe "dynamic"-               unwrapVkCmdSetStencilCompareMaskUnsafe ::-               PFN_vkCmdSetStencilCompareMask -> HS_vkCmdSetStencilCompareMask--foreign import ccall safe "dynamic"-               unwrapVkCmdSetStencilCompareMaskSafe ::-               PFN_vkCmdSetStencilCompareMask -> HS_vkCmdSetStencilCompareMask--instance VulkanProc "vkCmdSetStencilCompareMask" where-        type VkProcType "vkCmdSetStencilCompareMask" =-             HS_vkCmdSetStencilCompareMask-        vkProcSymbol = _VkCmdSetStencilCompareMask--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdSetStencilCompareMaskUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdSetStencilCompareMaskSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdSetStencilWriteMask :: CString--pattern VkCmdSetStencilWriteMask <--        (is_VkCmdSetStencilWriteMask -> True)-  where VkCmdSetStencilWriteMask = _VkCmdSetStencilWriteMask--{-# INLINE _VkCmdSetStencilWriteMask #-}--_VkCmdSetStencilWriteMask :: CString-_VkCmdSetStencilWriteMask = Ptr "vkCmdSetStencilWriteMask\NUL"##--{-# INLINE is_VkCmdSetStencilWriteMask #-}--is_VkCmdSetStencilWriteMask :: CString -> Bool-is_VkCmdSetStencilWriteMask-  = (EQ ==) . cmpCStrings _VkCmdSetStencilWriteMask--type VkCmdSetStencilWriteMask = "vkCmdSetStencilWriteMask"---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdSetStencilWriteMask--- >     ( VkCommandBuffer commandBuffer--- >     , VkStencilFaceFlags faceMask--- >     , uint32_t writeMask--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetStencilWriteMask <- vkGetInstanceProc @VkCmdSetStencilWriteMask vkInstance------ or less efficient:------ > myCmdSetStencilWriteMask <- vkGetProc @VkCmdSetStencilWriteMask------ __Note:__ @vkCmdSetStencilWriteMaskUnsafe@ and @vkCmdSetStencilWriteMaskSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetStencilWriteMask@ is an alias---           of @vkCmdSetStencilWriteMaskUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetStencilWriteMaskSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdSetStencilWriteMask"-               vkCmdSetStencilWriteMaskUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkStencilFaceFlags -- ^ faceMask-                                                     -> Word32 -- ^ writeMask-                                                               -> IO ()--##else-vkCmdSetStencilWriteMaskUnsafe ::-                               VkCommandBuffer -- ^ commandBuffer-                                               -> VkStencilFaceFlags -- ^ faceMask-                                                                     -> Word32 -- ^ writeMask-                                                                               -> IO ()-vkCmdSetStencilWriteMaskUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkCmdSetStencilWriteMask)--{-# NOINLINE vkCmdSetStencilWriteMaskUnsafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdSetStencilWriteMask--- >     ( VkCommandBuffer commandBuffer--- >     , VkStencilFaceFlags faceMask--- >     , uint32_t writeMask--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetStencilWriteMask <- vkGetInstanceProc @VkCmdSetStencilWriteMask vkInstance------ or less efficient:------ > myCmdSetStencilWriteMask <- vkGetProc @VkCmdSetStencilWriteMask------ __Note:__ @vkCmdSetStencilWriteMaskUnsafe@ and @vkCmdSetStencilWriteMaskSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetStencilWriteMask@ is an alias---           of @vkCmdSetStencilWriteMaskUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetStencilWriteMaskSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdSetStencilWriteMask"-               vkCmdSetStencilWriteMaskSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkStencilFaceFlags -- ^ faceMask-                                                     -> Word32 -- ^ writeMask-                                                               -> IO ()--##else-vkCmdSetStencilWriteMaskSafe ::-                             VkCommandBuffer -- ^ commandBuffer-                                             -> VkStencilFaceFlags -- ^ faceMask-                                                                   -> Word32 -- ^ writeMask-                                                                             -> IO ()-vkCmdSetStencilWriteMaskSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdSetStencilWriteMask)--{-# NOINLINE vkCmdSetStencilWriteMaskSafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdSetStencilWriteMask--- >     ( VkCommandBuffer commandBuffer--- >     , VkStencilFaceFlags faceMask--- >     , uint32_t writeMask--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetStencilWriteMask <- vkGetInstanceProc @VkCmdSetStencilWriteMask vkInstance------ or less efficient:------ > myCmdSetStencilWriteMask <- vkGetProc @VkCmdSetStencilWriteMask------ __Note:__ @vkCmdSetStencilWriteMaskUnsafe@ and @vkCmdSetStencilWriteMaskSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetStencilWriteMask@ is an alias---           of @vkCmdSetStencilWriteMaskUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetStencilWriteMaskSafe@.----vkCmdSetStencilWriteMask ::-                         VkCommandBuffer -- ^ commandBuffer-                                         -> VkStencilFaceFlags -- ^ faceMask-                                                               -> Word32 -- ^ writeMask-                                                                         -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdSetStencilWriteMask = vkCmdSetStencilWriteMaskUnsafe-##else-vkCmdSetStencilWriteMask = vkCmdSetStencilWriteMaskSafe--##endif-{-# INLINE vkCmdSetStencilWriteMask #-}---- | Queues: 'graphics'.------   Renderpass: @both@------   > void vkCmdSetStencilWriteMask---   >     ( VkCommandBuffer commandBuffer---   >     , VkStencilFaceFlags faceMask---   >     , uint32_t writeMask---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask registry at www.khronos.org>-type HS_vkCmdSetStencilWriteMask =-     VkCommandBuffer -- ^ commandBuffer-                     -> VkStencilFaceFlags -- ^ faceMask-                                           -> Word32 -- ^ writeMask-                                                     -> IO ()--type PFN_vkCmdSetStencilWriteMask =-     FunPtr HS_vkCmdSetStencilWriteMask--foreign import ccall unsafe "dynamic"-               unwrapVkCmdSetStencilWriteMaskUnsafe ::-               PFN_vkCmdSetStencilWriteMask -> HS_vkCmdSetStencilWriteMask--foreign import ccall safe "dynamic"-               unwrapVkCmdSetStencilWriteMaskSafe ::-               PFN_vkCmdSetStencilWriteMask -> HS_vkCmdSetStencilWriteMask--instance VulkanProc "vkCmdSetStencilWriteMask" where-        type VkProcType "vkCmdSetStencilWriteMask" =-             HS_vkCmdSetStencilWriteMask-        vkProcSymbol = _VkCmdSetStencilWriteMask--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdSetStencilWriteMaskUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdSetStencilWriteMaskSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdSetStencilReference :: CString--pattern VkCmdSetStencilReference <--        (is_VkCmdSetStencilReference -> True)-  where VkCmdSetStencilReference = _VkCmdSetStencilReference--{-# INLINE _VkCmdSetStencilReference #-}--_VkCmdSetStencilReference :: CString-_VkCmdSetStencilReference = Ptr "vkCmdSetStencilReference\NUL"##--{-# INLINE is_VkCmdSetStencilReference #-}--is_VkCmdSetStencilReference :: CString -> Bool-is_VkCmdSetStencilReference-  = (EQ ==) . cmpCStrings _VkCmdSetStencilReference--type VkCmdSetStencilReference = "vkCmdSetStencilReference"---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdSetStencilReference--- >     ( VkCommandBuffer commandBuffer--- >     , VkStencilFaceFlags faceMask--- >     , uint32_t reference--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilReference vkCmdSetStencilReference registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetStencilReference <- vkGetInstanceProc @VkCmdSetStencilReference vkInstance------ or less efficient:------ > myCmdSetStencilReference <- vkGetProc @VkCmdSetStencilReference------ __Note:__ @vkCmdSetStencilReferenceUnsafe@ and @vkCmdSetStencilReferenceSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetStencilReference@ is an alias---           of @vkCmdSetStencilReferenceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetStencilReferenceSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdSetStencilReference"-               vkCmdSetStencilReferenceUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkStencilFaceFlags -- ^ faceMask-                                                     -> Word32 -- ^ reference-                                                               -> IO ()--##else-vkCmdSetStencilReferenceUnsafe ::-                               VkCommandBuffer -- ^ commandBuffer-                                               -> VkStencilFaceFlags -- ^ faceMask-                                                                     -> Word32 -- ^ reference-                                                                               -> IO ()-vkCmdSetStencilReferenceUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkCmdSetStencilReference)--{-# NOINLINE vkCmdSetStencilReferenceUnsafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdSetStencilReference--- >     ( VkCommandBuffer commandBuffer--- >     , VkStencilFaceFlags faceMask--- >     , uint32_t reference--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilReference vkCmdSetStencilReference registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetStencilReference <- vkGetInstanceProc @VkCmdSetStencilReference vkInstance------ or less efficient:------ > myCmdSetStencilReference <- vkGetProc @VkCmdSetStencilReference------ __Note:__ @vkCmdSetStencilReferenceUnsafe@ and @vkCmdSetStencilReferenceSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetStencilReference@ is an alias---           of @vkCmdSetStencilReferenceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetStencilReferenceSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdSetStencilReference"-               vkCmdSetStencilReferenceSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkStencilFaceFlags -- ^ faceMask-                                                     -> Word32 -- ^ reference-                                                               -> IO ()--##else-vkCmdSetStencilReferenceSafe ::-                             VkCommandBuffer -- ^ commandBuffer-                                             -> VkStencilFaceFlags -- ^ faceMask-                                                                   -> Word32 -- ^ reference-                                                                             -> IO ()-vkCmdSetStencilReferenceSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdSetStencilReference)--{-# NOINLINE vkCmdSetStencilReferenceSafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdSetStencilReference--- >     ( VkCommandBuffer commandBuffer--- >     , VkStencilFaceFlags faceMask--- >     , uint32_t reference--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilReference vkCmdSetStencilReference registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetStencilReference <- vkGetInstanceProc @VkCmdSetStencilReference vkInstance------ or less efficient:------ > myCmdSetStencilReference <- vkGetProc @VkCmdSetStencilReference------ __Note:__ @vkCmdSetStencilReferenceUnsafe@ and @vkCmdSetStencilReferenceSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetStencilReference@ is an alias---           of @vkCmdSetStencilReferenceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetStencilReferenceSafe@.----vkCmdSetStencilReference ::-                         VkCommandBuffer -- ^ commandBuffer-                                         -> VkStencilFaceFlags -- ^ faceMask-                                                               -> Word32 -- ^ reference-                                                                         -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdSetStencilReference = vkCmdSetStencilReferenceUnsafe-##else-vkCmdSetStencilReference = vkCmdSetStencilReferenceSafe--##endif-{-# INLINE vkCmdSetStencilReference #-}---- | Queues: 'graphics'.------   Renderpass: @both@------   > void vkCmdSetStencilReference---   >     ( VkCommandBuffer commandBuffer---   >     , VkStencilFaceFlags faceMask---   >     , uint32_t reference---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilReference vkCmdSetStencilReference registry at www.khronos.org>-type HS_vkCmdSetStencilReference =-     VkCommandBuffer -- ^ commandBuffer-                     -> VkStencilFaceFlags -- ^ faceMask-                                           -> Word32 -- ^ reference-                                                     -> IO ()--type PFN_vkCmdSetStencilReference =-     FunPtr HS_vkCmdSetStencilReference--foreign import ccall unsafe "dynamic"-               unwrapVkCmdSetStencilReferenceUnsafe ::-               PFN_vkCmdSetStencilReference -> HS_vkCmdSetStencilReference--foreign import ccall safe "dynamic"-               unwrapVkCmdSetStencilReferenceSafe ::-               PFN_vkCmdSetStencilReference -> HS_vkCmdSetStencilReference--instance VulkanProc "vkCmdSetStencilReference" where-        type VkProcType "vkCmdSetStencilReference" =-             HS_vkCmdSetStencilReference-        vkProcSymbol = _VkCmdSetStencilReference--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdSetStencilReferenceUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdSetStencilReferenceSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdBindDescriptorSets :: CString--pattern VkCmdBindDescriptorSets <--        (is_VkCmdBindDescriptorSets -> True)-  where VkCmdBindDescriptorSets = _VkCmdBindDescriptorSets--{-# INLINE _VkCmdBindDescriptorSets #-}--_VkCmdBindDescriptorSets :: CString-_VkCmdBindDescriptorSets = Ptr "vkCmdBindDescriptorSets\NUL"##--{-# INLINE is_VkCmdBindDescriptorSets #-}--is_VkCmdBindDescriptorSets :: CString -> Bool-is_VkCmdBindDescriptorSets-  = (EQ ==) . cmpCStrings _VkCmdBindDescriptorSets--type VkCmdBindDescriptorSets = "vkCmdBindDescriptorSets"---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @both@------ > void vkCmdBindDescriptorSets--- >     ( VkCommandBuffer commandBuffer--- >     , VkPipelineBindPoint pipelineBindPoint--- >     , VkPipelineLayout layout--- >     , uint32_t firstSet--- >     , uint32_t descriptorSetCount--- >     , const VkDescriptorSet* pDescriptorSets--- >     , uint32_t dynamicOffsetCount--- >     , const uint32_t* pDynamicOffsets--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindDescriptorSets vkCmdBindDescriptorSets registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdBindDescriptorSets <- vkGetInstanceProc @VkCmdBindDescriptorSets vkInstance------ or less efficient:------ > myCmdBindDescriptorSets <- vkGetProc @VkCmdBindDescriptorSets------ __Note:__ @vkCmdBindDescriptorSetsUnsafe@ and @vkCmdBindDescriptorSetsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdBindDescriptorSets@ is an alias---           of @vkCmdBindDescriptorSetsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdBindDescriptorSetsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdBindDescriptorSets"-               vkCmdBindDescriptorSetsUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkPipelineBindPoint -- ^ pipelineBindPoint-                                     ->-                   VkPipelineLayout -- ^ layout-                                    ->-                     Word32 -- ^ firstSet-                            ->-                       Word32 -- ^ descriptorSetCount-                              -> Ptr VkDescriptorSet -- ^ pDescriptorSets-                                                     -> Word32 -- ^ dynamicOffsetCount-                                                               -> Ptr Word32 -- ^ pDynamicOffsets-                                                                             -> IO ()--##else-vkCmdBindDescriptorSetsUnsafe ::-                              VkCommandBuffer -- ^ commandBuffer-                                              ->-                                VkPipelineBindPoint -- ^ pipelineBindPoint-                                                    ->-                                  VkPipelineLayout -- ^ layout-                                                   ->-                                    Word32 -- ^ firstSet-                                           ->-                                      Word32 -- ^ descriptorSetCount-                                             -> Ptr VkDescriptorSet -- ^ pDescriptorSets-                                                                    -> Word32 -- ^ dynamicOffsetCount-                                                                              -> Ptr Word32 -- ^ pDynamicOffsets-                                                                                            -> IO ()-vkCmdBindDescriptorSetsUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdBindDescriptorSets)--{-# NOINLINE vkCmdBindDescriptorSetsUnsafe #-}-##endif---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @both@------ > void vkCmdBindDescriptorSets--- >     ( VkCommandBuffer commandBuffer--- >     , VkPipelineBindPoint pipelineBindPoint--- >     , VkPipelineLayout layout--- >     , uint32_t firstSet--- >     , uint32_t descriptorSetCount--- >     , const VkDescriptorSet* pDescriptorSets--- >     , uint32_t dynamicOffsetCount--- >     , const uint32_t* pDynamicOffsets--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindDescriptorSets vkCmdBindDescriptorSets registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdBindDescriptorSets <- vkGetInstanceProc @VkCmdBindDescriptorSets vkInstance------ or less efficient:------ > myCmdBindDescriptorSets <- vkGetProc @VkCmdBindDescriptorSets------ __Note:__ @vkCmdBindDescriptorSetsUnsafe@ and @vkCmdBindDescriptorSetsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdBindDescriptorSets@ is an alias---           of @vkCmdBindDescriptorSetsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdBindDescriptorSetsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdBindDescriptorSets"-               vkCmdBindDescriptorSetsSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkPipelineBindPoint -- ^ pipelineBindPoint-                                     ->-                   VkPipelineLayout -- ^ layout-                                    ->-                     Word32 -- ^ firstSet-                            ->-                       Word32 -- ^ descriptorSetCount-                              -> Ptr VkDescriptorSet -- ^ pDescriptorSets-                                                     -> Word32 -- ^ dynamicOffsetCount-                                                               -> Ptr Word32 -- ^ pDynamicOffsets-                                                                             -> IO ()--##else-vkCmdBindDescriptorSetsSafe ::-                            VkCommandBuffer -- ^ commandBuffer-                                            ->-                              VkPipelineBindPoint -- ^ pipelineBindPoint-                                                  ->-                                VkPipelineLayout -- ^ layout-                                                 ->-                                  Word32 -- ^ firstSet-                                         ->-                                    Word32 -- ^ descriptorSetCount-                                           -> Ptr VkDescriptorSet -- ^ pDescriptorSets-                                                                  -> Word32 -- ^ dynamicOffsetCount-                                                                            -> Ptr Word32 -- ^ pDynamicOffsets-                                                                                          -> IO ()-vkCmdBindDescriptorSetsSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdBindDescriptorSets)--{-# NOINLINE vkCmdBindDescriptorSetsSafe #-}-##endif---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @both@------ > void vkCmdBindDescriptorSets--- >     ( VkCommandBuffer commandBuffer--- >     , VkPipelineBindPoint pipelineBindPoint--- >     , VkPipelineLayout layout--- >     , uint32_t firstSet--- >     , uint32_t descriptorSetCount--- >     , const VkDescriptorSet* pDescriptorSets--- >     , uint32_t dynamicOffsetCount--- >     , const uint32_t* pDynamicOffsets--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindDescriptorSets vkCmdBindDescriptorSets registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdBindDescriptorSets <- vkGetInstanceProc @VkCmdBindDescriptorSets vkInstance------ or less efficient:------ > myCmdBindDescriptorSets <- vkGetProc @VkCmdBindDescriptorSets------ __Note:__ @vkCmdBindDescriptorSetsUnsafe@ and @vkCmdBindDescriptorSetsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdBindDescriptorSets@ is an alias---           of @vkCmdBindDescriptorSetsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdBindDescriptorSetsSafe@.----vkCmdBindDescriptorSets ::-                        VkCommandBuffer -- ^ commandBuffer-                                        ->-                          VkPipelineBindPoint -- ^ pipelineBindPoint-                                              ->-                            VkPipelineLayout -- ^ layout-                                             ->-                              Word32 -- ^ firstSet-                                     ->-                                Word32 -- ^ descriptorSetCount-                                       -> Ptr VkDescriptorSet -- ^ pDescriptorSets-                                                              -> Word32 -- ^ dynamicOffsetCount-                                                                        -> Ptr Word32 -- ^ pDynamicOffsets-                                                                                      -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdBindDescriptorSets = vkCmdBindDescriptorSetsUnsafe-##else-vkCmdBindDescriptorSets = vkCmdBindDescriptorSetsSafe--##endif-{-# INLINE vkCmdBindDescriptorSets #-}---- | Queues: 'graphics', 'compute'.------   Renderpass: @both@------   > void vkCmdBindDescriptorSets---   >     ( VkCommandBuffer commandBuffer---   >     , VkPipelineBindPoint pipelineBindPoint---   >     , VkPipelineLayout layout---   >     , uint32_t firstSet---   >     , uint32_t descriptorSetCount---   >     , const VkDescriptorSet* pDescriptorSets---   >     , uint32_t dynamicOffsetCount---   >     , const uint32_t* pDynamicOffsets---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindDescriptorSets vkCmdBindDescriptorSets registry at www.khronos.org>-type HS_vkCmdBindDescriptorSets =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       VkPipelineBindPoint -- ^ pipelineBindPoint-                           ->-         VkPipelineLayout -- ^ layout-                          ->-           Word32 -- ^ firstSet-                  ->-             Word32 -- ^ descriptorSetCount-                    -> Ptr VkDescriptorSet -- ^ pDescriptorSets-                                           -> Word32 -- ^ dynamicOffsetCount-                                                     -> Ptr Word32 -- ^ pDynamicOffsets-                                                                   -> IO ()--type PFN_vkCmdBindDescriptorSets =-     FunPtr HS_vkCmdBindDescriptorSets--foreign import ccall unsafe "dynamic"-               unwrapVkCmdBindDescriptorSetsUnsafe ::-               PFN_vkCmdBindDescriptorSets -> HS_vkCmdBindDescriptorSets--foreign import ccall safe "dynamic"-               unwrapVkCmdBindDescriptorSetsSafe ::-               PFN_vkCmdBindDescriptorSets -> HS_vkCmdBindDescriptorSets--instance VulkanProc "vkCmdBindDescriptorSets" where-        type VkProcType "vkCmdBindDescriptorSets" =-             HS_vkCmdBindDescriptorSets-        vkProcSymbol = _VkCmdBindDescriptorSets--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdBindDescriptorSetsUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdBindDescriptorSetsSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdBindIndexBuffer :: CString--pattern VkCmdBindIndexBuffer <- (is_VkCmdBindIndexBuffer -> True)-  where VkCmdBindIndexBuffer = _VkCmdBindIndexBuffer--{-# INLINE _VkCmdBindIndexBuffer #-}--_VkCmdBindIndexBuffer :: CString-_VkCmdBindIndexBuffer = Ptr "vkCmdBindIndexBuffer\NUL"##--{-# INLINE is_VkCmdBindIndexBuffer #-}--is_VkCmdBindIndexBuffer :: CString -> Bool-is_VkCmdBindIndexBuffer-  = (EQ ==) . cmpCStrings _VkCmdBindIndexBuffer--type VkCmdBindIndexBuffer = "vkCmdBindIndexBuffer"---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdBindIndexBuffer--- >     ( VkCommandBuffer commandBuffer--- >     , VkBuffer buffer--- >     , VkDeviceSize offset--- >     , VkIndexType indexType--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindIndexBuffer vkCmdBindIndexBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdBindIndexBuffer <- vkGetInstanceProc @VkCmdBindIndexBuffer vkInstance------ or less efficient:------ > myCmdBindIndexBuffer <- vkGetProc @VkCmdBindIndexBuffer------ __Note:__ @vkCmdBindIndexBufferUnsafe@ and @vkCmdBindIndexBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdBindIndexBuffer@ is an alias---           of @vkCmdBindIndexBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdBindIndexBufferSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdBindIndexBuffer"-               vkCmdBindIndexBufferUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkBuffer -- ^ buffer-                                           -> VkDeviceSize -- ^ offset-                                                           -> VkIndexType -- ^ indexType-                                                                          -> IO ()--##else-vkCmdBindIndexBufferUnsafe ::-                           VkCommandBuffer -- ^ commandBuffer-                                           -> VkBuffer -- ^ buffer-                                                       -> VkDeviceSize -- ^ offset-                                                                       -> VkIndexType -- ^ indexType-                                                                                      -> IO ()-vkCmdBindIndexBufferUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdBindIndexBuffer)--{-# NOINLINE vkCmdBindIndexBufferUnsafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdBindIndexBuffer--- >     ( VkCommandBuffer commandBuffer--- >     , VkBuffer buffer--- >     , VkDeviceSize offset--- >     , VkIndexType indexType--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindIndexBuffer vkCmdBindIndexBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdBindIndexBuffer <- vkGetInstanceProc @VkCmdBindIndexBuffer vkInstance------ or less efficient:------ > myCmdBindIndexBuffer <- vkGetProc @VkCmdBindIndexBuffer------ __Note:__ @vkCmdBindIndexBufferUnsafe@ and @vkCmdBindIndexBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdBindIndexBuffer@ is an alias---           of @vkCmdBindIndexBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdBindIndexBufferSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdBindIndexBuffer"-               vkCmdBindIndexBufferSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkBuffer -- ^ buffer-                                           -> VkDeviceSize -- ^ offset-                                                           -> VkIndexType -- ^ indexType-                                                                          -> IO ()--##else-vkCmdBindIndexBufferSafe ::-                         VkCommandBuffer -- ^ commandBuffer-                                         -> VkBuffer -- ^ buffer-                                                     -> VkDeviceSize -- ^ offset-                                                                     -> VkIndexType -- ^ indexType-                                                                                    -> IO ()-vkCmdBindIndexBufferSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdBindIndexBuffer)--{-# NOINLINE vkCmdBindIndexBufferSafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdBindIndexBuffer--- >     ( VkCommandBuffer commandBuffer--- >     , VkBuffer buffer--- >     , VkDeviceSize offset--- >     , VkIndexType indexType--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindIndexBuffer vkCmdBindIndexBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdBindIndexBuffer <- vkGetInstanceProc @VkCmdBindIndexBuffer vkInstance------ or less efficient:------ > myCmdBindIndexBuffer <- vkGetProc @VkCmdBindIndexBuffer------ __Note:__ @vkCmdBindIndexBufferUnsafe@ and @vkCmdBindIndexBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdBindIndexBuffer@ is an alias---           of @vkCmdBindIndexBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdBindIndexBufferSafe@.----vkCmdBindIndexBuffer ::-                     VkCommandBuffer -- ^ commandBuffer-                                     -> VkBuffer -- ^ buffer-                                                 -> VkDeviceSize -- ^ offset-                                                                 -> VkIndexType -- ^ indexType-                                                                                -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdBindIndexBuffer = vkCmdBindIndexBufferUnsafe-##else-vkCmdBindIndexBuffer = vkCmdBindIndexBufferSafe--##endif-{-# INLINE vkCmdBindIndexBuffer #-}---- | Queues: 'graphics'.------   Renderpass: @both@------   > void vkCmdBindIndexBuffer---   >     ( VkCommandBuffer commandBuffer---   >     , VkBuffer buffer---   >     , VkDeviceSize offset---   >     , VkIndexType indexType---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindIndexBuffer vkCmdBindIndexBuffer registry at www.khronos.org>-type HS_vkCmdBindIndexBuffer =-     VkCommandBuffer -- ^ commandBuffer-                     -> VkBuffer -- ^ buffer-                                 -> VkDeviceSize -- ^ offset-                                                 -> VkIndexType -- ^ indexType-                                                                -> IO ()--type PFN_vkCmdBindIndexBuffer = FunPtr HS_vkCmdBindIndexBuffer--foreign import ccall unsafe "dynamic"-               unwrapVkCmdBindIndexBufferUnsafe ::-               PFN_vkCmdBindIndexBuffer -> HS_vkCmdBindIndexBuffer--foreign import ccall safe "dynamic" unwrapVkCmdBindIndexBufferSafe-               :: PFN_vkCmdBindIndexBuffer -> HS_vkCmdBindIndexBuffer--instance VulkanProc "vkCmdBindIndexBuffer" where-        type VkProcType "vkCmdBindIndexBuffer" = HS_vkCmdBindIndexBuffer-        vkProcSymbol = _VkCmdBindIndexBuffer--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdBindIndexBufferUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdBindIndexBufferSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdBindVertexBuffers :: CString--pattern VkCmdBindVertexBuffers <--        (is_VkCmdBindVertexBuffers -> True)-  where VkCmdBindVertexBuffers = _VkCmdBindVertexBuffers--{-# INLINE _VkCmdBindVertexBuffers #-}--_VkCmdBindVertexBuffers :: CString-_VkCmdBindVertexBuffers = Ptr "vkCmdBindVertexBuffers\NUL"##--{-# INLINE is_VkCmdBindVertexBuffers #-}--is_VkCmdBindVertexBuffers :: CString -> Bool-is_VkCmdBindVertexBuffers-  = (EQ ==) . cmpCStrings _VkCmdBindVertexBuffers--type VkCmdBindVertexBuffers = "vkCmdBindVertexBuffers"---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdBindVertexBuffers--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t firstBinding--- >     , uint32_t bindingCount--- >     , const VkBuffer* pBuffers--- >     , const VkDeviceSize* pOffsets--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindVertexBuffers vkCmdBindVertexBuffers registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdBindVertexBuffers <- vkGetInstanceProc @VkCmdBindVertexBuffers vkInstance------ or less efficient:------ > myCmdBindVertexBuffers <- vkGetProc @VkCmdBindVertexBuffers------ __Note:__ @vkCmdBindVertexBuffersUnsafe@ and @vkCmdBindVertexBuffersSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdBindVertexBuffers@ is an alias---           of @vkCmdBindVertexBuffersUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdBindVertexBuffersSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdBindVertexBuffers"-               vkCmdBindVertexBuffersUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 Word32 -- ^ firstBinding-                        -> Word32 -- ^ bindingCount-                                  -> Ptr VkBuffer -- ^ pBuffers-                                                  -> Ptr VkDeviceSize -- ^ pOffsets-                                                                      -> IO ()--##else-vkCmdBindVertexBuffersUnsafe ::-                             VkCommandBuffer -- ^ commandBuffer-                                             ->-                               Word32 -- ^ firstBinding-                                      -> Word32 -- ^ bindingCount-                                                -> Ptr VkBuffer -- ^ pBuffers-                                                                -> Ptr VkDeviceSize -- ^ pOffsets-                                                                                    -> IO ()-vkCmdBindVertexBuffersUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdBindVertexBuffers)--{-# NOINLINE vkCmdBindVertexBuffersUnsafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdBindVertexBuffers--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t firstBinding--- >     , uint32_t bindingCount--- >     , const VkBuffer* pBuffers--- >     , const VkDeviceSize* pOffsets--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindVertexBuffers vkCmdBindVertexBuffers registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdBindVertexBuffers <- vkGetInstanceProc @VkCmdBindVertexBuffers vkInstance------ or less efficient:------ > myCmdBindVertexBuffers <- vkGetProc @VkCmdBindVertexBuffers------ __Note:__ @vkCmdBindVertexBuffersUnsafe@ and @vkCmdBindVertexBuffersSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdBindVertexBuffers@ is an alias---           of @vkCmdBindVertexBuffersUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdBindVertexBuffersSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdBindVertexBuffers"-               vkCmdBindVertexBuffersSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 Word32 -- ^ firstBinding-                        -> Word32 -- ^ bindingCount-                                  -> Ptr VkBuffer -- ^ pBuffers-                                                  -> Ptr VkDeviceSize -- ^ pOffsets-                                                                      -> IO ()--##else-vkCmdBindVertexBuffersSafe ::-                           VkCommandBuffer -- ^ commandBuffer-                                           ->-                             Word32 -- ^ firstBinding-                                    -> Word32 -- ^ bindingCount-                                              -> Ptr VkBuffer -- ^ pBuffers-                                                              -> Ptr VkDeviceSize -- ^ pOffsets-                                                                                  -> IO ()-vkCmdBindVertexBuffersSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdBindVertexBuffers)--{-# NOINLINE vkCmdBindVertexBuffersSafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @both@------ > void vkCmdBindVertexBuffers--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t firstBinding--- >     , uint32_t bindingCount--- >     , const VkBuffer* pBuffers--- >     , const VkDeviceSize* pOffsets--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindVertexBuffers vkCmdBindVertexBuffers registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdBindVertexBuffers <- vkGetInstanceProc @VkCmdBindVertexBuffers vkInstance------ or less efficient:------ > myCmdBindVertexBuffers <- vkGetProc @VkCmdBindVertexBuffers------ __Note:__ @vkCmdBindVertexBuffersUnsafe@ and @vkCmdBindVertexBuffersSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdBindVertexBuffers@ is an alias---           of @vkCmdBindVertexBuffersUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdBindVertexBuffersSafe@.----vkCmdBindVertexBuffers ::-                       VkCommandBuffer -- ^ commandBuffer-                                       ->-                         Word32 -- ^ firstBinding-                                -> Word32 -- ^ bindingCount-                                          -> Ptr VkBuffer -- ^ pBuffers-                                                          -> Ptr VkDeviceSize -- ^ pOffsets-                                                                              -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdBindVertexBuffers = vkCmdBindVertexBuffersUnsafe-##else-vkCmdBindVertexBuffers = vkCmdBindVertexBuffersSafe--##endif-{-# INLINE vkCmdBindVertexBuffers #-}---- | Queues: 'graphics'.------   Renderpass: @both@------   > void vkCmdBindVertexBuffers---   >     ( VkCommandBuffer commandBuffer---   >     , uint32_t firstBinding---   >     , uint32_t bindingCount---   >     , const VkBuffer* pBuffers---   >     , const VkDeviceSize* pOffsets---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindVertexBuffers vkCmdBindVertexBuffers registry at www.khronos.org>-type HS_vkCmdBindVertexBuffers =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       Word32 -- ^ firstBinding-              -> Word32 -- ^ bindingCount-                        -> Ptr VkBuffer -- ^ pBuffers-                                        -> Ptr VkDeviceSize -- ^ pOffsets-                                                            -> IO ()--type PFN_vkCmdBindVertexBuffers = FunPtr HS_vkCmdBindVertexBuffers--foreign import ccall unsafe "dynamic"-               unwrapVkCmdBindVertexBuffersUnsafe ::-               PFN_vkCmdBindVertexBuffers -> HS_vkCmdBindVertexBuffers--foreign import ccall safe "dynamic"-               unwrapVkCmdBindVertexBuffersSafe ::-               PFN_vkCmdBindVertexBuffers -> HS_vkCmdBindVertexBuffers--instance VulkanProc "vkCmdBindVertexBuffers" where-        type VkProcType "vkCmdBindVertexBuffers" =-             HS_vkCmdBindVertexBuffers-        vkProcSymbol = _VkCmdBindVertexBuffers--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdBindVertexBuffersUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdBindVertexBuffersSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdDraw :: CString--pattern VkCmdDraw <- (is_VkCmdDraw -> True)-  where VkCmdDraw = _VkCmdDraw--{-# INLINE _VkCmdDraw #-}--_VkCmdDraw :: CString-_VkCmdDraw = Ptr "vkCmdDraw\NUL"##--{-# INLINE is_VkCmdDraw #-}--is_VkCmdDraw :: CString -> Bool-is_VkCmdDraw = (EQ ==) . cmpCStrings _VkCmdDraw--type VkCmdDraw = "vkCmdDraw"---- |--- Queues: 'graphics'.------ Renderpass: @inside@------ Pipeline: @graphics@------ > void vkCmdDraw--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t vertexCount--- >     , uint32_t instanceCount--- >     , uint32_t firstVertex--- >     , uint32_t firstInstance--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDraw vkCmdDraw registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdDraw <- vkGetInstanceProc @VkCmdDraw vkInstance------ or less efficient:------ > myCmdDraw <- vkGetProc @VkCmdDraw------ __Note:__ @vkCmdDrawUnsafe@ and @vkCmdDrawSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdDraw@ is an alias---           of @vkCmdDrawUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdDrawSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdDraw" vkCmdDrawUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> Word32 -- ^ vertexCount-                                         -> Word32 -- ^ instanceCount-                                                   -> Word32 -- ^ firstVertex-                                                             -> Word32 -- ^ firstInstance-                                                                       -> IO ()--##else-vkCmdDrawUnsafe ::-                VkCommandBuffer -- ^ commandBuffer-                                -> Word32 -- ^ vertexCount-                                          -> Word32 -- ^ instanceCount-                                                    -> Word32 -- ^ firstVertex-                                                              -> Word32 -- ^ firstInstance-                                                                        -> IO ()-vkCmdDrawUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdDraw)--{-# NOINLINE vkCmdDrawUnsafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @inside@------ Pipeline: @graphics@------ > void vkCmdDraw--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t vertexCount--- >     , uint32_t instanceCount--- >     , uint32_t firstVertex--- >     , uint32_t firstInstance--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDraw vkCmdDraw registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdDraw <- vkGetInstanceProc @VkCmdDraw vkInstance------ or less efficient:------ > myCmdDraw <- vkGetProc @VkCmdDraw------ __Note:__ @vkCmdDrawUnsafe@ and @vkCmdDrawSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdDraw@ is an alias---           of @vkCmdDrawUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdDrawSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdDraw" vkCmdDrawSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> Word32 -- ^ vertexCount-                                         -> Word32 -- ^ instanceCount-                                                   -> Word32 -- ^ firstVertex-                                                             -> Word32 -- ^ firstInstance-                                                                       -> IO ()--##else-vkCmdDrawSafe ::-              VkCommandBuffer -- ^ commandBuffer-                              -> Word32 -- ^ vertexCount-                                        -> Word32 -- ^ instanceCount-                                                  -> Word32 -- ^ firstVertex-                                                            -> Word32 -- ^ firstInstance-                                                                      -> IO ()-vkCmdDrawSafe = unsafeDupablePerformIO (vkGetProcSafe @VkCmdDraw)--{-# NOINLINE vkCmdDrawSafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @inside@------ Pipeline: @graphics@------ > void vkCmdDraw--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t vertexCount--- >     , uint32_t instanceCount--- >     , uint32_t firstVertex--- >     , uint32_t firstInstance--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDraw vkCmdDraw registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdDraw <- vkGetInstanceProc @VkCmdDraw vkInstance------ or less efficient:------ > myCmdDraw <- vkGetProc @VkCmdDraw------ __Note:__ @vkCmdDrawUnsafe@ and @vkCmdDrawSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdDraw@ is an alias---           of @vkCmdDrawUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdDrawSafe@.----vkCmdDraw ::-          VkCommandBuffer -- ^ commandBuffer-                          -> Word32 -- ^ vertexCount-                                    -> Word32 -- ^ instanceCount-                                              -> Word32 -- ^ firstVertex-                                                        -> Word32 -- ^ firstInstance-                                                                  -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdDraw = vkCmdDrawUnsafe-##else-vkCmdDraw = vkCmdDrawSafe--##endif-{-# INLINE vkCmdDraw #-}---- | Queues: 'graphics'.------   Renderpass: @inside@------   Pipeline: @graphics@------   > void vkCmdDraw---   >     ( VkCommandBuffer commandBuffer---   >     , uint32_t vertexCount---   >     , uint32_t instanceCount---   >     , uint32_t firstVertex---   >     , uint32_t firstInstance---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDraw vkCmdDraw registry at www.khronos.org>-type HS_vkCmdDraw =-     VkCommandBuffer -- ^ commandBuffer-                     -> Word32 -- ^ vertexCount-                               -> Word32 -- ^ instanceCount-                                         -> Word32 -- ^ firstVertex-                                                   -> Word32 -- ^ firstInstance-                                                             -> IO ()--type PFN_vkCmdDraw = FunPtr HS_vkCmdDraw--foreign import ccall unsafe "dynamic" unwrapVkCmdDrawUnsafe ::-               PFN_vkCmdDraw -> HS_vkCmdDraw--foreign import ccall safe "dynamic" unwrapVkCmdDrawSafe ::-               PFN_vkCmdDraw -> HS_vkCmdDraw--instance VulkanProc "vkCmdDraw" where-        type VkProcType "vkCmdDraw" = HS_vkCmdDraw-        vkProcSymbol = _VkCmdDraw--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdDrawUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdDrawSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdDrawIndexed :: CString--pattern VkCmdDrawIndexed <- (is_VkCmdDrawIndexed -> True)-  where VkCmdDrawIndexed = _VkCmdDrawIndexed--{-# INLINE _VkCmdDrawIndexed #-}--_VkCmdDrawIndexed :: CString-_VkCmdDrawIndexed = Ptr "vkCmdDrawIndexed\NUL"##--{-# INLINE is_VkCmdDrawIndexed #-}--is_VkCmdDrawIndexed :: CString -> Bool-is_VkCmdDrawIndexed = (EQ ==) . cmpCStrings _VkCmdDrawIndexed--type VkCmdDrawIndexed = "vkCmdDrawIndexed"---- |--- Queues: 'graphics'.------ Renderpass: @inside@------ Pipeline: @graphics@------ > void vkCmdDrawIndexed--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t indexCount--- >     , uint32_t instanceCount--- >     , uint32_t firstIndex--- >     , int32_t vertexOffset--- >     , uint32_t firstInstance--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexed vkCmdDrawIndexed registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdDrawIndexed <- vkGetInstanceProc @VkCmdDrawIndexed vkInstance------ or less efficient:------ > myCmdDrawIndexed <- vkGetProc @VkCmdDrawIndexed------ __Note:__ @vkCmdDrawIndexedUnsafe@ and @vkCmdDrawIndexedSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdDrawIndexed@ is an alias---           of @vkCmdDrawIndexedUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdDrawIndexedSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdDrawIndexed"-               vkCmdDrawIndexedUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 Word32 -- ^ indexCount-                        -> Word32 -- ^ instanceCount-                                  -> Word32 -- ^ firstIndex-                                            -> Int32 -- ^ vertexOffset-                                                     -> Word32 -- ^ firstInstance-                                                               -> IO ()--##else-vkCmdDrawIndexedUnsafe ::-                       VkCommandBuffer -- ^ commandBuffer-                                       ->-                         Word32 -- ^ indexCount-                                -> Word32 -- ^ instanceCount-                                          -> Word32 -- ^ firstIndex-                                                    -> Int32 -- ^ vertexOffset-                                                             -> Word32 -- ^ firstInstance-                                                                       -> IO ()-vkCmdDrawIndexedUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdDrawIndexed)--{-# NOINLINE vkCmdDrawIndexedUnsafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @inside@------ Pipeline: @graphics@------ > void vkCmdDrawIndexed--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t indexCount--- >     , uint32_t instanceCount--- >     , uint32_t firstIndex--- >     , int32_t vertexOffset--- >     , uint32_t firstInstance--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexed vkCmdDrawIndexed registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdDrawIndexed <- vkGetInstanceProc @VkCmdDrawIndexed vkInstance------ or less efficient:------ > myCmdDrawIndexed <- vkGetProc @VkCmdDrawIndexed------ __Note:__ @vkCmdDrawIndexedUnsafe@ and @vkCmdDrawIndexedSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdDrawIndexed@ is an alias---           of @vkCmdDrawIndexedUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdDrawIndexedSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdDrawIndexed" vkCmdDrawIndexedSafe-               ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 Word32 -- ^ indexCount-                        -> Word32 -- ^ instanceCount-                                  -> Word32 -- ^ firstIndex-                                            -> Int32 -- ^ vertexOffset-                                                     -> Word32 -- ^ firstInstance-                                                               -> IO ()--##else-vkCmdDrawIndexedSafe ::-                     VkCommandBuffer -- ^ commandBuffer-                                     ->-                       Word32 -- ^ indexCount-                              -> Word32 -- ^ instanceCount-                                        -> Word32 -- ^ firstIndex-                                                  -> Int32 -- ^ vertexOffset-                                                           -> Word32 -- ^ firstInstance-                                                                     -> IO ()-vkCmdDrawIndexedSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdDrawIndexed)--{-# NOINLINE vkCmdDrawIndexedSafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @inside@------ Pipeline: @graphics@------ > void vkCmdDrawIndexed--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t indexCount--- >     , uint32_t instanceCount--- >     , uint32_t firstIndex--- >     , int32_t vertexOffset--- >     , uint32_t firstInstance--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexed vkCmdDrawIndexed registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdDrawIndexed <- vkGetInstanceProc @VkCmdDrawIndexed vkInstance------ or less efficient:------ > myCmdDrawIndexed <- vkGetProc @VkCmdDrawIndexed------ __Note:__ @vkCmdDrawIndexedUnsafe@ and @vkCmdDrawIndexedSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdDrawIndexed@ is an alias---           of @vkCmdDrawIndexedUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdDrawIndexedSafe@.----vkCmdDrawIndexed ::-                 VkCommandBuffer -- ^ commandBuffer-                                 ->-                   Word32 -- ^ indexCount-                          -> Word32 -- ^ instanceCount-                                    -> Word32 -- ^ firstIndex-                                              -> Int32 -- ^ vertexOffset-                                                       -> Word32 -- ^ firstInstance-                                                                 -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdDrawIndexed = vkCmdDrawIndexedUnsafe-##else-vkCmdDrawIndexed = vkCmdDrawIndexedSafe--##endif-{-# INLINE vkCmdDrawIndexed #-}---- | Queues: 'graphics'.------   Renderpass: @inside@------   Pipeline: @graphics@------   > void vkCmdDrawIndexed---   >     ( VkCommandBuffer commandBuffer---   >     , uint32_t indexCount---   >     , uint32_t instanceCount---   >     , uint32_t firstIndex---   >     , int32_t vertexOffset---   >     , uint32_t firstInstance---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexed vkCmdDrawIndexed registry at www.khronos.org>-type HS_vkCmdDrawIndexed =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       Word32 -- ^ indexCount-              -> Word32 -- ^ instanceCount-                        -> Word32 -- ^ firstIndex-                                  -> Int32 -- ^ vertexOffset-                                           -> Word32 -- ^ firstInstance-                                                     -> IO ()--type PFN_vkCmdDrawIndexed = FunPtr HS_vkCmdDrawIndexed--foreign import ccall unsafe "dynamic" unwrapVkCmdDrawIndexedUnsafe-               :: PFN_vkCmdDrawIndexed -> HS_vkCmdDrawIndexed--foreign import ccall safe "dynamic" unwrapVkCmdDrawIndexedSafe ::-               PFN_vkCmdDrawIndexed -> HS_vkCmdDrawIndexed--instance VulkanProc "vkCmdDrawIndexed" where-        type VkProcType "vkCmdDrawIndexed" = HS_vkCmdDrawIndexed-        vkProcSymbol = _VkCmdDrawIndexed--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdDrawIndexedUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdDrawIndexedSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdDrawIndirect :: CString--pattern VkCmdDrawIndirect <- (is_VkCmdDrawIndirect -> True)-  where VkCmdDrawIndirect = _VkCmdDrawIndirect--{-# INLINE _VkCmdDrawIndirect #-}--_VkCmdDrawIndirect :: CString-_VkCmdDrawIndirect = Ptr "vkCmdDrawIndirect\NUL"##--{-# INLINE is_VkCmdDrawIndirect #-}--is_VkCmdDrawIndirect :: CString -> Bool-is_VkCmdDrawIndirect = (EQ ==) . cmpCStrings _VkCmdDrawIndirect--type VkCmdDrawIndirect = "vkCmdDrawIndirect"---- |--- Queues: 'graphics'.------ Renderpass: @inside@------ Pipeline: @graphics@------ > void vkCmdDrawIndirect--- >     ( VkCommandBuffer commandBuffer--- >     , VkBuffer buffer--- >     , VkDeviceSize offset--- >     , uint32_t drawCount--- >     , uint32_t stride--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndirect vkCmdDrawIndirect registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdDrawIndirect <- vkGetInstanceProc @VkCmdDrawIndirect vkInstance------ or less efficient:------ > myCmdDrawIndirect <- vkGetProc @VkCmdDrawIndirect------ __Note:__ @vkCmdDrawIndirectUnsafe@ and @vkCmdDrawIndirectSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdDrawIndirect@ is an alias---           of @vkCmdDrawIndirectUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdDrawIndirectSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdDrawIndirect"-               vkCmdDrawIndirectUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkBuffer -- ^ buffer-                          -> VkDeviceSize -- ^ offset-                                          -> Word32 -- ^ drawCount-                                                    -> Word32 -- ^ stride-                                                              -> IO ()--##else-vkCmdDrawIndirectUnsafe ::-                        VkCommandBuffer -- ^ commandBuffer-                                        ->-                          VkBuffer -- ^ buffer-                                   -> VkDeviceSize -- ^ offset-                                                   -> Word32 -- ^ drawCount-                                                             -> Word32 -- ^ stride-                                                                       -> IO ()-vkCmdDrawIndirectUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdDrawIndirect)--{-# NOINLINE vkCmdDrawIndirectUnsafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @inside@------ Pipeline: @graphics@------ > void vkCmdDrawIndirect--- >     ( VkCommandBuffer commandBuffer--- >     , VkBuffer buffer--- >     , VkDeviceSize offset--- >     , uint32_t drawCount--- >     , uint32_t stride--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndirect vkCmdDrawIndirect registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdDrawIndirect <- vkGetInstanceProc @VkCmdDrawIndirect vkInstance------ or less efficient:------ > myCmdDrawIndirect <- vkGetProc @VkCmdDrawIndirect------ __Note:__ @vkCmdDrawIndirectUnsafe@ and @vkCmdDrawIndirectSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdDrawIndirect@ is an alias---           of @vkCmdDrawIndirectUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdDrawIndirectSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdDrawIndirect" vkCmdDrawIndirectSafe-               ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkBuffer -- ^ buffer-                          -> VkDeviceSize -- ^ offset-                                          -> Word32 -- ^ drawCount-                                                    -> Word32 -- ^ stride-                                                              -> IO ()--##else-vkCmdDrawIndirectSafe ::-                      VkCommandBuffer -- ^ commandBuffer-                                      ->-                        VkBuffer -- ^ buffer-                                 -> VkDeviceSize -- ^ offset-                                                 -> Word32 -- ^ drawCount-                                                           -> Word32 -- ^ stride-                                                                     -> IO ()-vkCmdDrawIndirectSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdDrawIndirect)--{-# NOINLINE vkCmdDrawIndirectSafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @inside@------ Pipeline: @graphics@------ > void vkCmdDrawIndirect--- >     ( VkCommandBuffer commandBuffer--- >     , VkBuffer buffer--- >     , VkDeviceSize offset--- >     , uint32_t drawCount--- >     , uint32_t stride--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndirect vkCmdDrawIndirect registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdDrawIndirect <- vkGetInstanceProc @VkCmdDrawIndirect vkInstance------ or less efficient:------ > myCmdDrawIndirect <- vkGetProc @VkCmdDrawIndirect------ __Note:__ @vkCmdDrawIndirectUnsafe@ and @vkCmdDrawIndirectSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdDrawIndirect@ is an alias---           of @vkCmdDrawIndirectUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdDrawIndirectSafe@.----vkCmdDrawIndirect ::-                  VkCommandBuffer -- ^ commandBuffer-                                  ->-                    VkBuffer -- ^ buffer-                             -> VkDeviceSize -- ^ offset-                                             -> Word32 -- ^ drawCount-                                                       -> Word32 -- ^ stride-                                                                 -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdDrawIndirect = vkCmdDrawIndirectUnsafe-##else-vkCmdDrawIndirect = vkCmdDrawIndirectSafe--##endif-{-# INLINE vkCmdDrawIndirect #-}---- | Queues: 'graphics'.------   Renderpass: @inside@------   Pipeline: @graphics@------   > void vkCmdDrawIndirect---   >     ( VkCommandBuffer commandBuffer---   >     , VkBuffer buffer---   >     , VkDeviceSize offset---   >     , uint32_t drawCount---   >     , uint32_t stride---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndirect vkCmdDrawIndirect registry at www.khronos.org>-type HS_vkCmdDrawIndirect =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       VkBuffer -- ^ buffer-                -> VkDeviceSize -- ^ offset-                                -> Word32 -- ^ drawCount-                                          -> Word32 -- ^ stride-                                                    -> IO ()--type PFN_vkCmdDrawIndirect = FunPtr HS_vkCmdDrawIndirect--foreign import ccall unsafe "dynamic" unwrapVkCmdDrawIndirectUnsafe-               :: PFN_vkCmdDrawIndirect -> HS_vkCmdDrawIndirect--foreign import ccall safe "dynamic" unwrapVkCmdDrawIndirectSafe ::-               PFN_vkCmdDrawIndirect -> HS_vkCmdDrawIndirect--instance VulkanProc "vkCmdDrawIndirect" where-        type VkProcType "vkCmdDrawIndirect" = HS_vkCmdDrawIndirect-        vkProcSymbol = _VkCmdDrawIndirect--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdDrawIndirectUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdDrawIndirectSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdDrawIndexedIndirect :: CString--pattern VkCmdDrawIndexedIndirect <--        (is_VkCmdDrawIndexedIndirect -> True)-  where VkCmdDrawIndexedIndirect = _VkCmdDrawIndexedIndirect--{-# INLINE _VkCmdDrawIndexedIndirect #-}--_VkCmdDrawIndexedIndirect :: CString-_VkCmdDrawIndexedIndirect = Ptr "vkCmdDrawIndexedIndirect\NUL"##--{-# INLINE is_VkCmdDrawIndexedIndirect #-}--is_VkCmdDrawIndexedIndirect :: CString -> Bool-is_VkCmdDrawIndexedIndirect-  = (EQ ==) . cmpCStrings _VkCmdDrawIndexedIndirect--type VkCmdDrawIndexedIndirect = "vkCmdDrawIndexedIndirect"---- |--- Queues: 'graphics'.------ Renderpass: @inside@------ Pipeline: @graphics@------ > void vkCmdDrawIndexedIndirect--- >     ( VkCommandBuffer commandBuffer--- >     , VkBuffer buffer--- >     , VkDeviceSize offset--- >     , uint32_t drawCount--- >     , uint32_t stride--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdDrawIndexedIndirect <- vkGetInstanceProc @VkCmdDrawIndexedIndirect vkInstance------ or less efficient:------ > myCmdDrawIndexedIndirect <- vkGetProc @VkCmdDrawIndexedIndirect------ __Note:__ @vkCmdDrawIndexedIndirectUnsafe@ and @vkCmdDrawIndexedIndirectSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdDrawIndexedIndirect@ is an alias---           of @vkCmdDrawIndexedIndirectUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdDrawIndexedIndirectSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdDrawIndexedIndirect"-               vkCmdDrawIndexedIndirectUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkBuffer -- ^ buffer-                          -> VkDeviceSize -- ^ offset-                                          -> Word32 -- ^ drawCount-                                                    -> Word32 -- ^ stride-                                                              -> IO ()--##else-vkCmdDrawIndexedIndirectUnsafe ::-                               VkCommandBuffer -- ^ commandBuffer-                                               ->-                                 VkBuffer -- ^ buffer-                                          -> VkDeviceSize -- ^ offset-                                                          -> Word32 -- ^ drawCount-                                                                    -> Word32 -- ^ stride-                                                                              -> IO ()-vkCmdDrawIndexedIndirectUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkCmdDrawIndexedIndirect)--{-# NOINLINE vkCmdDrawIndexedIndirectUnsafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @inside@------ Pipeline: @graphics@------ > void vkCmdDrawIndexedIndirect--- >     ( VkCommandBuffer commandBuffer--- >     , VkBuffer buffer--- >     , VkDeviceSize offset--- >     , uint32_t drawCount--- >     , uint32_t stride--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdDrawIndexedIndirect <- vkGetInstanceProc @VkCmdDrawIndexedIndirect vkInstance------ or less efficient:------ > myCmdDrawIndexedIndirect <- vkGetProc @VkCmdDrawIndexedIndirect------ __Note:__ @vkCmdDrawIndexedIndirectUnsafe@ and @vkCmdDrawIndexedIndirectSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdDrawIndexedIndirect@ is an alias---           of @vkCmdDrawIndexedIndirectUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdDrawIndexedIndirectSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdDrawIndexedIndirect"-               vkCmdDrawIndexedIndirectSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkBuffer -- ^ buffer-                          -> VkDeviceSize -- ^ offset-                                          -> Word32 -- ^ drawCount-                                                    -> Word32 -- ^ stride-                                                              -> IO ()--##else-vkCmdDrawIndexedIndirectSafe ::-                             VkCommandBuffer -- ^ commandBuffer-                                             ->-                               VkBuffer -- ^ buffer-                                        -> VkDeviceSize -- ^ offset-                                                        -> Word32 -- ^ drawCount-                                                                  -> Word32 -- ^ stride-                                                                            -> IO ()-vkCmdDrawIndexedIndirectSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdDrawIndexedIndirect)--{-# NOINLINE vkCmdDrawIndexedIndirectSafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @inside@------ Pipeline: @graphics@------ > void vkCmdDrawIndexedIndirect--- >     ( VkCommandBuffer commandBuffer--- >     , VkBuffer buffer--- >     , VkDeviceSize offset--- >     , uint32_t drawCount--- >     , uint32_t stride--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdDrawIndexedIndirect <- vkGetInstanceProc @VkCmdDrawIndexedIndirect vkInstance------ or less efficient:------ > myCmdDrawIndexedIndirect <- vkGetProc @VkCmdDrawIndexedIndirect------ __Note:__ @vkCmdDrawIndexedIndirectUnsafe@ and @vkCmdDrawIndexedIndirectSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdDrawIndexedIndirect@ is an alias---           of @vkCmdDrawIndexedIndirectUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdDrawIndexedIndirectSafe@.----vkCmdDrawIndexedIndirect ::-                         VkCommandBuffer -- ^ commandBuffer-                                         ->-                           VkBuffer -- ^ buffer-                                    -> VkDeviceSize -- ^ offset-                                                    -> Word32 -- ^ drawCount-                                                              -> Word32 -- ^ stride-                                                                        -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdDrawIndexedIndirect = vkCmdDrawIndexedIndirectUnsafe-##else-vkCmdDrawIndexedIndirect = vkCmdDrawIndexedIndirectSafe--##endif-{-# INLINE vkCmdDrawIndexedIndirect #-}---- | Queues: 'graphics'.------   Renderpass: @inside@------   Pipeline: @graphics@------   > void vkCmdDrawIndexedIndirect---   >     ( VkCommandBuffer commandBuffer---   >     , VkBuffer buffer---   >     , VkDeviceSize offset---   >     , uint32_t drawCount---   >     , uint32_t stride---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect registry at www.khronos.org>-type HS_vkCmdDrawIndexedIndirect =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       VkBuffer -- ^ buffer-                -> VkDeviceSize -- ^ offset-                                -> Word32 -- ^ drawCount-                                          -> Word32 -- ^ stride-                                                    -> IO ()--type PFN_vkCmdDrawIndexedIndirect =-     FunPtr HS_vkCmdDrawIndexedIndirect--foreign import ccall unsafe "dynamic"-               unwrapVkCmdDrawIndexedIndirectUnsafe ::-               PFN_vkCmdDrawIndexedIndirect -> HS_vkCmdDrawIndexedIndirect--foreign import ccall safe "dynamic"-               unwrapVkCmdDrawIndexedIndirectSafe ::-               PFN_vkCmdDrawIndexedIndirect -> HS_vkCmdDrawIndexedIndirect--instance VulkanProc "vkCmdDrawIndexedIndirect" where-        type VkProcType "vkCmdDrawIndexedIndirect" =-             HS_vkCmdDrawIndexedIndirect-        vkProcSymbol = _VkCmdDrawIndexedIndirect--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdDrawIndexedIndirectUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdDrawIndexedIndirectSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdDispatch :: CString--pattern VkCmdDispatch <- (is_VkCmdDispatch -> True)-  where VkCmdDispatch = _VkCmdDispatch--{-# INLINE _VkCmdDispatch #-}--_VkCmdDispatch :: CString-_VkCmdDispatch = Ptr "vkCmdDispatch\NUL"##--{-# INLINE is_VkCmdDispatch #-}--is_VkCmdDispatch :: CString -> Bool-is_VkCmdDispatch = (EQ ==) . cmpCStrings _VkCmdDispatch--type VkCmdDispatch = "vkCmdDispatch"---- |--- Queues: 'compute'.------ Renderpass: @outside@------ Pipeline: @compute@------ > void vkCmdDispatch--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t groupCountX--- >     , uint32_t groupCountY--- >     , uint32_t groupCountZ--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatch vkCmdDispatch registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdDispatch <- vkGetInstanceProc @VkCmdDispatch vkInstance------ or less efficient:------ > myCmdDispatch <- vkGetProc @VkCmdDispatch------ __Note:__ @vkCmdDispatchUnsafe@ and @vkCmdDispatchSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdDispatch@ is an alias---           of @vkCmdDispatchUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdDispatchSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdDispatch" vkCmdDispatchUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> Word32 -- ^ groupCountX-                                         -> Word32 -- ^ groupCountY-                                                   -> Word32 -- ^ groupCountZ-                                                             -> IO ()--##else-vkCmdDispatchUnsafe ::-                    VkCommandBuffer -- ^ commandBuffer-                                    -> Word32 -- ^ groupCountX-                                              -> Word32 -- ^ groupCountY-                                                        -> Word32 -- ^ groupCountZ-                                                                  -> IO ()-vkCmdDispatchUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdDispatch)--{-# NOINLINE vkCmdDispatchUnsafe #-}-##endif---- |--- Queues: 'compute'.------ Renderpass: @outside@------ Pipeline: @compute@------ > void vkCmdDispatch--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t groupCountX--- >     , uint32_t groupCountY--- >     , uint32_t groupCountZ--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatch vkCmdDispatch registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdDispatch <- vkGetInstanceProc @VkCmdDispatch vkInstance------ or less efficient:------ > myCmdDispatch <- vkGetProc @VkCmdDispatch------ __Note:__ @vkCmdDispatchUnsafe@ and @vkCmdDispatchSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdDispatch@ is an alias---           of @vkCmdDispatchUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdDispatchSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdDispatch" vkCmdDispatchSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> Word32 -- ^ groupCountX-                                         -> Word32 -- ^ groupCountY-                                                   -> Word32 -- ^ groupCountZ-                                                             -> IO ()--##else-vkCmdDispatchSafe ::-                  VkCommandBuffer -- ^ commandBuffer-                                  -> Word32 -- ^ groupCountX-                                            -> Word32 -- ^ groupCountY-                                                      -> Word32 -- ^ groupCountZ-                                                                -> IO ()-vkCmdDispatchSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdDispatch)--{-# NOINLINE vkCmdDispatchSafe #-}-##endif---- |--- Queues: 'compute'.------ Renderpass: @outside@------ Pipeline: @compute@------ > void vkCmdDispatch--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t groupCountX--- >     , uint32_t groupCountY--- >     , uint32_t groupCountZ--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatch vkCmdDispatch registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdDispatch <- vkGetInstanceProc @VkCmdDispatch vkInstance------ or less efficient:------ > myCmdDispatch <- vkGetProc @VkCmdDispatch------ __Note:__ @vkCmdDispatchUnsafe@ and @vkCmdDispatchSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdDispatch@ is an alias---           of @vkCmdDispatchUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdDispatchSafe@.----vkCmdDispatch ::-              VkCommandBuffer -- ^ commandBuffer-                              -> Word32 -- ^ groupCountX-                                        -> Word32 -- ^ groupCountY-                                                  -> Word32 -- ^ groupCountZ-                                                            -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdDispatch = vkCmdDispatchUnsafe-##else-vkCmdDispatch = vkCmdDispatchSafe--##endif-{-# INLINE vkCmdDispatch #-}---- | Queues: 'compute'.------   Renderpass: @outside@------   Pipeline: @compute@------   > void vkCmdDispatch---   >     ( VkCommandBuffer commandBuffer---   >     , uint32_t groupCountX---   >     , uint32_t groupCountY---   >     , uint32_t groupCountZ---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatch vkCmdDispatch registry at www.khronos.org>-type HS_vkCmdDispatch =-     VkCommandBuffer -- ^ commandBuffer-                     -> Word32 -- ^ groupCountX-                               -> Word32 -- ^ groupCountY-                                         -> Word32 -- ^ groupCountZ-                                                   -> IO ()--type PFN_vkCmdDispatch = FunPtr HS_vkCmdDispatch--foreign import ccall unsafe "dynamic" unwrapVkCmdDispatchUnsafe ::-               PFN_vkCmdDispatch -> HS_vkCmdDispatch--foreign import ccall safe "dynamic" unwrapVkCmdDispatchSafe ::-               PFN_vkCmdDispatch -> HS_vkCmdDispatch--instance VulkanProc "vkCmdDispatch" where-        type VkProcType "vkCmdDispatch" = HS_vkCmdDispatch-        vkProcSymbol = _VkCmdDispatch--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdDispatchUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdDispatchSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdDispatchIndirect :: CString--pattern VkCmdDispatchIndirect <- (is_VkCmdDispatchIndirect -> True)-  where VkCmdDispatchIndirect = _VkCmdDispatchIndirect--{-# INLINE _VkCmdDispatchIndirect #-}--_VkCmdDispatchIndirect :: CString-_VkCmdDispatchIndirect = Ptr "vkCmdDispatchIndirect\NUL"##--{-# INLINE is_VkCmdDispatchIndirect #-}--is_VkCmdDispatchIndirect :: CString -> Bool-is_VkCmdDispatchIndirect-  = (EQ ==) . cmpCStrings _VkCmdDispatchIndirect--type VkCmdDispatchIndirect = "vkCmdDispatchIndirect"---- |--- Queues: 'compute'.------ Renderpass: @outside@------ Pipeline: @compute@------ > void vkCmdDispatchIndirect--- >     ( VkCommandBuffer commandBuffer--- >     , VkBuffer buffer--- >     , VkDeviceSize offset--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatchIndirect vkCmdDispatchIndirect registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdDispatchIndirect <- vkGetInstanceProc @VkCmdDispatchIndirect vkInstance------ or less efficient:------ > myCmdDispatchIndirect <- vkGetProc @VkCmdDispatchIndirect------ __Note:__ @vkCmdDispatchIndirectUnsafe@ and @vkCmdDispatchIndirectSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdDispatchIndirect@ is an alias---           of @vkCmdDispatchIndirectUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdDispatchIndirectSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdDispatchIndirect"-               vkCmdDispatchIndirectUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkBuffer -- ^ buffer-                                           -> VkDeviceSize -- ^ offset-                                                           -> IO ()--##else-vkCmdDispatchIndirectUnsafe ::-                            VkCommandBuffer -- ^ commandBuffer-                                            -> VkBuffer -- ^ buffer-                                                        -> VkDeviceSize -- ^ offset-                                                                        -> IO ()-vkCmdDispatchIndirectUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdDispatchIndirect)--{-# NOINLINE vkCmdDispatchIndirectUnsafe #-}-##endif---- |--- Queues: 'compute'.------ Renderpass: @outside@------ Pipeline: @compute@------ > void vkCmdDispatchIndirect--- >     ( VkCommandBuffer commandBuffer--- >     , VkBuffer buffer--- >     , VkDeviceSize offset--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatchIndirect vkCmdDispatchIndirect registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdDispatchIndirect <- vkGetInstanceProc @VkCmdDispatchIndirect vkInstance------ or less efficient:------ > myCmdDispatchIndirect <- vkGetProc @VkCmdDispatchIndirect------ __Note:__ @vkCmdDispatchIndirectUnsafe@ and @vkCmdDispatchIndirectSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdDispatchIndirect@ is an alias---           of @vkCmdDispatchIndirectUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdDispatchIndirectSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdDispatchIndirect"-               vkCmdDispatchIndirectSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkBuffer -- ^ buffer-                                           -> VkDeviceSize -- ^ offset-                                                           -> IO ()--##else-vkCmdDispatchIndirectSafe ::-                          VkCommandBuffer -- ^ commandBuffer-                                          -> VkBuffer -- ^ buffer-                                                      -> VkDeviceSize -- ^ offset-                                                                      -> IO ()-vkCmdDispatchIndirectSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdDispatchIndirect)--{-# NOINLINE vkCmdDispatchIndirectSafe #-}-##endif---- |--- Queues: 'compute'.------ Renderpass: @outside@------ Pipeline: @compute@------ > void vkCmdDispatchIndirect--- >     ( VkCommandBuffer commandBuffer--- >     , VkBuffer buffer--- >     , VkDeviceSize offset--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatchIndirect vkCmdDispatchIndirect registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdDispatchIndirect <- vkGetInstanceProc @VkCmdDispatchIndirect vkInstance------ or less efficient:------ > myCmdDispatchIndirect <- vkGetProc @VkCmdDispatchIndirect------ __Note:__ @vkCmdDispatchIndirectUnsafe@ and @vkCmdDispatchIndirectSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdDispatchIndirect@ is an alias---           of @vkCmdDispatchIndirectUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdDispatchIndirectSafe@.----vkCmdDispatchIndirect ::-                      VkCommandBuffer -- ^ commandBuffer-                                      -> VkBuffer -- ^ buffer-                                                  -> VkDeviceSize -- ^ offset-                                                                  -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdDispatchIndirect = vkCmdDispatchIndirectUnsafe-##else-vkCmdDispatchIndirect = vkCmdDispatchIndirectSafe--##endif-{-# INLINE vkCmdDispatchIndirect #-}---- | Queues: 'compute'.------   Renderpass: @outside@------   Pipeline: @compute@------   > void vkCmdDispatchIndirect---   >     ( VkCommandBuffer commandBuffer---   >     , VkBuffer buffer---   >     , VkDeviceSize offset---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatchIndirect vkCmdDispatchIndirect registry at www.khronos.org>-type HS_vkCmdDispatchIndirect =-     VkCommandBuffer -- ^ commandBuffer-                     -> VkBuffer -- ^ buffer-                                 -> VkDeviceSize -- ^ offset-                                                 -> IO ()--type PFN_vkCmdDispatchIndirect = FunPtr HS_vkCmdDispatchIndirect--foreign import ccall unsafe "dynamic"-               unwrapVkCmdDispatchIndirectUnsafe ::-               PFN_vkCmdDispatchIndirect -> HS_vkCmdDispatchIndirect--foreign import ccall safe "dynamic" unwrapVkCmdDispatchIndirectSafe-               :: PFN_vkCmdDispatchIndirect -> HS_vkCmdDispatchIndirect--instance VulkanProc "vkCmdDispatchIndirect" where-        type VkProcType "vkCmdDispatchIndirect" = HS_vkCmdDispatchIndirect-        vkProcSymbol = _VkCmdDispatchIndirect--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdDispatchIndirectUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdDispatchIndirectSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdCopyBuffer :: CString--pattern VkCmdCopyBuffer <- (is_VkCmdCopyBuffer -> True)-  where VkCmdCopyBuffer = _VkCmdCopyBuffer--{-# INLINE _VkCmdCopyBuffer #-}--_VkCmdCopyBuffer :: CString-_VkCmdCopyBuffer = Ptr "vkCmdCopyBuffer\NUL"##--{-# INLINE is_VkCmdCopyBuffer #-}--is_VkCmdCopyBuffer :: CString -> Bool-is_VkCmdCopyBuffer = (EQ ==) . cmpCStrings _VkCmdCopyBuffer--type VkCmdCopyBuffer = "vkCmdCopyBuffer"---- |--- Queues: 'transfer', 'graphics', 'compute'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdCopyBuffer--- >     ( VkCommandBuffer commandBuffer--- >     , VkBuffer srcBuffer--- >     , VkBuffer dstBuffer--- >     , uint32_t regionCount--- >     , const VkBufferCopy* pRegions--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyBuffer vkCmdCopyBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdCopyBuffer <- vkGetInstanceProc @VkCmdCopyBuffer vkInstance------ or less efficient:------ > myCmdCopyBuffer <- vkGetProc @VkCmdCopyBuffer------ __Note:__ @vkCmdCopyBufferUnsafe@ and @vkCmdCopyBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdCopyBuffer@ is an alias---           of @vkCmdCopyBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdCopyBufferSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdCopyBuffer" vkCmdCopyBufferUnsafe-               ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkBuffer -- ^ srcBuffer-                          -> VkBuffer -- ^ dstBuffer-                                      -> Word32 -- ^ regionCount-                                                -> Ptr VkBufferCopy -- ^ pRegions-                                                                    -> IO ()--##else-vkCmdCopyBufferUnsafe ::-                      VkCommandBuffer -- ^ commandBuffer-                                      ->-                        VkBuffer -- ^ srcBuffer-                                 -> VkBuffer -- ^ dstBuffer-                                             -> Word32 -- ^ regionCount-                                                       -> Ptr VkBufferCopy -- ^ pRegions-                                                                           -> IO ()-vkCmdCopyBufferUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdCopyBuffer)--{-# NOINLINE vkCmdCopyBufferUnsafe #-}-##endif---- |--- Queues: 'transfer', 'graphics', 'compute'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdCopyBuffer--- >     ( VkCommandBuffer commandBuffer--- >     , VkBuffer srcBuffer--- >     , VkBuffer dstBuffer--- >     , uint32_t regionCount--- >     , const VkBufferCopy* pRegions--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyBuffer vkCmdCopyBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdCopyBuffer <- vkGetInstanceProc @VkCmdCopyBuffer vkInstance------ or less efficient:------ > myCmdCopyBuffer <- vkGetProc @VkCmdCopyBuffer------ __Note:__ @vkCmdCopyBufferUnsafe@ and @vkCmdCopyBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdCopyBuffer@ is an alias---           of @vkCmdCopyBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdCopyBufferSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdCopyBuffer" vkCmdCopyBufferSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkBuffer -- ^ srcBuffer-                          -> VkBuffer -- ^ dstBuffer-                                      -> Word32 -- ^ regionCount-                                                -> Ptr VkBufferCopy -- ^ pRegions-                                                                    -> IO ()--##else-vkCmdCopyBufferSafe ::-                    VkCommandBuffer -- ^ commandBuffer-                                    ->-                      VkBuffer -- ^ srcBuffer-                               -> VkBuffer -- ^ dstBuffer-                                           -> Word32 -- ^ regionCount-                                                     -> Ptr VkBufferCopy -- ^ pRegions-                                                                         -> IO ()-vkCmdCopyBufferSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdCopyBuffer)--{-# NOINLINE vkCmdCopyBufferSafe #-}-##endif---- |--- Queues: 'transfer', 'graphics', 'compute'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdCopyBuffer--- >     ( VkCommandBuffer commandBuffer--- >     , VkBuffer srcBuffer--- >     , VkBuffer dstBuffer--- >     , uint32_t regionCount--- >     , const VkBufferCopy* pRegions--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyBuffer vkCmdCopyBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdCopyBuffer <- vkGetInstanceProc @VkCmdCopyBuffer vkInstance------ or less efficient:------ > myCmdCopyBuffer <- vkGetProc @VkCmdCopyBuffer------ __Note:__ @vkCmdCopyBufferUnsafe@ and @vkCmdCopyBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdCopyBuffer@ is an alias---           of @vkCmdCopyBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdCopyBufferSafe@.----vkCmdCopyBuffer ::-                VkCommandBuffer -- ^ commandBuffer-                                ->-                  VkBuffer -- ^ srcBuffer-                           -> VkBuffer -- ^ dstBuffer-                                       -> Word32 -- ^ regionCount-                                                 -> Ptr VkBufferCopy -- ^ pRegions-                                                                     -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdCopyBuffer = vkCmdCopyBufferUnsafe-##else-vkCmdCopyBuffer = vkCmdCopyBufferSafe--##endif-{-# INLINE vkCmdCopyBuffer #-}---- | Queues: 'transfer', 'graphics', 'compute'.------   Renderpass: @outside@------   Pipeline: @transfer@------   > void vkCmdCopyBuffer---   >     ( VkCommandBuffer commandBuffer---   >     , VkBuffer srcBuffer---   >     , VkBuffer dstBuffer---   >     , uint32_t regionCount---   >     , const VkBufferCopy* pRegions---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyBuffer vkCmdCopyBuffer registry at www.khronos.org>-type HS_vkCmdCopyBuffer =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       VkBuffer -- ^ srcBuffer-                -> VkBuffer -- ^ dstBuffer-                            -> Word32 -- ^ regionCount-                                      -> Ptr VkBufferCopy -- ^ pRegions-                                                          -> IO ()--type PFN_vkCmdCopyBuffer = FunPtr HS_vkCmdCopyBuffer--foreign import ccall unsafe "dynamic" unwrapVkCmdCopyBufferUnsafe-               :: PFN_vkCmdCopyBuffer -> HS_vkCmdCopyBuffer--foreign import ccall safe "dynamic" unwrapVkCmdCopyBufferSafe ::-               PFN_vkCmdCopyBuffer -> HS_vkCmdCopyBuffer--instance VulkanProc "vkCmdCopyBuffer" where-        type VkProcType "vkCmdCopyBuffer" = HS_vkCmdCopyBuffer-        vkProcSymbol = _VkCmdCopyBuffer--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdCopyBufferUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdCopyBufferSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdCopyImage :: CString--pattern VkCmdCopyImage <- (is_VkCmdCopyImage -> True)-  where VkCmdCopyImage = _VkCmdCopyImage--{-# INLINE _VkCmdCopyImage #-}--_VkCmdCopyImage :: CString-_VkCmdCopyImage = Ptr "vkCmdCopyImage\NUL"##--{-# INLINE is_VkCmdCopyImage #-}--is_VkCmdCopyImage :: CString -> Bool-is_VkCmdCopyImage = (EQ ==) . cmpCStrings _VkCmdCopyImage--type VkCmdCopyImage = "vkCmdCopyImage"---- |--- Queues: 'transfer', 'graphics', 'compute'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdCopyImage--- >     ( VkCommandBuffer commandBuffer--- >     , VkImage srcImage--- >     , VkImageLayout srcImageLayout--- >     , VkImage dstImage--- >     , VkImageLayout dstImageLayout--- >     , uint32_t regionCount--- >     , const VkImageCopy* pRegions--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyImage vkCmdCopyImage registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdCopyImage <- vkGetInstanceProc @VkCmdCopyImage vkInstance------ or less efficient:------ > myCmdCopyImage <- vkGetProc @VkCmdCopyImage------ __Note:__ @vkCmdCopyImageUnsafe@ and @vkCmdCopyImageSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdCopyImage@ is an alias---           of @vkCmdCopyImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdCopyImageSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdCopyImage" vkCmdCopyImageUnsafe-               ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ srcImage-                         ->-                   VkImageLayout -- ^ srcImageLayout-                                 ->-                     VkImage -- ^ dstImage-                             -> VkImageLayout -- ^ dstImageLayout-                                              -> Word32 -- ^ regionCount-                                                        -> Ptr VkImageCopy -- ^ pRegions-                                                                           -> IO ()--##else-vkCmdCopyImageUnsafe ::-                     VkCommandBuffer -- ^ commandBuffer-                                     ->-                       VkImage -- ^ srcImage-                               ->-                         VkImageLayout -- ^ srcImageLayout-                                       ->-                           VkImage -- ^ dstImage-                                   -> VkImageLayout -- ^ dstImageLayout-                                                    -> Word32 -- ^ regionCount-                                                              -> Ptr VkImageCopy -- ^ pRegions-                                                                                 -> IO ()-vkCmdCopyImageUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdCopyImage)--{-# NOINLINE vkCmdCopyImageUnsafe #-}-##endif---- |--- Queues: 'transfer', 'graphics', 'compute'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdCopyImage--- >     ( VkCommandBuffer commandBuffer--- >     , VkImage srcImage--- >     , VkImageLayout srcImageLayout--- >     , VkImage dstImage--- >     , VkImageLayout dstImageLayout--- >     , uint32_t regionCount--- >     , const VkImageCopy* pRegions--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyImage vkCmdCopyImage registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdCopyImage <- vkGetInstanceProc @VkCmdCopyImage vkInstance------ or less efficient:------ > myCmdCopyImage <- vkGetProc @VkCmdCopyImage------ __Note:__ @vkCmdCopyImageUnsafe@ and @vkCmdCopyImageSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdCopyImage@ is an alias---           of @vkCmdCopyImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdCopyImageSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdCopyImage" vkCmdCopyImageSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ srcImage-                         ->-                   VkImageLayout -- ^ srcImageLayout-                                 ->-                     VkImage -- ^ dstImage-                             -> VkImageLayout -- ^ dstImageLayout-                                              -> Word32 -- ^ regionCount-                                                        -> Ptr VkImageCopy -- ^ pRegions-                                                                           -> IO ()--##else-vkCmdCopyImageSafe ::-                   VkCommandBuffer -- ^ commandBuffer-                                   ->-                     VkImage -- ^ srcImage-                             ->-                       VkImageLayout -- ^ srcImageLayout-                                     ->-                         VkImage -- ^ dstImage-                                 -> VkImageLayout -- ^ dstImageLayout-                                                  -> Word32 -- ^ regionCount-                                                            -> Ptr VkImageCopy -- ^ pRegions-                                                                               -> IO ()-vkCmdCopyImageSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdCopyImage)--{-# NOINLINE vkCmdCopyImageSafe #-}-##endif---- |--- Queues: 'transfer', 'graphics', 'compute'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdCopyImage--- >     ( VkCommandBuffer commandBuffer--- >     , VkImage srcImage--- >     , VkImageLayout srcImageLayout--- >     , VkImage dstImage--- >     , VkImageLayout dstImageLayout--- >     , uint32_t regionCount--- >     , const VkImageCopy* pRegions--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyImage vkCmdCopyImage registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdCopyImage <- vkGetInstanceProc @VkCmdCopyImage vkInstance------ or less efficient:------ > myCmdCopyImage <- vkGetProc @VkCmdCopyImage------ __Note:__ @vkCmdCopyImageUnsafe@ and @vkCmdCopyImageSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdCopyImage@ is an alias---           of @vkCmdCopyImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdCopyImageSafe@.----vkCmdCopyImage ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ srcImage-                         ->-                   VkImageLayout -- ^ srcImageLayout-                                 ->-                     VkImage -- ^ dstImage-                             -> VkImageLayout -- ^ dstImageLayout-                                              -> Word32 -- ^ regionCount-                                                        -> Ptr VkImageCopy -- ^ pRegions-                                                                           -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdCopyImage = vkCmdCopyImageUnsafe-##else-vkCmdCopyImage = vkCmdCopyImageSafe--##endif-{-# INLINE vkCmdCopyImage #-}---- | Queues: 'transfer', 'graphics', 'compute'.------   Renderpass: @outside@------   Pipeline: @transfer@------   > void vkCmdCopyImage---   >     ( VkCommandBuffer commandBuffer---   >     , VkImage srcImage---   >     , VkImageLayout srcImageLayout---   >     , VkImage dstImage---   >     , VkImageLayout dstImageLayout---   >     , uint32_t regionCount---   >     , const VkImageCopy* pRegions---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyImage vkCmdCopyImage registry at www.khronos.org>-type HS_vkCmdCopyImage =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       VkImage -- ^ srcImage-               ->-         VkImageLayout -- ^ srcImageLayout-                       ->-           VkImage -- ^ dstImage-                   -> VkImageLayout -- ^ dstImageLayout-                                    -> Word32 -- ^ regionCount-                                              -> Ptr VkImageCopy -- ^ pRegions-                                                                 -> IO ()--type PFN_vkCmdCopyImage = FunPtr HS_vkCmdCopyImage--foreign import ccall unsafe "dynamic" unwrapVkCmdCopyImageUnsafe ::-               PFN_vkCmdCopyImage -> HS_vkCmdCopyImage--foreign import ccall safe "dynamic" unwrapVkCmdCopyImageSafe ::-               PFN_vkCmdCopyImage -> HS_vkCmdCopyImage--instance VulkanProc "vkCmdCopyImage" where-        type VkProcType "vkCmdCopyImage" = HS_vkCmdCopyImage-        vkProcSymbol = _VkCmdCopyImage--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdCopyImageUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdCopyImageSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdBlitImage :: CString--pattern VkCmdBlitImage <- (is_VkCmdBlitImage -> True)-  where VkCmdBlitImage = _VkCmdBlitImage--{-# INLINE _VkCmdBlitImage #-}--_VkCmdBlitImage :: CString-_VkCmdBlitImage = Ptr "vkCmdBlitImage\NUL"##--{-# INLINE is_VkCmdBlitImage #-}--is_VkCmdBlitImage :: CString -> Bool-is_VkCmdBlitImage = (EQ ==) . cmpCStrings _VkCmdBlitImage--type VkCmdBlitImage = "vkCmdBlitImage"---- |--- Queues: 'graphics'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdBlitImage--- >     ( VkCommandBuffer commandBuffer--- >     , VkImage srcImage--- >     , VkImageLayout srcImageLayout--- >     , VkImage dstImage--- >     , VkImageLayout dstImageLayout--- >     , uint32_t regionCount--- >     , const VkImageBlit* pRegions--- >     , VkFilter filter--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBlitImage vkCmdBlitImage registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdBlitImage <- vkGetInstanceProc @VkCmdBlitImage vkInstance------ or less efficient:------ > myCmdBlitImage <- vkGetProc @VkCmdBlitImage------ __Note:__ @vkCmdBlitImageUnsafe@ and @vkCmdBlitImageSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdBlitImage@ is an alias---           of @vkCmdBlitImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdBlitImageSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdBlitImage" vkCmdBlitImageUnsafe-               ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ srcImage-                         ->-                   VkImageLayout -- ^ srcImageLayout-                                 ->-                     VkImage -- ^ dstImage-                             ->-                       VkImageLayout -- ^ dstImageLayout-                                     -> Word32 -- ^ regionCount-                                               -> Ptr VkImageBlit -- ^ pRegions-                                                                  -> VkFilter -- ^ filter-                                                                              -> IO ()--##else-vkCmdBlitImageUnsafe ::-                     VkCommandBuffer -- ^ commandBuffer-                                     ->-                       VkImage -- ^ srcImage-                               ->-                         VkImageLayout -- ^ srcImageLayout-                                       ->-                           VkImage -- ^ dstImage-                                   ->-                             VkImageLayout -- ^ dstImageLayout-                                           -> Word32 -- ^ regionCount-                                                     -> Ptr VkImageBlit -- ^ pRegions-                                                                        -> VkFilter -- ^ filter-                                                                                    -> IO ()-vkCmdBlitImageUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdBlitImage)--{-# NOINLINE vkCmdBlitImageUnsafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdBlitImage--- >     ( VkCommandBuffer commandBuffer--- >     , VkImage srcImage--- >     , VkImageLayout srcImageLayout--- >     , VkImage dstImage--- >     , VkImageLayout dstImageLayout--- >     , uint32_t regionCount--- >     , const VkImageBlit* pRegions--- >     , VkFilter filter--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBlitImage vkCmdBlitImage registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdBlitImage <- vkGetInstanceProc @VkCmdBlitImage vkInstance------ or less efficient:------ > myCmdBlitImage <- vkGetProc @VkCmdBlitImage------ __Note:__ @vkCmdBlitImageUnsafe@ and @vkCmdBlitImageSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdBlitImage@ is an alias---           of @vkCmdBlitImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdBlitImageSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdBlitImage" vkCmdBlitImageSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ srcImage-                         ->-                   VkImageLayout -- ^ srcImageLayout-                                 ->-                     VkImage -- ^ dstImage-                             ->-                       VkImageLayout -- ^ dstImageLayout-                                     -> Word32 -- ^ regionCount-                                               -> Ptr VkImageBlit -- ^ pRegions-                                                                  -> VkFilter -- ^ filter-                                                                              -> IO ()--##else-vkCmdBlitImageSafe ::-                   VkCommandBuffer -- ^ commandBuffer-                                   ->-                     VkImage -- ^ srcImage-                             ->-                       VkImageLayout -- ^ srcImageLayout-                                     ->-                         VkImage -- ^ dstImage-                                 ->-                           VkImageLayout -- ^ dstImageLayout-                                         -> Word32 -- ^ regionCount-                                                   -> Ptr VkImageBlit -- ^ pRegions-                                                                      -> VkFilter -- ^ filter-                                                                                  -> IO ()-vkCmdBlitImageSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdBlitImage)--{-# NOINLINE vkCmdBlitImageSafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdBlitImage--- >     ( VkCommandBuffer commandBuffer--- >     , VkImage srcImage--- >     , VkImageLayout srcImageLayout--- >     , VkImage dstImage--- >     , VkImageLayout dstImageLayout--- >     , uint32_t regionCount--- >     , const VkImageBlit* pRegions--- >     , VkFilter filter--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBlitImage vkCmdBlitImage registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdBlitImage <- vkGetInstanceProc @VkCmdBlitImage vkInstance------ or less efficient:------ > myCmdBlitImage <- vkGetProc @VkCmdBlitImage------ __Note:__ @vkCmdBlitImageUnsafe@ and @vkCmdBlitImageSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdBlitImage@ is an alias---           of @vkCmdBlitImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdBlitImageSafe@.----vkCmdBlitImage ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ srcImage-                         ->-                   VkImageLayout -- ^ srcImageLayout-                                 ->-                     VkImage -- ^ dstImage-                             ->-                       VkImageLayout -- ^ dstImageLayout-                                     -> Word32 -- ^ regionCount-                                               -> Ptr VkImageBlit -- ^ pRegions-                                                                  -> VkFilter -- ^ filter-                                                                              -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdBlitImage = vkCmdBlitImageUnsafe-##else-vkCmdBlitImage = vkCmdBlitImageSafe--##endif-{-# INLINE vkCmdBlitImage #-}---- | Queues: 'graphics'.------   Renderpass: @outside@------   Pipeline: @transfer@------   > void vkCmdBlitImage---   >     ( VkCommandBuffer commandBuffer---   >     , VkImage srcImage---   >     , VkImageLayout srcImageLayout---   >     , VkImage dstImage---   >     , VkImageLayout dstImageLayout---   >     , uint32_t regionCount---   >     , const VkImageBlit* pRegions---   >     , VkFilter filter---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBlitImage vkCmdBlitImage registry at www.khronos.org>-type HS_vkCmdBlitImage =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       VkImage -- ^ srcImage-               ->-         VkImageLayout -- ^ srcImageLayout-                       ->-           VkImage -- ^ dstImage-                   ->-             VkImageLayout -- ^ dstImageLayout-                           -> Word32 -- ^ regionCount-                                     -> Ptr VkImageBlit -- ^ pRegions-                                                        -> VkFilter -- ^ filter-                                                                    -> IO ()--type PFN_vkCmdBlitImage = FunPtr HS_vkCmdBlitImage--foreign import ccall unsafe "dynamic" unwrapVkCmdBlitImageUnsafe ::-               PFN_vkCmdBlitImage -> HS_vkCmdBlitImage--foreign import ccall safe "dynamic" unwrapVkCmdBlitImageSafe ::-               PFN_vkCmdBlitImage -> HS_vkCmdBlitImage--instance VulkanProc "vkCmdBlitImage" where-        type VkProcType "vkCmdBlitImage" = HS_vkCmdBlitImage-        vkProcSymbol = _VkCmdBlitImage--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdBlitImageUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdBlitImageSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdCopyBufferToImage :: CString--pattern VkCmdCopyBufferToImage <--        (is_VkCmdCopyBufferToImage -> True)-  where VkCmdCopyBufferToImage = _VkCmdCopyBufferToImage--{-# INLINE _VkCmdCopyBufferToImage #-}--_VkCmdCopyBufferToImage :: CString-_VkCmdCopyBufferToImage = Ptr "vkCmdCopyBufferToImage\NUL"##--{-# INLINE is_VkCmdCopyBufferToImage #-}--is_VkCmdCopyBufferToImage :: CString -> Bool-is_VkCmdCopyBufferToImage-  = (EQ ==) . cmpCStrings _VkCmdCopyBufferToImage--type VkCmdCopyBufferToImage = "vkCmdCopyBufferToImage"---- |--- Queues: 'transfer', 'graphics', 'compute'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdCopyBufferToImage--- >     ( VkCommandBuffer commandBuffer--- >     , VkBuffer srcBuffer--- >     , VkImage dstImage--- >     , VkImageLayout dstImageLayout--- >     , uint32_t regionCount--- >     , const VkBufferImageCopy* pRegions--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyBufferToImage vkCmdCopyBufferToImage registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdCopyBufferToImage <- vkGetInstanceProc @VkCmdCopyBufferToImage vkInstance------ or less efficient:------ > myCmdCopyBufferToImage <- vkGetProc @VkCmdCopyBufferToImage------ __Note:__ @vkCmdCopyBufferToImageUnsafe@ and @vkCmdCopyBufferToImageSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdCopyBufferToImage@ is an alias---           of @vkCmdCopyBufferToImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdCopyBufferToImageSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdCopyBufferToImage"-               vkCmdCopyBufferToImageUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkBuffer -- ^ srcBuffer-                          ->-                   VkImage -- ^ dstImage-                           ->-                     VkImageLayout -- ^ dstImageLayout-                                   -> Word32 -- ^ regionCount-                                             -> Ptr VkBufferImageCopy -- ^ pRegions-                                                                      -> IO ()--##else-vkCmdCopyBufferToImageUnsafe ::-                             VkCommandBuffer -- ^ commandBuffer-                                             ->-                               VkBuffer -- ^ srcBuffer-                                        ->-                                 VkImage -- ^ dstImage-                                         ->-                                   VkImageLayout -- ^ dstImageLayout-                                                 -> Word32 -- ^ regionCount-                                                           -> Ptr VkBufferImageCopy -- ^ pRegions-                                                                                    -> IO ()-vkCmdCopyBufferToImageUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdCopyBufferToImage)--{-# NOINLINE vkCmdCopyBufferToImageUnsafe #-}-##endif---- |--- Queues: 'transfer', 'graphics', 'compute'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdCopyBufferToImage--- >     ( VkCommandBuffer commandBuffer--- >     , VkBuffer srcBuffer--- >     , VkImage dstImage--- >     , VkImageLayout dstImageLayout--- >     , uint32_t regionCount--- >     , const VkBufferImageCopy* pRegions--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyBufferToImage vkCmdCopyBufferToImage registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdCopyBufferToImage <- vkGetInstanceProc @VkCmdCopyBufferToImage vkInstance------ or less efficient:------ > myCmdCopyBufferToImage <- vkGetProc @VkCmdCopyBufferToImage------ __Note:__ @vkCmdCopyBufferToImageUnsafe@ and @vkCmdCopyBufferToImageSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdCopyBufferToImage@ is an alias---           of @vkCmdCopyBufferToImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdCopyBufferToImageSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdCopyBufferToImage"-               vkCmdCopyBufferToImageSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkBuffer -- ^ srcBuffer-                          ->-                   VkImage -- ^ dstImage-                           ->-                     VkImageLayout -- ^ dstImageLayout-                                   -> Word32 -- ^ regionCount-                                             -> Ptr VkBufferImageCopy -- ^ pRegions-                                                                      -> IO ()--##else-vkCmdCopyBufferToImageSafe ::-                           VkCommandBuffer -- ^ commandBuffer-                                           ->-                             VkBuffer -- ^ srcBuffer-                                      ->-                               VkImage -- ^ dstImage-                                       ->-                                 VkImageLayout -- ^ dstImageLayout-                                               -> Word32 -- ^ regionCount-                                                         -> Ptr VkBufferImageCopy -- ^ pRegions-                                                                                  -> IO ()-vkCmdCopyBufferToImageSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdCopyBufferToImage)--{-# NOINLINE vkCmdCopyBufferToImageSafe #-}-##endif---- |--- Queues: 'transfer', 'graphics', 'compute'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdCopyBufferToImage--- >     ( VkCommandBuffer commandBuffer--- >     , VkBuffer srcBuffer--- >     , VkImage dstImage--- >     , VkImageLayout dstImageLayout--- >     , uint32_t regionCount--- >     , const VkBufferImageCopy* pRegions--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyBufferToImage vkCmdCopyBufferToImage registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdCopyBufferToImage <- vkGetInstanceProc @VkCmdCopyBufferToImage vkInstance------ or less efficient:------ > myCmdCopyBufferToImage <- vkGetProc @VkCmdCopyBufferToImage------ __Note:__ @vkCmdCopyBufferToImageUnsafe@ and @vkCmdCopyBufferToImageSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdCopyBufferToImage@ is an alias---           of @vkCmdCopyBufferToImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdCopyBufferToImageSafe@.----vkCmdCopyBufferToImage ::-                       VkCommandBuffer -- ^ commandBuffer-                                       ->-                         VkBuffer -- ^ srcBuffer-                                  ->-                           VkImage -- ^ dstImage-                                   ->-                             VkImageLayout -- ^ dstImageLayout-                                           -> Word32 -- ^ regionCount-                                                     -> Ptr VkBufferImageCopy -- ^ pRegions-                                                                              -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdCopyBufferToImage = vkCmdCopyBufferToImageUnsafe-##else-vkCmdCopyBufferToImage = vkCmdCopyBufferToImageSafe--##endif-{-# INLINE vkCmdCopyBufferToImage #-}---- | Queues: 'transfer', 'graphics', 'compute'.------   Renderpass: @outside@------   Pipeline: @transfer@------   > void vkCmdCopyBufferToImage---   >     ( VkCommandBuffer commandBuffer---   >     , VkBuffer srcBuffer---   >     , VkImage dstImage---   >     , VkImageLayout dstImageLayout---   >     , uint32_t regionCount---   >     , const VkBufferImageCopy* pRegions---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyBufferToImage vkCmdCopyBufferToImage registry at www.khronos.org>-type HS_vkCmdCopyBufferToImage =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       VkBuffer -- ^ srcBuffer-                ->-         VkImage -- ^ dstImage-                 ->-           VkImageLayout -- ^ dstImageLayout-                         -> Word32 -- ^ regionCount-                                   -> Ptr VkBufferImageCopy -- ^ pRegions-                                                            -> IO ()--type PFN_vkCmdCopyBufferToImage = FunPtr HS_vkCmdCopyBufferToImage--foreign import ccall unsafe "dynamic"-               unwrapVkCmdCopyBufferToImageUnsafe ::-               PFN_vkCmdCopyBufferToImage -> HS_vkCmdCopyBufferToImage--foreign import ccall safe "dynamic"-               unwrapVkCmdCopyBufferToImageSafe ::-               PFN_vkCmdCopyBufferToImage -> HS_vkCmdCopyBufferToImage--instance VulkanProc "vkCmdCopyBufferToImage" where-        type VkProcType "vkCmdCopyBufferToImage" =-             HS_vkCmdCopyBufferToImage-        vkProcSymbol = _VkCmdCopyBufferToImage--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdCopyBufferToImageUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdCopyBufferToImageSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdCopyImageToBuffer :: CString--pattern VkCmdCopyImageToBuffer <--        (is_VkCmdCopyImageToBuffer -> True)-  where VkCmdCopyImageToBuffer = _VkCmdCopyImageToBuffer--{-# INLINE _VkCmdCopyImageToBuffer #-}--_VkCmdCopyImageToBuffer :: CString-_VkCmdCopyImageToBuffer = Ptr "vkCmdCopyImageToBuffer\NUL"##--{-# INLINE is_VkCmdCopyImageToBuffer #-}--is_VkCmdCopyImageToBuffer :: CString -> Bool-is_VkCmdCopyImageToBuffer-  = (EQ ==) . cmpCStrings _VkCmdCopyImageToBuffer--type VkCmdCopyImageToBuffer = "vkCmdCopyImageToBuffer"---- |--- Queues: 'transfer', 'graphics', 'compute'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdCopyImageToBuffer--- >     ( VkCommandBuffer commandBuffer--- >     , VkImage srcImage--- >     , VkImageLayout srcImageLayout--- >     , VkBuffer dstBuffer--- >     , uint32_t regionCount--- >     , const VkBufferImageCopy* pRegions--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdCopyImageToBuffer <- vkGetInstanceProc @VkCmdCopyImageToBuffer vkInstance------ or less efficient:------ > myCmdCopyImageToBuffer <- vkGetProc @VkCmdCopyImageToBuffer------ __Note:__ @vkCmdCopyImageToBufferUnsafe@ and @vkCmdCopyImageToBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdCopyImageToBuffer@ is an alias---           of @vkCmdCopyImageToBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdCopyImageToBufferSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdCopyImageToBuffer"-               vkCmdCopyImageToBufferUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ srcImage-                         ->-                   VkImageLayout -- ^ srcImageLayout-                                 ->-                     VkBuffer -- ^ dstBuffer-                              -> Word32 -- ^ regionCount-                                        -> Ptr VkBufferImageCopy -- ^ pRegions-                                                                 -> IO ()--##else-vkCmdCopyImageToBufferUnsafe ::-                             VkCommandBuffer -- ^ commandBuffer-                                             ->-                               VkImage -- ^ srcImage-                                       ->-                                 VkImageLayout -- ^ srcImageLayout-                                               ->-                                   VkBuffer -- ^ dstBuffer-                                            -> Word32 -- ^ regionCount-                                                      -> Ptr VkBufferImageCopy -- ^ pRegions-                                                                               -> IO ()-vkCmdCopyImageToBufferUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdCopyImageToBuffer)--{-# NOINLINE vkCmdCopyImageToBufferUnsafe #-}-##endif---- |--- Queues: 'transfer', 'graphics', 'compute'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdCopyImageToBuffer--- >     ( VkCommandBuffer commandBuffer--- >     , VkImage srcImage--- >     , VkImageLayout srcImageLayout--- >     , VkBuffer dstBuffer--- >     , uint32_t regionCount--- >     , const VkBufferImageCopy* pRegions--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdCopyImageToBuffer <- vkGetInstanceProc @VkCmdCopyImageToBuffer vkInstance------ or less efficient:------ > myCmdCopyImageToBuffer <- vkGetProc @VkCmdCopyImageToBuffer------ __Note:__ @vkCmdCopyImageToBufferUnsafe@ and @vkCmdCopyImageToBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdCopyImageToBuffer@ is an alias---           of @vkCmdCopyImageToBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdCopyImageToBufferSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdCopyImageToBuffer"-               vkCmdCopyImageToBufferSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ srcImage-                         ->-                   VkImageLayout -- ^ srcImageLayout-                                 ->-                     VkBuffer -- ^ dstBuffer-                              -> Word32 -- ^ regionCount-                                        -> Ptr VkBufferImageCopy -- ^ pRegions-                                                                 -> IO ()--##else-vkCmdCopyImageToBufferSafe ::-                           VkCommandBuffer -- ^ commandBuffer-                                           ->-                             VkImage -- ^ srcImage-                                     ->-                               VkImageLayout -- ^ srcImageLayout-                                             ->-                                 VkBuffer -- ^ dstBuffer-                                          -> Word32 -- ^ regionCount-                                                    -> Ptr VkBufferImageCopy -- ^ pRegions-                                                                             -> IO ()-vkCmdCopyImageToBufferSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdCopyImageToBuffer)--{-# NOINLINE vkCmdCopyImageToBufferSafe #-}-##endif---- |--- Queues: 'transfer', 'graphics', 'compute'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdCopyImageToBuffer--- >     ( VkCommandBuffer commandBuffer--- >     , VkImage srcImage--- >     , VkImageLayout srcImageLayout--- >     , VkBuffer dstBuffer--- >     , uint32_t regionCount--- >     , const VkBufferImageCopy* pRegions--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdCopyImageToBuffer <- vkGetInstanceProc @VkCmdCopyImageToBuffer vkInstance------ or less efficient:------ > myCmdCopyImageToBuffer <- vkGetProc @VkCmdCopyImageToBuffer------ __Note:__ @vkCmdCopyImageToBufferUnsafe@ and @vkCmdCopyImageToBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdCopyImageToBuffer@ is an alias---           of @vkCmdCopyImageToBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdCopyImageToBufferSafe@.----vkCmdCopyImageToBuffer ::-                       VkCommandBuffer -- ^ commandBuffer-                                       ->-                         VkImage -- ^ srcImage-                                 ->-                           VkImageLayout -- ^ srcImageLayout-                                         ->-                             VkBuffer -- ^ dstBuffer-                                      -> Word32 -- ^ regionCount-                                                -> Ptr VkBufferImageCopy -- ^ pRegions-                                                                         -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdCopyImageToBuffer = vkCmdCopyImageToBufferUnsafe-##else-vkCmdCopyImageToBuffer = vkCmdCopyImageToBufferSafe--##endif-{-# INLINE vkCmdCopyImageToBuffer #-}---- | Queues: 'transfer', 'graphics', 'compute'.------   Renderpass: @outside@------   Pipeline: @transfer@------   > void vkCmdCopyImageToBuffer---   >     ( VkCommandBuffer commandBuffer---   >     , VkImage srcImage---   >     , VkImageLayout srcImageLayout---   >     , VkBuffer dstBuffer---   >     , uint32_t regionCount---   >     , const VkBufferImageCopy* pRegions---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer registry at www.khronos.org>-type HS_vkCmdCopyImageToBuffer =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       VkImage -- ^ srcImage-               ->-         VkImageLayout -- ^ srcImageLayout-                       ->-           VkBuffer -- ^ dstBuffer-                    -> Word32 -- ^ regionCount-                              -> Ptr VkBufferImageCopy -- ^ pRegions-                                                       -> IO ()--type PFN_vkCmdCopyImageToBuffer = FunPtr HS_vkCmdCopyImageToBuffer--foreign import ccall unsafe "dynamic"-               unwrapVkCmdCopyImageToBufferUnsafe ::-               PFN_vkCmdCopyImageToBuffer -> HS_vkCmdCopyImageToBuffer--foreign import ccall safe "dynamic"-               unwrapVkCmdCopyImageToBufferSafe ::-               PFN_vkCmdCopyImageToBuffer -> HS_vkCmdCopyImageToBuffer--instance VulkanProc "vkCmdCopyImageToBuffer" where-        type VkProcType "vkCmdCopyImageToBuffer" =-             HS_vkCmdCopyImageToBuffer-        vkProcSymbol = _VkCmdCopyImageToBuffer--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdCopyImageToBufferUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdCopyImageToBufferSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdUpdateBuffer :: CString--pattern VkCmdUpdateBuffer <- (is_VkCmdUpdateBuffer -> True)-  where VkCmdUpdateBuffer = _VkCmdUpdateBuffer--{-# INLINE _VkCmdUpdateBuffer #-}--_VkCmdUpdateBuffer :: CString-_VkCmdUpdateBuffer = Ptr "vkCmdUpdateBuffer\NUL"##--{-# INLINE is_VkCmdUpdateBuffer #-}--is_VkCmdUpdateBuffer :: CString -> Bool-is_VkCmdUpdateBuffer = (EQ ==) . cmpCStrings _VkCmdUpdateBuffer--type VkCmdUpdateBuffer = "vkCmdUpdateBuffer"---- |--- Queues: 'transfer', 'graphics', 'compute'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdUpdateBuffer--- >     ( VkCommandBuffer commandBuffer--- >     , VkBuffer dstBuffer--- >     , VkDeviceSize dstOffset--- >     , VkDeviceSize dataSize--- >     , const void* pData--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdUpdateBuffer vkCmdUpdateBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdUpdateBuffer <- vkGetInstanceProc @VkCmdUpdateBuffer vkInstance------ or less efficient:------ > myCmdUpdateBuffer <- vkGetProc @VkCmdUpdateBuffer------ __Note:__ @vkCmdUpdateBufferUnsafe@ and @vkCmdUpdateBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdUpdateBuffer@ is an alias---           of @vkCmdUpdateBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdUpdateBufferSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdUpdateBuffer"-               vkCmdUpdateBufferUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkBuffer -- ^ dstBuffer-                          -> VkDeviceSize -- ^ dstOffset-                                          -> VkDeviceSize -- ^ dataSize-                                                          -> Ptr Void -- ^ pData-                                                                      -> IO ()--##else-vkCmdUpdateBufferUnsafe ::-                        VkCommandBuffer -- ^ commandBuffer-                                        ->-                          VkBuffer -- ^ dstBuffer-                                   -> VkDeviceSize -- ^ dstOffset-                                                   -> VkDeviceSize -- ^ dataSize-                                                                   -> Ptr Void -- ^ pData-                                                                               -> IO ()-vkCmdUpdateBufferUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdUpdateBuffer)--{-# NOINLINE vkCmdUpdateBufferUnsafe #-}-##endif---- |--- Queues: 'transfer', 'graphics', 'compute'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdUpdateBuffer--- >     ( VkCommandBuffer commandBuffer--- >     , VkBuffer dstBuffer--- >     , VkDeviceSize dstOffset--- >     , VkDeviceSize dataSize--- >     , const void* pData--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdUpdateBuffer vkCmdUpdateBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdUpdateBuffer <- vkGetInstanceProc @VkCmdUpdateBuffer vkInstance------ or less efficient:------ > myCmdUpdateBuffer <- vkGetProc @VkCmdUpdateBuffer------ __Note:__ @vkCmdUpdateBufferUnsafe@ and @vkCmdUpdateBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdUpdateBuffer@ is an alias---           of @vkCmdUpdateBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdUpdateBufferSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdUpdateBuffer" vkCmdUpdateBufferSafe-               ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkBuffer -- ^ dstBuffer-                          -> VkDeviceSize -- ^ dstOffset-                                          -> VkDeviceSize -- ^ dataSize-                                                          -> Ptr Void -- ^ pData-                                                                      -> IO ()--##else-vkCmdUpdateBufferSafe ::-                      VkCommandBuffer -- ^ commandBuffer-                                      ->-                        VkBuffer -- ^ dstBuffer-                                 -> VkDeviceSize -- ^ dstOffset-                                                 -> VkDeviceSize -- ^ dataSize-                                                                 -> Ptr Void -- ^ pData-                                                                             -> IO ()-vkCmdUpdateBufferSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdUpdateBuffer)--{-# NOINLINE vkCmdUpdateBufferSafe #-}-##endif---- |--- Queues: 'transfer', 'graphics', 'compute'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdUpdateBuffer--- >     ( VkCommandBuffer commandBuffer--- >     , VkBuffer dstBuffer--- >     , VkDeviceSize dstOffset--- >     , VkDeviceSize dataSize--- >     , const void* pData--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdUpdateBuffer vkCmdUpdateBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdUpdateBuffer <- vkGetInstanceProc @VkCmdUpdateBuffer vkInstance------ or less efficient:------ > myCmdUpdateBuffer <- vkGetProc @VkCmdUpdateBuffer------ __Note:__ @vkCmdUpdateBufferUnsafe@ and @vkCmdUpdateBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdUpdateBuffer@ is an alias---           of @vkCmdUpdateBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdUpdateBufferSafe@.----vkCmdUpdateBuffer ::-                  VkCommandBuffer -- ^ commandBuffer-                                  ->-                    VkBuffer -- ^ dstBuffer-                             -> VkDeviceSize -- ^ dstOffset-                                             -> VkDeviceSize -- ^ dataSize-                                                             -> Ptr Void -- ^ pData-                                                                         -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdUpdateBuffer = vkCmdUpdateBufferUnsafe-##else-vkCmdUpdateBuffer = vkCmdUpdateBufferSafe--##endif-{-# INLINE vkCmdUpdateBuffer #-}---- | Queues: 'transfer', 'graphics', 'compute'.------   Renderpass: @outside@------   Pipeline: @transfer@------   > void vkCmdUpdateBuffer---   >     ( VkCommandBuffer commandBuffer---   >     , VkBuffer dstBuffer---   >     , VkDeviceSize dstOffset---   >     , VkDeviceSize dataSize---   >     , const void* pData---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdUpdateBuffer vkCmdUpdateBuffer registry at www.khronos.org>-type HS_vkCmdUpdateBuffer =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       VkBuffer -- ^ dstBuffer-                -> VkDeviceSize -- ^ dstOffset-                                -> VkDeviceSize -- ^ dataSize-                                                -> Ptr Void -- ^ pData-                                                            -> IO ()--type PFN_vkCmdUpdateBuffer = FunPtr HS_vkCmdUpdateBuffer--foreign import ccall unsafe "dynamic" unwrapVkCmdUpdateBufferUnsafe-               :: PFN_vkCmdUpdateBuffer -> HS_vkCmdUpdateBuffer--foreign import ccall safe "dynamic" unwrapVkCmdUpdateBufferSafe ::-               PFN_vkCmdUpdateBuffer -> HS_vkCmdUpdateBuffer--instance VulkanProc "vkCmdUpdateBuffer" where-        type VkProcType "vkCmdUpdateBuffer" = HS_vkCmdUpdateBuffer-        vkProcSymbol = _VkCmdUpdateBuffer--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdUpdateBufferUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdUpdateBufferSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdFillBuffer :: CString--pattern VkCmdFillBuffer <- (is_VkCmdFillBuffer -> True)-  where VkCmdFillBuffer = _VkCmdFillBuffer--{-# INLINE _VkCmdFillBuffer #-}--_VkCmdFillBuffer :: CString-_VkCmdFillBuffer = Ptr "vkCmdFillBuffer\NUL"##--{-# INLINE is_VkCmdFillBuffer #-}--is_VkCmdFillBuffer :: CString -> Bool-is_VkCmdFillBuffer = (EQ ==) . cmpCStrings _VkCmdFillBuffer--type VkCmdFillBuffer = "vkCmdFillBuffer"---- |--- transfer support is only available when VK_KHR_maintenance1 is enabled, as documented in valid usage language in the specification------ Queues: 'transfer', 'graphics', 'compute'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdFillBuffer--- >     ( VkCommandBuffer commandBuffer--- >     , VkBuffer dstBuffer--- >     , VkDeviceSize dstOffset--- >     , VkDeviceSize size--- >     , uint32_t data--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdFillBuffer vkCmdFillBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdFillBuffer <- vkGetInstanceProc @VkCmdFillBuffer vkInstance------ or less efficient:------ > myCmdFillBuffer <- vkGetProc @VkCmdFillBuffer------ __Note:__ @vkCmdFillBufferUnsafe@ and @vkCmdFillBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdFillBuffer@ is an alias---           of @vkCmdFillBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdFillBufferSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdFillBuffer" vkCmdFillBufferUnsafe-               ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkBuffer -- ^ dstBuffer-                          -> VkDeviceSize -- ^ dstOffset-                                          -> VkDeviceSize -- ^ size-                                                          -> Word32 -- ^ data-                                                                    -> IO ()--##else-vkCmdFillBufferUnsafe ::-                      VkCommandBuffer -- ^ commandBuffer-                                      ->-                        VkBuffer -- ^ dstBuffer-                                 -> VkDeviceSize -- ^ dstOffset-                                                 -> VkDeviceSize -- ^ size-                                                                 -> Word32 -- ^ data-                                                                           -> IO ()-vkCmdFillBufferUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdFillBuffer)--{-# NOINLINE vkCmdFillBufferUnsafe #-}-##endif---- |--- transfer support is only available when VK_KHR_maintenance1 is enabled, as documented in valid usage language in the specification------ Queues: 'transfer', 'graphics', 'compute'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdFillBuffer--- >     ( VkCommandBuffer commandBuffer--- >     , VkBuffer dstBuffer--- >     , VkDeviceSize dstOffset--- >     , VkDeviceSize size--- >     , uint32_t data--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdFillBuffer vkCmdFillBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdFillBuffer <- vkGetInstanceProc @VkCmdFillBuffer vkInstance------ or less efficient:------ > myCmdFillBuffer <- vkGetProc @VkCmdFillBuffer------ __Note:__ @vkCmdFillBufferUnsafe@ and @vkCmdFillBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdFillBuffer@ is an alias---           of @vkCmdFillBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdFillBufferSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdFillBuffer" vkCmdFillBufferSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkBuffer -- ^ dstBuffer-                          -> VkDeviceSize -- ^ dstOffset-                                          -> VkDeviceSize -- ^ size-                                                          -> Word32 -- ^ data-                                                                    -> IO ()--##else-vkCmdFillBufferSafe ::-                    VkCommandBuffer -- ^ commandBuffer-                                    ->-                      VkBuffer -- ^ dstBuffer-                               -> VkDeviceSize -- ^ dstOffset-                                               -> VkDeviceSize -- ^ size-                                                               -> Word32 -- ^ data-                                                                         -> IO ()-vkCmdFillBufferSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdFillBuffer)--{-# NOINLINE vkCmdFillBufferSafe #-}-##endif---- |--- transfer support is only available when VK_KHR_maintenance1 is enabled, as documented in valid usage language in the specification------ Queues: 'transfer', 'graphics', 'compute'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdFillBuffer--- >     ( VkCommandBuffer commandBuffer--- >     , VkBuffer dstBuffer--- >     , VkDeviceSize dstOffset--- >     , VkDeviceSize size--- >     , uint32_t data--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdFillBuffer vkCmdFillBuffer registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdFillBuffer <- vkGetInstanceProc @VkCmdFillBuffer vkInstance------ or less efficient:------ > myCmdFillBuffer <- vkGetProc @VkCmdFillBuffer------ __Note:__ @vkCmdFillBufferUnsafe@ and @vkCmdFillBufferSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdFillBuffer@ is an alias---           of @vkCmdFillBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdFillBufferSafe@.----vkCmdFillBuffer ::-                VkCommandBuffer -- ^ commandBuffer-                                ->-                  VkBuffer -- ^ dstBuffer-                           -> VkDeviceSize -- ^ dstOffset-                                           -> VkDeviceSize -- ^ size-                                                           -> Word32 -- ^ data-                                                                     -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdFillBuffer = vkCmdFillBufferUnsafe-##else-vkCmdFillBuffer = vkCmdFillBufferSafe--##endif-{-# INLINE vkCmdFillBuffer #-}---- | transfer support is only available when VK_KHR_maintenance1 is enabled, as documented in valid usage language in the specification------   Queues: 'transfer', 'graphics', 'compute'.------   Renderpass: @outside@------   Pipeline: @transfer@------   > void vkCmdFillBuffer---   >     ( VkCommandBuffer commandBuffer---   >     , VkBuffer dstBuffer---   >     , VkDeviceSize dstOffset---   >     , VkDeviceSize size---   >     , uint32_t data---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdFillBuffer vkCmdFillBuffer registry at www.khronos.org>-type HS_vkCmdFillBuffer =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       VkBuffer -- ^ dstBuffer-                -> VkDeviceSize -- ^ dstOffset-                                -> VkDeviceSize -- ^ size-                                                -> Word32 -- ^ data-                                                          -> IO ()--type PFN_vkCmdFillBuffer = FunPtr HS_vkCmdFillBuffer--foreign import ccall unsafe "dynamic" unwrapVkCmdFillBufferUnsafe-               :: PFN_vkCmdFillBuffer -> HS_vkCmdFillBuffer--foreign import ccall safe "dynamic" unwrapVkCmdFillBufferSafe ::-               PFN_vkCmdFillBuffer -> HS_vkCmdFillBuffer--instance VulkanProc "vkCmdFillBuffer" where-        type VkProcType "vkCmdFillBuffer" = HS_vkCmdFillBuffer-        vkProcSymbol = _VkCmdFillBuffer--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdFillBufferUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdFillBufferSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdClearColorImage :: CString--pattern VkCmdClearColorImage <- (is_VkCmdClearColorImage -> True)-  where VkCmdClearColorImage = _VkCmdClearColorImage--{-# INLINE _VkCmdClearColorImage #-}--_VkCmdClearColorImage :: CString-_VkCmdClearColorImage = Ptr "vkCmdClearColorImage\NUL"##--{-# INLINE is_VkCmdClearColorImage #-}--is_VkCmdClearColorImage :: CString -> Bool-is_VkCmdClearColorImage-  = (EQ ==) . cmpCStrings _VkCmdClearColorImage--type VkCmdClearColorImage = "vkCmdClearColorImage"---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdClearColorImage--- >     ( VkCommandBuffer commandBuffer--- >     , VkImage image--- >     , VkImageLayout imageLayout--- >     , const VkClearColorValue* pColor--- >     , uint32_t rangeCount--- >     , const VkImageSubresourceRange* pRanges--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearColorImage vkCmdClearColorImage registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdClearColorImage <- vkGetInstanceProc @VkCmdClearColorImage vkInstance------ or less efficient:------ > myCmdClearColorImage <- vkGetProc @VkCmdClearColorImage------ __Note:__ @vkCmdClearColorImageUnsafe@ and @vkCmdClearColorImageSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdClearColorImage@ is an alias---           of @vkCmdClearColorImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdClearColorImageSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdClearColorImage"-               vkCmdClearColorImageUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ image-                         ->-                   VkImageLayout -- ^ imageLayout-                                 ->-                     Ptr VkClearColorValue -- ^ pColor-                                           ->-                       Word32 -- ^ rangeCount-                              -> Ptr VkImageSubresourceRange -- ^ pRanges-                                                             -> IO ()--##else-vkCmdClearColorImageUnsafe ::-                           VkCommandBuffer -- ^ commandBuffer-                                           ->-                             VkImage -- ^ image-                                     ->-                               VkImageLayout -- ^ imageLayout-                                             ->-                                 Ptr VkClearColorValue -- ^ pColor-                                                       ->-                                   Word32 -- ^ rangeCount-                                          -> Ptr VkImageSubresourceRange -- ^ pRanges-                                                                         -> IO ()-vkCmdClearColorImageUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdClearColorImage)--{-# NOINLINE vkCmdClearColorImageUnsafe #-}-##endif---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdClearColorImage--- >     ( VkCommandBuffer commandBuffer--- >     , VkImage image--- >     , VkImageLayout imageLayout--- >     , const VkClearColorValue* pColor--- >     , uint32_t rangeCount--- >     , const VkImageSubresourceRange* pRanges--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearColorImage vkCmdClearColorImage registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdClearColorImage <- vkGetInstanceProc @VkCmdClearColorImage vkInstance------ or less efficient:------ > myCmdClearColorImage <- vkGetProc @VkCmdClearColorImage------ __Note:__ @vkCmdClearColorImageUnsafe@ and @vkCmdClearColorImageSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdClearColorImage@ is an alias---           of @vkCmdClearColorImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdClearColorImageSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdClearColorImage"-               vkCmdClearColorImageSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ image-                         ->-                   VkImageLayout -- ^ imageLayout-                                 ->-                     Ptr VkClearColorValue -- ^ pColor-                                           ->-                       Word32 -- ^ rangeCount-                              -> Ptr VkImageSubresourceRange -- ^ pRanges-                                                             -> IO ()--##else-vkCmdClearColorImageSafe ::-                         VkCommandBuffer -- ^ commandBuffer-                                         ->-                           VkImage -- ^ image-                                   ->-                             VkImageLayout -- ^ imageLayout-                                           ->-                               Ptr VkClearColorValue -- ^ pColor-                                                     ->-                                 Word32 -- ^ rangeCount-                                        -> Ptr VkImageSubresourceRange -- ^ pRanges-                                                                       -> IO ()-vkCmdClearColorImageSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdClearColorImage)--{-# NOINLINE vkCmdClearColorImageSafe #-}-##endif---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdClearColorImage--- >     ( VkCommandBuffer commandBuffer--- >     , VkImage image--- >     , VkImageLayout imageLayout--- >     , const VkClearColorValue* pColor--- >     , uint32_t rangeCount--- >     , const VkImageSubresourceRange* pRanges--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearColorImage vkCmdClearColorImage registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdClearColorImage <- vkGetInstanceProc @VkCmdClearColorImage vkInstance------ or less efficient:------ > myCmdClearColorImage <- vkGetProc @VkCmdClearColorImage------ __Note:__ @vkCmdClearColorImageUnsafe@ and @vkCmdClearColorImageSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdClearColorImage@ is an alias---           of @vkCmdClearColorImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdClearColorImageSafe@.----vkCmdClearColorImage ::-                     VkCommandBuffer -- ^ commandBuffer-                                     ->-                       VkImage -- ^ image-                               ->-                         VkImageLayout -- ^ imageLayout-                                       ->-                           Ptr VkClearColorValue -- ^ pColor-                                                 ->-                             Word32 -- ^ rangeCount-                                    -> Ptr VkImageSubresourceRange -- ^ pRanges-                                                                   -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdClearColorImage = vkCmdClearColorImageUnsafe-##else-vkCmdClearColorImage = vkCmdClearColorImageSafe--##endif-{-# INLINE vkCmdClearColorImage #-}---- | Queues: 'graphics', 'compute'.------   Renderpass: @outside@------   Pipeline: @transfer@------   > void vkCmdClearColorImage---   >     ( VkCommandBuffer commandBuffer---   >     , VkImage image---   >     , VkImageLayout imageLayout---   >     , const VkClearColorValue* pColor---   >     , uint32_t rangeCount---   >     , const VkImageSubresourceRange* pRanges---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearColorImage vkCmdClearColorImage registry at www.khronos.org>-type HS_vkCmdClearColorImage =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       VkImage -- ^ image-               ->-         VkImageLayout -- ^ imageLayout-                       ->-           Ptr VkClearColorValue -- ^ pColor-                                 ->-             Word32 -- ^ rangeCount-                    -> Ptr VkImageSubresourceRange -- ^ pRanges-                                                   -> IO ()--type PFN_vkCmdClearColorImage = FunPtr HS_vkCmdClearColorImage--foreign import ccall unsafe "dynamic"-               unwrapVkCmdClearColorImageUnsafe ::-               PFN_vkCmdClearColorImage -> HS_vkCmdClearColorImage--foreign import ccall safe "dynamic" unwrapVkCmdClearColorImageSafe-               :: PFN_vkCmdClearColorImage -> HS_vkCmdClearColorImage--instance VulkanProc "vkCmdClearColorImage" where-        type VkProcType "vkCmdClearColorImage" = HS_vkCmdClearColorImage-        vkProcSymbol = _VkCmdClearColorImage--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdClearColorImageUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdClearColorImageSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdClearDepthStencilImage :: CString--pattern VkCmdClearDepthStencilImage <--        (is_VkCmdClearDepthStencilImage -> True)-  where VkCmdClearDepthStencilImage = _VkCmdClearDepthStencilImage--{-# INLINE _VkCmdClearDepthStencilImage #-}--_VkCmdClearDepthStencilImage :: CString-_VkCmdClearDepthStencilImage-  = Ptr "vkCmdClearDepthStencilImage\NUL"##--{-# INLINE is_VkCmdClearDepthStencilImage #-}--is_VkCmdClearDepthStencilImage :: CString -> Bool-is_VkCmdClearDepthStencilImage-  = (EQ ==) . cmpCStrings _VkCmdClearDepthStencilImage--type VkCmdClearDepthStencilImage = "vkCmdClearDepthStencilImage"---- |--- Queues: 'graphics'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdClearDepthStencilImage--- >     ( VkCommandBuffer commandBuffer--- >     , VkImage image--- >     , VkImageLayout imageLayout--- >     , const VkClearDepthStencilValue* pDepthStencil--- >     , uint32_t rangeCount--- >     , const VkImageSubresourceRange* pRanges--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdClearDepthStencilImage <- vkGetInstanceProc @VkCmdClearDepthStencilImage vkInstance------ or less efficient:------ > myCmdClearDepthStencilImage <- vkGetProc @VkCmdClearDepthStencilImage------ __Note:__ @vkCmdClearDepthStencilImageUnsafe@ and @vkCmdClearDepthStencilImageSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdClearDepthStencilImage@ is an alias---           of @vkCmdClearDepthStencilImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdClearDepthStencilImageSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdClearDepthStencilImage"-               vkCmdClearDepthStencilImageUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ image-                         ->-                   VkImageLayout -- ^ imageLayout-                                 ->-                     Ptr VkClearDepthStencilValue -- ^ pDepthStencil-                                                  ->-                       Word32 -- ^ rangeCount-                              -> Ptr VkImageSubresourceRange -- ^ pRanges-                                                             -> IO ()--##else-vkCmdClearDepthStencilImageUnsafe ::-                                  VkCommandBuffer -- ^ commandBuffer-                                                  ->-                                    VkImage -- ^ image-                                            ->-                                      VkImageLayout -- ^ imageLayout-                                                    ->-                                        Ptr VkClearDepthStencilValue -- ^ pDepthStencil-                                                                     ->-                                          Word32 -- ^ rangeCount-                                                 -> Ptr VkImageSubresourceRange -- ^ pRanges-                                                                                -> IO ()-vkCmdClearDepthStencilImageUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkCmdClearDepthStencilImage)--{-# NOINLINE vkCmdClearDepthStencilImageUnsafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdClearDepthStencilImage--- >     ( VkCommandBuffer commandBuffer--- >     , VkImage image--- >     , VkImageLayout imageLayout--- >     , const VkClearDepthStencilValue* pDepthStencil--- >     , uint32_t rangeCount--- >     , const VkImageSubresourceRange* pRanges--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdClearDepthStencilImage <- vkGetInstanceProc @VkCmdClearDepthStencilImage vkInstance------ or less efficient:------ > myCmdClearDepthStencilImage <- vkGetProc @VkCmdClearDepthStencilImage------ __Note:__ @vkCmdClearDepthStencilImageUnsafe@ and @vkCmdClearDepthStencilImageSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdClearDepthStencilImage@ is an alias---           of @vkCmdClearDepthStencilImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdClearDepthStencilImageSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdClearDepthStencilImage"-               vkCmdClearDepthStencilImageSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ image-                         ->-                   VkImageLayout -- ^ imageLayout-                                 ->-                     Ptr VkClearDepthStencilValue -- ^ pDepthStencil-                                                  ->-                       Word32 -- ^ rangeCount-                              -> Ptr VkImageSubresourceRange -- ^ pRanges-                                                             -> IO ()--##else-vkCmdClearDepthStencilImageSafe ::-                                VkCommandBuffer -- ^ commandBuffer-                                                ->-                                  VkImage -- ^ image-                                          ->-                                    VkImageLayout -- ^ imageLayout-                                                  ->-                                      Ptr VkClearDepthStencilValue -- ^ pDepthStencil-                                                                   ->-                                        Word32 -- ^ rangeCount-                                               -> Ptr VkImageSubresourceRange -- ^ pRanges-                                                                              -> IO ()-vkCmdClearDepthStencilImageSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkCmdClearDepthStencilImage)--{-# NOINLINE vkCmdClearDepthStencilImageSafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdClearDepthStencilImage--- >     ( VkCommandBuffer commandBuffer--- >     , VkImage image--- >     , VkImageLayout imageLayout--- >     , const VkClearDepthStencilValue* pDepthStencil--- >     , uint32_t rangeCount--- >     , const VkImageSubresourceRange* pRanges--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdClearDepthStencilImage <- vkGetInstanceProc @VkCmdClearDepthStencilImage vkInstance------ or less efficient:------ > myCmdClearDepthStencilImage <- vkGetProc @VkCmdClearDepthStencilImage------ __Note:__ @vkCmdClearDepthStencilImageUnsafe@ and @vkCmdClearDepthStencilImageSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdClearDepthStencilImage@ is an alias---           of @vkCmdClearDepthStencilImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdClearDepthStencilImageSafe@.----vkCmdClearDepthStencilImage ::-                            VkCommandBuffer -- ^ commandBuffer-                                            ->-                              VkImage -- ^ image-                                      ->-                                VkImageLayout -- ^ imageLayout-                                              ->-                                  Ptr VkClearDepthStencilValue -- ^ pDepthStencil-                                                               ->-                                    Word32 -- ^ rangeCount-                                           -> Ptr VkImageSubresourceRange -- ^ pRanges-                                                                          -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdClearDepthStencilImage = vkCmdClearDepthStencilImageUnsafe-##else-vkCmdClearDepthStencilImage = vkCmdClearDepthStencilImageSafe--##endif-{-# INLINE vkCmdClearDepthStencilImage #-}---- | Queues: 'graphics'.------   Renderpass: @outside@------   Pipeline: @transfer@------   > void vkCmdClearDepthStencilImage---   >     ( VkCommandBuffer commandBuffer---   >     , VkImage image---   >     , VkImageLayout imageLayout---   >     , const VkClearDepthStencilValue* pDepthStencil---   >     , uint32_t rangeCount---   >     , const VkImageSubresourceRange* pRanges---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage registry at www.khronos.org>-type HS_vkCmdClearDepthStencilImage =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       VkImage -- ^ image-               ->-         VkImageLayout -- ^ imageLayout-                       ->-           Ptr VkClearDepthStencilValue -- ^ pDepthStencil-                                        ->-             Word32 -- ^ rangeCount-                    -> Ptr VkImageSubresourceRange -- ^ pRanges-                                                   -> IO ()--type PFN_vkCmdClearDepthStencilImage =-     FunPtr HS_vkCmdClearDepthStencilImage--foreign import ccall unsafe "dynamic"-               unwrapVkCmdClearDepthStencilImageUnsafe ::-               PFN_vkCmdClearDepthStencilImage -> HS_vkCmdClearDepthStencilImage--foreign import ccall safe "dynamic"-               unwrapVkCmdClearDepthStencilImageSafe ::-               PFN_vkCmdClearDepthStencilImage -> HS_vkCmdClearDepthStencilImage--instance VulkanProc "vkCmdClearDepthStencilImage" where-        type VkProcType "vkCmdClearDepthStencilImage" =-             HS_vkCmdClearDepthStencilImage-        vkProcSymbol = _VkCmdClearDepthStencilImage--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdClearDepthStencilImageUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdClearDepthStencilImageSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdClearAttachments :: CString--pattern VkCmdClearAttachments <- (is_VkCmdClearAttachments -> True)-  where VkCmdClearAttachments = _VkCmdClearAttachments--{-# INLINE _VkCmdClearAttachments #-}--_VkCmdClearAttachments :: CString-_VkCmdClearAttachments = Ptr "vkCmdClearAttachments\NUL"##--{-# INLINE is_VkCmdClearAttachments #-}--is_VkCmdClearAttachments :: CString -> Bool-is_VkCmdClearAttachments-  = (EQ ==) . cmpCStrings _VkCmdClearAttachments--type VkCmdClearAttachments = "vkCmdClearAttachments"---- |--- Queues: 'graphics'.------ Renderpass: @inside@------ Pipeline: @graphics@------ > void vkCmdClearAttachments--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t attachmentCount--- >     , const VkClearAttachment* pAttachments--- >     , uint32_t rectCount--- >     , const VkClearRect* pRects--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearAttachments vkCmdClearAttachments registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdClearAttachments <- vkGetInstanceProc @VkCmdClearAttachments vkInstance------ or less efficient:------ > myCmdClearAttachments <- vkGetProc @VkCmdClearAttachments------ __Note:__ @vkCmdClearAttachmentsUnsafe@ and @vkCmdClearAttachmentsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdClearAttachments@ is an alias---           of @vkCmdClearAttachmentsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdClearAttachmentsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdClearAttachments"-               vkCmdClearAttachmentsUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 Word32 -- ^ attachmentCount-                        ->-                   Ptr VkClearAttachment -- ^ pAttachments-                                         -> Word32 -- ^ rectCount-                                                   -> Ptr VkClearRect -- ^ pRects-                                                                      -> IO ()--##else-vkCmdClearAttachmentsUnsafe ::-                            VkCommandBuffer -- ^ commandBuffer-                                            ->-                              Word32 -- ^ attachmentCount-                                     ->-                                Ptr VkClearAttachment -- ^ pAttachments-                                                      -> Word32 -- ^ rectCount-                                                                -> Ptr VkClearRect -- ^ pRects-                                                                                   -> IO ()-vkCmdClearAttachmentsUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdClearAttachments)--{-# NOINLINE vkCmdClearAttachmentsUnsafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @inside@------ Pipeline: @graphics@------ > void vkCmdClearAttachments--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t attachmentCount--- >     , const VkClearAttachment* pAttachments--- >     , uint32_t rectCount--- >     , const VkClearRect* pRects--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearAttachments vkCmdClearAttachments registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdClearAttachments <- vkGetInstanceProc @VkCmdClearAttachments vkInstance------ or less efficient:------ > myCmdClearAttachments <- vkGetProc @VkCmdClearAttachments------ __Note:__ @vkCmdClearAttachmentsUnsafe@ and @vkCmdClearAttachmentsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdClearAttachments@ is an alias---           of @vkCmdClearAttachmentsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdClearAttachmentsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdClearAttachments"-               vkCmdClearAttachmentsSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 Word32 -- ^ attachmentCount-                        ->-                   Ptr VkClearAttachment -- ^ pAttachments-                                         -> Word32 -- ^ rectCount-                                                   -> Ptr VkClearRect -- ^ pRects-                                                                      -> IO ()--##else-vkCmdClearAttachmentsSafe ::-                          VkCommandBuffer -- ^ commandBuffer-                                          ->-                            Word32 -- ^ attachmentCount-                                   ->-                              Ptr VkClearAttachment -- ^ pAttachments-                                                    -> Word32 -- ^ rectCount-                                                              -> Ptr VkClearRect -- ^ pRects-                                                                                 -> IO ()-vkCmdClearAttachmentsSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdClearAttachments)--{-# NOINLINE vkCmdClearAttachmentsSafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @inside@------ Pipeline: @graphics@------ > void vkCmdClearAttachments--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t attachmentCount--- >     , const VkClearAttachment* pAttachments--- >     , uint32_t rectCount--- >     , const VkClearRect* pRects--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearAttachments vkCmdClearAttachments registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdClearAttachments <- vkGetInstanceProc @VkCmdClearAttachments vkInstance------ or less efficient:------ > myCmdClearAttachments <- vkGetProc @VkCmdClearAttachments------ __Note:__ @vkCmdClearAttachmentsUnsafe@ and @vkCmdClearAttachmentsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdClearAttachments@ is an alias---           of @vkCmdClearAttachmentsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdClearAttachmentsSafe@.----vkCmdClearAttachments ::-                      VkCommandBuffer -- ^ commandBuffer-                                      ->-                        Word32 -- ^ attachmentCount-                               ->-                          Ptr VkClearAttachment -- ^ pAttachments-                                                -> Word32 -- ^ rectCount-                                                          -> Ptr VkClearRect -- ^ pRects-                                                                             -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdClearAttachments = vkCmdClearAttachmentsUnsafe-##else-vkCmdClearAttachments = vkCmdClearAttachmentsSafe--##endif-{-# INLINE vkCmdClearAttachments #-}---- | Queues: 'graphics'.------   Renderpass: @inside@------   Pipeline: @graphics@------   > void vkCmdClearAttachments---   >     ( VkCommandBuffer commandBuffer---   >     , uint32_t attachmentCount---   >     , const VkClearAttachment* pAttachments---   >     , uint32_t rectCount---   >     , const VkClearRect* pRects---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearAttachments vkCmdClearAttachments registry at www.khronos.org>-type HS_vkCmdClearAttachments =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       Word32 -- ^ attachmentCount-              ->-         Ptr VkClearAttachment -- ^ pAttachments-                               -> Word32 -- ^ rectCount-                                         -> Ptr VkClearRect -- ^ pRects-                                                            -> IO ()--type PFN_vkCmdClearAttachments = FunPtr HS_vkCmdClearAttachments--foreign import ccall unsafe "dynamic"-               unwrapVkCmdClearAttachmentsUnsafe ::-               PFN_vkCmdClearAttachments -> HS_vkCmdClearAttachments--foreign import ccall safe "dynamic" unwrapVkCmdClearAttachmentsSafe-               :: PFN_vkCmdClearAttachments -> HS_vkCmdClearAttachments--instance VulkanProc "vkCmdClearAttachments" where-        type VkProcType "vkCmdClearAttachments" = HS_vkCmdClearAttachments-        vkProcSymbol = _VkCmdClearAttachments--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdClearAttachmentsUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdClearAttachmentsSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdResolveImage :: CString--pattern VkCmdResolveImage <- (is_VkCmdResolveImage -> True)-  where VkCmdResolveImage = _VkCmdResolveImage--{-# INLINE _VkCmdResolveImage #-}--_VkCmdResolveImage :: CString-_VkCmdResolveImage = Ptr "vkCmdResolveImage\NUL"##--{-# INLINE is_VkCmdResolveImage #-}--is_VkCmdResolveImage :: CString -> Bool-is_VkCmdResolveImage = (EQ ==) . cmpCStrings _VkCmdResolveImage--type VkCmdResolveImage = "vkCmdResolveImage"---- |--- Queues: 'graphics'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdResolveImage--- >     ( VkCommandBuffer commandBuffer--- >     , VkImage srcImage--- >     , VkImageLayout srcImageLayout--- >     , VkImage dstImage--- >     , VkImageLayout dstImageLayout--- >     , uint32_t regionCount--- >     , const VkImageResolve* pRegions--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResolveImage vkCmdResolveImage registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdResolveImage <- vkGetInstanceProc @VkCmdResolveImage vkInstance------ or less efficient:------ > myCmdResolveImage <- vkGetProc @VkCmdResolveImage------ __Note:__ @vkCmdResolveImageUnsafe@ and @vkCmdResolveImageSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdResolveImage@ is an alias---           of @vkCmdResolveImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdResolveImageSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdResolveImage"-               vkCmdResolveImageUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ srcImage-                         ->-                   VkImageLayout -- ^ srcImageLayout-                                 ->-                     VkImage -- ^ dstImage-                             -> VkImageLayout -- ^ dstImageLayout-                                              -> Word32 -- ^ regionCount-                                                        -> Ptr VkImageResolve -- ^ pRegions-                                                                              -> IO ()--##else-vkCmdResolveImageUnsafe ::-                        VkCommandBuffer -- ^ commandBuffer-                                        ->-                          VkImage -- ^ srcImage-                                  ->-                            VkImageLayout -- ^ srcImageLayout-                                          ->-                              VkImage -- ^ dstImage-                                      -> VkImageLayout -- ^ dstImageLayout-                                                       -> Word32 -- ^ regionCount-                                                                 -> Ptr VkImageResolve -- ^ pRegions-                                                                                       -> IO ()-vkCmdResolveImageUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdResolveImage)--{-# NOINLINE vkCmdResolveImageUnsafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdResolveImage--- >     ( VkCommandBuffer commandBuffer--- >     , VkImage srcImage--- >     , VkImageLayout srcImageLayout--- >     , VkImage dstImage--- >     , VkImageLayout dstImageLayout--- >     , uint32_t regionCount--- >     , const VkImageResolve* pRegions--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResolveImage vkCmdResolveImage registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdResolveImage <- vkGetInstanceProc @VkCmdResolveImage vkInstance------ or less efficient:------ > myCmdResolveImage <- vkGetProc @VkCmdResolveImage------ __Note:__ @vkCmdResolveImageUnsafe@ and @vkCmdResolveImageSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdResolveImage@ is an alias---           of @vkCmdResolveImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdResolveImageSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdResolveImage" vkCmdResolveImageSafe-               ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ srcImage-                         ->-                   VkImageLayout -- ^ srcImageLayout-                                 ->-                     VkImage -- ^ dstImage-                             -> VkImageLayout -- ^ dstImageLayout-                                              -> Word32 -- ^ regionCount-                                                        -> Ptr VkImageResolve -- ^ pRegions-                                                                              -> IO ()--##else-vkCmdResolveImageSafe ::-                      VkCommandBuffer -- ^ commandBuffer-                                      ->-                        VkImage -- ^ srcImage-                                ->-                          VkImageLayout -- ^ srcImageLayout-                                        ->-                            VkImage -- ^ dstImage-                                    -> VkImageLayout -- ^ dstImageLayout-                                                     -> Word32 -- ^ regionCount-                                                               -> Ptr VkImageResolve -- ^ pRegions-                                                                                     -> IO ()-vkCmdResolveImageSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdResolveImage)--{-# NOINLINE vkCmdResolveImageSafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdResolveImage--- >     ( VkCommandBuffer commandBuffer--- >     , VkImage srcImage--- >     , VkImageLayout srcImageLayout--- >     , VkImage dstImage--- >     , VkImageLayout dstImageLayout--- >     , uint32_t regionCount--- >     , const VkImageResolve* pRegions--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResolveImage vkCmdResolveImage registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdResolveImage <- vkGetInstanceProc @VkCmdResolveImage vkInstance------ or less efficient:------ > myCmdResolveImage <- vkGetProc @VkCmdResolveImage------ __Note:__ @vkCmdResolveImageUnsafe@ and @vkCmdResolveImageSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdResolveImage@ is an alias---           of @vkCmdResolveImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdResolveImageSafe@.----vkCmdResolveImage ::-                  VkCommandBuffer -- ^ commandBuffer-                                  ->-                    VkImage -- ^ srcImage-                            ->-                      VkImageLayout -- ^ srcImageLayout-                                    ->-                        VkImage -- ^ dstImage-                                -> VkImageLayout -- ^ dstImageLayout-                                                 -> Word32 -- ^ regionCount-                                                           -> Ptr VkImageResolve -- ^ pRegions-                                                                                 -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdResolveImage = vkCmdResolveImageUnsafe-##else-vkCmdResolveImage = vkCmdResolveImageSafe--##endif-{-# INLINE vkCmdResolveImage #-}---- | Queues: 'graphics'.------   Renderpass: @outside@------   Pipeline: @transfer@------   > void vkCmdResolveImage---   >     ( VkCommandBuffer commandBuffer---   >     , VkImage srcImage---   >     , VkImageLayout srcImageLayout---   >     , VkImage dstImage---   >     , VkImageLayout dstImageLayout---   >     , uint32_t regionCount---   >     , const VkImageResolve* pRegions---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResolveImage vkCmdResolveImage registry at www.khronos.org>-type HS_vkCmdResolveImage =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       VkImage -- ^ srcImage-               ->-         VkImageLayout -- ^ srcImageLayout-                       ->-           VkImage -- ^ dstImage-                   -> VkImageLayout -- ^ dstImageLayout-                                    -> Word32 -- ^ regionCount-                                              -> Ptr VkImageResolve -- ^ pRegions-                                                                    -> IO ()--type PFN_vkCmdResolveImage = FunPtr HS_vkCmdResolveImage--foreign import ccall unsafe "dynamic" unwrapVkCmdResolveImageUnsafe-               :: PFN_vkCmdResolveImage -> HS_vkCmdResolveImage--foreign import ccall safe "dynamic" unwrapVkCmdResolveImageSafe ::-               PFN_vkCmdResolveImage -> HS_vkCmdResolveImage--instance VulkanProc "vkCmdResolveImage" where-        type VkProcType "vkCmdResolveImage" = HS_vkCmdResolveImage-        vkProcSymbol = _VkCmdResolveImage--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdResolveImageUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdResolveImageSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdSetEvent :: CString--pattern VkCmdSetEvent <- (is_VkCmdSetEvent -> True)-  where VkCmdSetEvent = _VkCmdSetEvent--{-# INLINE _VkCmdSetEvent #-}--_VkCmdSetEvent :: CString-_VkCmdSetEvent = Ptr "vkCmdSetEvent\NUL"##--{-# INLINE is_VkCmdSetEvent #-}--is_VkCmdSetEvent :: CString -> Bool-is_VkCmdSetEvent = (EQ ==) . cmpCStrings _VkCmdSetEvent--type VkCmdSetEvent = "vkCmdSetEvent"---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @outside@------ > void vkCmdSetEvent--- >     ( VkCommandBuffer commandBuffer--- >     , VkEvent event--- >     , VkPipelineStageFlags stageMask--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetEvent vkCmdSetEvent registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetEvent <- vkGetInstanceProc @VkCmdSetEvent vkInstance------ or less efficient:------ > myCmdSetEvent <- vkGetProc @VkCmdSetEvent------ __Note:__ @vkCmdSetEventUnsafe@ and @vkCmdSetEventSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetEvent@ is an alias---           of @vkCmdSetEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetEventSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdSetEvent" vkCmdSetEventUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkEvent -- ^ event-                                          -> VkPipelineStageFlags -- ^ stageMask-                                                                  -> IO ()--##else-vkCmdSetEventUnsafe ::-                    VkCommandBuffer -- ^ commandBuffer-                                    -> VkEvent -- ^ event-                                               -> VkPipelineStageFlags -- ^ stageMask-                                                                       -> IO ()-vkCmdSetEventUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdSetEvent)--{-# NOINLINE vkCmdSetEventUnsafe #-}-##endif---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @outside@------ > void vkCmdSetEvent--- >     ( VkCommandBuffer commandBuffer--- >     , VkEvent event--- >     , VkPipelineStageFlags stageMask--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetEvent vkCmdSetEvent registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetEvent <- vkGetInstanceProc @VkCmdSetEvent vkInstance------ or less efficient:------ > myCmdSetEvent <- vkGetProc @VkCmdSetEvent------ __Note:__ @vkCmdSetEventUnsafe@ and @vkCmdSetEventSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetEvent@ is an alias---           of @vkCmdSetEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetEventSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdSetEvent" vkCmdSetEventSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkEvent -- ^ event-                                          -> VkPipelineStageFlags -- ^ stageMask-                                                                  -> IO ()--##else-vkCmdSetEventSafe ::-                  VkCommandBuffer -- ^ commandBuffer-                                  -> VkEvent -- ^ event-                                             -> VkPipelineStageFlags -- ^ stageMask-                                                                     -> IO ()-vkCmdSetEventSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdSetEvent)--{-# NOINLINE vkCmdSetEventSafe #-}-##endif---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @outside@------ > void vkCmdSetEvent--- >     ( VkCommandBuffer commandBuffer--- >     , VkEvent event--- >     , VkPipelineStageFlags stageMask--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetEvent vkCmdSetEvent registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetEvent <- vkGetInstanceProc @VkCmdSetEvent vkInstance------ or less efficient:------ > myCmdSetEvent <- vkGetProc @VkCmdSetEvent------ __Note:__ @vkCmdSetEventUnsafe@ and @vkCmdSetEventSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetEvent@ is an alias---           of @vkCmdSetEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetEventSafe@.----vkCmdSetEvent ::-              VkCommandBuffer -- ^ commandBuffer-                              -> VkEvent -- ^ event-                                         -> VkPipelineStageFlags -- ^ stageMask-                                                                 -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdSetEvent = vkCmdSetEventUnsafe-##else-vkCmdSetEvent = vkCmdSetEventSafe--##endif-{-# INLINE vkCmdSetEvent #-}---- | Queues: 'graphics', 'compute'.------   Renderpass: @outside@------   > void vkCmdSetEvent---   >     ( VkCommandBuffer commandBuffer---   >     , VkEvent event---   >     , VkPipelineStageFlags stageMask---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetEvent vkCmdSetEvent registry at www.khronos.org>-type HS_vkCmdSetEvent =-     VkCommandBuffer -- ^ commandBuffer-                     -> VkEvent -- ^ event-                                -> VkPipelineStageFlags -- ^ stageMask-                                                        -> IO ()--type PFN_vkCmdSetEvent = FunPtr HS_vkCmdSetEvent--foreign import ccall unsafe "dynamic" unwrapVkCmdSetEventUnsafe ::-               PFN_vkCmdSetEvent -> HS_vkCmdSetEvent--foreign import ccall safe "dynamic" unwrapVkCmdSetEventSafe ::-               PFN_vkCmdSetEvent -> HS_vkCmdSetEvent--instance VulkanProc "vkCmdSetEvent" where-        type VkProcType "vkCmdSetEvent" = HS_vkCmdSetEvent-        vkProcSymbol = _VkCmdSetEvent--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdSetEventUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdSetEventSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdResetEvent :: CString--pattern VkCmdResetEvent <- (is_VkCmdResetEvent -> True)-  where VkCmdResetEvent = _VkCmdResetEvent--{-# INLINE _VkCmdResetEvent #-}--_VkCmdResetEvent :: CString-_VkCmdResetEvent = Ptr "vkCmdResetEvent\NUL"##--{-# INLINE is_VkCmdResetEvent #-}--is_VkCmdResetEvent :: CString -> Bool-is_VkCmdResetEvent = (EQ ==) . cmpCStrings _VkCmdResetEvent--type VkCmdResetEvent = "vkCmdResetEvent"---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @outside@------ > void vkCmdResetEvent--- >     ( VkCommandBuffer commandBuffer--- >     , VkEvent event--- >     , VkPipelineStageFlags stageMask--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResetEvent vkCmdResetEvent registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdResetEvent <- vkGetInstanceProc @VkCmdResetEvent vkInstance------ or less efficient:------ > myCmdResetEvent <- vkGetProc @VkCmdResetEvent------ __Note:__ @vkCmdResetEventUnsafe@ and @vkCmdResetEventSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdResetEvent@ is an alias---           of @vkCmdResetEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdResetEventSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdResetEvent" vkCmdResetEventUnsafe-               :: VkCommandBuffer -- ^ commandBuffer-                                  -> VkEvent -- ^ event-                                             -> VkPipelineStageFlags -- ^ stageMask-                                                                     -> IO ()--##else-vkCmdResetEventUnsafe ::-                      VkCommandBuffer -- ^ commandBuffer-                                      -> VkEvent -- ^ event-                                                 -> VkPipelineStageFlags -- ^ stageMask-                                                                         -> IO ()-vkCmdResetEventUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdResetEvent)--{-# NOINLINE vkCmdResetEventUnsafe #-}-##endif---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @outside@------ > void vkCmdResetEvent--- >     ( VkCommandBuffer commandBuffer--- >     , VkEvent event--- >     , VkPipelineStageFlags stageMask--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResetEvent vkCmdResetEvent registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdResetEvent <- vkGetInstanceProc @VkCmdResetEvent vkInstance------ or less efficient:------ > myCmdResetEvent <- vkGetProc @VkCmdResetEvent------ __Note:__ @vkCmdResetEventUnsafe@ and @vkCmdResetEventSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdResetEvent@ is an alias---           of @vkCmdResetEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdResetEventSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdResetEvent" vkCmdResetEventSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkEvent -- ^ event-                                          -> VkPipelineStageFlags -- ^ stageMask-                                                                  -> IO ()--##else-vkCmdResetEventSafe ::-                    VkCommandBuffer -- ^ commandBuffer-                                    -> VkEvent -- ^ event-                                               -> VkPipelineStageFlags -- ^ stageMask-                                                                       -> IO ()-vkCmdResetEventSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdResetEvent)--{-# NOINLINE vkCmdResetEventSafe #-}-##endif---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @outside@------ > void vkCmdResetEvent--- >     ( VkCommandBuffer commandBuffer--- >     , VkEvent event--- >     , VkPipelineStageFlags stageMask--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResetEvent vkCmdResetEvent registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdResetEvent <- vkGetInstanceProc @VkCmdResetEvent vkInstance------ or less efficient:------ > myCmdResetEvent <- vkGetProc @VkCmdResetEvent------ __Note:__ @vkCmdResetEventUnsafe@ and @vkCmdResetEventSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdResetEvent@ is an alias---           of @vkCmdResetEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdResetEventSafe@.----vkCmdResetEvent ::-                VkCommandBuffer -- ^ commandBuffer-                                -> VkEvent -- ^ event-                                           -> VkPipelineStageFlags -- ^ stageMask-                                                                   -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdResetEvent = vkCmdResetEventUnsafe-##else-vkCmdResetEvent = vkCmdResetEventSafe--##endif-{-# INLINE vkCmdResetEvent #-}---- | Queues: 'graphics', 'compute'.------   Renderpass: @outside@------   > void vkCmdResetEvent---   >     ( VkCommandBuffer commandBuffer---   >     , VkEvent event---   >     , VkPipelineStageFlags stageMask---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResetEvent vkCmdResetEvent registry at www.khronos.org>-type HS_vkCmdResetEvent =-     VkCommandBuffer -- ^ commandBuffer-                     -> VkEvent -- ^ event-                                -> VkPipelineStageFlags -- ^ stageMask-                                                        -> IO ()--type PFN_vkCmdResetEvent = FunPtr HS_vkCmdResetEvent--foreign import ccall unsafe "dynamic" unwrapVkCmdResetEventUnsafe-               :: PFN_vkCmdResetEvent -> HS_vkCmdResetEvent--foreign import ccall safe "dynamic" unwrapVkCmdResetEventSafe ::-               PFN_vkCmdResetEvent -> HS_vkCmdResetEvent--instance VulkanProc "vkCmdResetEvent" where-        type VkProcType "vkCmdResetEvent" = HS_vkCmdResetEvent-        vkProcSymbol = _VkCmdResetEvent--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdResetEventUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdResetEventSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdWaitEvents :: CString--pattern VkCmdWaitEvents <- (is_VkCmdWaitEvents -> True)-  where VkCmdWaitEvents = _VkCmdWaitEvents--{-# INLINE _VkCmdWaitEvents #-}--_VkCmdWaitEvents :: CString-_VkCmdWaitEvents = Ptr "vkCmdWaitEvents\NUL"##--{-# INLINE is_VkCmdWaitEvents #-}--is_VkCmdWaitEvents :: CString -> Bool-is_VkCmdWaitEvents = (EQ ==) . cmpCStrings _VkCmdWaitEvents--type VkCmdWaitEvents = "vkCmdWaitEvents"---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @both@------ > void vkCmdWaitEvents--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t eventCount--- >     , const VkEvent* pEvents--- >     , VkPipelineStageFlags srcStageMask--- >     , VkPipelineStageFlags dstStageMask--- >     , uint32_t memoryBarrierCount--- >     , const VkMemoryBarrier* pMemoryBarriers--- >     , uint32_t bufferMemoryBarrierCount--- >     , const VkBufferMemoryBarrier* pBufferMemoryBarriers--- >     , uint32_t imageMemoryBarrierCount--- >     , const VkImageMemoryBarrier* pImageMemoryBarriers--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdWaitEvents vkCmdWaitEvents registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdWaitEvents <- vkGetInstanceProc @VkCmdWaitEvents vkInstance------ or less efficient:------ > myCmdWaitEvents <- vkGetProc @VkCmdWaitEvents------ __Note:__ @vkCmdWaitEventsUnsafe@ and @vkCmdWaitEventsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdWaitEvents@ is an alias---           of @vkCmdWaitEventsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdWaitEventsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdWaitEvents" vkCmdWaitEventsUnsafe-               ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 Word32 -- ^ eventCount-                        ->-                   Ptr VkEvent -- ^ pEvents-                               ->-                     VkPipelineStageFlags -- ^ srcStageMask-                                          ->-                       VkPipelineStageFlags -- ^ dstStageMask-                                            ->-                         Word32 -- ^ memoryBarrierCount-                                ->-                           Ptr VkMemoryBarrier -- ^ pMemoryBarriers-                                               ->-                             Word32 -- ^ bufferMemoryBarrierCount-                                    ->-                               Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers-                                                         ->-                                 Word32 -- ^ imageMemoryBarrierCount-                                        -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers-                                                                    -> IO ()--##else-vkCmdWaitEventsUnsafe ::-                      VkCommandBuffer -- ^ commandBuffer-                                      ->-                        Word32 -- ^ eventCount-                               ->-                          Ptr VkEvent -- ^ pEvents-                                      ->-                            VkPipelineStageFlags -- ^ srcStageMask-                                                 ->-                              VkPipelineStageFlags -- ^ dstStageMask-                                                   ->-                                Word32 -- ^ memoryBarrierCount-                                       ->-                                  Ptr VkMemoryBarrier -- ^ pMemoryBarriers-                                                      ->-                                    Word32 -- ^ bufferMemoryBarrierCount-                                           ->-                                      Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers-                                                                ->-                                        Word32 -- ^ imageMemoryBarrierCount-                                               -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers-                                                                           -> IO ()-vkCmdWaitEventsUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdWaitEvents)--{-# NOINLINE vkCmdWaitEventsUnsafe #-}-##endif---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @both@------ > void vkCmdWaitEvents--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t eventCount--- >     , const VkEvent* pEvents--- >     , VkPipelineStageFlags srcStageMask--- >     , VkPipelineStageFlags dstStageMask--- >     , uint32_t memoryBarrierCount--- >     , const VkMemoryBarrier* pMemoryBarriers--- >     , uint32_t bufferMemoryBarrierCount--- >     , const VkBufferMemoryBarrier* pBufferMemoryBarriers--- >     , uint32_t imageMemoryBarrierCount--- >     , const VkImageMemoryBarrier* pImageMemoryBarriers--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdWaitEvents vkCmdWaitEvents registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdWaitEvents <- vkGetInstanceProc @VkCmdWaitEvents vkInstance------ or less efficient:------ > myCmdWaitEvents <- vkGetProc @VkCmdWaitEvents------ __Note:__ @vkCmdWaitEventsUnsafe@ and @vkCmdWaitEventsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdWaitEvents@ is an alias---           of @vkCmdWaitEventsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdWaitEventsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdWaitEvents" vkCmdWaitEventsSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 Word32 -- ^ eventCount-                        ->-                   Ptr VkEvent -- ^ pEvents-                               ->-                     VkPipelineStageFlags -- ^ srcStageMask-                                          ->-                       VkPipelineStageFlags -- ^ dstStageMask-                                            ->-                         Word32 -- ^ memoryBarrierCount-                                ->-                           Ptr VkMemoryBarrier -- ^ pMemoryBarriers-                                               ->-                             Word32 -- ^ bufferMemoryBarrierCount-                                    ->-                               Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers-                                                         ->-                                 Word32 -- ^ imageMemoryBarrierCount-                                        -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers-                                                                    -> IO ()--##else-vkCmdWaitEventsSafe ::-                    VkCommandBuffer -- ^ commandBuffer-                                    ->-                      Word32 -- ^ eventCount-                             ->-                        Ptr VkEvent -- ^ pEvents-                                    ->-                          VkPipelineStageFlags -- ^ srcStageMask-                                               ->-                            VkPipelineStageFlags -- ^ dstStageMask-                                                 ->-                              Word32 -- ^ memoryBarrierCount-                                     ->-                                Ptr VkMemoryBarrier -- ^ pMemoryBarriers-                                                    ->-                                  Word32 -- ^ bufferMemoryBarrierCount-                                         ->-                                    Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers-                                                              ->-                                      Word32 -- ^ imageMemoryBarrierCount-                                             -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers-                                                                         -> IO ()-vkCmdWaitEventsSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdWaitEvents)--{-# NOINLINE vkCmdWaitEventsSafe #-}-##endif---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @both@------ > void vkCmdWaitEvents--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t eventCount--- >     , const VkEvent* pEvents--- >     , VkPipelineStageFlags srcStageMask--- >     , VkPipelineStageFlags dstStageMask--- >     , uint32_t memoryBarrierCount--- >     , const VkMemoryBarrier* pMemoryBarriers--- >     , uint32_t bufferMemoryBarrierCount--- >     , const VkBufferMemoryBarrier* pBufferMemoryBarriers--- >     , uint32_t imageMemoryBarrierCount--- >     , const VkImageMemoryBarrier* pImageMemoryBarriers--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdWaitEvents vkCmdWaitEvents registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdWaitEvents <- vkGetInstanceProc @VkCmdWaitEvents vkInstance------ or less efficient:------ > myCmdWaitEvents <- vkGetProc @VkCmdWaitEvents------ __Note:__ @vkCmdWaitEventsUnsafe@ and @vkCmdWaitEventsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdWaitEvents@ is an alias---           of @vkCmdWaitEventsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdWaitEventsSafe@.----vkCmdWaitEvents ::-                VkCommandBuffer -- ^ commandBuffer-                                ->-                  Word32 -- ^ eventCount-                         ->-                    Ptr VkEvent -- ^ pEvents-                                ->-                      VkPipelineStageFlags -- ^ srcStageMask-                                           ->-                        VkPipelineStageFlags -- ^ dstStageMask-                                             ->-                          Word32 -- ^ memoryBarrierCount-                                 ->-                            Ptr VkMemoryBarrier -- ^ pMemoryBarriers-                                                ->-                              Word32 -- ^ bufferMemoryBarrierCount-                                     ->-                                Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers-                                                          ->-                                  Word32 -- ^ imageMemoryBarrierCount-                                         -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers-                                                                     -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdWaitEvents = vkCmdWaitEventsUnsafe-##else-vkCmdWaitEvents = vkCmdWaitEventsSafe--##endif-{-# INLINE vkCmdWaitEvents #-}---- | Queues: 'graphics', 'compute'.------   Renderpass: @both@------   > void vkCmdWaitEvents---   >     ( VkCommandBuffer commandBuffer---   >     , uint32_t eventCount---   >     , const VkEvent* pEvents---   >     , VkPipelineStageFlags srcStageMask---   >     , VkPipelineStageFlags dstStageMask---   >     , uint32_t memoryBarrierCount---   >     , const VkMemoryBarrier* pMemoryBarriers---   >     , uint32_t bufferMemoryBarrierCount---   >     , const VkBufferMemoryBarrier* pBufferMemoryBarriers---   >     , uint32_t imageMemoryBarrierCount---   >     , const VkImageMemoryBarrier* pImageMemoryBarriers---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdWaitEvents vkCmdWaitEvents registry at www.khronos.org>-type HS_vkCmdWaitEvents =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       Word32 -- ^ eventCount-              ->-         Ptr VkEvent -- ^ pEvents-                     ->-           VkPipelineStageFlags -- ^ srcStageMask-                                ->-             VkPipelineStageFlags -- ^ dstStageMask-                                  ->-               Word32 -- ^ memoryBarrierCount-                      ->-                 Ptr VkMemoryBarrier -- ^ pMemoryBarriers-                                     ->-                   Word32 -- ^ bufferMemoryBarrierCount-                          ->-                     Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers-                                               ->-                       Word32 -- ^ imageMemoryBarrierCount-                              -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers-                                                          -> IO ()--type PFN_vkCmdWaitEvents = FunPtr HS_vkCmdWaitEvents--foreign import ccall unsafe "dynamic" unwrapVkCmdWaitEventsUnsafe-               :: PFN_vkCmdWaitEvents -> HS_vkCmdWaitEvents--foreign import ccall safe "dynamic" unwrapVkCmdWaitEventsSafe ::-               PFN_vkCmdWaitEvents -> HS_vkCmdWaitEvents--instance VulkanProc "vkCmdWaitEvents" where-        type VkProcType "vkCmdWaitEvents" = HS_vkCmdWaitEvents-        vkProcSymbol = _VkCmdWaitEvents--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdWaitEventsUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdWaitEventsSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdPipelineBarrier :: CString--pattern VkCmdPipelineBarrier <- (is_VkCmdPipelineBarrier -> True)-  where VkCmdPipelineBarrier = _VkCmdPipelineBarrier--{-# INLINE _VkCmdPipelineBarrier #-}--_VkCmdPipelineBarrier :: CString-_VkCmdPipelineBarrier = Ptr "vkCmdPipelineBarrier\NUL"##--{-# INLINE is_VkCmdPipelineBarrier #-}--is_VkCmdPipelineBarrier :: CString -> Bool-is_VkCmdPipelineBarrier-  = (EQ ==) . cmpCStrings _VkCmdPipelineBarrier--type VkCmdPipelineBarrier = "vkCmdPipelineBarrier"---- |--- Queues: 'transfer', 'graphics', 'compute'.------ Renderpass: @both@------ > void vkCmdPipelineBarrier--- >     ( VkCommandBuffer commandBuffer--- >     , VkPipelineStageFlags srcStageMask--- >     , VkPipelineStageFlags dstStageMask--- >     , VkDependencyFlags dependencyFlags--- >     , uint32_t memoryBarrierCount--- >     , const VkMemoryBarrier* pMemoryBarriers--- >     , uint32_t bufferMemoryBarrierCount--- >     , const VkBufferMemoryBarrier* pBufferMemoryBarriers--- >     , uint32_t imageMemoryBarrierCount--- >     , const VkImageMemoryBarrier* pImageMemoryBarriers--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPipelineBarrier vkCmdPipelineBarrier registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdPipelineBarrier <- vkGetInstanceProc @VkCmdPipelineBarrier vkInstance------ or less efficient:------ > myCmdPipelineBarrier <- vkGetProc @VkCmdPipelineBarrier------ __Note:__ @vkCmdPipelineBarrierUnsafe@ and @vkCmdPipelineBarrierSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdPipelineBarrier@ is an alias---           of @vkCmdPipelineBarrierUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdPipelineBarrierSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdPipelineBarrier"-               vkCmdPipelineBarrierUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkPipelineStageFlags -- ^ srcStageMask-                                      ->-                   VkPipelineStageFlags -- ^ dstStageMask-                                        ->-                     VkDependencyFlags -- ^ dependencyFlags-                                       ->-                       Word32 -- ^ memoryBarrierCount-                              ->-                         Ptr VkMemoryBarrier -- ^ pMemoryBarriers-                                             ->-                           Word32 -- ^ bufferMemoryBarrierCount-                                  ->-                             Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers-                                                       ->-                               Word32 -- ^ imageMemoryBarrierCount-                                      -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers-                                                                  -> IO ()--##else-vkCmdPipelineBarrierUnsafe ::-                           VkCommandBuffer -- ^ commandBuffer-                                           ->-                             VkPipelineStageFlags -- ^ srcStageMask-                                                  ->-                               VkPipelineStageFlags -- ^ dstStageMask-                                                    ->-                                 VkDependencyFlags -- ^ dependencyFlags-                                                   ->-                                   Word32 -- ^ memoryBarrierCount-                                          ->-                                     Ptr VkMemoryBarrier -- ^ pMemoryBarriers-                                                         ->-                                       Word32 -- ^ bufferMemoryBarrierCount-                                              ->-                                         Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers-                                                                   ->-                                           Word32 -- ^ imageMemoryBarrierCount-                                                  -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers-                                                                              -> IO ()-vkCmdPipelineBarrierUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdPipelineBarrier)--{-# NOINLINE vkCmdPipelineBarrierUnsafe #-}-##endif---- |--- Queues: 'transfer', 'graphics', 'compute'.------ Renderpass: @both@------ > void vkCmdPipelineBarrier--- >     ( VkCommandBuffer commandBuffer--- >     , VkPipelineStageFlags srcStageMask--- >     , VkPipelineStageFlags dstStageMask--- >     , VkDependencyFlags dependencyFlags--- >     , uint32_t memoryBarrierCount--- >     , const VkMemoryBarrier* pMemoryBarriers--- >     , uint32_t bufferMemoryBarrierCount--- >     , const VkBufferMemoryBarrier* pBufferMemoryBarriers--- >     , uint32_t imageMemoryBarrierCount--- >     , const VkImageMemoryBarrier* pImageMemoryBarriers--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPipelineBarrier vkCmdPipelineBarrier registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdPipelineBarrier <- vkGetInstanceProc @VkCmdPipelineBarrier vkInstance------ or less efficient:------ > myCmdPipelineBarrier <- vkGetProc @VkCmdPipelineBarrier------ __Note:__ @vkCmdPipelineBarrierUnsafe@ and @vkCmdPipelineBarrierSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdPipelineBarrier@ is an alias---           of @vkCmdPipelineBarrierUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdPipelineBarrierSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdPipelineBarrier"-               vkCmdPipelineBarrierSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkPipelineStageFlags -- ^ srcStageMask-                                      ->-                   VkPipelineStageFlags -- ^ dstStageMask-                                        ->-                     VkDependencyFlags -- ^ dependencyFlags-                                       ->-                       Word32 -- ^ memoryBarrierCount-                              ->-                         Ptr VkMemoryBarrier -- ^ pMemoryBarriers-                                             ->-                           Word32 -- ^ bufferMemoryBarrierCount-                                  ->-                             Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers-                                                       ->-                               Word32 -- ^ imageMemoryBarrierCount-                                      -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers-                                                                  -> IO ()--##else-vkCmdPipelineBarrierSafe ::-                         VkCommandBuffer -- ^ commandBuffer-                                         ->-                           VkPipelineStageFlags -- ^ srcStageMask-                                                ->-                             VkPipelineStageFlags -- ^ dstStageMask-                                                  ->-                               VkDependencyFlags -- ^ dependencyFlags-                                                 ->-                                 Word32 -- ^ memoryBarrierCount-                                        ->-                                   Ptr VkMemoryBarrier -- ^ pMemoryBarriers-                                                       ->-                                     Word32 -- ^ bufferMemoryBarrierCount-                                            ->-                                       Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers-                                                                 ->-                                         Word32 -- ^ imageMemoryBarrierCount-                                                -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers-                                                                            -> IO ()-vkCmdPipelineBarrierSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdPipelineBarrier)--{-# NOINLINE vkCmdPipelineBarrierSafe #-}-##endif---- |--- Queues: 'transfer', 'graphics', 'compute'.------ Renderpass: @both@------ > void vkCmdPipelineBarrier--- >     ( VkCommandBuffer commandBuffer--- >     , VkPipelineStageFlags srcStageMask--- >     , VkPipelineStageFlags dstStageMask--- >     , VkDependencyFlags dependencyFlags--- >     , uint32_t memoryBarrierCount--- >     , const VkMemoryBarrier* pMemoryBarriers--- >     , uint32_t bufferMemoryBarrierCount--- >     , const VkBufferMemoryBarrier* pBufferMemoryBarriers--- >     , uint32_t imageMemoryBarrierCount--- >     , const VkImageMemoryBarrier* pImageMemoryBarriers--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPipelineBarrier vkCmdPipelineBarrier registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdPipelineBarrier <- vkGetInstanceProc @VkCmdPipelineBarrier vkInstance------ or less efficient:------ > myCmdPipelineBarrier <- vkGetProc @VkCmdPipelineBarrier------ __Note:__ @vkCmdPipelineBarrierUnsafe@ and @vkCmdPipelineBarrierSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdPipelineBarrier@ is an alias---           of @vkCmdPipelineBarrierUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdPipelineBarrierSafe@.----vkCmdPipelineBarrier ::-                     VkCommandBuffer -- ^ commandBuffer-                                     ->-                       VkPipelineStageFlags -- ^ srcStageMask-                                            ->-                         VkPipelineStageFlags -- ^ dstStageMask-                                              ->-                           VkDependencyFlags -- ^ dependencyFlags-                                             ->-                             Word32 -- ^ memoryBarrierCount-                                    ->-                               Ptr VkMemoryBarrier -- ^ pMemoryBarriers-                                                   ->-                                 Word32 -- ^ bufferMemoryBarrierCount-                                        ->-                                   Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers-                                                             ->-                                     Word32 -- ^ imageMemoryBarrierCount-                                            -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers-                                                                        -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdPipelineBarrier = vkCmdPipelineBarrierUnsafe-##else-vkCmdPipelineBarrier = vkCmdPipelineBarrierSafe--##endif-{-# INLINE vkCmdPipelineBarrier #-}---- | Queues: 'transfer', 'graphics', 'compute'.------   Renderpass: @both@------   > void vkCmdPipelineBarrier---   >     ( VkCommandBuffer commandBuffer---   >     , VkPipelineStageFlags srcStageMask---   >     , VkPipelineStageFlags dstStageMask---   >     , VkDependencyFlags dependencyFlags---   >     , uint32_t memoryBarrierCount---   >     , const VkMemoryBarrier* pMemoryBarriers---   >     , uint32_t bufferMemoryBarrierCount---   >     , const VkBufferMemoryBarrier* pBufferMemoryBarriers---   >     , uint32_t imageMemoryBarrierCount---   >     , const VkImageMemoryBarrier* pImageMemoryBarriers---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPipelineBarrier vkCmdPipelineBarrier registry at www.khronos.org>-type HS_vkCmdPipelineBarrier =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       VkPipelineStageFlags -- ^ srcStageMask-                            ->-         VkPipelineStageFlags -- ^ dstStageMask-                              ->-           VkDependencyFlags -- ^ dependencyFlags-                             ->-             Word32 -- ^ memoryBarrierCount-                    ->-               Ptr VkMemoryBarrier -- ^ pMemoryBarriers-                                   ->-                 Word32 -- ^ bufferMemoryBarrierCount-                        ->-                   Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers-                                             ->-                     Word32 -- ^ imageMemoryBarrierCount-                            -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers-                                                        -> IO ()--type PFN_vkCmdPipelineBarrier = FunPtr HS_vkCmdPipelineBarrier--foreign import ccall unsafe "dynamic"-               unwrapVkCmdPipelineBarrierUnsafe ::-               PFN_vkCmdPipelineBarrier -> HS_vkCmdPipelineBarrier--foreign import ccall safe "dynamic" unwrapVkCmdPipelineBarrierSafe-               :: PFN_vkCmdPipelineBarrier -> HS_vkCmdPipelineBarrier--instance VulkanProc "vkCmdPipelineBarrier" where-        type VkProcType "vkCmdPipelineBarrier" = HS_vkCmdPipelineBarrier-        vkProcSymbol = _VkCmdPipelineBarrier--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdPipelineBarrierUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdPipelineBarrierSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdBeginQuery :: CString--pattern VkCmdBeginQuery <- (is_VkCmdBeginQuery -> True)-  where VkCmdBeginQuery = _VkCmdBeginQuery--{-# INLINE _VkCmdBeginQuery #-}--_VkCmdBeginQuery :: CString-_VkCmdBeginQuery = Ptr "vkCmdBeginQuery\NUL"##--{-# INLINE is_VkCmdBeginQuery #-}--is_VkCmdBeginQuery :: CString -> Bool-is_VkCmdBeginQuery = (EQ ==) . cmpCStrings _VkCmdBeginQuery--type VkCmdBeginQuery = "vkCmdBeginQuery"---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @both@------ > void vkCmdBeginQuery--- >     ( VkCommandBuffer commandBuffer--- >     , VkQueryPool queryPool--- >     , uint32_t query--- >     , VkQueryControlFlags flags--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBeginQuery vkCmdBeginQuery registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdBeginQuery <- vkGetInstanceProc @VkCmdBeginQuery vkInstance------ or less efficient:------ > myCmdBeginQuery <- vkGetProc @VkCmdBeginQuery------ __Note:__ @vkCmdBeginQueryUnsafe@ and @vkCmdBeginQuerySafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdBeginQuery@ is an alias---           of @vkCmdBeginQueryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdBeginQuerySafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdBeginQuery" vkCmdBeginQueryUnsafe-               ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkQueryPool -- ^ queryPool-                             -> Word32 -- ^ query-                                       -> VkQueryControlFlags -- ^ flags-                                                              -> IO ()--##else-vkCmdBeginQueryUnsafe ::-                      VkCommandBuffer -- ^ commandBuffer-                                      ->-                        VkQueryPool -- ^ queryPool-                                    -> Word32 -- ^ query-                                              -> VkQueryControlFlags -- ^ flags-                                                                     -> IO ()-vkCmdBeginQueryUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdBeginQuery)--{-# NOINLINE vkCmdBeginQueryUnsafe #-}-##endif---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @both@------ > void vkCmdBeginQuery--- >     ( VkCommandBuffer commandBuffer--- >     , VkQueryPool queryPool--- >     , uint32_t query--- >     , VkQueryControlFlags flags--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBeginQuery vkCmdBeginQuery registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdBeginQuery <- vkGetInstanceProc @VkCmdBeginQuery vkInstance------ or less efficient:------ > myCmdBeginQuery <- vkGetProc @VkCmdBeginQuery------ __Note:__ @vkCmdBeginQueryUnsafe@ and @vkCmdBeginQuerySafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdBeginQuery@ is an alias---           of @vkCmdBeginQueryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdBeginQuerySafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdBeginQuery" vkCmdBeginQuerySafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkQueryPool -- ^ queryPool-                             -> Word32 -- ^ query-                                       -> VkQueryControlFlags -- ^ flags-                                                              -> IO ()--##else-vkCmdBeginQuerySafe ::-                    VkCommandBuffer -- ^ commandBuffer-                                    ->-                      VkQueryPool -- ^ queryPool-                                  -> Word32 -- ^ query-                                            -> VkQueryControlFlags -- ^ flags-                                                                   -> IO ()-vkCmdBeginQuerySafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdBeginQuery)--{-# NOINLINE vkCmdBeginQuerySafe #-}-##endif---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @both@------ > void vkCmdBeginQuery--- >     ( VkCommandBuffer commandBuffer--- >     , VkQueryPool queryPool--- >     , uint32_t query--- >     , VkQueryControlFlags flags--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBeginQuery vkCmdBeginQuery registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdBeginQuery <- vkGetInstanceProc @VkCmdBeginQuery vkInstance------ or less efficient:------ > myCmdBeginQuery <- vkGetProc @VkCmdBeginQuery------ __Note:__ @vkCmdBeginQueryUnsafe@ and @vkCmdBeginQuerySafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdBeginQuery@ is an alias---           of @vkCmdBeginQueryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdBeginQuerySafe@.----vkCmdBeginQuery ::-                VkCommandBuffer -- ^ commandBuffer-                                ->-                  VkQueryPool -- ^ queryPool-                              -> Word32 -- ^ query-                                        -> VkQueryControlFlags -- ^ flags-                                                               -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdBeginQuery = vkCmdBeginQueryUnsafe-##else-vkCmdBeginQuery = vkCmdBeginQuerySafe--##endif-{-# INLINE vkCmdBeginQuery #-}---- | Queues: 'graphics', 'compute'.------   Renderpass: @both@------   > void vkCmdBeginQuery---   >     ( VkCommandBuffer commandBuffer---   >     , VkQueryPool queryPool---   >     , uint32_t query---   >     , VkQueryControlFlags flags---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBeginQuery vkCmdBeginQuery registry at www.khronos.org>-type HS_vkCmdBeginQuery =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       VkQueryPool -- ^ queryPool-                   -> Word32 -- ^ query-                             -> VkQueryControlFlags -- ^ flags-                                                    -> IO ()--type PFN_vkCmdBeginQuery = FunPtr HS_vkCmdBeginQuery--foreign import ccall unsafe "dynamic" unwrapVkCmdBeginQueryUnsafe-               :: PFN_vkCmdBeginQuery -> HS_vkCmdBeginQuery--foreign import ccall safe "dynamic" unwrapVkCmdBeginQuerySafe ::-               PFN_vkCmdBeginQuery -> HS_vkCmdBeginQuery--instance VulkanProc "vkCmdBeginQuery" where-        type VkProcType "vkCmdBeginQuery" = HS_vkCmdBeginQuery-        vkProcSymbol = _VkCmdBeginQuery--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdBeginQueryUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdBeginQuerySafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdEndQuery :: CString--pattern VkCmdEndQuery <- (is_VkCmdEndQuery -> True)-  where VkCmdEndQuery = _VkCmdEndQuery--{-# INLINE _VkCmdEndQuery #-}--_VkCmdEndQuery :: CString-_VkCmdEndQuery = Ptr "vkCmdEndQuery\NUL"##--{-# INLINE is_VkCmdEndQuery #-}--is_VkCmdEndQuery :: CString -> Bool-is_VkCmdEndQuery = (EQ ==) . cmpCStrings _VkCmdEndQuery--type VkCmdEndQuery = "vkCmdEndQuery"---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @both@------ > void vkCmdEndQuery--- >     ( VkCommandBuffer commandBuffer--- >     , VkQueryPool queryPool--- >     , uint32_t query--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdEndQuery vkCmdEndQuery registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdEndQuery <- vkGetInstanceProc @VkCmdEndQuery vkInstance------ or less efficient:------ > myCmdEndQuery <- vkGetProc @VkCmdEndQuery------ __Note:__ @vkCmdEndQueryUnsafe@ and @vkCmdEndQuerySafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdEndQuery@ is an alias---           of @vkCmdEndQueryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdEndQuerySafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdEndQuery" vkCmdEndQueryUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkQueryPool -- ^ queryPool-                                              -> Word32 -- ^ query-                                                        -> IO ()--##else-vkCmdEndQueryUnsafe ::-                    VkCommandBuffer -- ^ commandBuffer-                                    -> VkQueryPool -- ^ queryPool-                                                   -> Word32 -- ^ query-                                                             -> IO ()-vkCmdEndQueryUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdEndQuery)--{-# NOINLINE vkCmdEndQueryUnsafe #-}-##endif---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @both@------ > void vkCmdEndQuery--- >     ( VkCommandBuffer commandBuffer--- >     , VkQueryPool queryPool--- >     , uint32_t query--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdEndQuery vkCmdEndQuery registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdEndQuery <- vkGetInstanceProc @VkCmdEndQuery vkInstance------ or less efficient:------ > myCmdEndQuery <- vkGetProc @VkCmdEndQuery------ __Note:__ @vkCmdEndQueryUnsafe@ and @vkCmdEndQuerySafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdEndQuery@ is an alias---           of @vkCmdEndQueryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdEndQuerySafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdEndQuery" vkCmdEndQuerySafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkQueryPool -- ^ queryPool-                                              -> Word32 -- ^ query-                                                        -> IO ()--##else-vkCmdEndQuerySafe ::-                  VkCommandBuffer -- ^ commandBuffer-                                  -> VkQueryPool -- ^ queryPool-                                                 -> Word32 -- ^ query-                                                           -> IO ()-vkCmdEndQuerySafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdEndQuery)--{-# NOINLINE vkCmdEndQuerySafe #-}-##endif---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @both@------ > void vkCmdEndQuery--- >     ( VkCommandBuffer commandBuffer--- >     , VkQueryPool queryPool--- >     , uint32_t query--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdEndQuery vkCmdEndQuery registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdEndQuery <- vkGetInstanceProc @VkCmdEndQuery vkInstance------ or less efficient:------ > myCmdEndQuery <- vkGetProc @VkCmdEndQuery------ __Note:__ @vkCmdEndQueryUnsafe@ and @vkCmdEndQuerySafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdEndQuery@ is an alias---           of @vkCmdEndQueryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdEndQuerySafe@.----vkCmdEndQuery :: VkCommandBuffer -- ^ commandBuffer-                                 -> VkQueryPool -- ^ queryPool-                                                -> Word32 -- ^ query-                                                          -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdEndQuery = vkCmdEndQueryUnsafe-##else-vkCmdEndQuery = vkCmdEndQuerySafe--##endif-{-# INLINE vkCmdEndQuery #-}---- | Queues: 'graphics', 'compute'.------   Renderpass: @both@------   > void vkCmdEndQuery---   >     ( VkCommandBuffer commandBuffer---   >     , VkQueryPool queryPool---   >     , uint32_t query---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdEndQuery vkCmdEndQuery registry at www.khronos.org>-type HS_vkCmdEndQuery =-     VkCommandBuffer -- ^ commandBuffer-                     -> VkQueryPool -- ^ queryPool-                                    -> Word32 -- ^ query-                                              -> IO ()--type PFN_vkCmdEndQuery = FunPtr HS_vkCmdEndQuery--foreign import ccall unsafe "dynamic" unwrapVkCmdEndQueryUnsafe ::-               PFN_vkCmdEndQuery -> HS_vkCmdEndQuery--foreign import ccall safe "dynamic" unwrapVkCmdEndQuerySafe ::-               PFN_vkCmdEndQuery -> HS_vkCmdEndQuery--instance VulkanProc "vkCmdEndQuery" where-        type VkProcType "vkCmdEndQuery" = HS_vkCmdEndQuery-        vkProcSymbol = _VkCmdEndQuery--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdEndQueryUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdEndQuerySafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdResetQueryPool :: CString--pattern VkCmdResetQueryPool <- (is_VkCmdResetQueryPool -> True)-  where VkCmdResetQueryPool = _VkCmdResetQueryPool--{-# INLINE _VkCmdResetQueryPool #-}--_VkCmdResetQueryPool :: CString-_VkCmdResetQueryPool = Ptr "vkCmdResetQueryPool\NUL"##--{-# INLINE is_VkCmdResetQueryPool #-}--is_VkCmdResetQueryPool :: CString -> Bool-is_VkCmdResetQueryPool = (EQ ==) . cmpCStrings _VkCmdResetQueryPool--type VkCmdResetQueryPool = "vkCmdResetQueryPool"---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @outside@------ > void vkCmdResetQueryPool--- >     ( VkCommandBuffer commandBuffer--- >     , VkQueryPool queryPool--- >     , uint32_t firstQuery--- >     , uint32_t queryCount--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResetQueryPool vkCmdResetQueryPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdResetQueryPool <- vkGetInstanceProc @VkCmdResetQueryPool vkInstance------ or less efficient:------ > myCmdResetQueryPool <- vkGetProc @VkCmdResetQueryPool------ __Note:__ @vkCmdResetQueryPoolUnsafe@ and @vkCmdResetQueryPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdResetQueryPool@ is an alias---           of @vkCmdResetQueryPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdResetQueryPoolSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdResetQueryPool"-               vkCmdResetQueryPoolUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkQueryPool -- ^ queryPool-                                              -> Word32 -- ^ firstQuery-                                                        -> Word32 -- ^ queryCount-                                                                  -> IO ()--##else-vkCmdResetQueryPoolUnsafe ::-                          VkCommandBuffer -- ^ commandBuffer-                                          -> VkQueryPool -- ^ queryPool-                                                         -> Word32 -- ^ firstQuery-                                                                   -> Word32 -- ^ queryCount-                                                                             -> IO ()-vkCmdResetQueryPoolUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdResetQueryPool)--{-# NOINLINE vkCmdResetQueryPoolUnsafe #-}-##endif---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @outside@------ > void vkCmdResetQueryPool--- >     ( VkCommandBuffer commandBuffer--- >     , VkQueryPool queryPool--- >     , uint32_t firstQuery--- >     , uint32_t queryCount--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResetQueryPool vkCmdResetQueryPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdResetQueryPool <- vkGetInstanceProc @VkCmdResetQueryPool vkInstance------ or less efficient:------ > myCmdResetQueryPool <- vkGetProc @VkCmdResetQueryPool------ __Note:__ @vkCmdResetQueryPoolUnsafe@ and @vkCmdResetQueryPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdResetQueryPool@ is an alias---           of @vkCmdResetQueryPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdResetQueryPoolSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdResetQueryPool"-               vkCmdResetQueryPoolSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkQueryPool -- ^ queryPool-                                              -> Word32 -- ^ firstQuery-                                                        -> Word32 -- ^ queryCount-                                                                  -> IO ()--##else-vkCmdResetQueryPoolSafe ::-                        VkCommandBuffer -- ^ commandBuffer-                                        -> VkQueryPool -- ^ queryPool-                                                       -> Word32 -- ^ firstQuery-                                                                 -> Word32 -- ^ queryCount-                                                                           -> IO ()-vkCmdResetQueryPoolSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdResetQueryPool)--{-# NOINLINE vkCmdResetQueryPoolSafe #-}-##endif---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @outside@------ > void vkCmdResetQueryPool--- >     ( VkCommandBuffer commandBuffer--- >     , VkQueryPool queryPool--- >     , uint32_t firstQuery--- >     , uint32_t queryCount--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResetQueryPool vkCmdResetQueryPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdResetQueryPool <- vkGetInstanceProc @VkCmdResetQueryPool vkInstance------ or less efficient:------ > myCmdResetQueryPool <- vkGetProc @VkCmdResetQueryPool------ __Note:__ @vkCmdResetQueryPoolUnsafe@ and @vkCmdResetQueryPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdResetQueryPool@ is an alias---           of @vkCmdResetQueryPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdResetQueryPoolSafe@.----vkCmdResetQueryPool ::-                    VkCommandBuffer -- ^ commandBuffer-                                    -> VkQueryPool -- ^ queryPool-                                                   -> Word32 -- ^ firstQuery-                                                             -> Word32 -- ^ queryCount-                                                                       -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdResetQueryPool = vkCmdResetQueryPoolUnsafe-##else-vkCmdResetQueryPool = vkCmdResetQueryPoolSafe--##endif-{-# INLINE vkCmdResetQueryPool #-}---- | Queues: 'graphics', 'compute'.------   Renderpass: @outside@------   > void vkCmdResetQueryPool---   >     ( VkCommandBuffer commandBuffer---   >     , VkQueryPool queryPool---   >     , uint32_t firstQuery---   >     , uint32_t queryCount---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResetQueryPool vkCmdResetQueryPool registry at www.khronos.org>-type HS_vkCmdResetQueryPool =-     VkCommandBuffer -- ^ commandBuffer-                     -> VkQueryPool -- ^ queryPool-                                    -> Word32 -- ^ firstQuery-                                              -> Word32 -- ^ queryCount-                                                        -> IO ()--type PFN_vkCmdResetQueryPool = FunPtr HS_vkCmdResetQueryPool--foreign import ccall unsafe "dynamic"-               unwrapVkCmdResetQueryPoolUnsafe ::-               PFN_vkCmdResetQueryPool -> HS_vkCmdResetQueryPool--foreign import ccall safe "dynamic" unwrapVkCmdResetQueryPoolSafe-               :: PFN_vkCmdResetQueryPool -> HS_vkCmdResetQueryPool--instance VulkanProc "vkCmdResetQueryPool" where-        type VkProcType "vkCmdResetQueryPool" = HS_vkCmdResetQueryPool-        vkProcSymbol = _VkCmdResetQueryPool--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdResetQueryPoolUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdResetQueryPoolSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdWriteTimestamp :: CString--pattern VkCmdWriteTimestamp <- (is_VkCmdWriteTimestamp -> True)-  where VkCmdWriteTimestamp = _VkCmdWriteTimestamp--{-# INLINE _VkCmdWriteTimestamp #-}--_VkCmdWriteTimestamp :: CString-_VkCmdWriteTimestamp = Ptr "vkCmdWriteTimestamp\NUL"##--{-# INLINE is_VkCmdWriteTimestamp #-}--is_VkCmdWriteTimestamp :: CString -> Bool-is_VkCmdWriteTimestamp = (EQ ==) . cmpCStrings _VkCmdWriteTimestamp--type VkCmdWriteTimestamp = "vkCmdWriteTimestamp"---- |--- Queues: 'transfer', 'graphics', 'compute'.------ Renderpass: @both@------ Pipeline: @transfer@------ > void vkCmdWriteTimestamp--- >     ( VkCommandBuffer commandBuffer--- >     , VkPipelineStageFlagBits pipelineStage--- >     , VkQueryPool queryPool--- >     , uint32_t query--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdWriteTimestamp vkCmdWriteTimestamp registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdWriteTimestamp <- vkGetInstanceProc @VkCmdWriteTimestamp vkInstance------ or less efficient:------ > myCmdWriteTimestamp <- vkGetProc @VkCmdWriteTimestamp------ __Note:__ @vkCmdWriteTimestampUnsafe@ and @vkCmdWriteTimestampSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdWriteTimestamp@ is an alias---           of @vkCmdWriteTimestampUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdWriteTimestampSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdWriteTimestamp"-               vkCmdWriteTimestampUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkPipelineStageFlagBits -- ^ pipelineStage-                                         -> VkQueryPool -- ^ queryPool-                                                        -> Word32 -- ^ query-                                                                  -> IO ()--##else-vkCmdWriteTimestampUnsafe ::-                          VkCommandBuffer -- ^ commandBuffer-                                          ->-                            VkPipelineStageFlagBits -- ^ pipelineStage-                                                    -> VkQueryPool -- ^ queryPool-                                                                   -> Word32 -- ^ query-                                                                             -> IO ()-vkCmdWriteTimestampUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdWriteTimestamp)--{-# NOINLINE vkCmdWriteTimestampUnsafe #-}-##endif---- |--- Queues: 'transfer', 'graphics', 'compute'.------ Renderpass: @both@------ Pipeline: @transfer@------ > void vkCmdWriteTimestamp--- >     ( VkCommandBuffer commandBuffer--- >     , VkPipelineStageFlagBits pipelineStage--- >     , VkQueryPool queryPool--- >     , uint32_t query--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdWriteTimestamp vkCmdWriteTimestamp registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdWriteTimestamp <- vkGetInstanceProc @VkCmdWriteTimestamp vkInstance------ or less efficient:------ > myCmdWriteTimestamp <- vkGetProc @VkCmdWriteTimestamp------ __Note:__ @vkCmdWriteTimestampUnsafe@ and @vkCmdWriteTimestampSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdWriteTimestamp@ is an alias---           of @vkCmdWriteTimestampUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdWriteTimestampSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdWriteTimestamp"-               vkCmdWriteTimestampSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkPipelineStageFlagBits -- ^ pipelineStage-                                         -> VkQueryPool -- ^ queryPool-                                                        -> Word32 -- ^ query-                                                                  -> IO ()--##else-vkCmdWriteTimestampSafe ::-                        VkCommandBuffer -- ^ commandBuffer-                                        ->-                          VkPipelineStageFlagBits -- ^ pipelineStage-                                                  -> VkQueryPool -- ^ queryPool-                                                                 -> Word32 -- ^ query-                                                                           -> IO ()-vkCmdWriteTimestampSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdWriteTimestamp)--{-# NOINLINE vkCmdWriteTimestampSafe #-}-##endif---- |--- Queues: 'transfer', 'graphics', 'compute'.------ Renderpass: @both@------ Pipeline: @transfer@------ > void vkCmdWriteTimestamp--- >     ( VkCommandBuffer commandBuffer--- >     , VkPipelineStageFlagBits pipelineStage--- >     , VkQueryPool queryPool--- >     , uint32_t query--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdWriteTimestamp vkCmdWriteTimestamp registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdWriteTimestamp <- vkGetInstanceProc @VkCmdWriteTimestamp vkInstance------ or less efficient:------ > myCmdWriteTimestamp <- vkGetProc @VkCmdWriteTimestamp------ __Note:__ @vkCmdWriteTimestampUnsafe@ and @vkCmdWriteTimestampSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdWriteTimestamp@ is an alias---           of @vkCmdWriteTimestampUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdWriteTimestampSafe@.----vkCmdWriteTimestamp ::-                    VkCommandBuffer -- ^ commandBuffer-                                    ->-                      VkPipelineStageFlagBits -- ^ pipelineStage-                                              -> VkQueryPool -- ^ queryPool-                                                             -> Word32 -- ^ query-                                                                       -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdWriteTimestamp = vkCmdWriteTimestampUnsafe-##else-vkCmdWriteTimestamp = vkCmdWriteTimestampSafe--##endif-{-# INLINE vkCmdWriteTimestamp #-}---- | Queues: 'transfer', 'graphics', 'compute'.------   Renderpass: @both@------   Pipeline: @transfer@------   > void vkCmdWriteTimestamp---   >     ( VkCommandBuffer commandBuffer---   >     , VkPipelineStageFlagBits pipelineStage---   >     , VkQueryPool queryPool---   >     , uint32_t query---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdWriteTimestamp vkCmdWriteTimestamp registry at www.khronos.org>-type HS_vkCmdWriteTimestamp =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       VkPipelineStageFlagBits -- ^ pipelineStage-                               -> VkQueryPool -- ^ queryPool-                                              -> Word32 -- ^ query-                                                        -> IO ()--type PFN_vkCmdWriteTimestamp = FunPtr HS_vkCmdWriteTimestamp--foreign import ccall unsafe "dynamic"-               unwrapVkCmdWriteTimestampUnsafe ::-               PFN_vkCmdWriteTimestamp -> HS_vkCmdWriteTimestamp--foreign import ccall safe "dynamic" unwrapVkCmdWriteTimestampSafe-               :: PFN_vkCmdWriteTimestamp -> HS_vkCmdWriteTimestamp--instance VulkanProc "vkCmdWriteTimestamp" where-        type VkProcType "vkCmdWriteTimestamp" = HS_vkCmdWriteTimestamp-        vkProcSymbol = _VkCmdWriteTimestamp--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdWriteTimestampUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdWriteTimestampSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdCopyQueryPoolResults :: CString--pattern VkCmdCopyQueryPoolResults <--        (is_VkCmdCopyQueryPoolResults -> True)-  where VkCmdCopyQueryPoolResults = _VkCmdCopyQueryPoolResults--{-# INLINE _VkCmdCopyQueryPoolResults #-}--_VkCmdCopyQueryPoolResults :: CString-_VkCmdCopyQueryPoolResults = Ptr "vkCmdCopyQueryPoolResults\NUL"##--{-# INLINE is_VkCmdCopyQueryPoolResults #-}--is_VkCmdCopyQueryPoolResults :: CString -> Bool-is_VkCmdCopyQueryPoolResults-  = (EQ ==) . cmpCStrings _VkCmdCopyQueryPoolResults--type VkCmdCopyQueryPoolResults = "vkCmdCopyQueryPoolResults"---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdCopyQueryPoolResults--- >     ( VkCommandBuffer commandBuffer--- >     , VkQueryPool queryPool--- >     , uint32_t firstQuery--- >     , uint32_t queryCount--- >     , VkBuffer dstBuffer--- >     , VkDeviceSize dstOffset--- >     , VkDeviceSize stride--- >     , VkQueryResultFlags flags--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdCopyQueryPoolResults <- vkGetInstanceProc @VkCmdCopyQueryPoolResults vkInstance------ or less efficient:------ > myCmdCopyQueryPoolResults <- vkGetProc @VkCmdCopyQueryPoolResults------ __Note:__ @vkCmdCopyQueryPoolResultsUnsafe@ and @vkCmdCopyQueryPoolResultsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdCopyQueryPoolResults@ is an alias---           of @vkCmdCopyQueryPoolResultsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdCopyQueryPoolResultsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdCopyQueryPoolResults"-               vkCmdCopyQueryPoolResultsUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkQueryPool -- ^ queryPool-                             ->-                   Word32 -- ^ firstQuery-                          ->-                     Word32 -- ^ queryCount-                            ->-                       VkBuffer -- ^ dstBuffer-                                ->-                         VkDeviceSize -- ^ dstOffset-                                      -> VkDeviceSize -- ^ stride-                                                      -> VkQueryResultFlags -- ^ flags-                                                                            -> IO ()--##else-vkCmdCopyQueryPoolResultsUnsafe ::-                                VkCommandBuffer -- ^ commandBuffer-                                                ->-                                  VkQueryPool -- ^ queryPool-                                              ->-                                    Word32 -- ^ firstQuery-                                           ->-                                      Word32 -- ^ queryCount-                                             ->-                                        VkBuffer -- ^ dstBuffer-                                                 ->-                                          VkDeviceSize -- ^ dstOffset-                                                       ->-                                            VkDeviceSize -- ^ stride-                                                         -> VkQueryResultFlags -- ^ flags-                                                                               -> IO ()-vkCmdCopyQueryPoolResultsUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkCmdCopyQueryPoolResults)--{-# NOINLINE vkCmdCopyQueryPoolResultsUnsafe #-}-##endif---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdCopyQueryPoolResults--- >     ( VkCommandBuffer commandBuffer--- >     , VkQueryPool queryPool--- >     , uint32_t firstQuery--- >     , uint32_t queryCount--- >     , VkBuffer dstBuffer--- >     , VkDeviceSize dstOffset--- >     , VkDeviceSize stride--- >     , VkQueryResultFlags flags--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdCopyQueryPoolResults <- vkGetInstanceProc @VkCmdCopyQueryPoolResults vkInstance------ or less efficient:------ > myCmdCopyQueryPoolResults <- vkGetProc @VkCmdCopyQueryPoolResults------ __Note:__ @vkCmdCopyQueryPoolResultsUnsafe@ and @vkCmdCopyQueryPoolResultsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdCopyQueryPoolResults@ is an alias---           of @vkCmdCopyQueryPoolResultsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdCopyQueryPoolResultsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdCopyQueryPoolResults"-               vkCmdCopyQueryPoolResultsSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkQueryPool -- ^ queryPool-                             ->-                   Word32 -- ^ firstQuery-                          ->-                     Word32 -- ^ queryCount-                            ->-                       VkBuffer -- ^ dstBuffer-                                ->-                         VkDeviceSize -- ^ dstOffset-                                      -> VkDeviceSize -- ^ stride-                                                      -> VkQueryResultFlags -- ^ flags-                                                                            -> IO ()--##else-vkCmdCopyQueryPoolResultsSafe ::-                              VkCommandBuffer -- ^ commandBuffer-                                              ->-                                VkQueryPool -- ^ queryPool-                                            ->-                                  Word32 -- ^ firstQuery-                                         ->-                                    Word32 -- ^ queryCount-                                           ->-                                      VkBuffer -- ^ dstBuffer-                                               ->-                                        VkDeviceSize -- ^ dstOffset-                                                     -> VkDeviceSize -- ^ stride-                                                                     -> VkQueryResultFlags -- ^ flags-                                                                                           -> IO ()-vkCmdCopyQueryPoolResultsSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdCopyQueryPoolResults)--{-# NOINLINE vkCmdCopyQueryPoolResultsSafe #-}-##endif---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @outside@------ Pipeline: @transfer@------ > void vkCmdCopyQueryPoolResults--- >     ( VkCommandBuffer commandBuffer--- >     , VkQueryPool queryPool--- >     , uint32_t firstQuery--- >     , uint32_t queryCount--- >     , VkBuffer dstBuffer--- >     , VkDeviceSize dstOffset--- >     , VkDeviceSize stride--- >     , VkQueryResultFlags flags--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdCopyQueryPoolResults <- vkGetInstanceProc @VkCmdCopyQueryPoolResults vkInstance------ or less efficient:------ > myCmdCopyQueryPoolResults <- vkGetProc @VkCmdCopyQueryPoolResults------ __Note:__ @vkCmdCopyQueryPoolResultsUnsafe@ and @vkCmdCopyQueryPoolResultsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdCopyQueryPoolResults@ is an alias---           of @vkCmdCopyQueryPoolResultsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdCopyQueryPoolResultsSafe@.----vkCmdCopyQueryPoolResults ::-                          VkCommandBuffer -- ^ commandBuffer-                                          ->-                            VkQueryPool -- ^ queryPool-                                        ->-                              Word32 -- ^ firstQuery-                                     ->-                                Word32 -- ^ queryCount-                                       ->-                                  VkBuffer -- ^ dstBuffer-                                           ->-                                    VkDeviceSize -- ^ dstOffset-                                                 -> VkDeviceSize -- ^ stride-                                                                 -> VkQueryResultFlags -- ^ flags-                                                                                       -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdCopyQueryPoolResults = vkCmdCopyQueryPoolResultsUnsafe-##else-vkCmdCopyQueryPoolResults = vkCmdCopyQueryPoolResultsSafe--##endif-{-# INLINE vkCmdCopyQueryPoolResults #-}---- | Queues: 'graphics', 'compute'.------   Renderpass: @outside@------   Pipeline: @transfer@------   > void vkCmdCopyQueryPoolResults---   >     ( VkCommandBuffer commandBuffer---   >     , VkQueryPool queryPool---   >     , uint32_t firstQuery---   >     , uint32_t queryCount---   >     , VkBuffer dstBuffer---   >     , VkDeviceSize dstOffset---   >     , VkDeviceSize stride---   >     , VkQueryResultFlags flags---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults registry at www.khronos.org>-type HS_vkCmdCopyQueryPoolResults =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       VkQueryPool -- ^ queryPool-                   ->-         Word32 -- ^ firstQuery-                ->-           Word32 -- ^ queryCount-                  ->-             VkBuffer -- ^ dstBuffer-                      ->-               VkDeviceSize -- ^ dstOffset-                            -> VkDeviceSize -- ^ stride-                                            -> VkQueryResultFlags -- ^ flags-                                                                  -> IO ()--type PFN_vkCmdCopyQueryPoolResults =-     FunPtr HS_vkCmdCopyQueryPoolResults--foreign import ccall unsafe "dynamic"-               unwrapVkCmdCopyQueryPoolResultsUnsafe ::-               PFN_vkCmdCopyQueryPoolResults -> HS_vkCmdCopyQueryPoolResults--foreign import ccall safe "dynamic"-               unwrapVkCmdCopyQueryPoolResultsSafe ::-               PFN_vkCmdCopyQueryPoolResults -> HS_vkCmdCopyQueryPoolResults--instance VulkanProc "vkCmdCopyQueryPoolResults" where-        type VkProcType "vkCmdCopyQueryPoolResults" =-             HS_vkCmdCopyQueryPoolResults-        vkProcSymbol = _VkCmdCopyQueryPoolResults--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdCopyQueryPoolResultsUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdCopyQueryPoolResultsSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdPushConstants :: CString--pattern VkCmdPushConstants <- (is_VkCmdPushConstants -> True)-  where VkCmdPushConstants = _VkCmdPushConstants--{-# INLINE _VkCmdPushConstants #-}--_VkCmdPushConstants :: CString-_VkCmdPushConstants = Ptr "vkCmdPushConstants\NUL"##--{-# INLINE is_VkCmdPushConstants #-}--is_VkCmdPushConstants :: CString -> Bool-is_VkCmdPushConstants = (EQ ==) . cmpCStrings _VkCmdPushConstants--type VkCmdPushConstants = "vkCmdPushConstants"---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @both@------ > void vkCmdPushConstants--- >     ( VkCommandBuffer commandBuffer--- >     , VkPipelineLayout layout--- >     , VkShaderStageFlags stageFlags--- >     , uint32_t offset--- >     , uint32_t size--- >     , const void* pValues--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPushConstants vkCmdPushConstants registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdPushConstants <- vkGetInstanceProc @VkCmdPushConstants vkInstance------ or less efficient:------ > myCmdPushConstants <- vkGetProc @VkCmdPushConstants------ __Note:__ @vkCmdPushConstantsUnsafe@ and @vkCmdPushConstantsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdPushConstants@ is an alias---           of @vkCmdPushConstantsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdPushConstantsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdPushConstants"-               vkCmdPushConstantsUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkPipelineLayout -- ^ layout-                                  ->-                   VkShaderStageFlags -- ^ stageFlags-                                      -> Word32 -- ^ offset-                                                -> Word32 -- ^ size-                                                          -> Ptr Void -- ^ pValues-                                                                      -> IO ()--##else-vkCmdPushConstantsUnsafe ::-                         VkCommandBuffer -- ^ commandBuffer-                                         ->-                           VkPipelineLayout -- ^ layout-                                            ->-                             VkShaderStageFlags -- ^ stageFlags-                                                -> Word32 -- ^ offset-                                                          -> Word32 -- ^ size-                                                                    -> Ptr Void -- ^ pValues-                                                                                -> IO ()-vkCmdPushConstantsUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdPushConstants)--{-# NOINLINE vkCmdPushConstantsUnsafe #-}-##endif---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @both@------ > void vkCmdPushConstants--- >     ( VkCommandBuffer commandBuffer--- >     , VkPipelineLayout layout--- >     , VkShaderStageFlags stageFlags--- >     , uint32_t offset--- >     , uint32_t size--- >     , const void* pValues--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPushConstants vkCmdPushConstants registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdPushConstants <- vkGetInstanceProc @VkCmdPushConstants vkInstance------ or less efficient:------ > myCmdPushConstants <- vkGetProc @VkCmdPushConstants------ __Note:__ @vkCmdPushConstantsUnsafe@ and @vkCmdPushConstantsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdPushConstants@ is an alias---           of @vkCmdPushConstantsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdPushConstantsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdPushConstants"-               vkCmdPushConstantsSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkPipelineLayout -- ^ layout-                                  ->-                   VkShaderStageFlags -- ^ stageFlags-                                      -> Word32 -- ^ offset-                                                -> Word32 -- ^ size-                                                          -> Ptr Void -- ^ pValues-                                                                      -> IO ()--##else-vkCmdPushConstantsSafe ::-                       VkCommandBuffer -- ^ commandBuffer-                                       ->-                         VkPipelineLayout -- ^ layout-                                          ->-                           VkShaderStageFlags -- ^ stageFlags-                                              -> Word32 -- ^ offset-                                                        -> Word32 -- ^ size-                                                                  -> Ptr Void -- ^ pValues-                                                                              -> IO ()-vkCmdPushConstantsSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdPushConstants)--{-# NOINLINE vkCmdPushConstantsSafe #-}-##endif---- |--- Queues: 'graphics', 'compute'.------ Renderpass: @both@------ > void vkCmdPushConstants--- >     ( VkCommandBuffer commandBuffer--- >     , VkPipelineLayout layout--- >     , VkShaderStageFlags stageFlags--- >     , uint32_t offset--- >     , uint32_t size--- >     , const void* pValues--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPushConstants vkCmdPushConstants registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdPushConstants <- vkGetInstanceProc @VkCmdPushConstants vkInstance------ or less efficient:------ > myCmdPushConstants <- vkGetProc @VkCmdPushConstants------ __Note:__ @vkCmdPushConstantsUnsafe@ and @vkCmdPushConstantsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdPushConstants@ is an alias---           of @vkCmdPushConstantsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdPushConstantsSafe@.----vkCmdPushConstants ::-                   VkCommandBuffer -- ^ commandBuffer-                                   ->-                     VkPipelineLayout -- ^ layout-                                      ->-                       VkShaderStageFlags -- ^ stageFlags-                                          -> Word32 -- ^ offset-                                                    -> Word32 -- ^ size-                                                              -> Ptr Void -- ^ pValues-                                                                          -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdPushConstants = vkCmdPushConstantsUnsafe-##else-vkCmdPushConstants = vkCmdPushConstantsSafe--##endif-{-# INLINE vkCmdPushConstants #-}---- | Queues: 'graphics', 'compute'.------   Renderpass: @both@------   > void vkCmdPushConstants---   >     ( VkCommandBuffer commandBuffer---   >     , VkPipelineLayout layout---   >     , VkShaderStageFlags stageFlags---   >     , uint32_t offset---   >     , uint32_t size---   >     , const void* pValues---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPushConstants vkCmdPushConstants registry at www.khronos.org>-type HS_vkCmdPushConstants =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       VkPipelineLayout -- ^ layout-                        ->-         VkShaderStageFlags -- ^ stageFlags-                            -> Word32 -- ^ offset-                                      -> Word32 -- ^ size-                                                -> Ptr Void -- ^ pValues-                                                            -> IO ()--type PFN_vkCmdPushConstants = FunPtr HS_vkCmdPushConstants--foreign import ccall unsafe "dynamic"-               unwrapVkCmdPushConstantsUnsafe ::-               PFN_vkCmdPushConstants -> HS_vkCmdPushConstants--foreign import ccall safe "dynamic" unwrapVkCmdPushConstantsSafe ::-               PFN_vkCmdPushConstants -> HS_vkCmdPushConstants--instance VulkanProc "vkCmdPushConstants" where-        type VkProcType "vkCmdPushConstants" = HS_vkCmdPushConstants-        vkProcSymbol = _VkCmdPushConstants--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdPushConstantsUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdPushConstantsSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdBeginRenderPass :: CString--pattern VkCmdBeginRenderPass <- (is_VkCmdBeginRenderPass -> True)-  where VkCmdBeginRenderPass = _VkCmdBeginRenderPass--{-# INLINE _VkCmdBeginRenderPass #-}--_VkCmdBeginRenderPass :: CString-_VkCmdBeginRenderPass = Ptr "vkCmdBeginRenderPass\NUL"##--{-# INLINE is_VkCmdBeginRenderPass #-}--is_VkCmdBeginRenderPass :: CString -> Bool-is_VkCmdBeginRenderPass-  = (EQ ==) . cmpCStrings _VkCmdBeginRenderPass--type VkCmdBeginRenderPass = "vkCmdBeginRenderPass"---- |--- Queues: 'graphics'.------ Renderpass: @outside@------ Pipeline: @graphics@------ > void vkCmdBeginRenderPass--- >     ( VkCommandBuffer commandBuffer--- >     , const VkRenderPassBeginInfo* pRenderPassBegin--- >     , VkSubpassContents contents--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBeginRenderPass vkCmdBeginRenderPass registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdBeginRenderPass <- vkGetInstanceProc @VkCmdBeginRenderPass vkInstance------ or less efficient:------ > myCmdBeginRenderPass <- vkGetProc @VkCmdBeginRenderPass------ __Note:__ @vkCmdBeginRenderPassUnsafe@ and @vkCmdBeginRenderPassSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdBeginRenderPass@ is an alias---           of @vkCmdBeginRenderPassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdBeginRenderPassSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdBeginRenderPass"-               vkCmdBeginRenderPassUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 Ptr VkRenderPassBeginInfo -- ^ pRenderPassBegin-                                           -> VkSubpassContents -- ^ contents-                                                                -> IO ()--##else-vkCmdBeginRenderPassUnsafe ::-                           VkCommandBuffer -- ^ commandBuffer-                                           ->-                             Ptr VkRenderPassBeginInfo -- ^ pRenderPassBegin-                                                       -> VkSubpassContents -- ^ contents-                                                                            -> IO ()-vkCmdBeginRenderPassUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdBeginRenderPass)--{-# NOINLINE vkCmdBeginRenderPassUnsafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @outside@------ Pipeline: @graphics@------ > void vkCmdBeginRenderPass--- >     ( VkCommandBuffer commandBuffer--- >     , const VkRenderPassBeginInfo* pRenderPassBegin--- >     , VkSubpassContents contents--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBeginRenderPass vkCmdBeginRenderPass registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdBeginRenderPass <- vkGetInstanceProc @VkCmdBeginRenderPass vkInstance------ or less efficient:------ > myCmdBeginRenderPass <- vkGetProc @VkCmdBeginRenderPass------ __Note:__ @vkCmdBeginRenderPassUnsafe@ and @vkCmdBeginRenderPassSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdBeginRenderPass@ is an alias---           of @vkCmdBeginRenderPassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdBeginRenderPassSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdBeginRenderPass"-               vkCmdBeginRenderPassSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 Ptr VkRenderPassBeginInfo -- ^ pRenderPassBegin-                                           -> VkSubpassContents -- ^ contents-                                                                -> IO ()--##else-vkCmdBeginRenderPassSafe ::-                         VkCommandBuffer -- ^ commandBuffer-                                         ->-                           Ptr VkRenderPassBeginInfo -- ^ pRenderPassBegin-                                                     -> VkSubpassContents -- ^ contents-                                                                          -> IO ()-vkCmdBeginRenderPassSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdBeginRenderPass)--{-# NOINLINE vkCmdBeginRenderPassSafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @outside@------ Pipeline: @graphics@------ > void vkCmdBeginRenderPass--- >     ( VkCommandBuffer commandBuffer--- >     , const VkRenderPassBeginInfo* pRenderPassBegin--- >     , VkSubpassContents contents--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBeginRenderPass vkCmdBeginRenderPass registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdBeginRenderPass <- vkGetInstanceProc @VkCmdBeginRenderPass vkInstance------ or less efficient:------ > myCmdBeginRenderPass <- vkGetProc @VkCmdBeginRenderPass------ __Note:__ @vkCmdBeginRenderPassUnsafe@ and @vkCmdBeginRenderPassSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdBeginRenderPass@ is an alias---           of @vkCmdBeginRenderPassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdBeginRenderPassSafe@.----vkCmdBeginRenderPass ::-                     VkCommandBuffer -- ^ commandBuffer-                                     ->-                       Ptr VkRenderPassBeginInfo -- ^ pRenderPassBegin-                                                 -> VkSubpassContents -- ^ contents-                                                                      -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdBeginRenderPass = vkCmdBeginRenderPassUnsafe-##else-vkCmdBeginRenderPass = vkCmdBeginRenderPassSafe--##endif-{-# INLINE vkCmdBeginRenderPass #-}---- | Queues: 'graphics'.------   Renderpass: @outside@------   Pipeline: @graphics@------   > void vkCmdBeginRenderPass---   >     ( VkCommandBuffer commandBuffer---   >     , const VkRenderPassBeginInfo* pRenderPassBegin---   >     , VkSubpassContents contents---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBeginRenderPass vkCmdBeginRenderPass registry at www.khronos.org>-type HS_vkCmdBeginRenderPass =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       Ptr VkRenderPassBeginInfo -- ^ pRenderPassBegin-                                 -> VkSubpassContents -- ^ contents-                                                      -> IO ()--type PFN_vkCmdBeginRenderPass = FunPtr HS_vkCmdBeginRenderPass--foreign import ccall unsafe "dynamic"-               unwrapVkCmdBeginRenderPassUnsafe ::-               PFN_vkCmdBeginRenderPass -> HS_vkCmdBeginRenderPass--foreign import ccall safe "dynamic" unwrapVkCmdBeginRenderPassSafe-               :: PFN_vkCmdBeginRenderPass -> HS_vkCmdBeginRenderPass--instance VulkanProc "vkCmdBeginRenderPass" where-        type VkProcType "vkCmdBeginRenderPass" = HS_vkCmdBeginRenderPass-        vkProcSymbol = _VkCmdBeginRenderPass--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdBeginRenderPassUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdBeginRenderPassSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdNextSubpass :: CString--pattern VkCmdNextSubpass <- (is_VkCmdNextSubpass -> True)-  where VkCmdNextSubpass = _VkCmdNextSubpass--{-# INLINE _VkCmdNextSubpass #-}--_VkCmdNextSubpass :: CString-_VkCmdNextSubpass = Ptr "vkCmdNextSubpass\NUL"##--{-# INLINE is_VkCmdNextSubpass #-}--is_VkCmdNextSubpass :: CString -> Bool-is_VkCmdNextSubpass = (EQ ==) . cmpCStrings _VkCmdNextSubpass--type VkCmdNextSubpass = "vkCmdNextSubpass"---- |--- Queues: 'graphics'.------ Renderpass: @inside@------ Pipeline: @graphics@------ > void vkCmdNextSubpass--- >     ( VkCommandBuffer commandBuffer--- >     , VkSubpassContents contents--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdNextSubpass vkCmdNextSubpass registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdNextSubpass <- vkGetInstanceProc @VkCmdNextSubpass vkInstance------ or less efficient:------ > myCmdNextSubpass <- vkGetProc @VkCmdNextSubpass------ __Note:__ @vkCmdNextSubpassUnsafe@ and @vkCmdNextSubpassSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdNextSubpass@ is an alias---           of @vkCmdNextSubpassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdNextSubpassSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdNextSubpass"-               vkCmdNextSubpassUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkSubpassContents -- ^ contents-                                                    -> IO ()--##else-vkCmdNextSubpassUnsafe ::-                       VkCommandBuffer -- ^ commandBuffer-                                       -> VkSubpassContents -- ^ contents-                                                            -> IO ()-vkCmdNextSubpassUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdNextSubpass)--{-# NOINLINE vkCmdNextSubpassUnsafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @inside@------ Pipeline: @graphics@------ > void vkCmdNextSubpass--- >     ( VkCommandBuffer commandBuffer--- >     , VkSubpassContents contents--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdNextSubpass vkCmdNextSubpass registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdNextSubpass <- vkGetInstanceProc @VkCmdNextSubpass vkInstance------ or less efficient:------ > myCmdNextSubpass <- vkGetProc @VkCmdNextSubpass------ __Note:__ @vkCmdNextSubpassUnsafe@ and @vkCmdNextSubpassSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdNextSubpass@ is an alias---           of @vkCmdNextSubpassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdNextSubpassSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdNextSubpass" vkCmdNextSubpassSafe-               :: VkCommandBuffer -- ^ commandBuffer-                                  -> VkSubpassContents -- ^ contents-                                                       -> IO ()--##else-vkCmdNextSubpassSafe ::-                     VkCommandBuffer -- ^ commandBuffer-                                     -> VkSubpassContents -- ^ contents-                                                          -> IO ()-vkCmdNextSubpassSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdNextSubpass)--{-# NOINLINE vkCmdNextSubpassSafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @inside@------ Pipeline: @graphics@------ > void vkCmdNextSubpass--- >     ( VkCommandBuffer commandBuffer--- >     , VkSubpassContents contents--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdNextSubpass vkCmdNextSubpass registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdNextSubpass <- vkGetInstanceProc @VkCmdNextSubpass vkInstance------ or less efficient:------ > myCmdNextSubpass <- vkGetProc @VkCmdNextSubpass------ __Note:__ @vkCmdNextSubpassUnsafe@ and @vkCmdNextSubpassSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdNextSubpass@ is an alias---           of @vkCmdNextSubpassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdNextSubpassSafe@.----vkCmdNextSubpass :: VkCommandBuffer -- ^ commandBuffer-                                    -> VkSubpassContents -- ^ contents-                                                         -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdNextSubpass = vkCmdNextSubpassUnsafe-##else-vkCmdNextSubpass = vkCmdNextSubpassSafe--##endif-{-# INLINE vkCmdNextSubpass #-}---- | Queues: 'graphics'.------   Renderpass: @inside@------   Pipeline: @graphics@------   > void vkCmdNextSubpass---   >     ( VkCommandBuffer commandBuffer---   >     , VkSubpassContents contents---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdNextSubpass vkCmdNextSubpass registry at www.khronos.org>-type HS_vkCmdNextSubpass =-     VkCommandBuffer -- ^ commandBuffer-                     -> VkSubpassContents -- ^ contents-                                          -> IO ()--type PFN_vkCmdNextSubpass = FunPtr HS_vkCmdNextSubpass--foreign import ccall unsafe "dynamic" unwrapVkCmdNextSubpassUnsafe-               :: PFN_vkCmdNextSubpass -> HS_vkCmdNextSubpass--foreign import ccall safe "dynamic" unwrapVkCmdNextSubpassSafe ::-               PFN_vkCmdNextSubpass -> HS_vkCmdNextSubpass--instance VulkanProc "vkCmdNextSubpass" where-        type VkProcType "vkCmdNextSubpass" = HS_vkCmdNextSubpass-        vkProcSymbol = _VkCmdNextSubpass--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdNextSubpassUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdNextSubpassSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdEndRenderPass :: CString--pattern VkCmdEndRenderPass <- (is_VkCmdEndRenderPass -> True)-  where VkCmdEndRenderPass = _VkCmdEndRenderPass--{-# INLINE _VkCmdEndRenderPass #-}--_VkCmdEndRenderPass :: CString-_VkCmdEndRenderPass = Ptr "vkCmdEndRenderPass\NUL"##--{-# INLINE is_VkCmdEndRenderPass #-}--is_VkCmdEndRenderPass :: CString -> Bool-is_VkCmdEndRenderPass = (EQ ==) . cmpCStrings _VkCmdEndRenderPass--type VkCmdEndRenderPass = "vkCmdEndRenderPass"---- |--- Queues: 'graphics'.------ Renderpass: @inside@------ Pipeline: @graphics@------ > void vkCmdEndRenderPass--- >     ( VkCommandBuffer commandBuffer--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdEndRenderPass vkCmdEndRenderPass registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdEndRenderPass <- vkGetInstanceProc @VkCmdEndRenderPass vkInstance------ or less efficient:------ > myCmdEndRenderPass <- vkGetProc @VkCmdEndRenderPass------ __Note:__ @vkCmdEndRenderPassUnsafe@ and @vkCmdEndRenderPassSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdEndRenderPass@ is an alias---           of @vkCmdEndRenderPassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdEndRenderPassSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdEndRenderPass"-               vkCmdEndRenderPassUnsafe :: VkCommandBuffer -- ^ commandBuffer-                                                           -> IO ()--##else-vkCmdEndRenderPassUnsafe :: VkCommandBuffer -- ^ commandBuffer-                                            -> IO ()-vkCmdEndRenderPassUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdEndRenderPass)--{-# NOINLINE vkCmdEndRenderPassUnsafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @inside@------ Pipeline: @graphics@------ > void vkCmdEndRenderPass--- >     ( VkCommandBuffer commandBuffer--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdEndRenderPass vkCmdEndRenderPass registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdEndRenderPass <- vkGetInstanceProc @VkCmdEndRenderPass vkInstance------ or less efficient:------ > myCmdEndRenderPass <- vkGetProc @VkCmdEndRenderPass------ __Note:__ @vkCmdEndRenderPassUnsafe@ and @vkCmdEndRenderPassSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdEndRenderPass@ is an alias---           of @vkCmdEndRenderPassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdEndRenderPassSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdEndRenderPass"-               vkCmdEndRenderPassSafe :: VkCommandBuffer -- ^ commandBuffer-                                                         -> IO ()--##else-vkCmdEndRenderPassSafe :: VkCommandBuffer -- ^ commandBuffer-                                          -> IO ()-vkCmdEndRenderPassSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdEndRenderPass)--{-# NOINLINE vkCmdEndRenderPassSafe #-}-##endif---- |--- Queues: 'graphics'.------ Renderpass: @inside@------ Pipeline: @graphics@------ > void vkCmdEndRenderPass--- >     ( VkCommandBuffer commandBuffer--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdEndRenderPass vkCmdEndRenderPass registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdEndRenderPass <- vkGetInstanceProc @VkCmdEndRenderPass vkInstance------ or less efficient:------ > myCmdEndRenderPass <- vkGetProc @VkCmdEndRenderPass------ __Note:__ @vkCmdEndRenderPassUnsafe@ and @vkCmdEndRenderPassSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdEndRenderPass@ is an alias---           of @vkCmdEndRenderPassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdEndRenderPassSafe@.----vkCmdEndRenderPass :: VkCommandBuffer -- ^ commandBuffer-                                      -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdEndRenderPass = vkCmdEndRenderPassUnsafe-##else-vkCmdEndRenderPass = vkCmdEndRenderPassSafe--##endif-{-# INLINE vkCmdEndRenderPass #-}---- | Queues: 'graphics'.------   Renderpass: @inside@------   Pipeline: @graphics@------   > void vkCmdEndRenderPass---   >     ( VkCommandBuffer commandBuffer---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdEndRenderPass vkCmdEndRenderPass registry at www.khronos.org>-type HS_vkCmdEndRenderPass = VkCommandBuffer -- ^ commandBuffer-                                             -> IO ()--type PFN_vkCmdEndRenderPass = FunPtr HS_vkCmdEndRenderPass--foreign import ccall unsafe "dynamic"-               unwrapVkCmdEndRenderPassUnsafe ::-               PFN_vkCmdEndRenderPass -> HS_vkCmdEndRenderPass--foreign import ccall safe "dynamic" unwrapVkCmdEndRenderPassSafe ::-               PFN_vkCmdEndRenderPass -> HS_vkCmdEndRenderPass--instance VulkanProc "vkCmdEndRenderPass" where-        type VkProcType "vkCmdEndRenderPass" = HS_vkCmdEndRenderPass-        vkProcSymbol = _VkCmdEndRenderPass--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdEndRenderPassUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdEndRenderPassSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdExecuteCommands :: CString--pattern VkCmdExecuteCommands <- (is_VkCmdExecuteCommands -> True)-  where VkCmdExecuteCommands = _VkCmdExecuteCommands--{-# INLINE _VkCmdExecuteCommands #-}--_VkCmdExecuteCommands :: CString-_VkCmdExecuteCommands = Ptr "vkCmdExecuteCommands\NUL"##--{-# INLINE is_VkCmdExecuteCommands #-}--is_VkCmdExecuteCommands :: CString -> Bool-is_VkCmdExecuteCommands-  = (EQ ==) . cmpCStrings _VkCmdExecuteCommands--type VkCmdExecuteCommands = "vkCmdExecuteCommands"---- |--- Queues: 'transfer', 'graphics', 'compute'.------ Renderpass: @both@------ > void vkCmdExecuteCommands--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t commandBufferCount--- >     , const VkCommandBuffer* pCommandBuffers--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdExecuteCommands vkCmdExecuteCommands registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdExecuteCommands <- vkGetInstanceProc @VkCmdExecuteCommands vkInstance------ or less efficient:------ > myCmdExecuteCommands <- vkGetProc @VkCmdExecuteCommands------ __Note:__ @vkCmdExecuteCommandsUnsafe@ and @vkCmdExecuteCommandsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdExecuteCommands@ is an alias---           of @vkCmdExecuteCommandsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdExecuteCommandsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdExecuteCommands"-               vkCmdExecuteCommandsUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> Word32 -- ^ commandBufferCount-                                         -> Ptr VkCommandBuffer -- ^ pCommandBuffers-                                                                -> IO ()--##else-vkCmdExecuteCommandsUnsafe ::-                           VkCommandBuffer -- ^ commandBuffer-                                           -> Word32 -- ^ commandBufferCount-                                                     -> Ptr VkCommandBuffer -- ^ pCommandBuffers-                                                                            -> IO ()-vkCmdExecuteCommandsUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdExecuteCommands)--{-# NOINLINE vkCmdExecuteCommandsUnsafe #-}-##endif---- |--- Queues: 'transfer', 'graphics', 'compute'.------ Renderpass: @both@------ > void vkCmdExecuteCommands--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t commandBufferCount--- >     , const VkCommandBuffer* pCommandBuffers--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdExecuteCommands vkCmdExecuteCommands registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdExecuteCommands <- vkGetInstanceProc @VkCmdExecuteCommands vkInstance------ or less efficient:------ > myCmdExecuteCommands <- vkGetProc @VkCmdExecuteCommands------ __Note:__ @vkCmdExecuteCommandsUnsafe@ and @vkCmdExecuteCommandsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdExecuteCommands@ is an alias---           of @vkCmdExecuteCommandsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdExecuteCommandsSafe@.-------##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall safe "vkCmdExecuteCommands"-               vkCmdExecuteCommandsSafe ::-               VkCommandBuffer -- ^ commandBuffer-                               -> Word32 -- ^ commandBufferCount-                                         -> Ptr VkCommandBuffer -- ^ pCommandBuffers-                                                                -> IO ()--##else-vkCmdExecuteCommandsSafe ::-                         VkCommandBuffer -- ^ commandBuffer-                                         -> Word32 -- ^ commandBufferCount-                                                   -> Ptr VkCommandBuffer -- ^ pCommandBuffers-                                                                          -> IO ()-vkCmdExecuteCommandsSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdExecuteCommands)--{-# NOINLINE vkCmdExecuteCommandsSafe #-}-##endif---- |--- Queues: 'transfer', 'graphics', 'compute'.------ Renderpass: @both@------ > void vkCmdExecuteCommands--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t commandBufferCount--- >     , const VkCommandBuffer* pCommandBuffers--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdExecuteCommands vkCmdExecuteCommands registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdExecuteCommands <- vkGetInstanceProc @VkCmdExecuteCommands vkInstance------ or less efficient:------ > myCmdExecuteCommands <- vkGetProc @VkCmdExecuteCommands------ __Note:__ @vkCmdExecuteCommandsUnsafe@ and @vkCmdExecuteCommandsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdExecuteCommands@ is an alias---           of @vkCmdExecuteCommandsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdExecuteCommandsSafe@.----vkCmdExecuteCommands ::-                     VkCommandBuffer -- ^ commandBuffer-                                     -> Word32 -- ^ commandBufferCount-                                               -> Ptr VkCommandBuffer -- ^ pCommandBuffers-                                                                      -> IO ()-##ifdef UNSAFE_FFI_DEFAULT-vkCmdExecuteCommands = vkCmdExecuteCommandsUnsafe-##else-vkCmdExecuteCommands = vkCmdExecuteCommandsSafe--##endif-{-# INLINE vkCmdExecuteCommands #-}---- | Queues: 'transfer', 'graphics', 'compute'.------   Renderpass: @both@------   > void vkCmdExecuteCommands---   >     ( VkCommandBuffer commandBuffer---   >     , uint32_t commandBufferCount---   >     , const VkCommandBuffer* pCommandBuffers---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdExecuteCommands vkCmdExecuteCommands registry at www.khronos.org>-type HS_vkCmdExecuteCommands =-     VkCommandBuffer -- ^ commandBuffer-                     -> Word32 -- ^ commandBufferCount-                               -> Ptr VkCommandBuffer -- ^ pCommandBuffers-                                                      -> IO ()--type PFN_vkCmdExecuteCommands = FunPtr HS_vkCmdExecuteCommands--foreign import ccall unsafe "dynamic"-               unwrapVkCmdExecuteCommandsUnsafe ::-               PFN_vkCmdExecuteCommands -> HS_vkCmdExecuteCommands--foreign import ccall safe "dynamic" unwrapVkCmdExecuteCommandsSafe-               :: PFN_vkCmdExecuteCommands -> HS_vkCmdExecuteCommands--instance VulkanProc "vkCmdExecuteCommands" where-        type VkProcType "vkCmdExecuteCommands" = HS_vkCmdExecuteCommands-        vkProcSymbol = _VkCmdExecuteCommands--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdExecuteCommandsUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdExecuteCommandsSafe--        {-# INLINE unwrapVkProcPtrSafe #-}+        VkPipelineBindPoint(..), VkPipelineCacheHeaderVersion(..),+        VkPipelineCreateBitmask(..), VkPipelineStageBitmask(..),+        VkPipelineCacheCreateFlagBits(..),+        VkPipelineColorBlendStateCreateFlagBits(..),+        VkPipelineCreateFlagBits(), VkPipelineCreateFlags(),+        VkPipelineDepthStencilStateCreateFlagBits(..),+        VkPipelineDynamicStateCreateFlagBits(..),+        VkPipelineInputAssemblyStateCreateFlagBits(..),+        VkPipelineLayoutCreateFlagBits(..),+        VkPipelineMultisampleStateCreateFlagBits(..),+        VkPipelineRasterizationStateCreateFlagBits(..),+        VkPipelineShaderStageCreateFlagBits(..), VkPipelineStageFlagBits(),+        VkPipelineStageFlags(),+        VkPipelineTessellationStateCreateFlagBits(..),+        VkPipelineVertexInputStateCreateFlagBits(..),+        VkPipelineViewportStateCreateFlagBits(..),+        pattern VK_LOD_CLAMP_NONE, pattern VK_REMAINING_MIP_LEVELS,+        pattern VK_REMAINING_ARRAY_LAYERS, pattern VK_WHOLE_SIZE,+        pattern VK_ATTACHMENT_UNUSED, pattern VK_TRUE, pattern VK_FALSE,+        pattern VK_QUEUE_FAMILY_IGNORED, pattern VK_SUBPASS_EXTERNAL,+        -- ** Device initialization+        VkCreateInstance, pattern VkCreateInstance, HS_vkCreateInstance,+        PFN_vkCreateInstance, vkCreateInstance, vkCreateInstanceUnsafe,+        vkCreateInstanceSafe, VkDestroyInstance, pattern VkDestroyInstance,+        HS_vkDestroyInstance, PFN_vkDestroyInstance, vkDestroyInstance,+        vkDestroyInstanceUnsafe, vkDestroyInstanceSafe,+        VkEnumeratePhysicalDevices, pattern VkEnumeratePhysicalDevices,+        HS_vkEnumeratePhysicalDevices, PFN_vkEnumeratePhysicalDevices,+        vkEnumeratePhysicalDevices, vkEnumeratePhysicalDevicesUnsafe,+        vkEnumeratePhysicalDevicesSafe, VkGetPhysicalDeviceFeatures,+        pattern VkGetPhysicalDeviceFeatures,+        HS_vkGetPhysicalDeviceFeatures, PFN_vkGetPhysicalDeviceFeatures,+        vkGetPhysicalDeviceFeatures, vkGetPhysicalDeviceFeaturesUnsafe,+        vkGetPhysicalDeviceFeaturesSafe,+        VkGetPhysicalDeviceFormatProperties,+        pattern VkGetPhysicalDeviceFormatProperties,+        HS_vkGetPhysicalDeviceFormatProperties,+        PFN_vkGetPhysicalDeviceFormatProperties,+        vkGetPhysicalDeviceFormatProperties,+        vkGetPhysicalDeviceFormatPropertiesUnsafe,+        vkGetPhysicalDeviceFormatPropertiesSafe,+        VkGetPhysicalDeviceImageFormatProperties,+        pattern VkGetPhysicalDeviceImageFormatProperties,+        HS_vkGetPhysicalDeviceImageFormatProperties,+        PFN_vkGetPhysicalDeviceImageFormatProperties,+        vkGetPhysicalDeviceImageFormatProperties,+        vkGetPhysicalDeviceImageFormatPropertiesUnsafe,+        vkGetPhysicalDeviceImageFormatPropertiesSafe,+        VkGetPhysicalDeviceProperties,+        pattern VkGetPhysicalDeviceProperties,+        HS_vkGetPhysicalDeviceProperties,+        PFN_vkGetPhysicalDeviceProperties, vkGetPhysicalDeviceProperties,+        vkGetPhysicalDevicePropertiesUnsafe,+        vkGetPhysicalDevicePropertiesSafe,+        VkGetPhysicalDeviceQueueFamilyProperties,+        pattern VkGetPhysicalDeviceQueueFamilyProperties,+        HS_vkGetPhysicalDeviceQueueFamilyProperties,+        PFN_vkGetPhysicalDeviceQueueFamilyProperties,+        vkGetPhysicalDeviceQueueFamilyProperties,+        vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe,+        vkGetPhysicalDeviceQueueFamilyPropertiesSafe,+        VkGetPhysicalDeviceMemoryProperties,+        pattern VkGetPhysicalDeviceMemoryProperties,+        HS_vkGetPhysicalDeviceMemoryProperties,+        PFN_vkGetPhysicalDeviceMemoryProperties,+        vkGetPhysicalDeviceMemoryProperties,+        vkGetPhysicalDeviceMemoryPropertiesUnsafe,+        vkGetPhysicalDeviceMemoryPropertiesSafe, VkGetInstanceProcAddr,+        pattern VkGetInstanceProcAddr, HS_vkGetInstanceProcAddr,+        PFN_vkGetInstanceProcAddr, vkGetInstanceProcAddr,+        vkGetInstanceProcAddrUnsafe, vkGetInstanceProcAddrSafe,+        VkGetDeviceProcAddr, pattern VkGetDeviceProcAddr,+        HS_vkGetDeviceProcAddr, PFN_vkGetDeviceProcAddr,+        vkGetDeviceProcAddr, vkGetDeviceProcAddrUnsafe,+        vkGetDeviceProcAddrSafe, module Graphics.Vulkan.Marshal,+        VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkAndroidSurfaceCreateFlagsKHR(..), VkBufferViewCreateFlags(..),+        VkCommandPoolTrimFlags(..), VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkFormat(..),+        VkFormatFeatureBitmask(..), VkFormatFeatureFlagBits(),+        VkFormatFeatureFlags(), VkImageAspectBitmask(..),+        VkImageCreateBitmask(..), VkImageLayout(..), VkImageTiling(..),+        VkImageType(..), VkImageUsageBitmask(..), VkImageViewType(..),+        VkImageAspectFlagBits(), VkImageAspectFlags(),+        VkImageCreateFlagBits(), VkImageCreateFlags(),+        VkImageUsageFlagBits(), VkImageUsageFlags(),+        VkInternalAllocationType(..), VkMemoryAllocateBitmask(..),+        VkMemoryHeapBitmask(..), VkMemoryPropertyBitmask(..),+        VkMemoryAllocateFlagBits(), VkMemoryAllocateFlagBitsKHR(..),+        VkMemoryAllocateFlags(), VkMemoryHeapFlagBits(),+        VkMemoryHeapFlags(), VkMemoryPropertyFlagBits(),+        VkMemoryPropertyFlags(), VkPhysicalDeviceType(..),+        VkQueueBitmask(..), VkQueueGlobalPriorityEXT(..),+        VkQueueFlagBits(), VkQueueFlags(), VkResult(..),+        VkSampleCountBitmask(..), VkSampleCountFlagBits(),+        VkSampleCountFlags(), VkStructureType(..),+        VkSystemAllocationScope(..), newVkAllocationFunction,+        newVkDebugReportCallbackEXT, newVkDebugUtilsMessengerCallbackEXT,+        newVkFreeFunction, newVkInternalAllocationNotification,+        newVkInternalFreeNotification, newVkReallocationFunction,+        newVkVoidFunction, unwrapVkAllocationFunction,+        unwrapVkDebugReportCallbackEXT,+        unwrapVkDebugUtilsMessengerCallbackEXT, unwrapVkFreeFunction,+        unwrapVkInternalAllocationNotification,+        unwrapVkInternalFreeNotification, unwrapVkReallocationFunction,+        unwrapVkVoidFunction, HS_vkAllocationFunction,+        HS_vkDebugReportCallbackEXT, HS_vkDebugUtilsMessengerCallbackEXT,+        HS_vkFreeFunction, HS_vkInternalAllocationNotification,+        HS_vkInternalFreeNotification, HS_vkReallocationFunction,+        HS_vkVoidFunction, PFN_vkAllocationFunction,+        PFN_vkDebugReportCallbackEXT, PFN_vkDebugUtilsMessengerCallbackEXT,+        PFN_vkFreeFunction, PFN_vkInternalAllocationNotification,+        PFN_vkInternalFreeNotification, PFN_vkReallocationFunction,+        PFN_vkVoidFunction, VkBuffer, VkBufferView, VkBufferView_T(),+        VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkAllocationCallbacks, VkApplicationInfo, VkExtent2D, VkExtent3D,+        VkFormatProperties, VkFormatProperties2, VkFormatProperties2KHR,+        VkImageBlit, VkImageCopy, VkImageCreateInfo,+        VkImageFormatListCreateInfoKHR, VkImageFormatProperties,+        VkImageFormatProperties2, VkImageFormatProperties2KHR,+        VkImageMemoryBarrier, VkImageMemoryRequirementsInfo2,+        VkImageMemoryRequirementsInfo2KHR,+        VkImagePlaneMemoryRequirementsInfo,+        VkImagePlaneMemoryRequirementsInfoKHR, VkImageResolve,+        VkImageSparseMemoryRequirementsInfo2,+        VkImageSparseMemoryRequirementsInfo2KHR, VkImageSubresource,+        VkImageSubresourceLayers, VkImageSubresourceRange,+        VkImageSwapchainCreateInfoKHR, VkImageViewCreateInfo,+        VkImageViewUsageCreateInfo, VkImageViewUsageCreateInfoKHR,+        VkInstanceCreateInfo, VkMemoryAllocateFlagsInfo,+        VkMemoryAllocateFlagsInfoKHR, VkMemoryAllocateInfo,+        VkMemoryBarrier, VkMemoryDedicatedAllocateInfo,+        VkMemoryDedicatedAllocateInfoKHR, VkMemoryDedicatedRequirements,+        VkMemoryDedicatedRequirementsKHR, VkMemoryFdPropertiesKHR,+        VkMemoryGetFdInfoKHR, VkMemoryHeap,+        VkMemoryHostPointerPropertiesEXT, VkMemoryRequirements,+        VkMemoryRequirements2, VkMemoryRequirements2KHR, VkMemoryType,+        VkPhysicalDevice16BitStorageFeatures,+        VkPhysicalDevice16BitStorageFeaturesKHR,+        VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT,+        VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT,+        VkPhysicalDeviceConservativeRasterizationPropertiesEXT,+        VkPhysicalDeviceDescriptorIndexingFeaturesEXT,+        VkPhysicalDeviceDescriptorIndexingPropertiesEXT,+        VkPhysicalDeviceDiscardRectanglePropertiesEXT,+        VkPhysicalDeviceExternalBufferInfo,+        VkPhysicalDeviceExternalBufferInfoKHR,+        VkPhysicalDeviceExternalFenceInfo,+        VkPhysicalDeviceExternalFenceInfoKHR,+        VkPhysicalDeviceExternalImageFormatInfo,+        VkPhysicalDeviceExternalImageFormatInfoKHR,+        VkPhysicalDeviceExternalMemoryHostPropertiesEXT,+        VkPhysicalDeviceExternalSemaphoreInfo,+        VkPhysicalDeviceExternalSemaphoreInfoKHR,+        VkPhysicalDeviceFeatures2, VkPhysicalDeviceFeatures2KHR,+        VkPhysicalDeviceGroupProperties,+        VkPhysicalDeviceGroupPropertiesKHR, VkPhysicalDeviceIDProperties,+        VkPhysicalDeviceIDPropertiesKHR, VkPhysicalDeviceImageFormatInfo2,+        VkPhysicalDeviceImageFormatInfo2KHR, VkPhysicalDeviceLimits,+        VkPhysicalDeviceMaintenance3Properties,+        VkPhysicalDeviceMaintenance3PropertiesKHR,+        VkPhysicalDeviceMemoryProperties,+        VkPhysicalDeviceMemoryProperties2,+        VkPhysicalDeviceMemoryProperties2KHR,+        VkPhysicalDeviceMultiviewFeatures,+        VkPhysicalDeviceMultiviewFeaturesKHR,+        VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,+        VkPhysicalDeviceMultiviewProperties,+        VkPhysicalDeviceMultiviewPropertiesKHR,+        VkPhysicalDevicePointClippingProperties,+        VkPhysicalDevicePointClippingPropertiesKHR,+        VkPhysicalDeviceProperties, VkPhysicalDeviceProperties2,+        VkPhysicalDeviceProperties2KHR,+        VkPhysicalDeviceProtectedMemoryFeatures,+        VkPhysicalDeviceProtectedMemoryProperties,+        VkPhysicalDevicePushDescriptorPropertiesKHR,+        VkPhysicalDeviceSampleLocationsPropertiesEXT,+        VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT,+        VkPhysicalDeviceSamplerYcbcrConversionFeatures,+        VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR,+        VkPhysicalDeviceShaderCorePropertiesAMD,+        VkPhysicalDeviceShaderDrawParameterFeatures,+        VkPhysicalDeviceSparseImageFormatInfo2,+        VkPhysicalDeviceSparseImageFormatInfo2KHR,+        VkPhysicalDeviceSparseProperties,+        VkPhysicalDeviceSubgroupProperties,+        VkPhysicalDeviceSurfaceInfo2KHR,+        VkPhysicalDeviceVariablePointerFeatures,+        VkPhysicalDeviceVariablePointerFeaturesKHR,+        VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT,+        VkPhysicalDeviceFeatures, VkQueueFamilyProperties,+        VkQueueFamilyProperties2, VkQueueFamilyProperties2KHR,+        -- ** Device commands+        VkCreateDevice, pattern VkCreateDevice, HS_vkCreateDevice,+        PFN_vkCreateDevice, vkCreateDevice, vkCreateDeviceUnsafe,+        vkCreateDeviceSafe, VkDestroyDevice, pattern VkDestroyDevice,+        HS_vkDestroyDevice, PFN_vkDestroyDevice, vkDestroyDevice,+        vkDestroyDeviceUnsafe, vkDestroyDeviceSafe,+        VkDeviceEventTypeEXT(..), VkDeviceGroupPresentModeBitmaskKHR(..),+        VkDeviceCreateFlagBits(..), VkDeviceGroupPresentModeFlagBitsKHR(),+        VkDeviceGroupPresentModeFlagsKHR(), VkDeviceQueueCreateBitmask(..),+        VkDeviceQueueCreateFlagBits(), VkDeviceQueueCreateFlags(),+        VkDeviceCreateInfo, VkDeviceEventInfoEXT,+        VkDeviceGeneratedCommandsFeaturesNVX,+        VkDeviceGeneratedCommandsLimitsNVX, VkDeviceGroupBindSparseInfo,+        VkDeviceGroupBindSparseInfoKHR,+        VkDeviceGroupCommandBufferBeginInfo,+        VkDeviceGroupCommandBufferBeginInfoKHR,+        VkDeviceGroupDeviceCreateInfo, VkDeviceGroupDeviceCreateInfoKHR,+        VkDeviceGroupPresentCapabilitiesKHR, VkDeviceGroupPresentInfoKHR,+        VkDeviceGroupRenderPassBeginInfo,+        VkDeviceGroupRenderPassBeginInfoKHR, VkDeviceGroupSubmitInfo,+        VkDeviceGroupSubmitInfoKHR, VkDeviceGroupSwapchainCreateInfoKHR,+        VkDeviceQueueCreateInfo, VkDeviceQueueGlobalPriorityCreateInfoEXT,+        VkDeviceQueueInfo2, -- ** Extension discovery commands+                            VkEnumerateInstanceExtensionProperties,+        pattern VkEnumerateInstanceExtensionProperties,+        HS_vkEnumerateInstanceExtensionProperties,+        PFN_vkEnumerateInstanceExtensionProperties,+        vkEnumerateInstanceExtensionProperties,+        vkEnumerateInstanceExtensionPropertiesUnsafe,+        vkEnumerateInstanceExtensionPropertiesSafe,+        VkEnumerateDeviceExtensionProperties,+        pattern VkEnumerateDeviceExtensionProperties,+        HS_vkEnumerateDeviceExtensionProperties,+        PFN_vkEnumerateDeviceExtensionProperties,+        vkEnumerateDeviceExtensionProperties,+        vkEnumerateDeviceExtensionPropertiesUnsafe,+        vkEnumerateDeviceExtensionPropertiesSafe, VkExtensionProperties,+        -- ** Layer discovery commands+        VkEnumerateInstanceLayerProperties,+        pattern VkEnumerateInstanceLayerProperties,+        HS_vkEnumerateInstanceLayerProperties,+        PFN_vkEnumerateInstanceLayerProperties,+        vkEnumerateInstanceLayerProperties,+        vkEnumerateInstanceLayerPropertiesUnsafe,+        vkEnumerateInstanceLayerPropertiesSafe,+        VkEnumerateDeviceLayerProperties,+        pattern VkEnumerateDeviceLayerProperties,+        HS_vkEnumerateDeviceLayerProperties,+        PFN_vkEnumerateDeviceLayerProperties,+        vkEnumerateDeviceLayerProperties,+        vkEnumerateDeviceLayerPropertiesUnsafe,+        vkEnumerateDeviceLayerPropertiesSafe, VkLayerProperties,+        -- ** queue commands+        VkGetDeviceQueue, pattern VkGetDeviceQueue, HS_vkGetDeviceQueue,+        PFN_vkGetDeviceQueue, vkGetDeviceQueue, vkGetDeviceQueueUnsafe,+        vkGetDeviceQueueSafe, VkQueueSubmit, pattern VkQueueSubmit,+        HS_vkQueueSubmit, PFN_vkQueueSubmit, vkQueueSubmit,+        vkQueueSubmitUnsafe, vkQueueSubmitSafe, VkQueueWaitIdle,+        pattern VkQueueWaitIdle, HS_vkQueueWaitIdle, PFN_vkQueueWaitIdle,+        vkQueueWaitIdle, vkQueueWaitIdleUnsafe, vkQueueWaitIdleSafe,+        VkDeviceWaitIdle, pattern VkDeviceWaitIdle, HS_vkDeviceWaitIdle,+        PFN_vkDeviceWaitIdle, vkDeviceWaitIdle, vkDeviceWaitIdleUnsafe,+        vkDeviceWaitIdleSafe, VkSubmitInfo, -- ** Memory commands+                                            VkAllocateMemory,+        pattern VkAllocateMemory, HS_vkAllocateMemory,+        PFN_vkAllocateMemory, vkAllocateMemory, vkAllocateMemoryUnsafe,+        vkAllocateMemorySafe, VkFreeMemory, pattern VkFreeMemory,+        HS_vkFreeMemory, PFN_vkFreeMemory, vkFreeMemory,+        vkFreeMemoryUnsafe, vkFreeMemorySafe, VkMapMemory,+        pattern VkMapMemory, HS_vkMapMemory, PFN_vkMapMemory, vkMapMemory,+        vkMapMemoryUnsafe, vkMapMemorySafe, VkUnmapMemory,+        pattern VkUnmapMemory, HS_vkUnmapMemory, PFN_vkUnmapMemory,+        vkUnmapMemory, vkUnmapMemoryUnsafe, vkUnmapMemorySafe,+        VkFlushMappedMemoryRanges, pattern VkFlushMappedMemoryRanges,+        HS_vkFlushMappedMemoryRanges, PFN_vkFlushMappedMemoryRanges,+        vkFlushMappedMemoryRanges, vkFlushMappedMemoryRangesUnsafe,+        vkFlushMappedMemoryRangesSafe, VkInvalidateMappedMemoryRanges,+        pattern VkInvalidateMappedMemoryRanges,+        HS_vkInvalidateMappedMemoryRanges,+        PFN_vkInvalidateMappedMemoryRanges, vkInvalidateMappedMemoryRanges,+        vkInvalidateMappedMemoryRangesUnsafe,+        vkInvalidateMappedMemoryRangesSafe, VkGetDeviceMemoryCommitment,+        pattern VkGetDeviceMemoryCommitment,+        HS_vkGetDeviceMemoryCommitment, PFN_vkGetDeviceMemoryCommitment,+        vkGetDeviceMemoryCommitment, vkGetDeviceMemoryCommitmentUnsafe,+        vkGetDeviceMemoryCommitmentSafe, VkMappedMemoryRange,+        -- ** Memory management API commands+        VkBindBufferMemory, pattern VkBindBufferMemory,+        HS_vkBindBufferMemory, PFN_vkBindBufferMemory, vkBindBufferMemory,+        vkBindBufferMemoryUnsafe, vkBindBufferMemorySafe,+        VkBindImageMemory, pattern VkBindImageMemory, HS_vkBindImageMemory,+        PFN_vkBindImageMemory, vkBindImageMemory, vkBindImageMemoryUnsafe,+        vkBindImageMemorySafe, VkGetBufferMemoryRequirements,+        pattern VkGetBufferMemoryRequirements,+        HS_vkGetBufferMemoryRequirements,+        PFN_vkGetBufferMemoryRequirements, vkGetBufferMemoryRequirements,+        vkGetBufferMemoryRequirementsUnsafe,+        vkGetBufferMemoryRequirementsSafe, VkGetImageMemoryRequirements,+        pattern VkGetImageMemoryRequirements,+        HS_vkGetImageMemoryRequirements, PFN_vkGetImageMemoryRequirements,+        vkGetImageMemoryRequirements, vkGetImageMemoryRequirementsUnsafe,+        vkGetImageMemoryRequirementsSafe,+        -- ** Sparse resource memory management API commands+        VkGetImageSparseMemoryRequirements,+        pattern VkGetImageSparseMemoryRequirements,+        HS_vkGetImageSparseMemoryRequirements,+        PFN_vkGetImageSparseMemoryRequirements,+        vkGetImageSparseMemoryRequirements,+        vkGetImageSparseMemoryRequirementsUnsafe,+        vkGetImageSparseMemoryRequirementsSafe,+        VkGetPhysicalDeviceSparseImageFormatProperties,+        pattern VkGetPhysicalDeviceSparseImageFormatProperties,+        HS_vkGetPhysicalDeviceSparseImageFormatProperties,+        PFN_vkGetPhysicalDeviceSparseImageFormatProperties,+        vkGetPhysicalDeviceSparseImageFormatProperties,+        vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe,+        vkGetPhysicalDeviceSparseImageFormatPropertiesSafe,+        VkQueueBindSparse, pattern VkQueueBindSparse, HS_vkQueueBindSparse,+        PFN_vkQueueBindSparse, vkQueueBindSparse, vkQueueBindSparseUnsafe,+        vkQueueBindSparseSafe, VkSparseImageFormatBitmask(..),+        VkSparseMemoryBindBitmask(..), VkSparseImageFormatFlagBits(),+        VkSparseImageFormatFlags(), VkSparseMemoryBindFlagBits(),+        VkSparseMemoryBindFlags(), VkBindBufferMemoryDeviceGroupInfo,+        VkBindBufferMemoryDeviceGroupInfoKHR, VkBindBufferMemoryInfo,+        VkBindBufferMemoryInfoKHR, VkBindImageMemoryDeviceGroupInfo,+        VkBindImageMemoryDeviceGroupInfoKHR, VkBindImageMemoryInfo,+        VkBindImageMemoryInfoKHR, VkBindImageMemorySwapchainInfoKHR,+        VkBindImagePlaneMemoryInfo, VkBindImagePlaneMemoryInfoKHR,+        VkBindSparseInfo, VkOffset2D, VkOffset3D,+        VkSparseBufferMemoryBindInfo, VkSparseImageFormatProperties,+        VkSparseImageFormatProperties2, VkSparseImageFormatProperties2KHR,+        VkSparseImageMemoryBind, VkSparseImageMemoryBindInfo,+        VkSparseImageMemoryRequirements, VkSparseImageMemoryRequirements2,+        VkSparseImageMemoryRequirements2KHR,+        VkSparseImageOpaqueMemoryBindInfo, VkSparseMemoryBind,+        -- ** Fence commands+        VkCreateFence, pattern VkCreateFence, HS_vkCreateFence,+        PFN_vkCreateFence, vkCreateFence, vkCreateFenceUnsafe,+        vkCreateFenceSafe, VkDestroyFence, pattern VkDestroyFence,+        HS_vkDestroyFence, PFN_vkDestroyFence, vkDestroyFence,+        vkDestroyFenceUnsafe, vkDestroyFenceSafe, VkResetFences,+        pattern VkResetFences, HS_vkResetFences, PFN_vkResetFences,+        vkResetFences, vkResetFencesUnsafe, vkResetFencesSafe,+        VkGetFenceStatus, pattern VkGetFenceStatus, HS_vkGetFenceStatus,+        PFN_vkGetFenceStatus, vkGetFenceStatus, vkGetFenceStatusUnsafe,+        vkGetFenceStatusSafe, VkWaitForFences, pattern VkWaitForFences,+        HS_vkWaitForFences, PFN_vkWaitForFences, vkWaitForFences,+        vkWaitForFencesUnsafe, vkWaitForFencesSafe,+        VkFenceCreateBitmask(..), VkFenceImportBitmask(..),+        VkFenceCreateFlagBits(), VkFenceCreateFlags(),+        VkFenceImportFlagBits(), VkFenceImportFlagBitsKHR(..),+        VkFenceImportFlags(), VkFenceCreateInfo, VkFenceGetFdInfoKHR,+        -- ** Queue semaphore commands+        VkCreateSemaphore, pattern VkCreateSemaphore, HS_vkCreateSemaphore,+        PFN_vkCreateSemaphore, vkCreateSemaphore, vkCreateSemaphoreUnsafe,+        vkCreateSemaphoreSafe, VkDestroySemaphore,+        pattern VkDestroySemaphore, HS_vkDestroySemaphore,+        PFN_vkDestroySemaphore, vkDestroySemaphore,+        vkDestroySemaphoreUnsafe, vkDestroySemaphoreSafe,+        VkSemaphoreCreateInfo, VkSemaphoreGetFdInfoKHR, -- ** Event commands+                                                        VkCreateEvent,+        pattern VkCreateEvent, HS_vkCreateEvent, PFN_vkCreateEvent,+        vkCreateEvent, vkCreateEventUnsafe, vkCreateEventSafe,+        VkDestroyEvent, pattern VkDestroyEvent, HS_vkDestroyEvent,+        PFN_vkDestroyEvent, vkDestroyEvent, vkDestroyEventUnsafe,+        vkDestroyEventSafe, VkGetEventStatus, pattern VkGetEventStatus,+        HS_vkGetEventStatus, PFN_vkGetEventStatus, vkGetEventStatus,+        vkGetEventStatusUnsafe, vkGetEventStatusSafe, VkSetEvent,+        pattern VkSetEvent, HS_vkSetEvent, PFN_vkSetEvent, vkSetEvent,+        vkSetEventUnsafe, vkSetEventSafe, VkResetEvent,+        pattern VkResetEvent, HS_vkResetEvent, PFN_vkResetEvent,+        vkResetEvent, vkResetEventUnsafe, vkResetEventSafe,+        VkEventCreateInfo, -- ** Query commands+                           VkCreateQueryPool, pattern VkCreateQueryPool,+        HS_vkCreateQueryPool, PFN_vkCreateQueryPool, vkCreateQueryPool,+        vkCreateQueryPoolUnsafe, vkCreateQueryPoolSafe, VkDestroyQueryPool,+        pattern VkDestroyQueryPool, HS_vkDestroyQueryPool,+        PFN_vkDestroyQueryPool, vkDestroyQueryPool,+        vkDestroyQueryPoolUnsafe, vkDestroyQueryPoolSafe,+        VkGetQueryPoolResults, pattern VkGetQueryPoolResults,+        HS_vkGetQueryPoolResults, PFN_vkGetQueryPoolResults,+        vkGetQueryPoolResults, vkGetQueryPoolResultsUnsafe,+        vkGetQueryPoolResultsSafe, VkQueryControlBitmask(..),+        VkQueryPipelineStatisticBitmask(..), VkQueryResultBitmask(..),+        VkQueryType(..), VkQueryControlFlagBits(), VkQueryControlFlags(),+        VkQueryPipelineStatisticFlagBits(),+        VkQueryPipelineStatisticFlags(), VkQueryPoolCreateFlagBits(..),+        VkQueryResultFlagBits(), VkQueryResultFlags(),+        VkQueryPoolCreateInfo, -- ** Buffer commands+                               VkCreateBuffer, pattern VkCreateBuffer,+        HS_vkCreateBuffer, PFN_vkCreateBuffer, vkCreateBuffer,+        vkCreateBufferUnsafe, vkCreateBufferSafe, VkDestroyBuffer,+        pattern VkDestroyBuffer, HS_vkDestroyBuffer, PFN_vkDestroyBuffer,+        vkDestroyBuffer, vkDestroyBufferUnsafe, vkDestroyBufferSafe,+        VkBufferCreateBitmask(..), VkBufferUsageBitmask(..),+        VkBufferCreateFlagBits(), VkBufferCreateFlags(),+        VkBufferUsageFlagBits(), VkBufferUsageFlags(),+        VkBufferViewCreateFlagBits(..), VkSharingMode(..), VkBufferCopy,+        VkBufferCreateInfo, VkBufferImageCopy, VkBufferMemoryBarrier,+        VkBufferMemoryRequirementsInfo2,+        VkBufferMemoryRequirementsInfo2KHR, VkBufferViewCreateInfo,+        -- ** Buffer view commands+        VkCreateBufferView, pattern VkCreateBufferView,+        HS_vkCreateBufferView, PFN_vkCreateBufferView, vkCreateBufferView,+        vkCreateBufferViewUnsafe, vkCreateBufferViewSafe,+        VkDestroyBufferView, pattern VkDestroyBufferView,+        HS_vkDestroyBufferView, PFN_vkDestroyBufferView,+        vkDestroyBufferView, vkDestroyBufferViewUnsafe,+        vkDestroyBufferViewSafe, -- ** Image commands+                                 VkCreateImage, pattern VkCreateImage,+        HS_vkCreateImage, PFN_vkCreateImage, vkCreateImage,+        vkCreateImageUnsafe, vkCreateImageSafe, VkDestroyImage,+        pattern VkDestroyImage, HS_vkDestroyImage, PFN_vkDestroyImage,+        vkDestroyImage, vkDestroyImageUnsafe, vkDestroyImageSafe,+        VkGetImageSubresourceLayout, pattern VkGetImageSubresourceLayout,+        HS_vkGetImageSubresourceLayout, PFN_vkGetImageSubresourceLayout,+        vkGetImageSubresourceLayout, vkGetImageSubresourceLayoutUnsafe,+        vkGetImageSubresourceLayoutSafe, VkSubresourceLayout,+        -- ** Image view commands+        VkCreateImageView, pattern VkCreateImageView, HS_vkCreateImageView,+        PFN_vkCreateImageView, vkCreateImageView, vkCreateImageViewUnsafe,+        vkCreateImageViewSafe, VkDestroyImageView,+        pattern VkDestroyImageView, HS_vkDestroyImageView,+        PFN_vkDestroyImageView, vkDestroyImageView,+        vkDestroyImageViewUnsafe, vkDestroyImageViewSafe,+        VkComponentSwizzle(..), VkComponentMapping, -- ** Shader commands+                                                    VkCreateShaderModule,+        pattern VkCreateShaderModule, HS_vkCreateShaderModule,+        PFN_vkCreateShaderModule, vkCreateShaderModule,+        vkCreateShaderModuleUnsafe, vkCreateShaderModuleSafe,+        VkDestroyShaderModule, pattern VkDestroyShaderModule,+        HS_vkDestroyShaderModule, PFN_vkDestroyShaderModule,+        vkDestroyShaderModule, vkDestroyShaderModuleUnsafe,+        vkDestroyShaderModuleSafe, VkShaderModuleCreateInfo,+        VkShaderModuleValidationCacheCreateInfoEXT,+        VkShaderResourceUsageAMD, VkShaderStatisticsInfoAMD,+        -- ** Pipeline Cache commands+        VkCreatePipelineCache, pattern VkCreatePipelineCache,+        HS_vkCreatePipelineCache, PFN_vkCreatePipelineCache,+        vkCreatePipelineCache, vkCreatePipelineCacheUnsafe,+        vkCreatePipelineCacheSafe, VkDestroyPipelineCache,+        pattern VkDestroyPipelineCache, HS_vkDestroyPipelineCache,+        PFN_vkDestroyPipelineCache, vkDestroyPipelineCache,+        vkDestroyPipelineCacheUnsafe, vkDestroyPipelineCacheSafe,+        VkGetPipelineCacheData, pattern VkGetPipelineCacheData,+        HS_vkGetPipelineCacheData, PFN_vkGetPipelineCacheData,+        vkGetPipelineCacheData, vkGetPipelineCacheDataUnsafe,+        vkGetPipelineCacheDataSafe, VkMergePipelineCaches,+        pattern VkMergePipelineCaches, HS_vkMergePipelineCaches,+        PFN_vkMergePipelineCaches, vkMergePipelineCaches,+        vkMergePipelineCachesUnsafe, vkMergePipelineCachesSafe,+        VkGraphicsPipelineCreateInfo, VkPipelineCacheCreateInfo,+        VkPipelineColorBlendAdvancedStateCreateInfoEXT,+        VkPipelineColorBlendAttachmentState,+        VkPipelineColorBlendStateCreateInfo,+        VkPipelineCoverageModulationStateCreateInfoNV,+        VkPipelineCoverageToColorStateCreateInfoNV,+        VkPipelineDepthStencilStateCreateInfo,+        VkPipelineDiscardRectangleStateCreateInfoEXT,+        VkPipelineDynamicStateCreateInfo,+        VkPipelineInputAssemblyStateCreateInfo, VkPipelineLayoutCreateInfo,+        VkPipelineMultisampleStateCreateInfo,+        VkPipelineRasterizationConservativeStateCreateInfoEXT,+        VkPipelineRasterizationStateCreateInfo,+        VkPipelineRasterizationStateRasterizationOrderAMD,+        VkPipelineSampleLocationsStateCreateInfoEXT,+        VkPipelineShaderStageCreateInfo,+        VkPipelineTessellationDomainOriginStateCreateInfo,+        VkPipelineTessellationDomainOriginStateCreateInfoKHR,+        VkPipelineTessellationStateCreateInfo,+        VkPipelineVertexInputDivisorStateCreateInfoEXT,+        VkPipelineVertexInputStateCreateInfo,+        VkPipelineViewportStateCreateInfo,+        VkPipelineViewportSwizzleStateCreateInfoNV,+        VkPipelineViewportWScalingStateCreateInfoNV,+        -- ** Pipeline commands+        VkCreateGraphicsPipelines, pattern VkCreateGraphicsPipelines,+        HS_vkCreateGraphicsPipelines, PFN_vkCreateGraphicsPipelines,+        vkCreateGraphicsPipelines, vkCreateGraphicsPipelinesUnsafe,+        vkCreateGraphicsPipelinesSafe, VkCreateComputePipelines,+        pattern VkCreateComputePipelines, HS_vkCreateComputePipelines,+        PFN_vkCreateComputePipelines, vkCreateComputePipelines,+        vkCreateComputePipelinesUnsafe, vkCreateComputePipelinesSafe,+        VkDestroyPipeline, pattern VkDestroyPipeline, HS_vkDestroyPipeline,+        PFN_vkDestroyPipeline, vkDestroyPipeline, vkDestroyPipelineUnsafe,+        vkDestroyPipelineSafe, VkBlendFactor(..), VkBlendOp(..),+        VkBlendOverlapEXT(..), VkColorComponentBitmask(..),+        VkColorSpaceKHR(..), VkColorComponentFlagBits(),+        VkColorComponentFlags(), VkCompareOp(..), VkCullModeBitmask(..),+        VkCullModeFlagBits(), VkCullModeFlags(), VkDynamicState(..),+        VkFrontFace(..), VkLogicOp(..), VkPolygonMode(..),+        VkPrimitiveTopology(..), VkShaderInfoTypeAMD(..),+        VkShaderStageBitmask(..), VkShaderStageFlagBits(),+        VkShaderStageFlags(), VkStencilFaceBitmask(..), VkStencilOp(..),+        VkStencilFaceFlagBits(), VkStencilFaceFlags(),+        VkVertexInputRate(..), VkComputePipelineCreateInfo, VkRect2D,+        VkRectLayerKHR, VkSpecializationInfo, VkSpecializationMapEntry,+        VkStencilOpState, VkVertexInputAttributeDescription,+        VkVertexInputBindingDescription,+        VkVertexInputBindingDivisorDescriptionEXT, VkViewport,+        VkViewportSwizzleNV, VkViewportWScalingNV, -- ** Pipeline layout commands+                                                   VkCreatePipelineLayout,+        pattern VkCreatePipelineLayout, HS_vkCreatePipelineLayout,+        PFN_vkCreatePipelineLayout, vkCreatePipelineLayout,+        vkCreatePipelineLayoutUnsafe, vkCreatePipelineLayoutSafe,+        VkDestroyPipelineLayout, pattern VkDestroyPipelineLayout,+        HS_vkDestroyPipelineLayout, PFN_vkDestroyPipelineLayout,+        vkDestroyPipelineLayout, vkDestroyPipelineLayoutUnsafe,+        vkDestroyPipelineLayoutSafe, VkPushConstantRange, -- ** Sampler commands+                                                          VkCreateSampler,+        pattern VkCreateSampler, HS_vkCreateSampler, PFN_vkCreateSampler,+        vkCreateSampler, vkCreateSamplerUnsafe, vkCreateSamplerSafe,+        VkDestroySampler, pattern VkDestroySampler, HS_vkDestroySampler,+        PFN_vkDestroySampler, vkDestroySampler, vkDestroySamplerUnsafe,+        vkDestroySamplerSafe, VkBorderColor(..), VkFilter(..),+        VkSamplerAddressMode(..), VkSamplerMipmapMode(..),+        VkSamplerReductionModeEXT(..), VkSamplerYcbcrModelConversion(..),+        VkSamplerYcbcrRange(..), VkSamplerCreateFlagBits(..),+        VkSamplerYcbcrModelConversionKHR(..), VkSamplerYcbcrRangeKHR(..),+        VkSamplerCreateInfo, VkSamplerReductionModeCreateInfoEXT,+        VkSamplerYcbcrConversionCreateInfo,+        VkSamplerYcbcrConversionCreateInfoKHR,+        VkSamplerYcbcrConversionImageFormatProperties,+        VkSamplerYcbcrConversionImageFormatPropertiesKHR,+        VkSamplerYcbcrConversionInfo, VkSamplerYcbcrConversionInfoKHR,+        -- ** Descriptor set commands+        VkCreateDescriptorSetLayout, pattern VkCreateDescriptorSetLayout,+        HS_vkCreateDescriptorSetLayout, PFN_vkCreateDescriptorSetLayout,+        vkCreateDescriptorSetLayout, vkCreateDescriptorSetLayoutUnsafe,+        vkCreateDescriptorSetLayoutSafe, VkDestroyDescriptorSetLayout,+        pattern VkDestroyDescriptorSetLayout,+        HS_vkDestroyDescriptorSetLayout, PFN_vkDestroyDescriptorSetLayout,+        vkDestroyDescriptorSetLayout, vkDestroyDescriptorSetLayoutUnsafe,+        vkDestroyDescriptorSetLayoutSafe, VkCreateDescriptorPool,+        pattern VkCreateDescriptorPool, HS_vkCreateDescriptorPool,+        PFN_vkCreateDescriptorPool, vkCreateDescriptorPool,+        vkCreateDescriptorPoolUnsafe, vkCreateDescriptorPoolSafe,+        VkDestroyDescriptorPool, pattern VkDestroyDescriptorPool,+        HS_vkDestroyDescriptorPool, PFN_vkDestroyDescriptorPool,+        vkDestroyDescriptorPool, vkDestroyDescriptorPoolUnsafe,+        vkDestroyDescriptorPoolSafe, VkResetDescriptorPool,+        pattern VkResetDescriptorPool, HS_vkResetDescriptorPool,+        PFN_vkResetDescriptorPool, vkResetDescriptorPool,+        vkResetDescriptorPoolUnsafe, vkResetDescriptorPoolSafe,+        VkAllocateDescriptorSets, pattern VkAllocateDescriptorSets,+        HS_vkAllocateDescriptorSets, PFN_vkAllocateDescriptorSets,+        vkAllocateDescriptorSets, vkAllocateDescriptorSetsUnsafe,+        vkAllocateDescriptorSetsSafe, VkFreeDescriptorSets,+        pattern VkFreeDescriptorSets, HS_vkFreeDescriptorSets,+        PFN_vkFreeDescriptorSets, vkFreeDescriptorSets,+        vkFreeDescriptorSetsUnsafe, vkFreeDescriptorSetsSafe,+        VkUpdateDescriptorSets, pattern VkUpdateDescriptorSets,+        HS_vkUpdateDescriptorSets, PFN_vkUpdateDescriptorSets,+        vkUpdateDescriptorSets, vkUpdateDescriptorSetsUnsafe,+        vkUpdateDescriptorSetsSafe, VkDescriptorBindingBitmaskEXT(..),+        VkDescriptorPoolCreateBitmask(..), VkDescriptorType(..),+        VkDescriptorUpdateTemplateType(..),+        VkDescriptorBindingFlagBitsEXT(), VkDescriptorBindingFlagsEXT(),+        VkDescriptorPoolCreateFlagBits(), VkDescriptorPoolCreateFlags(),+        VkDescriptorSetLayoutCreateBitmask(..),+        VkDescriptorSetLayoutCreateFlagBits(),+        VkDescriptorSetLayoutCreateFlags(),+        VkDescriptorUpdateTemplateTypeKHR(..), VkCopyDescriptorSet,+        VkDescriptorBufferInfo, VkDescriptorImageInfo,+        VkDescriptorPoolCreateInfo, VkDescriptorPoolSize,+        VkDescriptorSetAllocateInfo, VkDescriptorSetLayoutBinding,+        VkDescriptorSetLayoutBindingFlagsCreateInfoEXT,+        VkDescriptorSetLayoutCreateInfo, VkDescriptorSetLayoutSupport,+        VkDescriptorSetLayoutSupportKHR,+        VkDescriptorSetVariableDescriptorCountAllocateInfoEXT,+        VkDescriptorSetVariableDescriptorCountLayoutSupportEXT,+        VkDescriptorUpdateTemplateCreateInfo,+        VkDescriptorUpdateTemplateCreateInfoKHR,+        VkDescriptorUpdateTemplateEntry,+        VkDescriptorUpdateTemplateEntryKHR, VkWriteDescriptorSet,+        -- ** Pass commands+        VkCreateFramebuffer, pattern VkCreateFramebuffer,+        HS_vkCreateFramebuffer, PFN_vkCreateFramebuffer,+        vkCreateFramebuffer, vkCreateFramebufferUnsafe,+        vkCreateFramebufferSafe, VkDestroyFramebuffer,+        pattern VkDestroyFramebuffer, HS_vkDestroyFramebuffer,+        PFN_vkDestroyFramebuffer, vkDestroyFramebuffer,+        vkDestroyFramebufferUnsafe, vkDestroyFramebufferSafe,+        VkCreateRenderPass, pattern VkCreateRenderPass,+        HS_vkCreateRenderPass, PFN_vkCreateRenderPass, vkCreateRenderPass,+        vkCreateRenderPassUnsafe, vkCreateRenderPassSafe,+        VkDestroyRenderPass, pattern VkDestroyRenderPass,+        HS_vkDestroyRenderPass, PFN_vkDestroyRenderPass,+        vkDestroyRenderPass, vkDestroyRenderPassUnsafe,+        vkDestroyRenderPassSafe, VkGetRenderAreaGranularity,+        pattern VkGetRenderAreaGranularity, HS_vkGetRenderAreaGranularity,+        PFN_vkGetRenderAreaGranularity, vkGetRenderAreaGranularity,+        vkGetRenderAreaGranularityUnsafe, vkGetRenderAreaGranularitySafe,+        VkAccessBitmask(..), VkAccessFlagBits(), VkAccessFlags(),+        VkAttachmentDescriptionBitmask(..), VkAttachmentLoadOp(..),+        VkAttachmentStoreOp(..), VkAttachmentDescriptionFlagBits(),+        VkAttachmentDescriptionFlags(), VkDependencyBitmask(..),+        VkDependencyFlagBits(), VkDependencyFlags(), VkSubpassContents(..),+        VkSubpassDescriptionBitmask(..), VkSubpassDescriptionFlagBits(),+        VkSubpassDescriptionFlags(), VkAttachmentDescription,+        VkAttachmentReference, VkAttachmentSampleLocationsEXT,+        VkFramebufferCreateInfo, VkRenderPassBeginInfo,+        VkRenderPassCreateInfo,+        VkRenderPassInputAttachmentAspectCreateInfo,+        VkRenderPassInputAttachmentAspectCreateInfoKHR,+        VkRenderPassMultiviewCreateInfo,+        VkRenderPassMultiviewCreateInfoKHR,+        VkRenderPassSampleLocationsBeginInfoEXT, VkSubpassDependency,+        VkSubpassDescription, VkSubpassSampleLocationsEXT,+        -- ** Command pool commands+        VkCreateCommandPool, pattern VkCreateCommandPool,+        HS_vkCreateCommandPool, PFN_vkCreateCommandPool,+        vkCreateCommandPool, vkCreateCommandPoolUnsafe,+        vkCreateCommandPoolSafe, VkDestroyCommandPool,+        pattern VkDestroyCommandPool, HS_vkDestroyCommandPool,+        PFN_vkDestroyCommandPool, vkDestroyCommandPool,+        vkDestroyCommandPoolUnsafe, vkDestroyCommandPoolSafe,+        VkResetCommandPool, pattern VkResetCommandPool,+        HS_vkResetCommandPool, PFN_vkResetCommandPool, vkResetCommandPool,+        vkResetCommandPoolUnsafe, vkResetCommandPoolSafe,+        VkCommandBufferLevel(..), VkCommandBufferResetBitmask(..),+        VkCommandBufferUsageBitmask(..), VkCommandPoolCreateBitmask(..),+        VkCommandPoolResetBitmask(..), VkCommandBufferResetFlagBits(),+        VkCommandBufferResetFlags(), VkCommandBufferUsageFlagBits(),+        VkCommandBufferUsageFlags(), VkCommandPoolCreateFlagBits(),+        VkCommandPoolCreateFlags(), VkCommandPoolResetFlagBits(),+        VkCommandPoolResetFlags(), VkCommandBufferAllocateInfo,+        VkCommandBufferBeginInfo, VkCommandBufferInheritanceInfo,+        VkCommandPoolCreateInfo, -- ** Command buffer commands+                                 VkAllocateCommandBuffers,+        pattern VkAllocateCommandBuffers, HS_vkAllocateCommandBuffers,+        PFN_vkAllocateCommandBuffers, vkAllocateCommandBuffers,+        vkAllocateCommandBuffersUnsafe, vkAllocateCommandBuffersSafe,+        VkFreeCommandBuffers, pattern VkFreeCommandBuffers,+        HS_vkFreeCommandBuffers, PFN_vkFreeCommandBuffers,+        vkFreeCommandBuffers, vkFreeCommandBuffersUnsafe,+        vkFreeCommandBuffersSafe, VkBeginCommandBuffer,+        pattern VkBeginCommandBuffer, HS_vkBeginCommandBuffer,+        PFN_vkBeginCommandBuffer, vkBeginCommandBuffer,+        vkBeginCommandBufferUnsafe, vkBeginCommandBufferSafe,+        VkEndCommandBuffer, pattern VkEndCommandBuffer,+        HS_vkEndCommandBuffer, PFN_vkEndCommandBuffer, vkEndCommandBuffer,+        vkEndCommandBufferUnsafe, vkEndCommandBufferSafe,+        VkResetCommandBuffer, pattern VkResetCommandBuffer,+        HS_vkResetCommandBuffer, PFN_vkResetCommandBuffer,+        vkResetCommandBuffer, vkResetCommandBufferUnsafe,+        vkResetCommandBufferSafe, -- ** Command buffer building commands+                                  VkCmdBindPipeline,+        pattern VkCmdBindPipeline, HS_vkCmdBindPipeline,+        PFN_vkCmdBindPipeline, vkCmdBindPipeline, vkCmdBindPipelineUnsafe,+        vkCmdBindPipelineSafe, VkCmdSetViewport, pattern VkCmdSetViewport,+        HS_vkCmdSetViewport, PFN_vkCmdSetViewport, vkCmdSetViewport,+        vkCmdSetViewportUnsafe, vkCmdSetViewportSafe, VkCmdSetScissor,+        pattern VkCmdSetScissor, HS_vkCmdSetScissor, PFN_vkCmdSetScissor,+        vkCmdSetScissor, vkCmdSetScissorUnsafe, vkCmdSetScissorSafe,+        VkCmdSetLineWidth, pattern VkCmdSetLineWidth, HS_vkCmdSetLineWidth,+        PFN_vkCmdSetLineWidth, vkCmdSetLineWidth, vkCmdSetLineWidthUnsafe,+        vkCmdSetLineWidthSafe, VkCmdSetDepthBias,+        pattern VkCmdSetDepthBias, HS_vkCmdSetDepthBias,+        PFN_vkCmdSetDepthBias, vkCmdSetDepthBias, vkCmdSetDepthBiasUnsafe,+        vkCmdSetDepthBiasSafe, VkCmdSetBlendConstants,+        pattern VkCmdSetBlendConstants, HS_vkCmdSetBlendConstants,+        PFN_vkCmdSetBlendConstants, vkCmdSetBlendConstants,+        vkCmdSetBlendConstantsUnsafe, vkCmdSetBlendConstantsSafe,+        VkCmdSetDepthBounds, pattern VkCmdSetDepthBounds,+        HS_vkCmdSetDepthBounds, PFN_vkCmdSetDepthBounds,+        vkCmdSetDepthBounds, vkCmdSetDepthBoundsUnsafe,+        vkCmdSetDepthBoundsSafe, VkCmdSetStencilCompareMask,+        pattern VkCmdSetStencilCompareMask, HS_vkCmdSetStencilCompareMask,+        PFN_vkCmdSetStencilCompareMask, vkCmdSetStencilCompareMask,+        vkCmdSetStencilCompareMaskUnsafe, vkCmdSetStencilCompareMaskSafe,+        VkCmdSetStencilWriteMask, pattern VkCmdSetStencilWriteMask,+        HS_vkCmdSetStencilWriteMask, PFN_vkCmdSetStencilWriteMask,+        vkCmdSetStencilWriteMask, vkCmdSetStencilWriteMaskUnsafe,+        vkCmdSetStencilWriteMaskSafe, VkCmdSetStencilReference,+        pattern VkCmdSetStencilReference, HS_vkCmdSetStencilReference,+        PFN_vkCmdSetStencilReference, vkCmdSetStencilReference,+        vkCmdSetStencilReferenceUnsafe, vkCmdSetStencilReferenceSafe,+        VkCmdBindDescriptorSets, pattern VkCmdBindDescriptorSets,+        HS_vkCmdBindDescriptorSets, PFN_vkCmdBindDescriptorSets,+        vkCmdBindDescriptorSets, vkCmdBindDescriptorSetsUnsafe,+        vkCmdBindDescriptorSetsSafe, VkCmdBindIndexBuffer,+        pattern VkCmdBindIndexBuffer, HS_vkCmdBindIndexBuffer,+        PFN_vkCmdBindIndexBuffer, vkCmdBindIndexBuffer,+        vkCmdBindIndexBufferUnsafe, vkCmdBindIndexBufferSafe,+        VkCmdBindVertexBuffers, pattern VkCmdBindVertexBuffers,+        HS_vkCmdBindVertexBuffers, PFN_vkCmdBindVertexBuffers,+        vkCmdBindVertexBuffers, vkCmdBindVertexBuffersUnsafe,+        vkCmdBindVertexBuffersSafe, VkCmdDraw, pattern VkCmdDraw,+        HS_vkCmdDraw, PFN_vkCmdDraw, vkCmdDraw, vkCmdDrawUnsafe,+        vkCmdDrawSafe, VkCmdDrawIndexed, pattern VkCmdDrawIndexed,+        HS_vkCmdDrawIndexed, PFN_vkCmdDrawIndexed, vkCmdDrawIndexed,+        vkCmdDrawIndexedUnsafe, vkCmdDrawIndexedSafe, VkCmdDrawIndirect,+        pattern VkCmdDrawIndirect, HS_vkCmdDrawIndirect,+        PFN_vkCmdDrawIndirect, vkCmdDrawIndirect, vkCmdDrawIndirectUnsafe,+        vkCmdDrawIndirectSafe, VkCmdDrawIndexedIndirect,+        pattern VkCmdDrawIndexedIndirect, HS_vkCmdDrawIndexedIndirect,+        PFN_vkCmdDrawIndexedIndirect, vkCmdDrawIndexedIndirect,+        vkCmdDrawIndexedIndirectUnsafe, vkCmdDrawIndexedIndirectSafe,+        VkCmdDispatch, pattern VkCmdDispatch, HS_vkCmdDispatch,+        PFN_vkCmdDispatch, vkCmdDispatch, vkCmdDispatchUnsafe,+        vkCmdDispatchSafe, VkCmdDispatchIndirect,+        pattern VkCmdDispatchIndirect, HS_vkCmdDispatchIndirect,+        PFN_vkCmdDispatchIndirect, vkCmdDispatchIndirect,+        vkCmdDispatchIndirectUnsafe, vkCmdDispatchIndirectSafe,+        VkCmdCopyBuffer, pattern VkCmdCopyBuffer, HS_vkCmdCopyBuffer,+        PFN_vkCmdCopyBuffer, vkCmdCopyBuffer, vkCmdCopyBufferUnsafe,+        vkCmdCopyBufferSafe, VkCmdCopyImage, pattern VkCmdCopyImage,+        HS_vkCmdCopyImage, PFN_vkCmdCopyImage, vkCmdCopyImage,+        vkCmdCopyImageUnsafe, vkCmdCopyImageSafe, VkCmdBlitImage,+        pattern VkCmdBlitImage, HS_vkCmdBlitImage, PFN_vkCmdBlitImage,+        vkCmdBlitImage, vkCmdBlitImageUnsafe, vkCmdBlitImageSafe,+        VkCmdCopyBufferToImage, pattern VkCmdCopyBufferToImage,+        HS_vkCmdCopyBufferToImage, PFN_vkCmdCopyBufferToImage,+        vkCmdCopyBufferToImage, vkCmdCopyBufferToImageUnsafe,+        vkCmdCopyBufferToImageSafe, VkCmdCopyImageToBuffer,+        pattern VkCmdCopyImageToBuffer, HS_vkCmdCopyImageToBuffer,+        PFN_vkCmdCopyImageToBuffer, vkCmdCopyImageToBuffer,+        vkCmdCopyImageToBufferUnsafe, vkCmdCopyImageToBufferSafe,+        VkCmdUpdateBuffer, pattern VkCmdUpdateBuffer, HS_vkCmdUpdateBuffer,+        PFN_vkCmdUpdateBuffer, vkCmdUpdateBuffer, vkCmdUpdateBufferUnsafe,+        vkCmdUpdateBufferSafe, VkCmdFillBuffer, pattern VkCmdFillBuffer,+        HS_vkCmdFillBuffer, PFN_vkCmdFillBuffer, vkCmdFillBuffer,+        vkCmdFillBufferUnsafe, vkCmdFillBufferSafe, VkCmdClearColorImage,+        pattern VkCmdClearColorImage, HS_vkCmdClearColorImage,+        PFN_vkCmdClearColorImage, vkCmdClearColorImage,+        vkCmdClearColorImageUnsafe, vkCmdClearColorImageSafe,+        VkCmdClearDepthStencilImage, pattern VkCmdClearDepthStencilImage,+        HS_vkCmdClearDepthStencilImage, PFN_vkCmdClearDepthStencilImage,+        vkCmdClearDepthStencilImage, vkCmdClearDepthStencilImageUnsafe,+        vkCmdClearDepthStencilImageSafe, VkCmdClearAttachments,+        pattern VkCmdClearAttachments, HS_vkCmdClearAttachments,+        PFN_vkCmdClearAttachments, vkCmdClearAttachments,+        vkCmdClearAttachmentsUnsafe, vkCmdClearAttachmentsSafe,+        VkCmdResolveImage, pattern VkCmdResolveImage, HS_vkCmdResolveImage,+        PFN_vkCmdResolveImage, vkCmdResolveImage, vkCmdResolveImageUnsafe,+        vkCmdResolveImageSafe, VkCmdSetEvent, pattern VkCmdSetEvent,+        HS_vkCmdSetEvent, PFN_vkCmdSetEvent, vkCmdSetEvent,+        vkCmdSetEventUnsafe, vkCmdSetEventSafe, VkCmdResetEvent,+        pattern VkCmdResetEvent, HS_vkCmdResetEvent, PFN_vkCmdResetEvent,+        vkCmdResetEvent, vkCmdResetEventUnsafe, vkCmdResetEventSafe,+        VkCmdWaitEvents, pattern VkCmdWaitEvents, HS_vkCmdWaitEvents,+        PFN_vkCmdWaitEvents, vkCmdWaitEvents, vkCmdWaitEventsUnsafe,+        vkCmdWaitEventsSafe, VkCmdPipelineBarrier,+        pattern VkCmdPipelineBarrier, HS_vkCmdPipelineBarrier,+        PFN_vkCmdPipelineBarrier, vkCmdPipelineBarrier,+        vkCmdPipelineBarrierUnsafe, vkCmdPipelineBarrierSafe,+        VkCmdBeginQuery, pattern VkCmdBeginQuery, HS_vkCmdBeginQuery,+        PFN_vkCmdBeginQuery, vkCmdBeginQuery, vkCmdBeginQueryUnsafe,+        vkCmdBeginQuerySafe, VkCmdEndQuery, pattern VkCmdEndQuery,+        HS_vkCmdEndQuery, PFN_vkCmdEndQuery, vkCmdEndQuery,+        vkCmdEndQueryUnsafe, vkCmdEndQuerySafe, VkCmdResetQueryPool,+        pattern VkCmdResetQueryPool, HS_vkCmdResetQueryPool,+        PFN_vkCmdResetQueryPool, vkCmdResetQueryPool,+        vkCmdResetQueryPoolUnsafe, vkCmdResetQueryPoolSafe,+        VkCmdWriteTimestamp, pattern VkCmdWriteTimestamp,+        HS_vkCmdWriteTimestamp, PFN_vkCmdWriteTimestamp,+        vkCmdWriteTimestamp, vkCmdWriteTimestampUnsafe,+        vkCmdWriteTimestampSafe, VkCmdCopyQueryPoolResults,+        pattern VkCmdCopyQueryPoolResults, HS_vkCmdCopyQueryPoolResults,+        PFN_vkCmdCopyQueryPoolResults, vkCmdCopyQueryPoolResults,+        vkCmdCopyQueryPoolResultsUnsafe, vkCmdCopyQueryPoolResultsSafe,+        VkCmdPushConstants, pattern VkCmdPushConstants,+        HS_vkCmdPushConstants, PFN_vkCmdPushConstants, vkCmdPushConstants,+        vkCmdPushConstantsUnsafe, vkCmdPushConstantsSafe,+        VkCmdBeginRenderPass, pattern VkCmdBeginRenderPass,+        HS_vkCmdBeginRenderPass, PFN_vkCmdBeginRenderPass,+        vkCmdBeginRenderPass, vkCmdBeginRenderPassUnsafe,+        vkCmdBeginRenderPassSafe, VkCmdNextSubpass,+        pattern VkCmdNextSubpass, HS_vkCmdNextSubpass,+        PFN_vkCmdNextSubpass, vkCmdNextSubpass, vkCmdNextSubpassUnsafe,+        vkCmdNextSubpassSafe, VkCmdEndRenderPass,+        pattern VkCmdEndRenderPass, HS_vkCmdEndRenderPass,+        PFN_vkCmdEndRenderPass, vkCmdEndRenderPass,+        vkCmdEndRenderPassUnsafe, vkCmdEndRenderPassSafe,+        VkCmdExecuteCommands, pattern VkCmdExecuteCommands,+        HS_vkCmdExecuteCommands, PFN_vkCmdExecuteCommands,+        vkCmdExecuteCommands, vkCmdExecuteCommandsUnsafe,+        vkCmdExecuteCommandsSafe, VkIndexType(..), VkClearAttachment,+        VkClearColorValue, VkClearDepthStencilValue, VkClearRect,+        VkClearValue, -- ** Types not directly used by the API. Include e.g. structs that are not parameter types of commands, but still defined by the API.+                      VkBaseInStructure, VkBaseOutStructure,+        VkDispatchIndirectCommand, VkDrawIndexedIndirectCommand,+        VkDrawIndirectCommand, VkObjectEntryTypeNVX(..),+        VkObjectEntryUsageBitmaskNVX(..), VkObjectType(..),+        VkObjectEntryUsageFlagBitsNVX(), VkObjectEntryUsageFlagsNVX())+       where+import GHC.Ptr                                                (Ptr (..))+import Graphics.Vulkan.Constants                              (pattern VK_ATTACHMENT_UNUSED,+                                                               pattern VK_FALSE,+                                                               pattern VK_LOD_CLAMP_NONE,+                                                               pattern VK_QUEUE_FAMILY_IGNORED,+                                                               pattern VK_REMAINING_ARRAY_LAYERS,+                                                               pattern VK_REMAINING_MIP_LEVELS,+                                                               pattern VK_SUBPASS_EXTERNAL,+                                                               pattern VK_TRUE,+                                                               pattern VK_WHOLE_SIZE)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc+import Graphics.Vulkan.Types.BaseTypes+import Graphics.Vulkan.Types.Bitmasks+import Graphics.Vulkan.Types.Enum.AccessFlags+import Graphics.Vulkan.Types.Enum.Attachment+import Graphics.Vulkan.Types.Enum.Blend+import Graphics.Vulkan.Types.Enum.BorderColor+import Graphics.Vulkan.Types.Enum.Buffer+import Graphics.Vulkan.Types.Enum.Color+import Graphics.Vulkan.Types.Enum.Command+import Graphics.Vulkan.Types.Enum.CompareOp+import Graphics.Vulkan.Types.Enum.ComponentSwizzle+import Graphics.Vulkan.Types.Enum.CullModeFlags+import Graphics.Vulkan.Types.Enum.DependencyFlags+import Graphics.Vulkan.Types.Enum.Descriptor+import Graphics.Vulkan.Types.Enum.Device+import Graphics.Vulkan.Types.Enum.DynamicState+import Graphics.Vulkan.Types.Enum.Fence+import Graphics.Vulkan.Types.Enum.Filter+import Graphics.Vulkan.Types.Enum.Format+import Graphics.Vulkan.Types.Enum.FrontFace+import Graphics.Vulkan.Types.Enum.Image+import Graphics.Vulkan.Types.Enum.IndexType+import Graphics.Vulkan.Types.Enum.InternalAllocationType+import Graphics.Vulkan.Types.Enum.LogicOp+import Graphics.Vulkan.Types.Enum.Memory+import Graphics.Vulkan.Types.Enum.Object+import Graphics.Vulkan.Types.Enum.PhysicalDeviceType+import Graphics.Vulkan.Types.Enum.Pipeline+import Graphics.Vulkan.Types.Enum.PolygonMode+import Graphics.Vulkan.Types.Enum.PrimitiveTopology+import Graphics.Vulkan.Types.Enum.Query+import Graphics.Vulkan.Types.Enum.Queue+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.SampleCountFlags+import Graphics.Vulkan.Types.Enum.Sampler+import Graphics.Vulkan.Types.Enum.Shader+import Graphics.Vulkan.Types.Enum.SharingMode+import Graphics.Vulkan.Types.Enum.Sparse+import Graphics.Vulkan.Types.Enum.Stencil+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.Subpass+import Graphics.Vulkan.Types.Enum.SystemAllocationScope+import Graphics.Vulkan.Types.Enum.VertexInputRate+import Graphics.Vulkan.Types.Funcpointers+import Graphics.Vulkan.Types.Handles+import Graphics.Vulkan.Types.Struct.AllocationCallbacks+import Graphics.Vulkan.Types.Struct.ApplicationInfo+import Graphics.Vulkan.Types.Struct.Attachment+import Graphics.Vulkan.Types.Struct.Base                      (VkBaseInStructure,+                                                               VkBaseOutStructure)+import Graphics.Vulkan.Types.Struct.Bind+import Graphics.Vulkan.Types.Struct.Buffer+import Graphics.Vulkan.Types.Struct.Clear+import Graphics.Vulkan.Types.Struct.Command+import Graphics.Vulkan.Types.Struct.ComponentMapping+import Graphics.Vulkan.Types.Struct.ComputePipelineCreateInfo+import Graphics.Vulkan.Types.Struct.CopyDescriptorSet+import Graphics.Vulkan.Types.Struct.Descriptor+import Graphics.Vulkan.Types.Struct.Device+import Graphics.Vulkan.Types.Struct.DispatchIndirectCommand   (VkDispatchIndirectCommand)+import Graphics.Vulkan.Types.Struct.DrawInd                   (VkDrawIndexedIndirectCommand,+                                                               VkDrawIndirectCommand)+import Graphics.Vulkan.Types.Struct.EventCreateInfo+import Graphics.Vulkan.Types.Struct.ExtensionProperties+import Graphics.Vulkan.Types.Struct.Extent+import Graphics.Vulkan.Types.Struct.Fence+import Graphics.Vulkan.Types.Struct.FormatProperties+import Graphics.Vulkan.Types.Struct.FramebufferCreateInfo+import Graphics.Vulkan.Types.Struct.Image+import Graphics.Vulkan.Types.Struct.InstanceCreateInfo+import Graphics.Vulkan.Types.Struct.LayerProperties+import Graphics.Vulkan.Types.Struct.MappedMemoryRange+import Graphics.Vulkan.Types.Struct.Memory+import Graphics.Vulkan.Types.Struct.Offset+import Graphics.Vulkan.Types.Struct.PhysicalDevice+import Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures+import Graphics.Vulkan.Types.Struct.Pipeline+import Graphics.Vulkan.Types.Struct.PushConstantRange+import Graphics.Vulkan.Types.Struct.QueryPoolCreateInfo+import Graphics.Vulkan.Types.Struct.QueueFamilyProperties+import Graphics.Vulkan.Types.Struct.Rect+import Graphics.Vulkan.Types.Struct.RenderPass+import Graphics.Vulkan.Types.Struct.Sampler+import Graphics.Vulkan.Types.Struct.Semaphore+import Graphics.Vulkan.Types.Struct.Shader+import Graphics.Vulkan.Types.Struct.Sparse+import Graphics.Vulkan.Types.Struct.Specialization+import Graphics.Vulkan.Types.Struct.StencilOpState+import Graphics.Vulkan.Types.Struct.SubmitInfo+import Graphics.Vulkan.Types.Struct.Subpass+import Graphics.Vulkan.Types.Struct.SubresourceLayout+import Graphics.Vulkan.Types.Struct.VertexInput+import Graphics.Vulkan.Types.Struct.Viewport+import Graphics.Vulkan.Types.Struct.WriteDescriptorSet+import System.IO.Unsafe                                       (unsafeDupablePerformIO)++pattern VkCreateInstance :: CString++pattern VkCreateInstance <- (is_VkCreateInstance -> True)+  where+    VkCreateInstance = _VkCreateInstance++{-# INLINE _VkCreateInstance #-}++_VkCreateInstance :: CString+_VkCreateInstance = Ptr "vkCreateInstance\NUL"##++{-# INLINE is_VkCreateInstance #-}++is_VkCreateInstance :: CString -> Bool+is_VkCreateInstance = (EQ ==) . cmpCStrings _VkCreateInstance++type VkCreateInstance = "vkCreateInstance"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_LAYER_NOT_PRESENT', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_INCOMPATIBLE_DRIVER'.+--+-- > VkResult vkCreateInstance+-- >     ( const VkInstanceCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkInstance* pInstance+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateInstance vkCreateInstance registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateInstance <- vkGetInstanceProc @VkCreateInstance VK_NULL+--+-- or less efficient:+--+-- > myCreateInstance <- vkGetProc @VkCreateInstance+--+-- __Note:__ @vkCreateInstanceUnsafe@ and @vkCreateInstanceSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateInstance@ is an alias+--           of @vkCreateInstanceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateInstanceSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCreateInstance"+               vkCreateInstanceUnsafe ::+               Ptr VkInstanceCreateInfo -- ^ pCreateInfo+                                        ->+                 Ptr VkAllocationCallbacks -- ^ pAllocator+                                           -> Ptr VkInstance -- ^ pInstance+                                                             -> IO VkResult++##else+vkCreateInstanceUnsafe ::+                       Ptr VkInstanceCreateInfo -- ^ pCreateInfo+                                                ->+                         Ptr VkAllocationCallbacks -- ^ pAllocator+                                                   -> Ptr VkInstance -- ^ pInstance+                                                                     -> IO VkResult+vkCreateInstanceUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateInstance)++{-# NOINLINE vkCreateInstanceUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_LAYER_NOT_PRESENT', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_INCOMPATIBLE_DRIVER'.+--+-- > VkResult vkCreateInstance+-- >     ( const VkInstanceCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkInstance* pInstance+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateInstance vkCreateInstance registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateInstance <- vkGetInstanceProc @VkCreateInstance VK_NULL+--+-- or less efficient:+--+-- > myCreateInstance <- vkGetProc @VkCreateInstance+--+-- __Note:__ @vkCreateInstanceUnsafe@ and @vkCreateInstanceSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateInstance@ is an alias+--           of @vkCreateInstanceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateInstanceSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCreateInstance" vkCreateInstanceSafe+               ::+               Ptr VkInstanceCreateInfo -- ^ pCreateInfo+                                        ->+                 Ptr VkAllocationCallbacks -- ^ pAllocator+                                           -> Ptr VkInstance -- ^ pInstance+                                                             -> IO VkResult++##else+vkCreateInstanceSafe ::+                     Ptr VkInstanceCreateInfo -- ^ pCreateInfo+                                              ->+                       Ptr VkAllocationCallbacks -- ^ pAllocator+                                                 -> Ptr VkInstance -- ^ pInstance+                                                                   -> IO VkResult+vkCreateInstanceSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateInstance)++{-# NOINLINE vkCreateInstanceSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_LAYER_NOT_PRESENT', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_INCOMPATIBLE_DRIVER'.+--+-- > VkResult vkCreateInstance+-- >     ( const VkInstanceCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkInstance* pInstance+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateInstance vkCreateInstance registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateInstance <- vkGetInstanceProc @VkCreateInstance VK_NULL+--+-- or less efficient:+--+-- > myCreateInstance <- vkGetProc @VkCreateInstance+--+-- __Note:__ @vkCreateInstanceUnsafe@ and @vkCreateInstanceSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateInstance@ is an alias+--           of @vkCreateInstanceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateInstanceSafe@.+--+vkCreateInstance ::+                 Ptr VkInstanceCreateInfo -- ^ pCreateInfo+                                          ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkInstance -- ^ pInstance+                                                               -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkCreateInstance = vkCreateInstanceUnsafe+##else+vkCreateInstance = vkCreateInstanceSafe++##endif+{-# INLINE vkCreateInstance #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_LAYER_NOT_PRESENT', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_INCOMPATIBLE_DRIVER'.+--+--   > VkResult vkCreateInstance+--   >     ( const VkInstanceCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkInstance* pInstance+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateInstance vkCreateInstance registry at www.khronos.org>+type HS_vkCreateInstance =+     Ptr VkInstanceCreateInfo -- ^ pCreateInfo+                              ->+       Ptr VkAllocationCallbacks -- ^ pAllocator+                                 -> Ptr VkInstance -- ^ pInstance+                                                   -> IO VkResult++type PFN_vkCreateInstance = FunPtr HS_vkCreateInstance++foreign import ccall unsafe "dynamic" unwrapVkCreateInstanceUnsafe+               :: PFN_vkCreateInstance -> HS_vkCreateInstance++foreign import ccall safe "dynamic" unwrapVkCreateInstanceSafe ::+               PFN_vkCreateInstance -> HS_vkCreateInstance++instance VulkanProc "vkCreateInstance" where+    type VkProcType "vkCreateInstance" = HS_vkCreateInstance+    vkProcSymbol = _VkCreateInstance++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateInstanceUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateInstanceSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkDestroyInstance :: CString++pattern VkDestroyInstance <- (is_VkDestroyInstance -> True)+  where+    VkDestroyInstance = _VkDestroyInstance++{-# INLINE _VkDestroyInstance #-}++_VkDestroyInstance :: CString+_VkDestroyInstance = Ptr "vkDestroyInstance\NUL"##++{-# INLINE is_VkDestroyInstance #-}++is_VkDestroyInstance :: CString -> Bool+is_VkDestroyInstance = (EQ ==) . cmpCStrings _VkDestroyInstance++type VkDestroyInstance = "vkDestroyInstance"++-- |+-- > void vkDestroyInstance+-- >     ( VkInstance instance+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyInstance vkDestroyInstance registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyInstance <- vkGetInstanceProc @VkDestroyInstance vkInstance+--+-- or less efficient:+--+-- > myDestroyInstance <- vkGetProc @VkDestroyInstance+--+-- __Note:__ @vkDestroyInstanceUnsafe@ and @vkDestroyInstanceSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyInstance@ is an alias+--           of @vkDestroyInstanceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyInstanceSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkDestroyInstance"+               vkDestroyInstanceUnsafe ::+               VkInstance -- ^ instance+                          -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                       -> IO ()++##else+vkDestroyInstanceUnsafe ::+                        VkInstance -- ^ instance+                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                -> IO ()+vkDestroyInstanceUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyInstance)++{-# NOINLINE vkDestroyInstanceUnsafe #-}+##endif++-- |+-- > void vkDestroyInstance+-- >     ( VkInstance instance+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyInstance vkDestroyInstance registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyInstance <- vkGetInstanceProc @VkDestroyInstance vkInstance+--+-- or less efficient:+--+-- > myDestroyInstance <- vkGetProc @VkDestroyInstance+--+-- __Note:__ @vkDestroyInstanceUnsafe@ and @vkDestroyInstanceSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyInstance@ is an alias+--           of @vkDestroyInstanceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyInstanceSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkDestroyInstance" vkDestroyInstanceSafe+               :: VkInstance -- ^ instance+                             -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                          -> IO ()++##else+vkDestroyInstanceSafe ::+                      VkInstance -- ^ instance+                                 -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                              -> IO ()+vkDestroyInstanceSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyInstance)++{-# NOINLINE vkDestroyInstanceSafe #-}+##endif++-- |+-- > void vkDestroyInstance+-- >     ( VkInstance instance+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyInstance vkDestroyInstance registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyInstance <- vkGetInstanceProc @VkDestroyInstance vkInstance+--+-- or less efficient:+--+-- > myDestroyInstance <- vkGetProc @VkDestroyInstance+--+-- __Note:__ @vkDestroyInstanceUnsafe@ and @vkDestroyInstanceSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyInstance@ is an alias+--           of @vkDestroyInstanceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyInstanceSafe@.+--+vkDestroyInstance ::+                  VkInstance -- ^ instance+                             -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                          -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkDestroyInstance = vkDestroyInstanceUnsafe+##else+vkDestroyInstance = vkDestroyInstanceSafe++##endif+{-# INLINE vkDestroyInstance #-}++-- | > void vkDestroyInstance+--   >     ( VkInstance instance+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyInstance vkDestroyInstance registry at www.khronos.org>+type HS_vkDestroyInstance =+     VkInstance -- ^ instance+                -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> IO ()++type PFN_vkDestroyInstance = FunPtr HS_vkDestroyInstance++foreign import ccall unsafe "dynamic" unwrapVkDestroyInstanceUnsafe+               :: PFN_vkDestroyInstance -> HS_vkDestroyInstance++foreign import ccall safe "dynamic" unwrapVkDestroyInstanceSafe ::+               PFN_vkDestroyInstance -> HS_vkDestroyInstance++instance VulkanProc "vkDestroyInstance" where+    type VkProcType "vkDestroyInstance" = HS_vkDestroyInstance+    vkProcSymbol = _VkDestroyInstance++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDestroyInstanceUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroyInstanceSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkEnumeratePhysicalDevices :: CString++pattern VkEnumeratePhysicalDevices <-+        (is_VkEnumeratePhysicalDevices -> True)+  where+    VkEnumeratePhysicalDevices = _VkEnumeratePhysicalDevices++{-# INLINE _VkEnumeratePhysicalDevices #-}++_VkEnumeratePhysicalDevices :: CString+_VkEnumeratePhysicalDevices = Ptr "vkEnumeratePhysicalDevices\NUL"##++{-# INLINE is_VkEnumeratePhysicalDevices #-}++is_VkEnumeratePhysicalDevices :: CString -> Bool+is_VkEnumeratePhysicalDevices+  = (EQ ==) . cmpCStrings _VkEnumeratePhysicalDevices++type VkEnumeratePhysicalDevices = "vkEnumeratePhysicalDevices"++-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+-- > VkResult vkEnumeratePhysicalDevices+-- >     ( VkInstance instance+-- >     , uint32_t* pPhysicalDeviceCount+-- >     , VkPhysicalDevice* pPhysicalDevices+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumeratePhysicalDevices <- vkGetInstanceProc @VkEnumeratePhysicalDevices vkInstance+--+-- or less efficient:+--+-- > myEnumeratePhysicalDevices <- vkGetProc @VkEnumeratePhysicalDevices+--+-- __Note:__ @vkEnumeratePhysicalDevicesUnsafe@ and @vkEnumeratePhysicalDevicesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkEnumeratePhysicalDevices@ is an alias+--           of @vkEnumeratePhysicalDevicesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkEnumeratePhysicalDevicesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkEnumeratePhysicalDevices"+               vkEnumeratePhysicalDevicesUnsafe ::+               VkInstance -- ^ instance+                          -> Ptr Word32 -- ^ pPhysicalDeviceCount+                                        -> Ptr VkPhysicalDevice -- ^ pPhysicalDevices+                                                                -> IO VkResult++##else+vkEnumeratePhysicalDevicesUnsafe ::+                                 VkInstance -- ^ instance+                                            -> Ptr Word32 -- ^ pPhysicalDeviceCount+                                                          -> Ptr VkPhysicalDevice -- ^ pPhysicalDevices+                                                                                  -> IO VkResult+vkEnumeratePhysicalDevicesUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkEnumeratePhysicalDevices)++{-# NOINLINE vkEnumeratePhysicalDevicesUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+-- > VkResult vkEnumeratePhysicalDevices+-- >     ( VkInstance instance+-- >     , uint32_t* pPhysicalDeviceCount+-- >     , VkPhysicalDevice* pPhysicalDevices+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumeratePhysicalDevices <- vkGetInstanceProc @VkEnumeratePhysicalDevices vkInstance+--+-- or less efficient:+--+-- > myEnumeratePhysicalDevices <- vkGetProc @VkEnumeratePhysicalDevices+--+-- __Note:__ @vkEnumeratePhysicalDevicesUnsafe@ and @vkEnumeratePhysicalDevicesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkEnumeratePhysicalDevices@ is an alias+--           of @vkEnumeratePhysicalDevicesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkEnumeratePhysicalDevicesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkEnumeratePhysicalDevices"+               vkEnumeratePhysicalDevicesSafe ::+               VkInstance -- ^ instance+                          -> Ptr Word32 -- ^ pPhysicalDeviceCount+                                        -> Ptr VkPhysicalDevice -- ^ pPhysicalDevices+                                                                -> IO VkResult++##else+vkEnumeratePhysicalDevicesSafe ::+                               VkInstance -- ^ instance+                                          -> Ptr Word32 -- ^ pPhysicalDeviceCount+                                                        -> Ptr VkPhysicalDevice -- ^ pPhysicalDevices+                                                                                -> IO VkResult+vkEnumeratePhysicalDevicesSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkEnumeratePhysicalDevices)++{-# NOINLINE vkEnumeratePhysicalDevicesSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+-- > VkResult vkEnumeratePhysicalDevices+-- >     ( VkInstance instance+-- >     , uint32_t* pPhysicalDeviceCount+-- >     , VkPhysicalDevice* pPhysicalDevices+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumeratePhysicalDevices <- vkGetInstanceProc @VkEnumeratePhysicalDevices vkInstance+--+-- or less efficient:+--+-- > myEnumeratePhysicalDevices <- vkGetProc @VkEnumeratePhysicalDevices+--+-- __Note:__ @vkEnumeratePhysicalDevicesUnsafe@ and @vkEnumeratePhysicalDevicesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkEnumeratePhysicalDevices@ is an alias+--           of @vkEnumeratePhysicalDevicesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkEnumeratePhysicalDevicesSafe@.+--+vkEnumeratePhysicalDevices ::+                           VkInstance -- ^ instance+                                      -> Ptr Word32 -- ^ pPhysicalDeviceCount+                                                    -> Ptr VkPhysicalDevice -- ^ pPhysicalDevices+                                                                            -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkEnumeratePhysicalDevices = vkEnumeratePhysicalDevicesUnsafe+##else+vkEnumeratePhysicalDevices = vkEnumeratePhysicalDevicesSafe++##endif+{-# INLINE vkEnumeratePhysicalDevices #-}++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+--   > VkResult vkEnumeratePhysicalDevices+--   >     ( VkInstance instance+--   >     , uint32_t* pPhysicalDeviceCount+--   >     , VkPhysicalDevice* pPhysicalDevices+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices registry at www.khronos.org>+type HS_vkEnumeratePhysicalDevices =+     VkInstance -- ^ instance+                -> Ptr Word32 -- ^ pPhysicalDeviceCount+                              -> Ptr VkPhysicalDevice -- ^ pPhysicalDevices+                                                      -> IO VkResult++type PFN_vkEnumeratePhysicalDevices =+     FunPtr HS_vkEnumeratePhysicalDevices++foreign import ccall unsafe "dynamic"+               unwrapVkEnumeratePhysicalDevicesUnsafe ::+               PFN_vkEnumeratePhysicalDevices -> HS_vkEnumeratePhysicalDevices++foreign import ccall safe "dynamic"+               unwrapVkEnumeratePhysicalDevicesSafe ::+               PFN_vkEnumeratePhysicalDevices -> HS_vkEnumeratePhysicalDevices++instance VulkanProc "vkEnumeratePhysicalDevices" where+    type VkProcType "vkEnumeratePhysicalDevices" =+         HS_vkEnumeratePhysicalDevices+    vkProcSymbol = _VkEnumeratePhysicalDevices++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkEnumeratePhysicalDevicesUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkEnumeratePhysicalDevicesSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetPhysicalDeviceFeatures :: CString++pattern VkGetPhysicalDeviceFeatures <-+        (is_VkGetPhysicalDeviceFeatures -> True)+  where+    VkGetPhysicalDeviceFeatures = _VkGetPhysicalDeviceFeatures++{-# INLINE _VkGetPhysicalDeviceFeatures #-}++_VkGetPhysicalDeviceFeatures :: CString+_VkGetPhysicalDeviceFeatures+  = Ptr "vkGetPhysicalDeviceFeatures\NUL"##++{-# INLINE is_VkGetPhysicalDeviceFeatures #-}++is_VkGetPhysicalDeviceFeatures :: CString -> Bool+is_VkGetPhysicalDeviceFeatures+  = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceFeatures++type VkGetPhysicalDeviceFeatures = "vkGetPhysicalDeviceFeatures"++-- |+-- > void vkGetPhysicalDeviceFeatures+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkPhysicalDeviceFeatures* pFeatures+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceFeatures <- vkGetInstanceProc @VkGetPhysicalDeviceFeatures vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceFeatures <- vkGetProc @VkGetPhysicalDeviceFeatures+--+-- __Note:__ @vkGetPhysicalDeviceFeaturesUnsafe@ and @vkGetPhysicalDeviceFeaturesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceFeatures@ is an alias+--           of @vkGetPhysicalDeviceFeaturesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceFeaturesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkGetPhysicalDeviceFeatures"+               vkGetPhysicalDeviceFeaturesUnsafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceFeatures -- ^ pFeatures+                                                                -> IO ()++##else+vkGetPhysicalDeviceFeaturesUnsafe ::+                                  VkPhysicalDevice -- ^ physicalDevice+                                                   -> Ptr VkPhysicalDeviceFeatures -- ^ pFeatures+                                                                                   -> IO ()+vkGetPhysicalDeviceFeaturesUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetPhysicalDeviceFeatures)++{-# NOINLINE vkGetPhysicalDeviceFeaturesUnsafe #-}+##endif++-- |+-- > void vkGetPhysicalDeviceFeatures+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkPhysicalDeviceFeatures* pFeatures+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceFeatures <- vkGetInstanceProc @VkGetPhysicalDeviceFeatures vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceFeatures <- vkGetProc @VkGetPhysicalDeviceFeatures+--+-- __Note:__ @vkGetPhysicalDeviceFeaturesUnsafe@ and @vkGetPhysicalDeviceFeaturesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceFeatures@ is an alias+--           of @vkGetPhysicalDeviceFeaturesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceFeaturesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkGetPhysicalDeviceFeatures"+               vkGetPhysicalDeviceFeaturesSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceFeatures -- ^ pFeatures+                                                                -> IO ()++##else+vkGetPhysicalDeviceFeaturesSafe ::+                                VkPhysicalDevice -- ^ physicalDevice+                                                 -> Ptr VkPhysicalDeviceFeatures -- ^ pFeatures+                                                                                 -> IO ()+vkGetPhysicalDeviceFeaturesSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetPhysicalDeviceFeatures)++{-# NOINLINE vkGetPhysicalDeviceFeaturesSafe #-}+##endif++-- |+-- > void vkGetPhysicalDeviceFeatures+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkPhysicalDeviceFeatures* pFeatures+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceFeatures <- vkGetInstanceProc @VkGetPhysicalDeviceFeatures vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceFeatures <- vkGetProc @VkGetPhysicalDeviceFeatures+--+-- __Note:__ @vkGetPhysicalDeviceFeaturesUnsafe@ and @vkGetPhysicalDeviceFeaturesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceFeatures@ is an alias+--           of @vkGetPhysicalDeviceFeaturesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceFeaturesSafe@.+--+vkGetPhysicalDeviceFeatures ::+                            VkPhysicalDevice -- ^ physicalDevice+                                             -> Ptr VkPhysicalDeviceFeatures -- ^ pFeatures+                                                                             -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceFeatures = vkGetPhysicalDeviceFeaturesUnsafe+##else+vkGetPhysicalDeviceFeatures = vkGetPhysicalDeviceFeaturesSafe++##endif+{-# INLINE vkGetPhysicalDeviceFeatures #-}++-- | > void vkGetPhysicalDeviceFeatures+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkPhysicalDeviceFeatures* pFeatures+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures registry at www.khronos.org>+type HS_vkGetPhysicalDeviceFeatures =+     VkPhysicalDevice -- ^ physicalDevice+                      -> Ptr VkPhysicalDeviceFeatures -- ^ pFeatures+                                                      -> IO ()++type PFN_vkGetPhysicalDeviceFeatures =+     FunPtr HS_vkGetPhysicalDeviceFeatures++foreign import ccall unsafe "dynamic"+               unwrapVkGetPhysicalDeviceFeaturesUnsafe ::+               PFN_vkGetPhysicalDeviceFeatures -> HS_vkGetPhysicalDeviceFeatures++foreign import ccall safe "dynamic"+               unwrapVkGetPhysicalDeviceFeaturesSafe ::+               PFN_vkGetPhysicalDeviceFeatures -> HS_vkGetPhysicalDeviceFeatures++instance VulkanProc "vkGetPhysicalDeviceFeatures" where+    type VkProcType "vkGetPhysicalDeviceFeatures" =+         HS_vkGetPhysicalDeviceFeatures+    vkProcSymbol = _VkGetPhysicalDeviceFeatures++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetPhysicalDeviceFeaturesUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetPhysicalDeviceFeaturesSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetPhysicalDeviceFormatProperties :: CString++pattern VkGetPhysicalDeviceFormatProperties <-+        (is_VkGetPhysicalDeviceFormatProperties -> True)+  where+    VkGetPhysicalDeviceFormatProperties+      = _VkGetPhysicalDeviceFormatProperties++{-# INLINE _VkGetPhysicalDeviceFormatProperties #-}++_VkGetPhysicalDeviceFormatProperties :: CString+_VkGetPhysicalDeviceFormatProperties+  = Ptr "vkGetPhysicalDeviceFormatProperties\NUL"##++{-# INLINE is_VkGetPhysicalDeviceFormatProperties #-}++is_VkGetPhysicalDeviceFormatProperties :: CString -> Bool+is_VkGetPhysicalDeviceFormatProperties+  = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceFormatProperties++type VkGetPhysicalDeviceFormatProperties =+     "vkGetPhysicalDeviceFormatProperties"++-- |+-- > void vkGetPhysicalDeviceFormatProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkFormat format+-- >     , VkFormatProperties* pFormatProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceFormatProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceFormatProperties <- vkGetProc @VkGetPhysicalDeviceFormatProperties+--+-- __Note:__ @vkGetPhysicalDeviceFormatPropertiesUnsafe@ and @vkGetPhysicalDeviceFormatPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceFormatProperties@ is an alias+--           of @vkGetPhysicalDeviceFormatPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceFormatPropertiesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkGetPhysicalDeviceFormatProperties"+               vkGetPhysicalDeviceFormatPropertiesUnsafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> VkFormat -- ^ format+                                            -> Ptr VkFormatProperties -- ^ pFormatProperties+                                                                      -> IO ()++##else+vkGetPhysicalDeviceFormatPropertiesUnsafe ::+                                          VkPhysicalDevice -- ^ physicalDevice+                                                           ->+                                            VkFormat -- ^ format+                                                     -> Ptr VkFormatProperties -- ^ pFormatProperties+                                                                               -> IO ()+vkGetPhysicalDeviceFormatPropertiesUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetPhysicalDeviceFormatProperties)++{-# NOINLINE vkGetPhysicalDeviceFormatPropertiesUnsafe #-}+##endif++-- |+-- > void vkGetPhysicalDeviceFormatProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkFormat format+-- >     , VkFormatProperties* pFormatProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceFormatProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceFormatProperties <- vkGetProc @VkGetPhysicalDeviceFormatProperties+--+-- __Note:__ @vkGetPhysicalDeviceFormatPropertiesUnsafe@ and @vkGetPhysicalDeviceFormatPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceFormatProperties@ is an alias+--           of @vkGetPhysicalDeviceFormatPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceFormatPropertiesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkGetPhysicalDeviceFormatProperties"+               vkGetPhysicalDeviceFormatPropertiesSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> VkFormat -- ^ format+                                            -> Ptr VkFormatProperties -- ^ pFormatProperties+                                                                      -> IO ()++##else+vkGetPhysicalDeviceFormatPropertiesSafe ::+                                        VkPhysicalDevice -- ^ physicalDevice+                                                         ->+                                          VkFormat -- ^ format+                                                   -> Ptr VkFormatProperties -- ^ pFormatProperties+                                                                             -> IO ()+vkGetPhysicalDeviceFormatPropertiesSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetPhysicalDeviceFormatProperties)++{-# NOINLINE vkGetPhysicalDeviceFormatPropertiesSafe #-}+##endif++-- |+-- > void vkGetPhysicalDeviceFormatProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkFormat format+-- >     , VkFormatProperties* pFormatProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceFormatProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceFormatProperties <- vkGetProc @VkGetPhysicalDeviceFormatProperties+--+-- __Note:__ @vkGetPhysicalDeviceFormatPropertiesUnsafe@ and @vkGetPhysicalDeviceFormatPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceFormatProperties@ is an alias+--           of @vkGetPhysicalDeviceFormatPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceFormatPropertiesSafe@.+--+vkGetPhysicalDeviceFormatProperties ::+                                    VkPhysicalDevice -- ^ physicalDevice+                                                     -> VkFormat -- ^ format+                                                                 -> Ptr VkFormatProperties -- ^ pFormatProperties+                                                                                           -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceFormatProperties+  = vkGetPhysicalDeviceFormatPropertiesUnsafe+##else+vkGetPhysicalDeviceFormatProperties+  = vkGetPhysicalDeviceFormatPropertiesSafe++##endif+{-# INLINE vkGetPhysicalDeviceFormatProperties #-}++-- | > void vkGetPhysicalDeviceFormatProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkFormat format+--   >     , VkFormatProperties* pFormatProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties registry at www.khronos.org>+type HS_vkGetPhysicalDeviceFormatProperties =+     VkPhysicalDevice -- ^ physicalDevice+                      -> VkFormat -- ^ format+                                  -> Ptr VkFormatProperties -- ^ pFormatProperties+                                                            -> IO ()++type PFN_vkGetPhysicalDeviceFormatProperties =+     FunPtr HS_vkGetPhysicalDeviceFormatProperties++foreign import ccall unsafe "dynamic"+               unwrapVkGetPhysicalDeviceFormatPropertiesUnsafe ::+               PFN_vkGetPhysicalDeviceFormatProperties ->+                 HS_vkGetPhysicalDeviceFormatProperties++foreign import ccall safe "dynamic"+               unwrapVkGetPhysicalDeviceFormatPropertiesSafe ::+               PFN_vkGetPhysicalDeviceFormatProperties ->+                 HS_vkGetPhysicalDeviceFormatProperties++instance VulkanProc "vkGetPhysicalDeviceFormatProperties" where+    type VkProcType "vkGetPhysicalDeviceFormatProperties" =+         HS_vkGetPhysicalDeviceFormatProperties+    vkProcSymbol = _VkGetPhysicalDeviceFormatProperties++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceFormatPropertiesUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetPhysicalDeviceFormatPropertiesSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetPhysicalDeviceImageFormatProperties :: CString++pattern VkGetPhysicalDeviceImageFormatProperties <-+        (is_VkGetPhysicalDeviceImageFormatProperties -> True)+  where+    VkGetPhysicalDeviceImageFormatProperties+      = _VkGetPhysicalDeviceImageFormatProperties++{-# INLINE _VkGetPhysicalDeviceImageFormatProperties #-}++_VkGetPhysicalDeviceImageFormatProperties :: CString+_VkGetPhysicalDeviceImageFormatProperties+  = Ptr "vkGetPhysicalDeviceImageFormatProperties\NUL"##++{-# INLINE is_VkGetPhysicalDeviceImageFormatProperties #-}++is_VkGetPhysicalDeviceImageFormatProperties :: CString -> Bool+is_VkGetPhysicalDeviceImageFormatProperties+  = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceImageFormatProperties++type VkGetPhysicalDeviceImageFormatProperties =+     "vkGetPhysicalDeviceImageFormatProperties"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.+--+-- > VkResult vkGetPhysicalDeviceImageFormatProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkFormat format+-- >     , VkImageType type+-- >     , VkImageTiling tiling+-- >     , VkImageUsageFlags usage+-- >     , VkImageCreateFlags flags+-- >     , VkImageFormatProperties* pImageFormatProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceImageFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceImageFormatProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceImageFormatProperties <- vkGetProc @VkGetPhysicalDeviceImageFormatProperties+--+-- __Note:__ @vkGetPhysicalDeviceImageFormatPropertiesUnsafe@ and @vkGetPhysicalDeviceImageFormatPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceImageFormatProperties@ is an alias+--           of @vkGetPhysicalDeviceImageFormatPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceImageFormatPropertiesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe+               "vkGetPhysicalDeviceImageFormatProperties"+               vkGetPhysicalDeviceImageFormatPropertiesUnsafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 VkFormat -- ^ format+                          ->+                   VkImageType -- ^ type+                               ->+                     VkImageTiling -- ^ tiling+                                   ->+                       VkImageUsageFlags -- ^ usage+                                         ->+                         VkImageCreateFlags -- ^ flags+                                            -> Ptr VkImageFormatProperties -- ^ pImageFormatProperties+                                                                           -> IO VkResult++##else+vkGetPhysicalDeviceImageFormatPropertiesUnsafe ::+                                               VkPhysicalDevice -- ^ physicalDevice+                                                                ->+                                                 VkFormat -- ^ format+                                                          ->+                                                   VkImageType -- ^ type+                                                               ->+                                                     VkImageTiling -- ^ tiling+                                                                   ->+                                                       VkImageUsageFlags -- ^ usage+                                                                         ->+                                                         VkImageCreateFlags -- ^ flags+                                                                            ->+                                                           Ptr VkImageFormatProperties -- ^ pImageFormatProperties+                                                                                       ->+                                                             IO VkResult+vkGetPhysicalDeviceImageFormatPropertiesUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetPhysicalDeviceImageFormatProperties)++{-# NOINLINE vkGetPhysicalDeviceImageFormatPropertiesUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.+--+-- > VkResult vkGetPhysicalDeviceImageFormatProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkFormat format+-- >     , VkImageType type+-- >     , VkImageTiling tiling+-- >     , VkImageUsageFlags usage+-- >     , VkImageCreateFlags flags+-- >     , VkImageFormatProperties* pImageFormatProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceImageFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceImageFormatProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceImageFormatProperties <- vkGetProc @VkGetPhysicalDeviceImageFormatProperties+--+-- __Note:__ @vkGetPhysicalDeviceImageFormatPropertiesUnsafe@ and @vkGetPhysicalDeviceImageFormatPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceImageFormatProperties@ is an alias+--           of @vkGetPhysicalDeviceImageFormatPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceImageFormatPropertiesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe+               "vkGetPhysicalDeviceImageFormatProperties"+               vkGetPhysicalDeviceImageFormatPropertiesSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 VkFormat -- ^ format+                          ->+                   VkImageType -- ^ type+                               ->+                     VkImageTiling -- ^ tiling+                                   ->+                       VkImageUsageFlags -- ^ usage+                                         ->+                         VkImageCreateFlags -- ^ flags+                                            -> Ptr VkImageFormatProperties -- ^ pImageFormatProperties+                                                                           -> IO VkResult++##else+vkGetPhysicalDeviceImageFormatPropertiesSafe ::+                                             VkPhysicalDevice -- ^ physicalDevice+                                                              ->+                                               VkFormat -- ^ format+                                                        ->+                                                 VkImageType -- ^ type+                                                             ->+                                                   VkImageTiling -- ^ tiling+                                                                 ->+                                                     VkImageUsageFlags -- ^ usage+                                                                       ->+                                                       VkImageCreateFlags -- ^ flags+                                                                          ->+                                                         Ptr VkImageFormatProperties -- ^ pImageFormatProperties+                                                                                     -> IO VkResult+vkGetPhysicalDeviceImageFormatPropertiesSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetPhysicalDeviceImageFormatProperties)++{-# NOINLINE vkGetPhysicalDeviceImageFormatPropertiesSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.+--+-- > VkResult vkGetPhysicalDeviceImageFormatProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkFormat format+-- >     , VkImageType type+-- >     , VkImageTiling tiling+-- >     , VkImageUsageFlags usage+-- >     , VkImageCreateFlags flags+-- >     , VkImageFormatProperties* pImageFormatProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceImageFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceImageFormatProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceImageFormatProperties <- vkGetProc @VkGetPhysicalDeviceImageFormatProperties+--+-- __Note:__ @vkGetPhysicalDeviceImageFormatPropertiesUnsafe@ and @vkGetPhysicalDeviceImageFormatPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceImageFormatProperties@ is an alias+--           of @vkGetPhysicalDeviceImageFormatPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceImageFormatPropertiesSafe@.+--+vkGetPhysicalDeviceImageFormatProperties ::+                                         VkPhysicalDevice -- ^ physicalDevice+                                                          ->+                                           VkFormat -- ^ format+                                                    ->+                                             VkImageType -- ^ type+                                                         ->+                                               VkImageTiling -- ^ tiling+                                                             ->+                                                 VkImageUsageFlags -- ^ usage+                                                                   ->+                                                   VkImageCreateFlags -- ^ flags+                                                                      ->+                                                     Ptr VkImageFormatProperties -- ^ pImageFormatProperties+                                                                                 -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceImageFormatProperties+  = vkGetPhysicalDeviceImageFormatPropertiesUnsafe+##else+vkGetPhysicalDeviceImageFormatProperties+  = vkGetPhysicalDeviceImageFormatPropertiesSafe++##endif+{-# INLINE vkGetPhysicalDeviceImageFormatProperties #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.+--+--   > VkResult vkGetPhysicalDeviceImageFormatProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkFormat format+--   >     , VkImageType type+--   >     , VkImageTiling tiling+--   >     , VkImageUsageFlags usage+--   >     , VkImageCreateFlags flags+--   >     , VkImageFormatProperties* pImageFormatProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties registry at www.khronos.org>+type HS_vkGetPhysicalDeviceImageFormatProperties =+     VkPhysicalDevice -- ^ physicalDevice+                      ->+       VkFormat -- ^ format+                ->+         VkImageType -- ^ type+                     ->+           VkImageTiling -- ^ tiling+                         ->+             VkImageUsageFlags -- ^ usage+                               ->+               VkImageCreateFlags -- ^ flags+                                  -> Ptr VkImageFormatProperties -- ^ pImageFormatProperties+                                                                 -> IO VkResult++type PFN_vkGetPhysicalDeviceImageFormatProperties =+     FunPtr HS_vkGetPhysicalDeviceImageFormatProperties++foreign import ccall unsafe "dynamic"+               unwrapVkGetPhysicalDeviceImageFormatPropertiesUnsafe ::+               PFN_vkGetPhysicalDeviceImageFormatProperties ->+                 HS_vkGetPhysicalDeviceImageFormatProperties++foreign import ccall safe "dynamic"+               unwrapVkGetPhysicalDeviceImageFormatPropertiesSafe ::+               PFN_vkGetPhysicalDeviceImageFormatProperties ->+                 HS_vkGetPhysicalDeviceImageFormatProperties++instance VulkanProc "vkGetPhysicalDeviceImageFormatProperties"+         where+    type VkProcType "vkGetPhysicalDeviceImageFormatProperties" =+         HS_vkGetPhysicalDeviceImageFormatProperties+    vkProcSymbol = _VkGetPhysicalDeviceImageFormatProperties++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceImageFormatPropertiesUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceImageFormatPropertiesSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetPhysicalDeviceProperties :: CString++pattern VkGetPhysicalDeviceProperties <-+        (is_VkGetPhysicalDeviceProperties -> True)+  where+    VkGetPhysicalDeviceProperties = _VkGetPhysicalDeviceProperties++{-# INLINE _VkGetPhysicalDeviceProperties #-}++_VkGetPhysicalDeviceProperties :: CString+_VkGetPhysicalDeviceProperties+  = Ptr "vkGetPhysicalDeviceProperties\NUL"##++{-# INLINE is_VkGetPhysicalDeviceProperties #-}++is_VkGetPhysicalDeviceProperties :: CString -> Bool+is_VkGetPhysicalDeviceProperties+  = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceProperties++type VkGetPhysicalDeviceProperties =+     "vkGetPhysicalDeviceProperties"++-- |+-- > void vkGetPhysicalDeviceProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkPhysicalDeviceProperties* pProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceProperties <- vkGetInstanceProc @VkGetPhysicalDeviceProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceProperties <- vkGetProc @VkGetPhysicalDeviceProperties+--+-- __Note:__ @vkGetPhysicalDevicePropertiesUnsafe@ and @vkGetPhysicalDevicePropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceProperties@ is an alias+--           of @vkGetPhysicalDevicePropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDevicePropertiesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkGetPhysicalDeviceProperties"+               vkGetPhysicalDevicePropertiesUnsafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceProperties -- ^ pProperties+                                                                  -> IO ()++##else+vkGetPhysicalDevicePropertiesUnsafe ::+                                    VkPhysicalDevice -- ^ physicalDevice+                                                     -> Ptr VkPhysicalDeviceProperties -- ^ pProperties+                                                                                       -> IO ()+vkGetPhysicalDevicePropertiesUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetPhysicalDeviceProperties)++{-# NOINLINE vkGetPhysicalDevicePropertiesUnsafe #-}+##endif++-- |+-- > void vkGetPhysicalDeviceProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkPhysicalDeviceProperties* pProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceProperties <- vkGetInstanceProc @VkGetPhysicalDeviceProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceProperties <- vkGetProc @VkGetPhysicalDeviceProperties+--+-- __Note:__ @vkGetPhysicalDevicePropertiesUnsafe@ and @vkGetPhysicalDevicePropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceProperties@ is an alias+--           of @vkGetPhysicalDevicePropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDevicePropertiesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkGetPhysicalDeviceProperties"+               vkGetPhysicalDevicePropertiesSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceProperties -- ^ pProperties+                                                                  -> IO ()++##else+vkGetPhysicalDevicePropertiesSafe ::+                                  VkPhysicalDevice -- ^ physicalDevice+                                                   -> Ptr VkPhysicalDeviceProperties -- ^ pProperties+                                                                                     -> IO ()+vkGetPhysicalDevicePropertiesSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetPhysicalDeviceProperties)++{-# NOINLINE vkGetPhysicalDevicePropertiesSafe #-}+##endif++-- |+-- > void vkGetPhysicalDeviceProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkPhysicalDeviceProperties* pProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceProperties <- vkGetInstanceProc @VkGetPhysicalDeviceProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceProperties <- vkGetProc @VkGetPhysicalDeviceProperties+--+-- __Note:__ @vkGetPhysicalDevicePropertiesUnsafe@ and @vkGetPhysicalDevicePropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceProperties@ is an alias+--           of @vkGetPhysicalDevicePropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDevicePropertiesSafe@.+--+vkGetPhysicalDeviceProperties ::+                              VkPhysicalDevice -- ^ physicalDevice+                                               -> Ptr VkPhysicalDeviceProperties -- ^ pProperties+                                                                                 -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceProperties = vkGetPhysicalDevicePropertiesUnsafe+##else+vkGetPhysicalDeviceProperties = vkGetPhysicalDevicePropertiesSafe++##endif+{-# INLINE vkGetPhysicalDeviceProperties #-}++-- | > void vkGetPhysicalDeviceProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkPhysicalDeviceProperties* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties registry at www.khronos.org>+type HS_vkGetPhysicalDeviceProperties =+     VkPhysicalDevice -- ^ physicalDevice+                      -> Ptr VkPhysicalDeviceProperties -- ^ pProperties+                                                        -> IO ()++type PFN_vkGetPhysicalDeviceProperties =+     FunPtr HS_vkGetPhysicalDeviceProperties++foreign import ccall unsafe "dynamic"+               unwrapVkGetPhysicalDevicePropertiesUnsafe ::+               PFN_vkGetPhysicalDeviceProperties ->+                 HS_vkGetPhysicalDeviceProperties++foreign import ccall safe "dynamic"+               unwrapVkGetPhysicalDevicePropertiesSafe ::+               PFN_vkGetPhysicalDeviceProperties ->+                 HS_vkGetPhysicalDeviceProperties++instance VulkanProc "vkGetPhysicalDeviceProperties" where+    type VkProcType "vkGetPhysicalDeviceProperties" =+         HS_vkGetPhysicalDeviceProperties+    vkProcSymbol = _VkGetPhysicalDeviceProperties++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetPhysicalDevicePropertiesUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetPhysicalDevicePropertiesSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetPhysicalDeviceQueueFamilyProperties :: CString++pattern VkGetPhysicalDeviceQueueFamilyProperties <-+        (is_VkGetPhysicalDeviceQueueFamilyProperties -> True)+  where+    VkGetPhysicalDeviceQueueFamilyProperties+      = _VkGetPhysicalDeviceQueueFamilyProperties++{-# INLINE _VkGetPhysicalDeviceQueueFamilyProperties #-}++_VkGetPhysicalDeviceQueueFamilyProperties :: CString+_VkGetPhysicalDeviceQueueFamilyProperties+  = Ptr "vkGetPhysicalDeviceQueueFamilyProperties\NUL"##++{-# INLINE is_VkGetPhysicalDeviceQueueFamilyProperties #-}++is_VkGetPhysicalDeviceQueueFamilyProperties :: CString -> Bool+is_VkGetPhysicalDeviceQueueFamilyProperties+  = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceQueueFamilyProperties++type VkGetPhysicalDeviceQueueFamilyProperties =+     "vkGetPhysicalDeviceQueueFamilyProperties"++-- |+-- > void vkGetPhysicalDeviceQueueFamilyProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , uint32_t* pQueueFamilyPropertyCount+-- >     , VkQueueFamilyProperties* pQueueFamilyProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceQueueFamilyProperties <- vkGetInstanceProc @VkGetPhysicalDeviceQueueFamilyProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceQueueFamilyProperties <- vkGetProc @VkGetPhysicalDeviceQueueFamilyProperties+--+-- __Note:__ @vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe@ and @vkGetPhysicalDeviceQueueFamilyPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceQueueFamilyProperties@ is an alias+--           of @vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceQueueFamilyPropertiesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe+               "vkGetPhysicalDeviceQueueFamilyProperties"+               vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr Word32 -- ^ pQueueFamilyPropertyCount+                            -> Ptr VkQueueFamilyProperties -- ^ pQueueFamilyProperties+                                                           -> IO ()++##else+vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe ::+                                               VkPhysicalDevice -- ^ physicalDevice+                                                                ->+                                                 Ptr Word32 -- ^ pQueueFamilyPropertyCount+                                                            -> Ptr VkQueueFamilyProperties -- ^ pQueueFamilyProperties+                                                                                           -> IO ()+vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetPhysicalDeviceQueueFamilyProperties)++{-# NOINLINE vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe #-}+##endif++-- |+-- > void vkGetPhysicalDeviceQueueFamilyProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , uint32_t* pQueueFamilyPropertyCount+-- >     , VkQueueFamilyProperties* pQueueFamilyProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceQueueFamilyProperties <- vkGetInstanceProc @VkGetPhysicalDeviceQueueFamilyProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceQueueFamilyProperties <- vkGetProc @VkGetPhysicalDeviceQueueFamilyProperties+--+-- __Note:__ @vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe@ and @vkGetPhysicalDeviceQueueFamilyPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceQueueFamilyProperties@ is an alias+--           of @vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceQueueFamilyPropertiesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe+               "vkGetPhysicalDeviceQueueFamilyProperties"+               vkGetPhysicalDeviceQueueFamilyPropertiesSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr Word32 -- ^ pQueueFamilyPropertyCount+                            -> Ptr VkQueueFamilyProperties -- ^ pQueueFamilyProperties+                                                           -> IO ()++##else+vkGetPhysicalDeviceQueueFamilyPropertiesSafe ::+                                             VkPhysicalDevice -- ^ physicalDevice+                                                              ->+                                               Ptr Word32 -- ^ pQueueFamilyPropertyCount+                                                          -> Ptr VkQueueFamilyProperties -- ^ pQueueFamilyProperties+                                                                                         -> IO ()+vkGetPhysicalDeviceQueueFamilyPropertiesSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetPhysicalDeviceQueueFamilyProperties)++{-# NOINLINE vkGetPhysicalDeviceQueueFamilyPropertiesSafe #-}+##endif++-- |+-- > void vkGetPhysicalDeviceQueueFamilyProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , uint32_t* pQueueFamilyPropertyCount+-- >     , VkQueueFamilyProperties* pQueueFamilyProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceQueueFamilyProperties <- vkGetInstanceProc @VkGetPhysicalDeviceQueueFamilyProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceQueueFamilyProperties <- vkGetProc @VkGetPhysicalDeviceQueueFamilyProperties+--+-- __Note:__ @vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe@ and @vkGetPhysicalDeviceQueueFamilyPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceQueueFamilyProperties@ is an alias+--           of @vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceQueueFamilyPropertiesSafe@.+--+vkGetPhysicalDeviceQueueFamilyProperties ::+                                         VkPhysicalDevice -- ^ physicalDevice+                                                          ->+                                           Ptr Word32 -- ^ pQueueFamilyPropertyCount+                                                      -> Ptr VkQueueFamilyProperties -- ^ pQueueFamilyProperties+                                                                                     -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceQueueFamilyProperties+  = vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe+##else+vkGetPhysicalDeviceQueueFamilyProperties+  = vkGetPhysicalDeviceQueueFamilyPropertiesSafe++##endif+{-# INLINE vkGetPhysicalDeviceQueueFamilyProperties #-}++-- | > void vkGetPhysicalDeviceQueueFamilyProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , uint32_t* pQueueFamilyPropertyCount+--   >     , VkQueueFamilyProperties* pQueueFamilyProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties registry at www.khronos.org>+type HS_vkGetPhysicalDeviceQueueFamilyProperties =+     VkPhysicalDevice -- ^ physicalDevice+                      ->+       Ptr Word32 -- ^ pQueueFamilyPropertyCount+                  -> Ptr VkQueueFamilyProperties -- ^ pQueueFamilyProperties+                                                 -> IO ()++type PFN_vkGetPhysicalDeviceQueueFamilyProperties =+     FunPtr HS_vkGetPhysicalDeviceQueueFamilyProperties++foreign import ccall unsafe "dynamic"+               unwrapVkGetPhysicalDeviceQueueFamilyPropertiesUnsafe ::+               PFN_vkGetPhysicalDeviceQueueFamilyProperties ->+                 HS_vkGetPhysicalDeviceQueueFamilyProperties++foreign import ccall safe "dynamic"+               unwrapVkGetPhysicalDeviceQueueFamilyPropertiesSafe ::+               PFN_vkGetPhysicalDeviceQueueFamilyProperties ->+                 HS_vkGetPhysicalDeviceQueueFamilyProperties++instance VulkanProc "vkGetPhysicalDeviceQueueFamilyProperties"+         where+    type VkProcType "vkGetPhysicalDeviceQueueFamilyProperties" =+         HS_vkGetPhysicalDeviceQueueFamilyProperties+    vkProcSymbol = _VkGetPhysicalDeviceQueueFamilyProperties++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceQueueFamilyPropertiesUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceQueueFamilyPropertiesSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetPhysicalDeviceMemoryProperties :: CString++pattern VkGetPhysicalDeviceMemoryProperties <-+        (is_VkGetPhysicalDeviceMemoryProperties -> True)+  where+    VkGetPhysicalDeviceMemoryProperties+      = _VkGetPhysicalDeviceMemoryProperties++{-# INLINE _VkGetPhysicalDeviceMemoryProperties #-}++_VkGetPhysicalDeviceMemoryProperties :: CString+_VkGetPhysicalDeviceMemoryProperties+  = Ptr "vkGetPhysicalDeviceMemoryProperties\NUL"##++{-# INLINE is_VkGetPhysicalDeviceMemoryProperties #-}++is_VkGetPhysicalDeviceMemoryProperties :: CString -> Bool+is_VkGetPhysicalDeviceMemoryProperties+  = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceMemoryProperties++type VkGetPhysicalDeviceMemoryProperties =+     "vkGetPhysicalDeviceMemoryProperties"++-- |+-- > void vkGetPhysicalDeviceMemoryProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkPhysicalDeviceMemoryProperties* pMemoryProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceMemoryProperties <- vkGetInstanceProc @VkGetPhysicalDeviceMemoryProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceMemoryProperties <- vkGetProc @VkGetPhysicalDeviceMemoryProperties+--+-- __Note:__ @vkGetPhysicalDeviceMemoryPropertiesUnsafe@ and @vkGetPhysicalDeviceMemoryPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceMemoryProperties@ is an alias+--           of @vkGetPhysicalDeviceMemoryPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceMemoryPropertiesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkGetPhysicalDeviceMemoryProperties"+               vkGetPhysicalDeviceMemoryPropertiesUnsafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceMemoryProperties -- ^ pMemoryProperties+                                                                        -> IO ()++##else+vkGetPhysicalDeviceMemoryPropertiesUnsafe ::+                                          VkPhysicalDevice -- ^ physicalDevice+                                                           ->+                                            Ptr VkPhysicalDeviceMemoryProperties -- ^ pMemoryProperties+                                                                                 -> IO ()+vkGetPhysicalDeviceMemoryPropertiesUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetPhysicalDeviceMemoryProperties)++{-# NOINLINE vkGetPhysicalDeviceMemoryPropertiesUnsafe #-}+##endif++-- |+-- > void vkGetPhysicalDeviceMemoryProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkPhysicalDeviceMemoryProperties* pMemoryProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceMemoryProperties <- vkGetInstanceProc @VkGetPhysicalDeviceMemoryProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceMemoryProperties <- vkGetProc @VkGetPhysicalDeviceMemoryProperties+--+-- __Note:__ @vkGetPhysicalDeviceMemoryPropertiesUnsafe@ and @vkGetPhysicalDeviceMemoryPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceMemoryProperties@ is an alias+--           of @vkGetPhysicalDeviceMemoryPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceMemoryPropertiesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkGetPhysicalDeviceMemoryProperties"+               vkGetPhysicalDeviceMemoryPropertiesSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceMemoryProperties -- ^ pMemoryProperties+                                                                        -> IO ()++##else+vkGetPhysicalDeviceMemoryPropertiesSafe ::+                                        VkPhysicalDevice -- ^ physicalDevice+                                                         ->+                                          Ptr VkPhysicalDeviceMemoryProperties -- ^ pMemoryProperties+                                                                               -> IO ()+vkGetPhysicalDeviceMemoryPropertiesSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetPhysicalDeviceMemoryProperties)++{-# NOINLINE vkGetPhysicalDeviceMemoryPropertiesSafe #-}+##endif++-- |+-- > void vkGetPhysicalDeviceMemoryProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkPhysicalDeviceMemoryProperties* pMemoryProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceMemoryProperties <- vkGetInstanceProc @VkGetPhysicalDeviceMemoryProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceMemoryProperties <- vkGetProc @VkGetPhysicalDeviceMemoryProperties+--+-- __Note:__ @vkGetPhysicalDeviceMemoryPropertiesUnsafe@ and @vkGetPhysicalDeviceMemoryPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceMemoryProperties@ is an alias+--           of @vkGetPhysicalDeviceMemoryPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceMemoryPropertiesSafe@.+--+vkGetPhysicalDeviceMemoryProperties ::+                                    VkPhysicalDevice -- ^ physicalDevice+                                                     ->+                                      Ptr VkPhysicalDeviceMemoryProperties -- ^ pMemoryProperties+                                                                           -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceMemoryProperties+  = vkGetPhysicalDeviceMemoryPropertiesUnsafe+##else+vkGetPhysicalDeviceMemoryProperties+  = vkGetPhysicalDeviceMemoryPropertiesSafe++##endif+{-# INLINE vkGetPhysicalDeviceMemoryProperties #-}++-- | > void vkGetPhysicalDeviceMemoryProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkPhysicalDeviceMemoryProperties* pMemoryProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties registry at www.khronos.org>+type HS_vkGetPhysicalDeviceMemoryProperties =+     VkPhysicalDevice -- ^ physicalDevice+                      -> Ptr VkPhysicalDeviceMemoryProperties -- ^ pMemoryProperties+                                                              -> IO ()++type PFN_vkGetPhysicalDeviceMemoryProperties =+     FunPtr HS_vkGetPhysicalDeviceMemoryProperties++foreign import ccall unsafe "dynamic"+               unwrapVkGetPhysicalDeviceMemoryPropertiesUnsafe ::+               PFN_vkGetPhysicalDeviceMemoryProperties ->+                 HS_vkGetPhysicalDeviceMemoryProperties++foreign import ccall safe "dynamic"+               unwrapVkGetPhysicalDeviceMemoryPropertiesSafe ::+               PFN_vkGetPhysicalDeviceMemoryProperties ->+                 HS_vkGetPhysicalDeviceMemoryProperties++instance VulkanProc "vkGetPhysicalDeviceMemoryProperties" where+    type VkProcType "vkGetPhysicalDeviceMemoryProperties" =+         HS_vkGetPhysicalDeviceMemoryProperties+    vkProcSymbol = _VkGetPhysicalDeviceMemoryProperties++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceMemoryPropertiesUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetPhysicalDeviceMemoryPropertiesSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetInstanceProcAddr :: CString++pattern VkGetInstanceProcAddr <- (is_VkGetInstanceProcAddr -> True)+  where+    VkGetInstanceProcAddr = _VkGetInstanceProcAddr++{-# INLINE _VkGetInstanceProcAddr #-}++_VkGetInstanceProcAddr :: CString+_VkGetInstanceProcAddr = Ptr "vkGetInstanceProcAddr\NUL"##++{-# INLINE is_VkGetInstanceProcAddr #-}++is_VkGetInstanceProcAddr :: CString -> Bool+is_VkGetInstanceProcAddr+  = (EQ ==) . cmpCStrings _VkGetInstanceProcAddr++type VkGetInstanceProcAddr = "vkGetInstanceProcAddr"++-- |+-- > PFN_vkVoidFunction vkGetInstanceProcAddr+-- >     ( VkInstance instance+-- >     , const char* pName+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetInstanceProcAddr vkGetInstanceProcAddr registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetInstanceProcAddr <- vkGetInstanceProc @VkGetInstanceProcAddr vkInstance+--+-- or less efficient:+--+-- > myGetInstanceProcAddr <- vkGetProc @VkGetInstanceProcAddr+--+-- __Note:__ @vkGetInstanceProcAddrUnsafe@ and @vkGetInstanceProcAddrSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetInstanceProcAddr@ is an alias+--           of @vkGetInstanceProcAddrUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetInstanceProcAddrSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkGetInstanceProcAddr"+               vkGetInstanceProcAddrUnsafe ::+               VkInstance -- ^ instance+                          -> CString -- ^ pName+                                     -> IO PFN_vkVoidFunction++##else+vkGetInstanceProcAddrUnsafe ::+                            VkInstance -- ^ instance+                                       -> CString -- ^ pName+                                                  -> IO PFN_vkVoidFunction+vkGetInstanceProcAddrUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkGetInstanceProcAddr)++{-# NOINLINE vkGetInstanceProcAddrUnsafe #-}+##endif++-- |+-- > PFN_vkVoidFunction vkGetInstanceProcAddr+-- >     ( VkInstance instance+-- >     , const char* pName+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetInstanceProcAddr vkGetInstanceProcAddr registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetInstanceProcAddr <- vkGetInstanceProc @VkGetInstanceProcAddr vkInstance+--+-- or less efficient:+--+-- > myGetInstanceProcAddr <- vkGetProc @VkGetInstanceProcAddr+--+-- __Note:__ @vkGetInstanceProcAddrUnsafe@ and @vkGetInstanceProcAddrSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetInstanceProcAddr@ is an alias+--           of @vkGetInstanceProcAddrUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetInstanceProcAddrSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkGetInstanceProcAddr"+               vkGetInstanceProcAddrSafe ::+               VkInstance -- ^ instance+                          -> CString -- ^ pName+                                     -> IO PFN_vkVoidFunction++##else+vkGetInstanceProcAddrSafe ::+                          VkInstance -- ^ instance+                                     -> CString -- ^ pName+                                                -> IO PFN_vkVoidFunction+vkGetInstanceProcAddrSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkGetInstanceProcAddr)++{-# NOINLINE vkGetInstanceProcAddrSafe #-}+##endif++-- |+-- > PFN_vkVoidFunction vkGetInstanceProcAddr+-- >     ( VkInstance instance+-- >     , const char* pName+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetInstanceProcAddr vkGetInstanceProcAddr registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetInstanceProcAddr <- vkGetInstanceProc @VkGetInstanceProcAddr vkInstance+--+-- or less efficient:+--+-- > myGetInstanceProcAddr <- vkGetProc @VkGetInstanceProcAddr+--+-- __Note:__ @vkGetInstanceProcAddrUnsafe@ and @vkGetInstanceProcAddrSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetInstanceProcAddr@ is an alias+--           of @vkGetInstanceProcAddrUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetInstanceProcAddrSafe@.+--+vkGetInstanceProcAddr ::+                      VkInstance -- ^ instance+                                 -> CString -- ^ pName+                                            -> IO PFN_vkVoidFunction+##ifdef UNSAFE_FFI_DEFAULT+vkGetInstanceProcAddr = vkGetInstanceProcAddrUnsafe+##else+vkGetInstanceProcAddr = vkGetInstanceProcAddrSafe++##endif+{-# INLINE vkGetInstanceProcAddr #-}++-- | > PFN_vkVoidFunction vkGetInstanceProcAddr+--   >     ( VkInstance instance+--   >     , const char* pName+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetInstanceProcAddr vkGetInstanceProcAddr registry at www.khronos.org>+type HS_vkGetInstanceProcAddr =+     VkInstance -- ^ instance+                -> CString -- ^ pName+                           -> IO PFN_vkVoidFunction++type PFN_vkGetInstanceProcAddr = FunPtr HS_vkGetInstanceProcAddr++foreign import ccall unsafe "dynamic"+               unwrapVkGetInstanceProcAddrUnsafe ::+               PFN_vkGetInstanceProcAddr -> HS_vkGetInstanceProcAddr++foreign import ccall safe "dynamic" unwrapVkGetInstanceProcAddrSafe+               :: PFN_vkGetInstanceProcAddr -> HS_vkGetInstanceProcAddr++instance VulkanProc "vkGetInstanceProcAddr" where+    type VkProcType "vkGetInstanceProcAddr" = HS_vkGetInstanceProcAddr+    vkProcSymbol = _VkGetInstanceProcAddr++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetInstanceProcAddrUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetInstanceProcAddrSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetDeviceProcAddr :: CString++pattern VkGetDeviceProcAddr <- (is_VkGetDeviceProcAddr -> True)+  where+    VkGetDeviceProcAddr = _VkGetDeviceProcAddr++{-# INLINE _VkGetDeviceProcAddr #-}++_VkGetDeviceProcAddr :: CString+_VkGetDeviceProcAddr = Ptr "vkGetDeviceProcAddr\NUL"##++{-# INLINE is_VkGetDeviceProcAddr #-}++is_VkGetDeviceProcAddr :: CString -> Bool+is_VkGetDeviceProcAddr = (EQ ==) . cmpCStrings _VkGetDeviceProcAddr++type VkGetDeviceProcAddr = "vkGetDeviceProcAddr"++-- |+-- > PFN_vkVoidFunction vkGetDeviceProcAddr+-- >     ( VkDevice device+-- >     , const char* pName+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceProcAddr vkGetDeviceProcAddr registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceProcAddr <- vkGetDeviceProc @VkGetDeviceProcAddr vkDevice+--+-- or less efficient:+--+-- > myGetDeviceProcAddr <- vkGetProc @VkGetDeviceProcAddr+--+-- __Note:__ @vkGetDeviceProcAddrUnsafe@ and @vkGetDeviceProcAddrSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDeviceProcAddr@ is an alias+--           of @vkGetDeviceProcAddrUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDeviceProcAddrSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkGetDeviceProcAddr"+               vkGetDeviceProcAddrUnsafe ::+               VkDevice -- ^ device+                        -> CString -- ^ pName+                                   -> IO PFN_vkVoidFunction++##else+vkGetDeviceProcAddrUnsafe ::+                          VkDevice -- ^ device+                                   -> CString -- ^ pName+                                              -> IO PFN_vkVoidFunction+vkGetDeviceProcAddrUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkGetDeviceProcAddr)++{-# NOINLINE vkGetDeviceProcAddrUnsafe #-}+##endif++-- |+-- > PFN_vkVoidFunction vkGetDeviceProcAddr+-- >     ( VkDevice device+-- >     , const char* pName+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceProcAddr vkGetDeviceProcAddr registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceProcAddr <- vkGetDeviceProc @VkGetDeviceProcAddr vkDevice+--+-- or less efficient:+--+-- > myGetDeviceProcAddr <- vkGetProc @VkGetDeviceProcAddr+--+-- __Note:__ @vkGetDeviceProcAddrUnsafe@ and @vkGetDeviceProcAddrSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDeviceProcAddr@ is an alias+--           of @vkGetDeviceProcAddrUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDeviceProcAddrSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkGetDeviceProcAddr"+               vkGetDeviceProcAddrSafe ::+               VkDevice -- ^ device+                        -> CString -- ^ pName+                                   -> IO PFN_vkVoidFunction++##else+vkGetDeviceProcAddrSafe ::+                        VkDevice -- ^ device+                                 -> CString -- ^ pName+                                            -> IO PFN_vkVoidFunction+vkGetDeviceProcAddrSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkGetDeviceProcAddr)++{-# NOINLINE vkGetDeviceProcAddrSafe #-}+##endif++-- |+-- > PFN_vkVoidFunction vkGetDeviceProcAddr+-- >     ( VkDevice device+-- >     , const char* pName+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceProcAddr vkGetDeviceProcAddr registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceProcAddr <- vkGetDeviceProc @VkGetDeviceProcAddr vkDevice+--+-- or less efficient:+--+-- > myGetDeviceProcAddr <- vkGetProc @VkGetDeviceProcAddr+--+-- __Note:__ @vkGetDeviceProcAddrUnsafe@ and @vkGetDeviceProcAddrSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDeviceProcAddr@ is an alias+--           of @vkGetDeviceProcAddrUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDeviceProcAddrSafe@.+--+vkGetDeviceProcAddr :: VkDevice -- ^ device+                                -> CString -- ^ pName+                                           -> IO PFN_vkVoidFunction+##ifdef UNSAFE_FFI_DEFAULT+vkGetDeviceProcAddr = vkGetDeviceProcAddrUnsafe+##else+vkGetDeviceProcAddr = vkGetDeviceProcAddrSafe++##endif+{-# INLINE vkGetDeviceProcAddr #-}++-- | > PFN_vkVoidFunction vkGetDeviceProcAddr+--   >     ( VkDevice device+--   >     , const char* pName+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceProcAddr vkGetDeviceProcAddr registry at www.khronos.org>+type HS_vkGetDeviceProcAddr =+     VkDevice -- ^ device+              -> CString -- ^ pName+                         -> IO PFN_vkVoidFunction++type PFN_vkGetDeviceProcAddr = FunPtr HS_vkGetDeviceProcAddr++foreign import ccall unsafe "dynamic"+               unwrapVkGetDeviceProcAddrUnsafe ::+               PFN_vkGetDeviceProcAddr -> HS_vkGetDeviceProcAddr++foreign import ccall safe "dynamic" unwrapVkGetDeviceProcAddrSafe+               :: PFN_vkGetDeviceProcAddr -> HS_vkGetDeviceProcAddr++instance VulkanProc "vkGetDeviceProcAddr" where+    type VkProcType "vkGetDeviceProcAddr" = HS_vkGetDeviceProcAddr+    vkProcSymbol = _VkGetDeviceProcAddr++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetDeviceProcAddrUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetDeviceProcAddrSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCreateDevice :: CString++pattern VkCreateDevice <- (is_VkCreateDevice -> True)+  where+    VkCreateDevice = _VkCreateDevice++{-# INLINE _VkCreateDevice #-}++_VkCreateDevice :: CString+_VkCreateDevice = Ptr "vkCreateDevice\NUL"##++{-# INLINE is_VkCreateDevice #-}++is_VkCreateDevice :: CString -> Bool+is_VkCreateDevice = (EQ ==) . cmpCStrings _VkCreateDevice++type VkCreateDevice = "vkCreateDevice"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_FEATURE_NOT_PRESENT', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkCreateDevice+-- >     ( VkPhysicalDevice physicalDevice+-- >     , const VkDeviceCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkDevice* pDevice+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDevice vkCreateDevice registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateDevice <- vkGetInstanceProc @VkCreateDevice vkInstance+--+-- or less efficient:+--+-- > myCreateDevice <- vkGetProc @VkCreateDevice+--+-- __Note:__ @vkCreateDeviceUnsafe@ and @vkCreateDeviceSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateDevice@ is an alias+--           of @vkCreateDeviceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateDeviceSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCreateDevice" vkCreateDeviceUnsafe+               ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkDeviceCreateInfo -- ^ pCreateInfo+                                        ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkDevice -- ^ pDevice+                                                             -> IO VkResult++##else+vkCreateDeviceUnsafe ::+                     VkPhysicalDevice -- ^ physicalDevice+                                      ->+                       Ptr VkDeviceCreateInfo -- ^ pCreateInfo+                                              ->+                         Ptr VkAllocationCallbacks -- ^ pAllocator+                                                   -> Ptr VkDevice -- ^ pDevice+                                                                   -> IO VkResult+vkCreateDeviceUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateDevice)++{-# NOINLINE vkCreateDeviceUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_FEATURE_NOT_PRESENT', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkCreateDevice+-- >     ( VkPhysicalDevice physicalDevice+-- >     , const VkDeviceCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkDevice* pDevice+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDevice vkCreateDevice registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateDevice <- vkGetInstanceProc @VkCreateDevice vkInstance+--+-- or less efficient:+--+-- > myCreateDevice <- vkGetProc @VkCreateDevice+--+-- __Note:__ @vkCreateDeviceUnsafe@ and @vkCreateDeviceSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateDevice@ is an alias+--           of @vkCreateDeviceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateDeviceSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCreateDevice" vkCreateDeviceSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkDeviceCreateInfo -- ^ pCreateInfo+                                        ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkDevice -- ^ pDevice+                                                             -> IO VkResult++##else+vkCreateDeviceSafe ::+                   VkPhysicalDevice -- ^ physicalDevice+                                    ->+                     Ptr VkDeviceCreateInfo -- ^ pCreateInfo+                                            ->+                       Ptr VkAllocationCallbacks -- ^ pAllocator+                                                 -> Ptr VkDevice -- ^ pDevice+                                                                 -> IO VkResult+vkCreateDeviceSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateDevice)++{-# NOINLINE vkCreateDeviceSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_FEATURE_NOT_PRESENT', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkCreateDevice+-- >     ( VkPhysicalDevice physicalDevice+-- >     , const VkDeviceCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkDevice* pDevice+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDevice vkCreateDevice registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateDevice <- vkGetInstanceProc @VkCreateDevice vkInstance+--+-- or less efficient:+--+-- > myCreateDevice <- vkGetProc @VkCreateDevice+--+-- __Note:__ @vkCreateDeviceUnsafe@ and @vkCreateDeviceSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateDevice@ is an alias+--           of @vkCreateDeviceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateDeviceSafe@.+--+vkCreateDevice ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkDeviceCreateInfo -- ^ pCreateInfo+                                        ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkDevice -- ^ pDevice+                                                             -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkCreateDevice = vkCreateDeviceUnsafe+##else+vkCreateDevice = vkCreateDeviceSafe++##endif+{-# INLINE vkCreateDevice #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_FEATURE_NOT_PRESENT', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_DEVICE_LOST'.+--+--   > VkResult vkCreateDevice+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkDeviceCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkDevice* pDevice+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDevice vkCreateDevice registry at www.khronos.org>+type HS_vkCreateDevice =+     VkPhysicalDevice -- ^ physicalDevice+                      ->+       Ptr VkDeviceCreateInfo -- ^ pCreateInfo+                              ->+         Ptr VkAllocationCallbacks -- ^ pAllocator+                                   -> Ptr VkDevice -- ^ pDevice+                                                   -> IO VkResult++type PFN_vkCreateDevice = FunPtr HS_vkCreateDevice++foreign import ccall unsafe "dynamic" unwrapVkCreateDeviceUnsafe ::+               PFN_vkCreateDevice -> HS_vkCreateDevice++foreign import ccall safe "dynamic" unwrapVkCreateDeviceSafe ::+               PFN_vkCreateDevice -> HS_vkCreateDevice++instance VulkanProc "vkCreateDevice" where+    type VkProcType "vkCreateDevice" = HS_vkCreateDevice+    vkProcSymbol = _VkCreateDevice++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateDeviceUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateDeviceSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkDestroyDevice :: CString++pattern VkDestroyDevice <- (is_VkDestroyDevice -> True)+  where+    VkDestroyDevice = _VkDestroyDevice++{-# INLINE _VkDestroyDevice #-}++_VkDestroyDevice :: CString+_VkDestroyDevice = Ptr "vkDestroyDevice\NUL"##++{-# INLINE is_VkDestroyDevice #-}++is_VkDestroyDevice :: CString -> Bool+is_VkDestroyDevice = (EQ ==) . cmpCStrings _VkDestroyDevice++type VkDestroyDevice = "vkDestroyDevice"++-- |+-- > void vkDestroyDevice+-- >     ( VkDevice device+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDevice vkDestroyDevice registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyDevice <- vkGetDeviceProc @VkDestroyDevice vkDevice+--+-- or less efficient:+--+-- > myDestroyDevice <- vkGetProc @VkDestroyDevice+--+-- __Note:__ @vkDestroyDeviceUnsafe@ and @vkDestroyDeviceSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyDevice@ is an alias+--           of @vkDestroyDeviceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyDeviceSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkDestroyDevice" vkDestroyDeviceUnsafe+               :: VkDevice -- ^ device+                           -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                        -> IO ()++##else+vkDestroyDeviceUnsafe ::+                      VkDevice -- ^ device+                               -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                            -> IO ()+vkDestroyDeviceUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyDevice)++{-# NOINLINE vkDestroyDeviceUnsafe #-}+##endif++-- |+-- > void vkDestroyDevice+-- >     ( VkDevice device+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDevice vkDestroyDevice registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyDevice <- vkGetDeviceProc @VkDestroyDevice vkDevice+--+-- or less efficient:+--+-- > myDestroyDevice <- vkGetProc @VkDestroyDevice+--+-- __Note:__ @vkDestroyDeviceUnsafe@ and @vkDestroyDeviceSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyDevice@ is an alias+--           of @vkDestroyDeviceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyDeviceSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkDestroyDevice" vkDestroyDeviceSafe ::+               VkDevice -- ^ device+                        -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                     -> IO ()++##else+vkDestroyDeviceSafe ::+                    VkDevice -- ^ device+                             -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                          -> IO ()+vkDestroyDeviceSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyDevice)++{-# NOINLINE vkDestroyDeviceSafe #-}+##endif++-- |+-- > void vkDestroyDevice+-- >     ( VkDevice device+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDevice vkDestroyDevice registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyDevice <- vkGetDeviceProc @VkDestroyDevice vkDevice+--+-- or less efficient:+--+-- > myDestroyDevice <- vkGetProc @VkDestroyDevice+--+-- __Note:__ @vkDestroyDeviceUnsafe@ and @vkDestroyDeviceSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyDevice@ is an alias+--           of @vkDestroyDeviceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyDeviceSafe@.+--+vkDestroyDevice :: VkDevice -- ^ device+                            -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                         -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkDestroyDevice = vkDestroyDeviceUnsafe+##else+vkDestroyDevice = vkDestroyDeviceSafe++##endif+{-# INLINE vkDestroyDevice #-}++-- | > void vkDestroyDevice+--   >     ( VkDevice device+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDevice vkDestroyDevice registry at www.khronos.org>+type HS_vkDestroyDevice =+     VkDevice -- ^ device+              -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                           -> IO ()++type PFN_vkDestroyDevice = FunPtr HS_vkDestroyDevice++foreign import ccall unsafe "dynamic" unwrapVkDestroyDeviceUnsafe+               :: PFN_vkDestroyDevice -> HS_vkDestroyDevice++foreign import ccall safe "dynamic" unwrapVkDestroyDeviceSafe ::+               PFN_vkDestroyDevice -> HS_vkDestroyDevice++instance VulkanProc "vkDestroyDevice" where+    type VkProcType "vkDestroyDevice" = HS_vkDestroyDevice+    vkProcSymbol = _VkDestroyDevice++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDestroyDeviceUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroyDeviceSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkEnumerateInstanceExtensionProperties :: CString++pattern VkEnumerateInstanceExtensionProperties <-+        (is_VkEnumerateInstanceExtensionProperties -> True)+  where+    VkEnumerateInstanceExtensionProperties+      = _VkEnumerateInstanceExtensionProperties++{-# INLINE _VkEnumerateInstanceExtensionProperties #-}++_VkEnumerateInstanceExtensionProperties :: CString+_VkEnumerateInstanceExtensionProperties+  = Ptr "vkEnumerateInstanceExtensionProperties\NUL"##++{-# INLINE is_VkEnumerateInstanceExtensionProperties #-}++is_VkEnumerateInstanceExtensionProperties :: CString -> Bool+is_VkEnumerateInstanceExtensionProperties+  = (EQ ==) . cmpCStrings _VkEnumerateInstanceExtensionProperties++type VkEnumerateInstanceExtensionProperties =+     "vkEnumerateInstanceExtensionProperties"++-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.+--+-- > VkResult vkEnumerateInstanceExtensionProperties+-- >     ( const char* pLayerName+-- >     , uint32_t* pPropertyCount+-- >     , VkExtensionProperties* pProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumerateInstanceExtensionProperties <- vkGetInstanceProc @VkEnumerateInstanceExtensionProperties VK_NULL+--+-- or less efficient:+--+-- > myEnumerateInstanceExtensionProperties <- vkGetProc @VkEnumerateInstanceExtensionProperties+--+-- __Note:__ @vkEnumerateInstanceExtensionPropertiesUnsafe@ and @vkEnumerateInstanceExtensionPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkEnumerateInstanceExtensionProperties@ is an alias+--           of @vkEnumerateInstanceExtensionPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkEnumerateInstanceExtensionPropertiesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe+               "vkEnumerateInstanceExtensionProperties"+               vkEnumerateInstanceExtensionPropertiesUnsafe ::+               CString -- ^ pLayerName+                       -> Ptr Word32 -- ^ pPropertyCount+                                     -> Ptr VkExtensionProperties -- ^ pProperties+                                                                  -> IO VkResult++##else+vkEnumerateInstanceExtensionPropertiesUnsafe ::+                                             CString -- ^ pLayerName+                                                     ->+                                               Ptr Word32 -- ^ pPropertyCount+                                                          ->+                                                 Ptr VkExtensionProperties -- ^ pProperties+                                                                           -> IO VkResult+vkEnumerateInstanceExtensionPropertiesUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkEnumerateInstanceExtensionProperties)++{-# NOINLINE vkEnumerateInstanceExtensionPropertiesUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.+--+-- > VkResult vkEnumerateInstanceExtensionProperties+-- >     ( const char* pLayerName+-- >     , uint32_t* pPropertyCount+-- >     , VkExtensionProperties* pProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumerateInstanceExtensionProperties <- vkGetInstanceProc @VkEnumerateInstanceExtensionProperties VK_NULL+--+-- or less efficient:+--+-- > myEnumerateInstanceExtensionProperties <- vkGetProc @VkEnumerateInstanceExtensionProperties+--+-- __Note:__ @vkEnumerateInstanceExtensionPropertiesUnsafe@ and @vkEnumerateInstanceExtensionPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkEnumerateInstanceExtensionProperties@ is an alias+--           of @vkEnumerateInstanceExtensionPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkEnumerateInstanceExtensionPropertiesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkEnumerateInstanceExtensionProperties"+               vkEnumerateInstanceExtensionPropertiesSafe ::+               CString -- ^ pLayerName+                       -> Ptr Word32 -- ^ pPropertyCount+                                     -> Ptr VkExtensionProperties -- ^ pProperties+                                                                  -> IO VkResult++##else+vkEnumerateInstanceExtensionPropertiesSafe ::+                                           CString -- ^ pLayerName+                                                   ->+                                             Ptr Word32 -- ^ pPropertyCount+                                                        -> Ptr VkExtensionProperties -- ^ pProperties+                                                                                     -> IO VkResult+vkEnumerateInstanceExtensionPropertiesSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkEnumerateInstanceExtensionProperties)++{-# NOINLINE vkEnumerateInstanceExtensionPropertiesSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.+--+-- > VkResult vkEnumerateInstanceExtensionProperties+-- >     ( const char* pLayerName+-- >     , uint32_t* pPropertyCount+-- >     , VkExtensionProperties* pProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumerateInstanceExtensionProperties <- vkGetInstanceProc @VkEnumerateInstanceExtensionProperties VK_NULL+--+-- or less efficient:+--+-- > myEnumerateInstanceExtensionProperties <- vkGetProc @VkEnumerateInstanceExtensionProperties+--+-- __Note:__ @vkEnumerateInstanceExtensionPropertiesUnsafe@ and @vkEnumerateInstanceExtensionPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkEnumerateInstanceExtensionProperties@ is an alias+--           of @vkEnumerateInstanceExtensionPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkEnumerateInstanceExtensionPropertiesSafe@.+--+vkEnumerateInstanceExtensionProperties ::+                                       CString -- ^ pLayerName+                                               ->+                                         Ptr Word32 -- ^ pPropertyCount+                                                    -> Ptr VkExtensionProperties -- ^ pProperties+                                                                                 -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkEnumerateInstanceExtensionProperties+  = vkEnumerateInstanceExtensionPropertiesUnsafe+##else+vkEnumerateInstanceExtensionProperties+  = vkEnumerateInstanceExtensionPropertiesSafe++##endif+{-# INLINE vkEnumerateInstanceExtensionProperties #-}++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.+--+--   > VkResult vkEnumerateInstanceExtensionProperties+--   >     ( const char* pLayerName+--   >     , uint32_t* pPropertyCount+--   >     , VkExtensionProperties* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties registry at www.khronos.org>+type HS_vkEnumerateInstanceExtensionProperties =+     CString -- ^ pLayerName+             -> Ptr Word32 -- ^ pPropertyCount+                           -> Ptr VkExtensionProperties -- ^ pProperties+                                                        -> IO VkResult++type PFN_vkEnumerateInstanceExtensionProperties =+     FunPtr HS_vkEnumerateInstanceExtensionProperties++foreign import ccall unsafe "dynamic"+               unwrapVkEnumerateInstanceExtensionPropertiesUnsafe ::+               PFN_vkEnumerateInstanceExtensionProperties ->+                 HS_vkEnumerateInstanceExtensionProperties++foreign import ccall safe "dynamic"+               unwrapVkEnumerateInstanceExtensionPropertiesSafe ::+               PFN_vkEnumerateInstanceExtensionProperties ->+                 HS_vkEnumerateInstanceExtensionProperties++instance VulkanProc "vkEnumerateInstanceExtensionProperties" where+    type VkProcType "vkEnumerateInstanceExtensionProperties" =+         HS_vkEnumerateInstanceExtensionProperties+    vkProcSymbol = _VkEnumerateInstanceExtensionProperties++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkEnumerateInstanceExtensionPropertiesUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkEnumerateInstanceExtensionPropertiesSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkEnumerateDeviceExtensionProperties :: CString++pattern VkEnumerateDeviceExtensionProperties <-+        (is_VkEnumerateDeviceExtensionProperties -> True)+  where+    VkEnumerateDeviceExtensionProperties+      = _VkEnumerateDeviceExtensionProperties++{-# INLINE _VkEnumerateDeviceExtensionProperties #-}++_VkEnumerateDeviceExtensionProperties :: CString+_VkEnumerateDeviceExtensionProperties+  = Ptr "vkEnumerateDeviceExtensionProperties\NUL"##++{-# INLINE is_VkEnumerateDeviceExtensionProperties #-}++is_VkEnumerateDeviceExtensionProperties :: CString -> Bool+is_VkEnumerateDeviceExtensionProperties+  = (EQ ==) . cmpCStrings _VkEnumerateDeviceExtensionProperties++type VkEnumerateDeviceExtensionProperties =+     "vkEnumerateDeviceExtensionProperties"++-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.+--+-- > VkResult vkEnumerateDeviceExtensionProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , const char* pLayerName+-- >     , uint32_t* pPropertyCount+-- >     , VkExtensionProperties* pProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumerateDeviceExtensionProperties <- vkGetInstanceProc @VkEnumerateDeviceExtensionProperties vkInstance+--+-- or less efficient:+--+-- > myEnumerateDeviceExtensionProperties <- vkGetProc @VkEnumerateDeviceExtensionProperties+--+-- __Note:__ @vkEnumerateDeviceExtensionPropertiesUnsafe@ and @vkEnumerateDeviceExtensionPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkEnumerateDeviceExtensionProperties@ is an alias+--           of @vkEnumerateDeviceExtensionPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkEnumerateDeviceExtensionPropertiesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkEnumerateDeviceExtensionProperties"+               vkEnumerateDeviceExtensionPropertiesUnsafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 CString -- ^ pLayerName+                         -> Ptr Word32 -- ^ pPropertyCount+                                       -> Ptr VkExtensionProperties -- ^ pProperties+                                                                    -> IO VkResult++##else+vkEnumerateDeviceExtensionPropertiesUnsafe ::+                                           VkPhysicalDevice -- ^ physicalDevice+                                                            ->+                                             CString -- ^ pLayerName+                                                     ->+                                               Ptr Word32 -- ^ pPropertyCount+                                                          ->+                                                 Ptr VkExtensionProperties -- ^ pProperties+                                                                           -> IO VkResult+vkEnumerateDeviceExtensionPropertiesUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkEnumerateDeviceExtensionProperties)++{-# NOINLINE vkEnumerateDeviceExtensionPropertiesUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.+--+-- > VkResult vkEnumerateDeviceExtensionProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , const char* pLayerName+-- >     , uint32_t* pPropertyCount+-- >     , VkExtensionProperties* pProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumerateDeviceExtensionProperties <- vkGetInstanceProc @VkEnumerateDeviceExtensionProperties vkInstance+--+-- or less efficient:+--+-- > myEnumerateDeviceExtensionProperties <- vkGetProc @VkEnumerateDeviceExtensionProperties+--+-- __Note:__ @vkEnumerateDeviceExtensionPropertiesUnsafe@ and @vkEnumerateDeviceExtensionPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkEnumerateDeviceExtensionProperties@ is an alias+--           of @vkEnumerateDeviceExtensionPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkEnumerateDeviceExtensionPropertiesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkEnumerateDeviceExtensionProperties"+               vkEnumerateDeviceExtensionPropertiesSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 CString -- ^ pLayerName+                         -> Ptr Word32 -- ^ pPropertyCount+                                       -> Ptr VkExtensionProperties -- ^ pProperties+                                                                    -> IO VkResult++##else+vkEnumerateDeviceExtensionPropertiesSafe ::+                                         VkPhysicalDevice -- ^ physicalDevice+                                                          ->+                                           CString -- ^ pLayerName+                                                   ->+                                             Ptr Word32 -- ^ pPropertyCount+                                                        -> Ptr VkExtensionProperties -- ^ pProperties+                                                                                     -> IO VkResult+vkEnumerateDeviceExtensionPropertiesSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkEnumerateDeviceExtensionProperties)++{-# NOINLINE vkEnumerateDeviceExtensionPropertiesSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.+--+-- > VkResult vkEnumerateDeviceExtensionProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , const char* pLayerName+-- >     , uint32_t* pPropertyCount+-- >     , VkExtensionProperties* pProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumerateDeviceExtensionProperties <- vkGetInstanceProc @VkEnumerateDeviceExtensionProperties vkInstance+--+-- or less efficient:+--+-- > myEnumerateDeviceExtensionProperties <- vkGetProc @VkEnumerateDeviceExtensionProperties+--+-- __Note:__ @vkEnumerateDeviceExtensionPropertiesUnsafe@ and @vkEnumerateDeviceExtensionPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkEnumerateDeviceExtensionProperties@ is an alias+--           of @vkEnumerateDeviceExtensionPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkEnumerateDeviceExtensionPropertiesSafe@.+--+vkEnumerateDeviceExtensionProperties ::+                                     VkPhysicalDevice -- ^ physicalDevice+                                                      ->+                                       CString -- ^ pLayerName+                                               ->+                                         Ptr Word32 -- ^ pPropertyCount+                                                    -> Ptr VkExtensionProperties -- ^ pProperties+                                                                                 -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkEnumerateDeviceExtensionProperties+  = vkEnumerateDeviceExtensionPropertiesUnsafe+##else+vkEnumerateDeviceExtensionProperties+  = vkEnumerateDeviceExtensionPropertiesSafe++##endif+{-# INLINE vkEnumerateDeviceExtensionProperties #-}++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.+--+--   > VkResult vkEnumerateDeviceExtensionProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const char* pLayerName+--   >     , uint32_t* pPropertyCount+--   >     , VkExtensionProperties* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties registry at www.khronos.org>+type HS_vkEnumerateDeviceExtensionProperties =+     VkPhysicalDevice -- ^ physicalDevice+                      ->+       CString -- ^ pLayerName+               -> Ptr Word32 -- ^ pPropertyCount+                             -> Ptr VkExtensionProperties -- ^ pProperties+                                                          -> IO VkResult++type PFN_vkEnumerateDeviceExtensionProperties =+     FunPtr HS_vkEnumerateDeviceExtensionProperties++foreign import ccall unsafe "dynamic"+               unwrapVkEnumerateDeviceExtensionPropertiesUnsafe ::+               PFN_vkEnumerateDeviceExtensionProperties ->+                 HS_vkEnumerateDeviceExtensionProperties++foreign import ccall safe "dynamic"+               unwrapVkEnumerateDeviceExtensionPropertiesSafe ::+               PFN_vkEnumerateDeviceExtensionProperties ->+                 HS_vkEnumerateDeviceExtensionProperties++instance VulkanProc "vkEnumerateDeviceExtensionProperties" where+    type VkProcType "vkEnumerateDeviceExtensionProperties" =+         HS_vkEnumerateDeviceExtensionProperties+    vkProcSymbol = _VkEnumerateDeviceExtensionProperties++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkEnumerateDeviceExtensionPropertiesUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkEnumerateDeviceExtensionPropertiesSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkEnumerateInstanceLayerProperties :: CString++pattern VkEnumerateInstanceLayerProperties <-+        (is_VkEnumerateInstanceLayerProperties -> True)+  where+    VkEnumerateInstanceLayerProperties+      = _VkEnumerateInstanceLayerProperties++{-# INLINE _VkEnumerateInstanceLayerProperties #-}++_VkEnumerateInstanceLayerProperties :: CString+_VkEnumerateInstanceLayerProperties+  = Ptr "vkEnumerateInstanceLayerProperties\NUL"##++{-# INLINE is_VkEnumerateInstanceLayerProperties #-}++is_VkEnumerateInstanceLayerProperties :: CString -> Bool+is_VkEnumerateInstanceLayerProperties+  = (EQ ==) . cmpCStrings _VkEnumerateInstanceLayerProperties++type VkEnumerateInstanceLayerProperties =+     "vkEnumerateInstanceLayerProperties"++-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkEnumerateInstanceLayerProperties+-- >     ( uint32_t* pPropertyCount+-- >     , VkLayerProperties* pProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumerateInstanceLayerProperties <- vkGetInstanceProc @VkEnumerateInstanceLayerProperties VK_NULL+--+-- or less efficient:+--+-- > myEnumerateInstanceLayerProperties <- vkGetProc @VkEnumerateInstanceLayerProperties+--+-- __Note:__ @vkEnumerateInstanceLayerPropertiesUnsafe@ and @vkEnumerateInstanceLayerPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkEnumerateInstanceLayerProperties@ is an alias+--           of @vkEnumerateInstanceLayerPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkEnumerateInstanceLayerPropertiesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkEnumerateInstanceLayerProperties"+               vkEnumerateInstanceLayerPropertiesUnsafe ::+               Ptr Word32 -- ^ pPropertyCount+                          -> Ptr VkLayerProperties -- ^ pProperties+                                                   -> IO VkResult++##else+vkEnumerateInstanceLayerPropertiesUnsafe ::+                                         Ptr Word32 -- ^ pPropertyCount+                                                    -> Ptr VkLayerProperties -- ^ pProperties+                                                                             -> IO VkResult+vkEnumerateInstanceLayerPropertiesUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkEnumerateInstanceLayerProperties)++{-# NOINLINE vkEnumerateInstanceLayerPropertiesUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkEnumerateInstanceLayerProperties+-- >     ( uint32_t* pPropertyCount+-- >     , VkLayerProperties* pProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumerateInstanceLayerProperties <- vkGetInstanceProc @VkEnumerateInstanceLayerProperties VK_NULL+--+-- or less efficient:+--+-- > myEnumerateInstanceLayerProperties <- vkGetProc @VkEnumerateInstanceLayerProperties+--+-- __Note:__ @vkEnumerateInstanceLayerPropertiesUnsafe@ and @vkEnumerateInstanceLayerPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkEnumerateInstanceLayerProperties@ is an alias+--           of @vkEnumerateInstanceLayerPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkEnumerateInstanceLayerPropertiesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkEnumerateInstanceLayerProperties"+               vkEnumerateInstanceLayerPropertiesSafe ::+               Ptr Word32 -- ^ pPropertyCount+                          -> Ptr VkLayerProperties -- ^ pProperties+                                                   -> IO VkResult++##else+vkEnumerateInstanceLayerPropertiesSafe ::+                                       Ptr Word32 -- ^ pPropertyCount+                                                  -> Ptr VkLayerProperties -- ^ pProperties+                                                                           -> IO VkResult+vkEnumerateInstanceLayerPropertiesSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkEnumerateInstanceLayerProperties)++{-# NOINLINE vkEnumerateInstanceLayerPropertiesSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkEnumerateInstanceLayerProperties+-- >     ( uint32_t* pPropertyCount+-- >     , VkLayerProperties* pProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumerateInstanceLayerProperties <- vkGetInstanceProc @VkEnumerateInstanceLayerProperties VK_NULL+--+-- or less efficient:+--+-- > myEnumerateInstanceLayerProperties <- vkGetProc @VkEnumerateInstanceLayerProperties+--+-- __Note:__ @vkEnumerateInstanceLayerPropertiesUnsafe@ and @vkEnumerateInstanceLayerPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkEnumerateInstanceLayerProperties@ is an alias+--           of @vkEnumerateInstanceLayerPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkEnumerateInstanceLayerPropertiesSafe@.+--+vkEnumerateInstanceLayerProperties ::+                                   Ptr Word32 -- ^ pPropertyCount+                                              -> Ptr VkLayerProperties -- ^ pProperties+                                                                       -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkEnumerateInstanceLayerProperties+  = vkEnumerateInstanceLayerPropertiesUnsafe+##else+vkEnumerateInstanceLayerProperties+  = vkEnumerateInstanceLayerPropertiesSafe++##endif+{-# INLINE vkEnumerateInstanceLayerProperties #-}++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkEnumerateInstanceLayerProperties+--   >     ( uint32_t* pPropertyCount+--   >     , VkLayerProperties* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties registry at www.khronos.org>+type HS_vkEnumerateInstanceLayerProperties =+     Ptr Word32 -- ^ pPropertyCount+                -> Ptr VkLayerProperties -- ^ pProperties+                                         -> IO VkResult++type PFN_vkEnumerateInstanceLayerProperties =+     FunPtr HS_vkEnumerateInstanceLayerProperties++foreign import ccall unsafe "dynamic"+               unwrapVkEnumerateInstanceLayerPropertiesUnsafe ::+               PFN_vkEnumerateInstanceLayerProperties ->+                 HS_vkEnumerateInstanceLayerProperties++foreign import ccall safe "dynamic"+               unwrapVkEnumerateInstanceLayerPropertiesSafe ::+               PFN_vkEnumerateInstanceLayerProperties ->+                 HS_vkEnumerateInstanceLayerProperties++instance VulkanProc "vkEnumerateInstanceLayerProperties" where+    type VkProcType "vkEnumerateInstanceLayerProperties" =+         HS_vkEnumerateInstanceLayerProperties+    vkProcSymbol = _VkEnumerateInstanceLayerProperties++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkEnumerateInstanceLayerPropertiesUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkEnumerateInstanceLayerPropertiesSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkEnumerateDeviceLayerProperties :: CString++pattern VkEnumerateDeviceLayerProperties <-+        (is_VkEnumerateDeviceLayerProperties -> True)+  where+    VkEnumerateDeviceLayerProperties+      = _VkEnumerateDeviceLayerProperties++{-# INLINE _VkEnumerateDeviceLayerProperties #-}++_VkEnumerateDeviceLayerProperties :: CString+_VkEnumerateDeviceLayerProperties+  = Ptr "vkEnumerateDeviceLayerProperties\NUL"##++{-# INLINE is_VkEnumerateDeviceLayerProperties #-}++is_VkEnumerateDeviceLayerProperties :: CString -> Bool+is_VkEnumerateDeviceLayerProperties+  = (EQ ==) . cmpCStrings _VkEnumerateDeviceLayerProperties++type VkEnumerateDeviceLayerProperties =+     "vkEnumerateDeviceLayerProperties"++-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkEnumerateDeviceLayerProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , uint32_t* pPropertyCount+-- >     , VkLayerProperties* pProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumerateDeviceLayerProperties <- vkGetInstanceProc @VkEnumerateDeviceLayerProperties vkInstance+--+-- or less efficient:+--+-- > myEnumerateDeviceLayerProperties <- vkGetProc @VkEnumerateDeviceLayerProperties+--+-- __Note:__ @vkEnumerateDeviceLayerPropertiesUnsafe@ and @vkEnumerateDeviceLayerPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkEnumerateDeviceLayerProperties@ is an alias+--           of @vkEnumerateDeviceLayerPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkEnumerateDeviceLayerPropertiesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkEnumerateDeviceLayerProperties"+               vkEnumerateDeviceLayerPropertiesUnsafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr Word32 -- ^ pPropertyCount+                            -> Ptr VkLayerProperties -- ^ pProperties+                                                     -> IO VkResult++##else+vkEnumerateDeviceLayerPropertiesUnsafe ::+                                       VkPhysicalDevice -- ^ physicalDevice+                                                        ->+                                         Ptr Word32 -- ^ pPropertyCount+                                                    -> Ptr VkLayerProperties -- ^ pProperties+                                                                             -> IO VkResult+vkEnumerateDeviceLayerPropertiesUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkEnumerateDeviceLayerProperties)++{-# NOINLINE vkEnumerateDeviceLayerPropertiesUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkEnumerateDeviceLayerProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , uint32_t* pPropertyCount+-- >     , VkLayerProperties* pProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumerateDeviceLayerProperties <- vkGetInstanceProc @VkEnumerateDeviceLayerProperties vkInstance+--+-- or less efficient:+--+-- > myEnumerateDeviceLayerProperties <- vkGetProc @VkEnumerateDeviceLayerProperties+--+-- __Note:__ @vkEnumerateDeviceLayerPropertiesUnsafe@ and @vkEnumerateDeviceLayerPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkEnumerateDeviceLayerProperties@ is an alias+--           of @vkEnumerateDeviceLayerPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkEnumerateDeviceLayerPropertiesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkEnumerateDeviceLayerProperties"+               vkEnumerateDeviceLayerPropertiesSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr Word32 -- ^ pPropertyCount+                            -> Ptr VkLayerProperties -- ^ pProperties+                                                     -> IO VkResult++##else+vkEnumerateDeviceLayerPropertiesSafe ::+                                     VkPhysicalDevice -- ^ physicalDevice+                                                      ->+                                       Ptr Word32 -- ^ pPropertyCount+                                                  -> Ptr VkLayerProperties -- ^ pProperties+                                                                           -> IO VkResult+vkEnumerateDeviceLayerPropertiesSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkEnumerateDeviceLayerProperties)++{-# NOINLINE vkEnumerateDeviceLayerPropertiesSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkEnumerateDeviceLayerProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , uint32_t* pPropertyCount+-- >     , VkLayerProperties* pProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumerateDeviceLayerProperties <- vkGetInstanceProc @VkEnumerateDeviceLayerProperties vkInstance+--+-- or less efficient:+--+-- > myEnumerateDeviceLayerProperties <- vkGetProc @VkEnumerateDeviceLayerProperties+--+-- __Note:__ @vkEnumerateDeviceLayerPropertiesUnsafe@ and @vkEnumerateDeviceLayerPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkEnumerateDeviceLayerProperties@ is an alias+--           of @vkEnumerateDeviceLayerPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkEnumerateDeviceLayerPropertiesSafe@.+--+vkEnumerateDeviceLayerProperties ::+                                 VkPhysicalDevice -- ^ physicalDevice+                                                  ->+                                   Ptr Word32 -- ^ pPropertyCount+                                              -> Ptr VkLayerProperties -- ^ pProperties+                                                                       -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkEnumerateDeviceLayerProperties+  = vkEnumerateDeviceLayerPropertiesUnsafe+##else+vkEnumerateDeviceLayerProperties+  = vkEnumerateDeviceLayerPropertiesSafe++##endif+{-# INLINE vkEnumerateDeviceLayerProperties #-}++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkEnumerateDeviceLayerProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , uint32_t* pPropertyCount+--   >     , VkLayerProperties* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties registry at www.khronos.org>+type HS_vkEnumerateDeviceLayerProperties =+     VkPhysicalDevice -- ^ physicalDevice+                      ->+       Ptr Word32 -- ^ pPropertyCount+                  -> Ptr VkLayerProperties -- ^ pProperties+                                           -> IO VkResult++type PFN_vkEnumerateDeviceLayerProperties =+     FunPtr HS_vkEnumerateDeviceLayerProperties++foreign import ccall unsafe "dynamic"+               unwrapVkEnumerateDeviceLayerPropertiesUnsafe ::+               PFN_vkEnumerateDeviceLayerProperties ->+                 HS_vkEnumerateDeviceLayerProperties++foreign import ccall safe "dynamic"+               unwrapVkEnumerateDeviceLayerPropertiesSafe ::+               PFN_vkEnumerateDeviceLayerProperties ->+                 HS_vkEnumerateDeviceLayerProperties++instance VulkanProc "vkEnumerateDeviceLayerProperties" where+    type VkProcType "vkEnumerateDeviceLayerProperties" =+         HS_vkEnumerateDeviceLayerProperties+    vkProcSymbol = _VkEnumerateDeviceLayerProperties++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkEnumerateDeviceLayerPropertiesUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkEnumerateDeviceLayerPropertiesSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetDeviceQueue :: CString++pattern VkGetDeviceQueue <- (is_VkGetDeviceQueue -> True)+  where+    VkGetDeviceQueue = _VkGetDeviceQueue++{-# INLINE _VkGetDeviceQueue #-}++_VkGetDeviceQueue :: CString+_VkGetDeviceQueue = Ptr "vkGetDeviceQueue\NUL"##++{-# INLINE is_VkGetDeviceQueue #-}++is_VkGetDeviceQueue :: CString -> Bool+is_VkGetDeviceQueue = (EQ ==) . cmpCStrings _VkGetDeviceQueue++type VkGetDeviceQueue = "vkGetDeviceQueue"++-- |+-- > void vkGetDeviceQueue+-- >     ( VkDevice device+-- >     , uint32_t queueFamilyIndex+-- >     , uint32_t queueIndex+-- >     , VkQueue* pQueue+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceQueue vkGetDeviceQueue registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceQueue <- vkGetDeviceProc @VkGetDeviceQueue vkDevice+--+-- or less efficient:+--+-- > myGetDeviceQueue <- vkGetProc @VkGetDeviceQueue+--+-- __Note:__ @vkGetDeviceQueueUnsafe@ and @vkGetDeviceQueueSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDeviceQueue@ is an alias+--           of @vkGetDeviceQueueUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDeviceQueueSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkGetDeviceQueue"+               vkGetDeviceQueueUnsafe ::+               VkDevice -- ^ device+                        -> Word32 -- ^ queueFamilyIndex+                                  -> Word32 -- ^ queueIndex+                                            -> Ptr VkQueue -- ^ pQueue+                                                           -> IO ()++##else+vkGetDeviceQueueUnsafe ::+                       VkDevice -- ^ device+                                -> Word32 -- ^ queueFamilyIndex+                                          -> Word32 -- ^ queueIndex+                                                    -> Ptr VkQueue -- ^ pQueue+                                                                   -> IO ()+vkGetDeviceQueueUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkGetDeviceQueue)++{-# NOINLINE vkGetDeviceQueueUnsafe #-}+##endif++-- |+-- > void vkGetDeviceQueue+-- >     ( VkDevice device+-- >     , uint32_t queueFamilyIndex+-- >     , uint32_t queueIndex+-- >     , VkQueue* pQueue+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceQueue vkGetDeviceQueue registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceQueue <- vkGetDeviceProc @VkGetDeviceQueue vkDevice+--+-- or less efficient:+--+-- > myGetDeviceQueue <- vkGetProc @VkGetDeviceQueue+--+-- __Note:__ @vkGetDeviceQueueUnsafe@ and @vkGetDeviceQueueSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDeviceQueue@ is an alias+--           of @vkGetDeviceQueueUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDeviceQueueSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkGetDeviceQueue" vkGetDeviceQueueSafe+               :: VkDevice -- ^ device+                           -> Word32 -- ^ queueFamilyIndex+                                     -> Word32 -- ^ queueIndex+                                               -> Ptr VkQueue -- ^ pQueue+                                                              -> IO ()++##else+vkGetDeviceQueueSafe ::+                     VkDevice -- ^ device+                              -> Word32 -- ^ queueFamilyIndex+                                        -> Word32 -- ^ queueIndex+                                                  -> Ptr VkQueue -- ^ pQueue+                                                                 -> IO ()+vkGetDeviceQueueSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkGetDeviceQueue)++{-# NOINLINE vkGetDeviceQueueSafe #-}+##endif++-- |+-- > void vkGetDeviceQueue+-- >     ( VkDevice device+-- >     , uint32_t queueFamilyIndex+-- >     , uint32_t queueIndex+-- >     , VkQueue* pQueue+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceQueue vkGetDeviceQueue registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceQueue <- vkGetDeviceProc @VkGetDeviceQueue vkDevice+--+-- or less efficient:+--+-- > myGetDeviceQueue <- vkGetProc @VkGetDeviceQueue+--+-- __Note:__ @vkGetDeviceQueueUnsafe@ and @vkGetDeviceQueueSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDeviceQueue@ is an alias+--           of @vkGetDeviceQueueUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDeviceQueueSafe@.+--+vkGetDeviceQueue ::+                 VkDevice -- ^ device+                          -> Word32 -- ^ queueFamilyIndex+                                    -> Word32 -- ^ queueIndex+                                              -> Ptr VkQueue -- ^ pQueue+                                                             -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkGetDeviceQueue = vkGetDeviceQueueUnsafe+##else+vkGetDeviceQueue = vkGetDeviceQueueSafe++##endif+{-# INLINE vkGetDeviceQueue #-}++-- | > void vkGetDeviceQueue+--   >     ( VkDevice device+--   >     , uint32_t queueFamilyIndex+--   >     , uint32_t queueIndex+--   >     , VkQueue* pQueue+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceQueue vkGetDeviceQueue registry at www.khronos.org>+type HS_vkGetDeviceQueue =+     VkDevice -- ^ device+              -> Word32 -- ^ queueFamilyIndex+                        -> Word32 -- ^ queueIndex+                                  -> Ptr VkQueue -- ^ pQueue+                                                 -> IO ()++type PFN_vkGetDeviceQueue = FunPtr HS_vkGetDeviceQueue++foreign import ccall unsafe "dynamic" unwrapVkGetDeviceQueueUnsafe+               :: PFN_vkGetDeviceQueue -> HS_vkGetDeviceQueue++foreign import ccall safe "dynamic" unwrapVkGetDeviceQueueSafe ::+               PFN_vkGetDeviceQueue -> HS_vkGetDeviceQueue++instance VulkanProc "vkGetDeviceQueue" where+    type VkProcType "vkGetDeviceQueue" = HS_vkGetDeviceQueue+    vkProcSymbol = _VkGetDeviceQueue++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetDeviceQueueUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetDeviceQueueSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkQueueSubmit :: CString++pattern VkQueueSubmit <- (is_VkQueueSubmit -> True)+  where+    VkQueueSubmit = _VkQueueSubmit++{-# INLINE _VkQueueSubmit #-}++_VkQueueSubmit :: CString+_VkQueueSubmit = Ptr "vkQueueSubmit\NUL"##++{-# INLINE is_VkQueueSubmit #-}++is_VkQueueSubmit :: CString -> Bool+is_VkQueueSubmit = (EQ ==) . cmpCStrings _VkQueueSubmit++type VkQueueSubmit = "vkQueueSubmit"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkQueueSubmit+-- >     ( VkQueue queue+-- >     , uint32_t submitCount+-- >     , const VkSubmitInfo* pSubmits+-- >     , VkFence fence+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueSubmit vkQueueSubmit registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myQueueSubmit <- vkGetInstanceProc @VkQueueSubmit vkInstance+--+-- or less efficient:+--+-- > myQueueSubmit <- vkGetProc @VkQueueSubmit+--+-- __Note:__ @vkQueueSubmitUnsafe@ and @vkQueueSubmitSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkQueueSubmit@ is an alias+--           of @vkQueueSubmitUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkQueueSubmitSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkQueueSubmit" vkQueueSubmitUnsafe ::+               VkQueue -- ^ queue+                       -> Word32 -- ^ submitCount+                                 -> Ptr VkSubmitInfo -- ^ pSubmits+                                                     -> VkFence -- ^ fence+                                                                -> IO VkResult++##else+vkQueueSubmitUnsafe ::+                    VkQueue -- ^ queue+                            -> Word32 -- ^ submitCount+                                      -> Ptr VkSubmitInfo -- ^ pSubmits+                                                          -> VkFence -- ^ fence+                                                                     -> IO VkResult+vkQueueSubmitUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkQueueSubmit)++{-# NOINLINE vkQueueSubmitUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkQueueSubmit+-- >     ( VkQueue queue+-- >     , uint32_t submitCount+-- >     , const VkSubmitInfo* pSubmits+-- >     , VkFence fence+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueSubmit vkQueueSubmit registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myQueueSubmit <- vkGetInstanceProc @VkQueueSubmit vkInstance+--+-- or less efficient:+--+-- > myQueueSubmit <- vkGetProc @VkQueueSubmit+--+-- __Note:__ @vkQueueSubmitUnsafe@ and @vkQueueSubmitSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkQueueSubmit@ is an alias+--           of @vkQueueSubmitUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkQueueSubmitSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkQueueSubmit" vkQueueSubmitSafe ::+               VkQueue -- ^ queue+                       -> Word32 -- ^ submitCount+                                 -> Ptr VkSubmitInfo -- ^ pSubmits+                                                     -> VkFence -- ^ fence+                                                                -> IO VkResult++##else+vkQueueSubmitSafe ::+                  VkQueue -- ^ queue+                          -> Word32 -- ^ submitCount+                                    -> Ptr VkSubmitInfo -- ^ pSubmits+                                                        -> VkFence -- ^ fence+                                                                   -> IO VkResult+vkQueueSubmitSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkQueueSubmit)++{-# NOINLINE vkQueueSubmitSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkQueueSubmit+-- >     ( VkQueue queue+-- >     , uint32_t submitCount+-- >     , const VkSubmitInfo* pSubmits+-- >     , VkFence fence+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueSubmit vkQueueSubmit registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myQueueSubmit <- vkGetInstanceProc @VkQueueSubmit vkInstance+--+-- or less efficient:+--+-- > myQueueSubmit <- vkGetProc @VkQueueSubmit+--+-- __Note:__ @vkQueueSubmitUnsafe@ and @vkQueueSubmitSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkQueueSubmit@ is an alias+--           of @vkQueueSubmitUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkQueueSubmitSafe@.+--+vkQueueSubmit ::+              VkQueue -- ^ queue+                      -> Word32 -- ^ submitCount+                                -> Ptr VkSubmitInfo -- ^ pSubmits+                                                    -> VkFence -- ^ fence+                                                               -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkQueueSubmit = vkQueueSubmitUnsafe+##else+vkQueueSubmit = vkQueueSubmitSafe++##endif+{-# INLINE vkQueueSubmit #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+--   > VkResult vkQueueSubmit+--   >     ( VkQueue queue+--   >     , uint32_t submitCount+--   >     , const VkSubmitInfo* pSubmits+--   >     , VkFence fence+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueSubmit vkQueueSubmit registry at www.khronos.org>+type HS_vkQueueSubmit =+     VkQueue -- ^ queue+             -> Word32 -- ^ submitCount+                       -> Ptr VkSubmitInfo -- ^ pSubmits+                                           -> VkFence -- ^ fence+                                                      -> IO VkResult++type PFN_vkQueueSubmit = FunPtr HS_vkQueueSubmit++foreign import ccall unsafe "dynamic" unwrapVkQueueSubmitUnsafe ::+               PFN_vkQueueSubmit -> HS_vkQueueSubmit++foreign import ccall safe "dynamic" unwrapVkQueueSubmitSafe ::+               PFN_vkQueueSubmit -> HS_vkQueueSubmit++instance VulkanProc "vkQueueSubmit" where+    type VkProcType "vkQueueSubmit" = HS_vkQueueSubmit+    vkProcSymbol = _VkQueueSubmit++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkQueueSubmitUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkQueueSubmitSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkQueueWaitIdle :: CString++pattern VkQueueWaitIdle <- (is_VkQueueWaitIdle -> True)+  where+    VkQueueWaitIdle = _VkQueueWaitIdle++{-# INLINE _VkQueueWaitIdle #-}++_VkQueueWaitIdle :: CString+_VkQueueWaitIdle = Ptr "vkQueueWaitIdle\NUL"##++{-# INLINE is_VkQueueWaitIdle #-}++is_VkQueueWaitIdle :: CString -> Bool+is_VkQueueWaitIdle = (EQ ==) . cmpCStrings _VkQueueWaitIdle++type VkQueueWaitIdle = "vkQueueWaitIdle"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkQueueWaitIdle+-- >     ( VkQueue queue+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueWaitIdle vkQueueWaitIdle registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myQueueWaitIdle <- vkGetInstanceProc @VkQueueWaitIdle vkInstance+--+-- or less efficient:+--+-- > myQueueWaitIdle <- vkGetProc @VkQueueWaitIdle+--+-- __Note:__ @vkQueueWaitIdleUnsafe@ and @vkQueueWaitIdleSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkQueueWaitIdle@ is an alias+--           of @vkQueueWaitIdleUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkQueueWaitIdleSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkQueueWaitIdle" vkQueueWaitIdleUnsafe+               :: VkQueue -- ^ queue+                          -> IO VkResult++##else+vkQueueWaitIdleUnsafe :: VkQueue -- ^ queue+                                 -> IO VkResult+vkQueueWaitIdleUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkQueueWaitIdle)++{-# NOINLINE vkQueueWaitIdleUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkQueueWaitIdle+-- >     ( VkQueue queue+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueWaitIdle vkQueueWaitIdle registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myQueueWaitIdle <- vkGetInstanceProc @VkQueueWaitIdle vkInstance+--+-- or less efficient:+--+-- > myQueueWaitIdle <- vkGetProc @VkQueueWaitIdle+--+-- __Note:__ @vkQueueWaitIdleUnsafe@ and @vkQueueWaitIdleSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkQueueWaitIdle@ is an alias+--           of @vkQueueWaitIdleUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkQueueWaitIdleSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkQueueWaitIdle" vkQueueWaitIdleSafe ::+               VkQueue -- ^ queue+                       -> IO VkResult++##else+vkQueueWaitIdleSafe :: VkQueue -- ^ queue+                               -> IO VkResult+vkQueueWaitIdleSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkQueueWaitIdle)++{-# NOINLINE vkQueueWaitIdleSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkQueueWaitIdle+-- >     ( VkQueue queue+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueWaitIdle vkQueueWaitIdle registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myQueueWaitIdle <- vkGetInstanceProc @VkQueueWaitIdle vkInstance+--+-- or less efficient:+--+-- > myQueueWaitIdle <- vkGetProc @VkQueueWaitIdle+--+-- __Note:__ @vkQueueWaitIdleUnsafe@ and @vkQueueWaitIdleSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkQueueWaitIdle@ is an alias+--           of @vkQueueWaitIdleUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkQueueWaitIdleSafe@.+--+vkQueueWaitIdle :: VkQueue -- ^ queue+                           -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkQueueWaitIdle = vkQueueWaitIdleUnsafe+##else+vkQueueWaitIdle = vkQueueWaitIdleSafe++##endif+{-# INLINE vkQueueWaitIdle #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+--   > VkResult vkQueueWaitIdle+--   >     ( VkQueue queue+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueWaitIdle vkQueueWaitIdle registry at www.khronos.org>+type HS_vkQueueWaitIdle = VkQueue -- ^ queue+                                  -> IO VkResult++type PFN_vkQueueWaitIdle = FunPtr HS_vkQueueWaitIdle++foreign import ccall unsafe "dynamic" unwrapVkQueueWaitIdleUnsafe+               :: PFN_vkQueueWaitIdle -> HS_vkQueueWaitIdle++foreign import ccall safe "dynamic" unwrapVkQueueWaitIdleSafe ::+               PFN_vkQueueWaitIdle -> HS_vkQueueWaitIdle++instance VulkanProc "vkQueueWaitIdle" where+    type VkProcType "vkQueueWaitIdle" = HS_vkQueueWaitIdle+    vkProcSymbol = _VkQueueWaitIdle++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkQueueWaitIdleUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkQueueWaitIdleSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkDeviceWaitIdle :: CString++pattern VkDeviceWaitIdle <- (is_VkDeviceWaitIdle -> True)+  where+    VkDeviceWaitIdle = _VkDeviceWaitIdle++{-# INLINE _VkDeviceWaitIdle #-}++_VkDeviceWaitIdle :: CString+_VkDeviceWaitIdle = Ptr "vkDeviceWaitIdle\NUL"##++{-# INLINE is_VkDeviceWaitIdle #-}++is_VkDeviceWaitIdle :: CString -> Bool+is_VkDeviceWaitIdle = (EQ ==) . cmpCStrings _VkDeviceWaitIdle++type VkDeviceWaitIdle = "vkDeviceWaitIdle"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkDeviceWaitIdle+-- >     ( VkDevice device+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDeviceWaitIdle vkDeviceWaitIdle registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDeviceWaitIdle <- vkGetDeviceProc @VkDeviceWaitIdle vkDevice+--+-- or less efficient:+--+-- > myDeviceWaitIdle <- vkGetProc @VkDeviceWaitIdle+--+-- __Note:__ @vkDeviceWaitIdleUnsafe@ and @vkDeviceWaitIdleSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDeviceWaitIdle@ is an alias+--           of @vkDeviceWaitIdleUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDeviceWaitIdleSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkDeviceWaitIdle"+               vkDeviceWaitIdleUnsafe :: VkDevice -- ^ device+                                                  -> IO VkResult++##else+vkDeviceWaitIdleUnsafe :: VkDevice -- ^ device+                                   -> IO VkResult+vkDeviceWaitIdleUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDeviceWaitIdle)++{-# NOINLINE vkDeviceWaitIdleUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkDeviceWaitIdle+-- >     ( VkDevice device+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDeviceWaitIdle vkDeviceWaitIdle registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDeviceWaitIdle <- vkGetDeviceProc @VkDeviceWaitIdle vkDevice+--+-- or less efficient:+--+-- > myDeviceWaitIdle <- vkGetProc @VkDeviceWaitIdle+--+-- __Note:__ @vkDeviceWaitIdleUnsafe@ and @vkDeviceWaitIdleSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDeviceWaitIdle@ is an alias+--           of @vkDeviceWaitIdleUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDeviceWaitIdleSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkDeviceWaitIdle" vkDeviceWaitIdleSafe+               :: VkDevice -- ^ device+                           -> IO VkResult++##else+vkDeviceWaitIdleSafe :: VkDevice -- ^ device+                                 -> IO VkResult+vkDeviceWaitIdleSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkDeviceWaitIdle)++{-# NOINLINE vkDeviceWaitIdleSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkDeviceWaitIdle+-- >     ( VkDevice device+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDeviceWaitIdle vkDeviceWaitIdle registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDeviceWaitIdle <- vkGetDeviceProc @VkDeviceWaitIdle vkDevice+--+-- or less efficient:+--+-- > myDeviceWaitIdle <- vkGetProc @VkDeviceWaitIdle+--+-- __Note:__ @vkDeviceWaitIdleUnsafe@ and @vkDeviceWaitIdleSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDeviceWaitIdle@ is an alias+--           of @vkDeviceWaitIdleUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDeviceWaitIdleSafe@.+--+vkDeviceWaitIdle :: VkDevice -- ^ device+                             -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkDeviceWaitIdle = vkDeviceWaitIdleUnsafe+##else+vkDeviceWaitIdle = vkDeviceWaitIdleSafe++##endif+{-# INLINE vkDeviceWaitIdle #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+--   > VkResult vkDeviceWaitIdle+--   >     ( VkDevice device+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDeviceWaitIdle vkDeviceWaitIdle registry at www.khronos.org>+type HS_vkDeviceWaitIdle = VkDevice -- ^ device+                                    -> IO VkResult++type PFN_vkDeviceWaitIdle = FunPtr HS_vkDeviceWaitIdle++foreign import ccall unsafe "dynamic" unwrapVkDeviceWaitIdleUnsafe+               :: PFN_vkDeviceWaitIdle -> HS_vkDeviceWaitIdle++foreign import ccall safe "dynamic" unwrapVkDeviceWaitIdleSafe ::+               PFN_vkDeviceWaitIdle -> HS_vkDeviceWaitIdle++instance VulkanProc "vkDeviceWaitIdle" where+    type VkProcType "vkDeviceWaitIdle" = HS_vkDeviceWaitIdle+    vkProcSymbol = _VkDeviceWaitIdle++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDeviceWaitIdleUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDeviceWaitIdleSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkAllocateMemory :: CString++pattern VkAllocateMemory <- (is_VkAllocateMemory -> True)+  where+    VkAllocateMemory = _VkAllocateMemory++{-# INLINE _VkAllocateMemory #-}++_VkAllocateMemory :: CString+_VkAllocateMemory = Ptr "vkAllocateMemory\NUL"##++{-# INLINE is_VkAllocateMemory #-}++is_VkAllocateMemory :: CString -> Bool+is_VkAllocateMemory = (EQ ==) . cmpCStrings _VkAllocateMemory++type VkAllocateMemory = "vkAllocateMemory"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.+--+-- > VkResult vkAllocateMemory+-- >     ( VkDevice device+-- >     , const VkMemoryAllocateInfo* pAllocateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkDeviceMemory* pMemory+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateMemory vkAllocateMemory registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myAllocateMemory <- vkGetDeviceProc @VkAllocateMemory vkDevice+--+-- or less efficient:+--+-- > myAllocateMemory <- vkGetProc @VkAllocateMemory+--+-- __Note:__ @vkAllocateMemoryUnsafe@ and @vkAllocateMemorySafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkAllocateMemory@ is an alias+--           of @vkAllocateMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkAllocateMemorySafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkAllocateMemory"+               vkAllocateMemoryUnsafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkMemoryAllocateInfo -- ^ pAllocateInfo+                                          ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkDeviceMemory -- ^ pMemory+                                                                   -> IO VkResult++##else+vkAllocateMemoryUnsafe ::+                       VkDevice -- ^ device+                                ->+                         Ptr VkMemoryAllocateInfo -- ^ pAllocateInfo+                                                  ->+                           Ptr VkAllocationCallbacks -- ^ pAllocator+                                                     -> Ptr VkDeviceMemory -- ^ pMemory+                                                                           -> IO VkResult+vkAllocateMemoryUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkAllocateMemory)++{-# NOINLINE vkAllocateMemoryUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.+--+-- > VkResult vkAllocateMemory+-- >     ( VkDevice device+-- >     , const VkMemoryAllocateInfo* pAllocateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkDeviceMemory* pMemory+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateMemory vkAllocateMemory registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myAllocateMemory <- vkGetDeviceProc @VkAllocateMemory vkDevice+--+-- or less efficient:+--+-- > myAllocateMemory <- vkGetProc @VkAllocateMemory+--+-- __Note:__ @vkAllocateMemoryUnsafe@ and @vkAllocateMemorySafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkAllocateMemory@ is an alias+--           of @vkAllocateMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkAllocateMemorySafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkAllocateMemory" vkAllocateMemorySafe+               ::+               VkDevice -- ^ device+                        ->+                 Ptr VkMemoryAllocateInfo -- ^ pAllocateInfo+                                          ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkDeviceMemory -- ^ pMemory+                                                                   -> IO VkResult++##else+vkAllocateMemorySafe ::+                     VkDevice -- ^ device+                              ->+                       Ptr VkMemoryAllocateInfo -- ^ pAllocateInfo+                                                ->+                         Ptr VkAllocationCallbacks -- ^ pAllocator+                                                   -> Ptr VkDeviceMemory -- ^ pMemory+                                                                         -> IO VkResult+vkAllocateMemorySafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkAllocateMemory)++{-# NOINLINE vkAllocateMemorySafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.+--+-- > VkResult vkAllocateMemory+-- >     ( VkDevice device+-- >     , const VkMemoryAllocateInfo* pAllocateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkDeviceMemory* pMemory+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateMemory vkAllocateMemory registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myAllocateMemory <- vkGetDeviceProc @VkAllocateMemory vkDevice+--+-- or less efficient:+--+-- > myAllocateMemory <- vkGetProc @VkAllocateMemory+--+-- __Note:__ @vkAllocateMemoryUnsafe@ and @vkAllocateMemorySafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkAllocateMemory@ is an alias+--           of @vkAllocateMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkAllocateMemorySafe@.+--+vkAllocateMemory ::+                 VkDevice -- ^ device+                          ->+                   Ptr VkMemoryAllocateInfo -- ^ pAllocateInfo+                                            ->+                     Ptr VkAllocationCallbacks -- ^ pAllocator+                                               -> Ptr VkDeviceMemory -- ^ pMemory+                                                                     -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkAllocateMemory = vkAllocateMemoryUnsafe+##else+vkAllocateMemory = vkAllocateMemorySafe++##endif+{-# INLINE vkAllocateMemory #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.+--+--   > VkResult vkAllocateMemory+--   >     ( VkDevice device+--   >     , const VkMemoryAllocateInfo* pAllocateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkDeviceMemory* pMemory+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateMemory vkAllocateMemory registry at www.khronos.org>+type HS_vkAllocateMemory =+     VkDevice -- ^ device+              ->+       Ptr VkMemoryAllocateInfo -- ^ pAllocateInfo+                                ->+         Ptr VkAllocationCallbacks -- ^ pAllocator+                                   -> Ptr VkDeviceMemory -- ^ pMemory+                                                         -> IO VkResult++type PFN_vkAllocateMemory = FunPtr HS_vkAllocateMemory++foreign import ccall unsafe "dynamic" unwrapVkAllocateMemoryUnsafe+               :: PFN_vkAllocateMemory -> HS_vkAllocateMemory++foreign import ccall safe "dynamic" unwrapVkAllocateMemorySafe ::+               PFN_vkAllocateMemory -> HS_vkAllocateMemory++instance VulkanProc "vkAllocateMemory" where+    type VkProcType "vkAllocateMemory" = HS_vkAllocateMemory+    vkProcSymbol = _VkAllocateMemory++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkAllocateMemoryUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkAllocateMemorySafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkFreeMemory :: CString++pattern VkFreeMemory <- (is_VkFreeMemory -> True)+  where+    VkFreeMemory = _VkFreeMemory++{-# INLINE _VkFreeMemory #-}++_VkFreeMemory :: CString+_VkFreeMemory = Ptr "vkFreeMemory\NUL"##++{-# INLINE is_VkFreeMemory #-}++is_VkFreeMemory :: CString -> Bool+is_VkFreeMemory = (EQ ==) . cmpCStrings _VkFreeMemory++type VkFreeMemory = "vkFreeMemory"++-- |+-- > void vkFreeMemory+-- >     ( VkDevice device+-- >     , VkDeviceMemory memory+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeMemory vkFreeMemory registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myFreeMemory <- vkGetDeviceProc @VkFreeMemory vkDevice+--+-- or less efficient:+--+-- > myFreeMemory <- vkGetProc @VkFreeMemory+--+-- __Note:__ @vkFreeMemoryUnsafe@ and @vkFreeMemorySafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkFreeMemory@ is an alias+--           of @vkFreeMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkFreeMemorySafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkFreeMemory" vkFreeMemoryUnsafe ::+               VkDevice -- ^ device+                        -> VkDeviceMemory -- ^ memory+                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                       -> IO ()++##else+vkFreeMemoryUnsafe ::+                   VkDevice -- ^ device+                            -> VkDeviceMemory -- ^ memory+                                              -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                           -> IO ()+vkFreeMemoryUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkFreeMemory)++{-# NOINLINE vkFreeMemoryUnsafe #-}+##endif++-- |+-- > void vkFreeMemory+-- >     ( VkDevice device+-- >     , VkDeviceMemory memory+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeMemory vkFreeMemory registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myFreeMemory <- vkGetDeviceProc @VkFreeMemory vkDevice+--+-- or less efficient:+--+-- > myFreeMemory <- vkGetProc @VkFreeMemory+--+-- __Note:__ @vkFreeMemoryUnsafe@ and @vkFreeMemorySafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkFreeMemory@ is an alias+--           of @vkFreeMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkFreeMemorySafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkFreeMemory" vkFreeMemorySafe ::+               VkDevice -- ^ device+                        -> VkDeviceMemory -- ^ memory+                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                       -> IO ()++##else+vkFreeMemorySafe ::+                 VkDevice -- ^ device+                          -> VkDeviceMemory -- ^ memory+                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                         -> IO ()+vkFreeMemorySafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkFreeMemory)++{-# NOINLINE vkFreeMemorySafe #-}+##endif++-- |+-- > void vkFreeMemory+-- >     ( VkDevice device+-- >     , VkDeviceMemory memory+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeMemory vkFreeMemory registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myFreeMemory <- vkGetDeviceProc @VkFreeMemory vkDevice+--+-- or less efficient:+--+-- > myFreeMemory <- vkGetProc @VkFreeMemory+--+-- __Note:__ @vkFreeMemoryUnsafe@ and @vkFreeMemorySafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkFreeMemory@ is an alias+--           of @vkFreeMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkFreeMemorySafe@.+--+vkFreeMemory ::+             VkDevice -- ^ device+                      -> VkDeviceMemory -- ^ memory+                                        -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                     -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkFreeMemory = vkFreeMemoryUnsafe+##else+vkFreeMemory = vkFreeMemorySafe++##endif+{-# INLINE vkFreeMemory #-}++-- | > void vkFreeMemory+--   >     ( VkDevice device+--   >     , VkDeviceMemory memory+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeMemory vkFreeMemory registry at www.khronos.org>+type HS_vkFreeMemory =+     VkDevice -- ^ device+              -> VkDeviceMemory -- ^ memory+                                -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                             -> IO ()++type PFN_vkFreeMemory = FunPtr HS_vkFreeMemory++foreign import ccall unsafe "dynamic" unwrapVkFreeMemoryUnsafe ::+               PFN_vkFreeMemory -> HS_vkFreeMemory++foreign import ccall safe "dynamic" unwrapVkFreeMemorySafe ::+               PFN_vkFreeMemory -> HS_vkFreeMemory++instance VulkanProc "vkFreeMemory" where+    type VkProcType "vkFreeMemory" = HS_vkFreeMemory+    vkProcSymbol = _VkFreeMemory++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkFreeMemoryUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkFreeMemorySafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkMapMemory :: CString++pattern VkMapMemory <- (is_VkMapMemory -> True)+  where+    VkMapMemory = _VkMapMemory++{-# INLINE _VkMapMemory #-}++_VkMapMemory :: CString+_VkMapMemory = Ptr "vkMapMemory\NUL"##++{-# INLINE is_VkMapMemory #-}++is_VkMapMemory :: CString -> Bool+is_VkMapMemory = (EQ ==) . cmpCStrings _VkMapMemory++type VkMapMemory = "vkMapMemory"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_MEMORY_MAP_FAILED'.+--+-- > VkResult vkMapMemory+-- >     ( VkDevice device+-- >     , VkDeviceMemory memory+-- >     , VkDeviceSize offset+-- >     , VkDeviceSize size+-- >     , VkMemoryMapFlags flags+-- >     , void** ppData+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkMapMemory vkMapMemory registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myMapMemory <- vkGetDeviceProc @VkMapMemory vkDevice+--+-- or less efficient:+--+-- > myMapMemory <- vkGetProc @VkMapMemory+--+-- __Note:__ @vkMapMemoryUnsafe@ and @vkMapMemorySafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkMapMemory@ is an alias+--           of @vkMapMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkMapMemorySafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkMapMemory" vkMapMemoryUnsafe ::+               VkDevice -- ^ device+                        ->+                 VkDeviceMemory -- ^ memory+                                ->+                   VkDeviceSize -- ^ offset+                                ->+                     VkDeviceSize -- ^ size+                                  -> VkMemoryMapFlags -- ^ flags+                                                      -> Ptr (Ptr Void) -- ^ ppData+                                                                        -> IO VkResult++##else+vkMapMemoryUnsafe ::+                  VkDevice -- ^ device+                           ->+                    VkDeviceMemory -- ^ memory+                                   ->+                      VkDeviceSize -- ^ offset+                                   ->+                        VkDeviceSize -- ^ size+                                     -> VkMemoryMapFlags -- ^ flags+                                                         -> Ptr (Ptr Void) -- ^ ppData+                                                                           -> IO VkResult+vkMapMemoryUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkMapMemory)++{-# NOINLINE vkMapMemoryUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_MEMORY_MAP_FAILED'.+--+-- > VkResult vkMapMemory+-- >     ( VkDevice device+-- >     , VkDeviceMemory memory+-- >     , VkDeviceSize offset+-- >     , VkDeviceSize size+-- >     , VkMemoryMapFlags flags+-- >     , void** ppData+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkMapMemory vkMapMemory registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myMapMemory <- vkGetDeviceProc @VkMapMemory vkDevice+--+-- or less efficient:+--+-- > myMapMemory <- vkGetProc @VkMapMemory+--+-- __Note:__ @vkMapMemoryUnsafe@ and @vkMapMemorySafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkMapMemory@ is an alias+--           of @vkMapMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkMapMemorySafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkMapMemory" vkMapMemorySafe ::+               VkDevice -- ^ device+                        ->+                 VkDeviceMemory -- ^ memory+                                ->+                   VkDeviceSize -- ^ offset+                                ->+                     VkDeviceSize -- ^ size+                                  -> VkMemoryMapFlags -- ^ flags+                                                      -> Ptr (Ptr Void) -- ^ ppData+                                                                        -> IO VkResult++##else+vkMapMemorySafe ::+                VkDevice -- ^ device+                         ->+                  VkDeviceMemory -- ^ memory+                                 ->+                    VkDeviceSize -- ^ offset+                                 ->+                      VkDeviceSize -- ^ size+                                   -> VkMemoryMapFlags -- ^ flags+                                                       -> Ptr (Ptr Void) -- ^ ppData+                                                                         -> IO VkResult+vkMapMemorySafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkMapMemory)++{-# NOINLINE vkMapMemorySafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_MEMORY_MAP_FAILED'.+--+-- > VkResult vkMapMemory+-- >     ( VkDevice device+-- >     , VkDeviceMemory memory+-- >     , VkDeviceSize offset+-- >     , VkDeviceSize size+-- >     , VkMemoryMapFlags flags+-- >     , void** ppData+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkMapMemory vkMapMemory registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myMapMemory <- vkGetDeviceProc @VkMapMemory vkDevice+--+-- or less efficient:+--+-- > myMapMemory <- vkGetProc @VkMapMemory+--+-- __Note:__ @vkMapMemoryUnsafe@ and @vkMapMemorySafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkMapMemory@ is an alias+--           of @vkMapMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkMapMemorySafe@.+--+vkMapMemory ::+            VkDevice -- ^ device+                     ->+              VkDeviceMemory -- ^ memory+                             ->+                VkDeviceSize -- ^ offset+                             ->+                  VkDeviceSize -- ^ size+                               -> VkMemoryMapFlags -- ^ flags+                                                   -> Ptr (Ptr Void) -- ^ ppData+                                                                     -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkMapMemory = vkMapMemoryUnsafe+##else+vkMapMemory = vkMapMemorySafe++##endif+{-# INLINE vkMapMemory #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_MEMORY_MAP_FAILED'.+--+--   > VkResult vkMapMemory+--   >     ( VkDevice device+--   >     , VkDeviceMemory memory+--   >     , VkDeviceSize offset+--   >     , VkDeviceSize size+--   >     , VkMemoryMapFlags flags+--   >     , void** ppData+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkMapMemory vkMapMemory registry at www.khronos.org>+type HS_vkMapMemory =+     VkDevice -- ^ device+              ->+       VkDeviceMemory -- ^ memory+                      ->+         VkDeviceSize -- ^ offset+                      ->+           VkDeviceSize -- ^ size+                        -> VkMemoryMapFlags -- ^ flags+                                            -> Ptr (Ptr Void) -- ^ ppData+                                                              -> IO VkResult++type PFN_vkMapMemory = FunPtr HS_vkMapMemory++foreign import ccall unsafe "dynamic" unwrapVkMapMemoryUnsafe ::+               PFN_vkMapMemory -> HS_vkMapMemory++foreign import ccall safe "dynamic" unwrapVkMapMemorySafe ::+               PFN_vkMapMemory -> HS_vkMapMemory++instance VulkanProc "vkMapMemory" where+    type VkProcType "vkMapMemory" = HS_vkMapMemory+    vkProcSymbol = _VkMapMemory++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkMapMemoryUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkMapMemorySafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkUnmapMemory :: CString++pattern VkUnmapMemory <- (is_VkUnmapMemory -> True)+  where+    VkUnmapMemory = _VkUnmapMemory++{-# INLINE _VkUnmapMemory #-}++_VkUnmapMemory :: CString+_VkUnmapMemory = Ptr "vkUnmapMemory\NUL"##++{-# INLINE is_VkUnmapMemory #-}++is_VkUnmapMemory :: CString -> Bool+is_VkUnmapMemory = (EQ ==) . cmpCStrings _VkUnmapMemory++type VkUnmapMemory = "vkUnmapMemory"++-- |+-- > void vkUnmapMemory+-- >     ( VkDevice device+-- >     , VkDeviceMemory memory+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUnmapMemory vkUnmapMemory registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myUnmapMemory <- vkGetDeviceProc @VkUnmapMemory vkDevice+--+-- or less efficient:+--+-- > myUnmapMemory <- vkGetProc @VkUnmapMemory+--+-- __Note:__ @vkUnmapMemoryUnsafe@ and @vkUnmapMemorySafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkUnmapMemory@ is an alias+--           of @vkUnmapMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkUnmapMemorySafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkUnmapMemory" vkUnmapMemoryUnsafe ::+               VkDevice -- ^ device+                        -> VkDeviceMemory -- ^ memory+                                          -> IO ()++##else+vkUnmapMemoryUnsafe :: VkDevice -- ^ device+                                -> VkDeviceMemory -- ^ memory+                                                  -> IO ()+vkUnmapMemoryUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkUnmapMemory)++{-# NOINLINE vkUnmapMemoryUnsafe #-}+##endif++-- |+-- > void vkUnmapMemory+-- >     ( VkDevice device+-- >     , VkDeviceMemory memory+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUnmapMemory vkUnmapMemory registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myUnmapMemory <- vkGetDeviceProc @VkUnmapMemory vkDevice+--+-- or less efficient:+--+-- > myUnmapMemory <- vkGetProc @VkUnmapMemory+--+-- __Note:__ @vkUnmapMemoryUnsafe@ and @vkUnmapMemorySafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkUnmapMemory@ is an alias+--           of @vkUnmapMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkUnmapMemorySafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkUnmapMemory" vkUnmapMemorySafe ::+               VkDevice -- ^ device+                        -> VkDeviceMemory -- ^ memory+                                          -> IO ()++##else+vkUnmapMemorySafe :: VkDevice -- ^ device+                              -> VkDeviceMemory -- ^ memory+                                                -> IO ()+vkUnmapMemorySafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkUnmapMemory)++{-# NOINLINE vkUnmapMemorySafe #-}+##endif++-- |+-- > void vkUnmapMemory+-- >     ( VkDevice device+-- >     , VkDeviceMemory memory+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUnmapMemory vkUnmapMemory registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myUnmapMemory <- vkGetDeviceProc @VkUnmapMemory vkDevice+--+-- or less efficient:+--+-- > myUnmapMemory <- vkGetProc @VkUnmapMemory+--+-- __Note:__ @vkUnmapMemoryUnsafe@ and @vkUnmapMemorySafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkUnmapMemory@ is an alias+--           of @vkUnmapMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkUnmapMemorySafe@.+--+vkUnmapMemory :: VkDevice -- ^ device+                          -> VkDeviceMemory -- ^ memory+                                            -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkUnmapMemory = vkUnmapMemoryUnsafe+##else+vkUnmapMemory = vkUnmapMemorySafe++##endif+{-# INLINE vkUnmapMemory #-}++-- | > void vkUnmapMemory+--   >     ( VkDevice device+--   >     , VkDeviceMemory memory+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUnmapMemory vkUnmapMemory registry at www.khronos.org>+type HS_vkUnmapMemory = VkDevice -- ^ device+                                 -> VkDeviceMemory -- ^ memory+                                                   -> IO ()++type PFN_vkUnmapMemory = FunPtr HS_vkUnmapMemory++foreign import ccall unsafe "dynamic" unwrapVkUnmapMemoryUnsafe ::+               PFN_vkUnmapMemory -> HS_vkUnmapMemory++foreign import ccall safe "dynamic" unwrapVkUnmapMemorySafe ::+               PFN_vkUnmapMemory -> HS_vkUnmapMemory++instance VulkanProc "vkUnmapMemory" where+    type VkProcType "vkUnmapMemory" = HS_vkUnmapMemory+    vkProcSymbol = _VkUnmapMemory++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkUnmapMemoryUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkUnmapMemorySafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkFlushMappedMemoryRanges :: CString++pattern VkFlushMappedMemoryRanges <-+        (is_VkFlushMappedMemoryRanges -> True)+  where+    VkFlushMappedMemoryRanges = _VkFlushMappedMemoryRanges++{-# INLINE _VkFlushMappedMemoryRanges #-}++_VkFlushMappedMemoryRanges :: CString+_VkFlushMappedMemoryRanges = Ptr "vkFlushMappedMemoryRanges\NUL"##++{-# INLINE is_VkFlushMappedMemoryRanges #-}++is_VkFlushMappedMemoryRanges :: CString -> Bool+is_VkFlushMappedMemoryRanges+  = (EQ ==) . cmpCStrings _VkFlushMappedMemoryRanges++type VkFlushMappedMemoryRanges = "vkFlushMappedMemoryRanges"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkFlushMappedMemoryRanges+-- >     ( VkDevice device+-- >     , uint32_t memoryRangeCount+-- >     , const VkMappedMemoryRange* pMemoryRanges+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myFlushMappedMemoryRanges <- vkGetDeviceProc @VkFlushMappedMemoryRanges vkDevice+--+-- or less efficient:+--+-- > myFlushMappedMemoryRanges <- vkGetProc @VkFlushMappedMemoryRanges+--+-- __Note:__ @vkFlushMappedMemoryRangesUnsafe@ and @vkFlushMappedMemoryRangesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkFlushMappedMemoryRanges@ is an alias+--           of @vkFlushMappedMemoryRangesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkFlushMappedMemoryRangesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkFlushMappedMemoryRanges"+               vkFlushMappedMemoryRangesUnsafe ::+               VkDevice -- ^ device+                        -> Word32 -- ^ memoryRangeCount+                                  -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges+                                                             -> IO VkResult++##else+vkFlushMappedMemoryRangesUnsafe ::+                                VkDevice -- ^ device+                                         -> Word32 -- ^ memoryRangeCount+                                                   -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges+                                                                              -> IO VkResult+vkFlushMappedMemoryRangesUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkFlushMappedMemoryRanges)++{-# NOINLINE vkFlushMappedMemoryRangesUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkFlushMappedMemoryRanges+-- >     ( VkDevice device+-- >     , uint32_t memoryRangeCount+-- >     , const VkMappedMemoryRange* pMemoryRanges+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myFlushMappedMemoryRanges <- vkGetDeviceProc @VkFlushMappedMemoryRanges vkDevice+--+-- or less efficient:+--+-- > myFlushMappedMemoryRanges <- vkGetProc @VkFlushMappedMemoryRanges+--+-- __Note:__ @vkFlushMappedMemoryRangesUnsafe@ and @vkFlushMappedMemoryRangesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkFlushMappedMemoryRanges@ is an alias+--           of @vkFlushMappedMemoryRangesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkFlushMappedMemoryRangesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkFlushMappedMemoryRanges"+               vkFlushMappedMemoryRangesSafe ::+               VkDevice -- ^ device+                        -> Word32 -- ^ memoryRangeCount+                                  -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges+                                                             -> IO VkResult++##else+vkFlushMappedMemoryRangesSafe ::+                              VkDevice -- ^ device+                                       -> Word32 -- ^ memoryRangeCount+                                                 -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges+                                                                            -> IO VkResult+vkFlushMappedMemoryRangesSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkFlushMappedMemoryRanges)++{-# NOINLINE vkFlushMappedMemoryRangesSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkFlushMappedMemoryRanges+-- >     ( VkDevice device+-- >     , uint32_t memoryRangeCount+-- >     , const VkMappedMemoryRange* pMemoryRanges+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myFlushMappedMemoryRanges <- vkGetDeviceProc @VkFlushMappedMemoryRanges vkDevice+--+-- or less efficient:+--+-- > myFlushMappedMemoryRanges <- vkGetProc @VkFlushMappedMemoryRanges+--+-- __Note:__ @vkFlushMappedMemoryRangesUnsafe@ and @vkFlushMappedMemoryRangesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkFlushMappedMemoryRanges@ is an alias+--           of @vkFlushMappedMemoryRangesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkFlushMappedMemoryRangesSafe@.+--+vkFlushMappedMemoryRanges ::+                          VkDevice -- ^ device+                                   -> Word32 -- ^ memoryRangeCount+                                             -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges+                                                                        -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkFlushMappedMemoryRanges = vkFlushMappedMemoryRangesUnsafe+##else+vkFlushMappedMemoryRanges = vkFlushMappedMemoryRangesSafe++##endif+{-# INLINE vkFlushMappedMemoryRanges #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkFlushMappedMemoryRanges+--   >     ( VkDevice device+--   >     , uint32_t memoryRangeCount+--   >     , const VkMappedMemoryRange* pMemoryRanges+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges registry at www.khronos.org>+type HS_vkFlushMappedMemoryRanges =+     VkDevice -- ^ device+              -> Word32 -- ^ memoryRangeCount+                        -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges+                                                   -> IO VkResult++type PFN_vkFlushMappedMemoryRanges =+     FunPtr HS_vkFlushMappedMemoryRanges++foreign import ccall unsafe "dynamic"+               unwrapVkFlushMappedMemoryRangesUnsafe ::+               PFN_vkFlushMappedMemoryRanges -> HS_vkFlushMappedMemoryRanges++foreign import ccall safe "dynamic"+               unwrapVkFlushMappedMemoryRangesSafe ::+               PFN_vkFlushMappedMemoryRanges -> HS_vkFlushMappedMemoryRanges++instance VulkanProc "vkFlushMappedMemoryRanges" where+    type VkProcType "vkFlushMappedMemoryRanges" =+         HS_vkFlushMappedMemoryRanges+    vkProcSymbol = _VkFlushMappedMemoryRanges++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkFlushMappedMemoryRangesUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkFlushMappedMemoryRangesSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkInvalidateMappedMemoryRanges :: CString++pattern VkInvalidateMappedMemoryRanges <-+        (is_VkInvalidateMappedMemoryRanges -> True)+  where+    VkInvalidateMappedMemoryRanges = _VkInvalidateMappedMemoryRanges++{-# INLINE _VkInvalidateMappedMemoryRanges #-}++_VkInvalidateMappedMemoryRanges :: CString+_VkInvalidateMappedMemoryRanges+  = Ptr "vkInvalidateMappedMemoryRanges\NUL"##++{-# INLINE is_VkInvalidateMappedMemoryRanges #-}++is_VkInvalidateMappedMemoryRanges :: CString -> Bool+is_VkInvalidateMappedMemoryRanges+  = (EQ ==) . cmpCStrings _VkInvalidateMappedMemoryRanges++type VkInvalidateMappedMemoryRanges =+     "vkInvalidateMappedMemoryRanges"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkInvalidateMappedMemoryRanges+-- >     ( VkDevice device+-- >     , uint32_t memoryRangeCount+-- >     , const VkMappedMemoryRange* pMemoryRanges+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myInvalidateMappedMemoryRanges <- vkGetDeviceProc @VkInvalidateMappedMemoryRanges vkDevice+--+-- or less efficient:+--+-- > myInvalidateMappedMemoryRanges <- vkGetProc @VkInvalidateMappedMemoryRanges+--+-- __Note:__ @vkInvalidateMappedMemoryRangesUnsafe@ and @vkInvalidateMappedMemoryRangesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkInvalidateMappedMemoryRanges@ is an alias+--           of @vkInvalidateMappedMemoryRangesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkInvalidateMappedMemoryRangesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkInvalidateMappedMemoryRanges"+               vkInvalidateMappedMemoryRangesUnsafe ::+               VkDevice -- ^ device+                        -> Word32 -- ^ memoryRangeCount+                                  -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges+                                                             -> IO VkResult++##else+vkInvalidateMappedMemoryRangesUnsafe ::+                                     VkDevice -- ^ device+                                              -> Word32 -- ^ memoryRangeCount+                                                        -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges+                                                                                   -> IO VkResult+vkInvalidateMappedMemoryRangesUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkInvalidateMappedMemoryRanges)++{-# NOINLINE vkInvalidateMappedMemoryRangesUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkInvalidateMappedMemoryRanges+-- >     ( VkDevice device+-- >     , uint32_t memoryRangeCount+-- >     , const VkMappedMemoryRange* pMemoryRanges+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myInvalidateMappedMemoryRanges <- vkGetDeviceProc @VkInvalidateMappedMemoryRanges vkDevice+--+-- or less efficient:+--+-- > myInvalidateMappedMemoryRanges <- vkGetProc @VkInvalidateMappedMemoryRanges+--+-- __Note:__ @vkInvalidateMappedMemoryRangesUnsafe@ and @vkInvalidateMappedMemoryRangesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkInvalidateMappedMemoryRanges@ is an alias+--           of @vkInvalidateMappedMemoryRangesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkInvalidateMappedMemoryRangesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkInvalidateMappedMemoryRanges"+               vkInvalidateMappedMemoryRangesSafe ::+               VkDevice -- ^ device+                        -> Word32 -- ^ memoryRangeCount+                                  -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges+                                                             -> IO VkResult++##else+vkInvalidateMappedMemoryRangesSafe ::+                                   VkDevice -- ^ device+                                            -> Word32 -- ^ memoryRangeCount+                                                      -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges+                                                                                 -> IO VkResult+vkInvalidateMappedMemoryRangesSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkInvalidateMappedMemoryRanges)++{-# NOINLINE vkInvalidateMappedMemoryRangesSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkInvalidateMappedMemoryRanges+-- >     ( VkDevice device+-- >     , uint32_t memoryRangeCount+-- >     , const VkMappedMemoryRange* pMemoryRanges+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myInvalidateMappedMemoryRanges <- vkGetDeviceProc @VkInvalidateMappedMemoryRanges vkDevice+--+-- or less efficient:+--+-- > myInvalidateMappedMemoryRanges <- vkGetProc @VkInvalidateMappedMemoryRanges+--+-- __Note:__ @vkInvalidateMappedMemoryRangesUnsafe@ and @vkInvalidateMappedMemoryRangesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkInvalidateMappedMemoryRanges@ is an alias+--           of @vkInvalidateMappedMemoryRangesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkInvalidateMappedMemoryRangesSafe@.+--+vkInvalidateMappedMemoryRanges ::+                               VkDevice -- ^ device+                                        -> Word32 -- ^ memoryRangeCount+                                                  -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges+                                                                             -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkInvalidateMappedMemoryRanges+  = vkInvalidateMappedMemoryRangesUnsafe+##else+vkInvalidateMappedMemoryRanges = vkInvalidateMappedMemoryRangesSafe++##endif+{-# INLINE vkInvalidateMappedMemoryRanges #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkInvalidateMappedMemoryRanges+--   >     ( VkDevice device+--   >     , uint32_t memoryRangeCount+--   >     , const VkMappedMemoryRange* pMemoryRanges+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges registry at www.khronos.org>+type HS_vkInvalidateMappedMemoryRanges =+     VkDevice -- ^ device+              -> Word32 -- ^ memoryRangeCount+                        -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges+                                                   -> IO VkResult++type PFN_vkInvalidateMappedMemoryRanges =+     FunPtr HS_vkInvalidateMappedMemoryRanges++foreign import ccall unsafe "dynamic"+               unwrapVkInvalidateMappedMemoryRangesUnsafe ::+               PFN_vkInvalidateMappedMemoryRanges ->+                 HS_vkInvalidateMappedMemoryRanges++foreign import ccall safe "dynamic"+               unwrapVkInvalidateMappedMemoryRangesSafe ::+               PFN_vkInvalidateMappedMemoryRanges ->+                 HS_vkInvalidateMappedMemoryRanges++instance VulkanProc "vkInvalidateMappedMemoryRanges" where+    type VkProcType "vkInvalidateMappedMemoryRanges" =+         HS_vkInvalidateMappedMemoryRanges+    vkProcSymbol = _VkInvalidateMappedMemoryRanges++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkInvalidateMappedMemoryRangesUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkInvalidateMappedMemoryRangesSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetDeviceMemoryCommitment :: CString++pattern VkGetDeviceMemoryCommitment <-+        (is_VkGetDeviceMemoryCommitment -> True)+  where+    VkGetDeviceMemoryCommitment = _VkGetDeviceMemoryCommitment++{-# INLINE _VkGetDeviceMemoryCommitment #-}++_VkGetDeviceMemoryCommitment :: CString+_VkGetDeviceMemoryCommitment+  = Ptr "vkGetDeviceMemoryCommitment\NUL"##++{-# INLINE is_VkGetDeviceMemoryCommitment #-}++is_VkGetDeviceMemoryCommitment :: CString -> Bool+is_VkGetDeviceMemoryCommitment+  = (EQ ==) . cmpCStrings _VkGetDeviceMemoryCommitment++type VkGetDeviceMemoryCommitment = "vkGetDeviceMemoryCommitment"++-- |+-- > void vkGetDeviceMemoryCommitment+-- >     ( VkDevice device+-- >     , VkDeviceMemory memory+-- >     , VkDeviceSize* pCommittedMemoryInBytes+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceMemoryCommitment <- vkGetDeviceProc @VkGetDeviceMemoryCommitment vkDevice+--+-- or less efficient:+--+-- > myGetDeviceMemoryCommitment <- vkGetProc @VkGetDeviceMemoryCommitment+--+-- __Note:__ @vkGetDeviceMemoryCommitmentUnsafe@ and @vkGetDeviceMemoryCommitmentSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDeviceMemoryCommitment@ is an alias+--           of @vkGetDeviceMemoryCommitmentUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDeviceMemoryCommitmentSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkGetDeviceMemoryCommitment"+               vkGetDeviceMemoryCommitmentUnsafe ::+               VkDevice -- ^ device+                        -> VkDeviceMemory -- ^ memory+                                          -> Ptr VkDeviceSize -- ^ pCommittedMemoryInBytes+                                                              -> IO ()++##else+vkGetDeviceMemoryCommitmentUnsafe ::+                                  VkDevice -- ^ device+                                           -> VkDeviceMemory -- ^ memory+                                                             -> Ptr VkDeviceSize -- ^ pCommittedMemoryInBytes+                                                                                 -> IO ()+vkGetDeviceMemoryCommitmentUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetDeviceMemoryCommitment)++{-# NOINLINE vkGetDeviceMemoryCommitmentUnsafe #-}+##endif++-- |+-- > void vkGetDeviceMemoryCommitment+-- >     ( VkDevice device+-- >     , VkDeviceMemory memory+-- >     , VkDeviceSize* pCommittedMemoryInBytes+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceMemoryCommitment <- vkGetDeviceProc @VkGetDeviceMemoryCommitment vkDevice+--+-- or less efficient:+--+-- > myGetDeviceMemoryCommitment <- vkGetProc @VkGetDeviceMemoryCommitment+--+-- __Note:__ @vkGetDeviceMemoryCommitmentUnsafe@ and @vkGetDeviceMemoryCommitmentSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDeviceMemoryCommitment@ is an alias+--           of @vkGetDeviceMemoryCommitmentUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDeviceMemoryCommitmentSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkGetDeviceMemoryCommitment"+               vkGetDeviceMemoryCommitmentSafe ::+               VkDevice -- ^ device+                        -> VkDeviceMemory -- ^ memory+                                          -> Ptr VkDeviceSize -- ^ pCommittedMemoryInBytes+                                                              -> IO ()++##else+vkGetDeviceMemoryCommitmentSafe ::+                                VkDevice -- ^ device+                                         -> VkDeviceMemory -- ^ memory+                                                           -> Ptr VkDeviceSize -- ^ pCommittedMemoryInBytes+                                                                               -> IO ()+vkGetDeviceMemoryCommitmentSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetDeviceMemoryCommitment)++{-# NOINLINE vkGetDeviceMemoryCommitmentSafe #-}+##endif++-- |+-- > void vkGetDeviceMemoryCommitment+-- >     ( VkDevice device+-- >     , VkDeviceMemory memory+-- >     , VkDeviceSize* pCommittedMemoryInBytes+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceMemoryCommitment <- vkGetDeviceProc @VkGetDeviceMemoryCommitment vkDevice+--+-- or less efficient:+--+-- > myGetDeviceMemoryCommitment <- vkGetProc @VkGetDeviceMemoryCommitment+--+-- __Note:__ @vkGetDeviceMemoryCommitmentUnsafe@ and @vkGetDeviceMemoryCommitmentSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDeviceMemoryCommitment@ is an alias+--           of @vkGetDeviceMemoryCommitmentUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDeviceMemoryCommitmentSafe@.+--+vkGetDeviceMemoryCommitment ::+                            VkDevice -- ^ device+                                     -> VkDeviceMemory -- ^ memory+                                                       -> Ptr VkDeviceSize -- ^ pCommittedMemoryInBytes+                                                                           -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkGetDeviceMemoryCommitment = vkGetDeviceMemoryCommitmentUnsafe+##else+vkGetDeviceMemoryCommitment = vkGetDeviceMemoryCommitmentSafe++##endif+{-# INLINE vkGetDeviceMemoryCommitment #-}++-- | > void vkGetDeviceMemoryCommitment+--   >     ( VkDevice device+--   >     , VkDeviceMemory memory+--   >     , VkDeviceSize* pCommittedMemoryInBytes+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment registry at www.khronos.org>+type HS_vkGetDeviceMemoryCommitment =+     VkDevice -- ^ device+              -> VkDeviceMemory -- ^ memory+                                -> Ptr VkDeviceSize -- ^ pCommittedMemoryInBytes+                                                    -> IO ()++type PFN_vkGetDeviceMemoryCommitment =+     FunPtr HS_vkGetDeviceMemoryCommitment++foreign import ccall unsafe "dynamic"+               unwrapVkGetDeviceMemoryCommitmentUnsafe ::+               PFN_vkGetDeviceMemoryCommitment -> HS_vkGetDeviceMemoryCommitment++foreign import ccall safe "dynamic"+               unwrapVkGetDeviceMemoryCommitmentSafe ::+               PFN_vkGetDeviceMemoryCommitment -> HS_vkGetDeviceMemoryCommitment++instance VulkanProc "vkGetDeviceMemoryCommitment" where+    type VkProcType "vkGetDeviceMemoryCommitment" =+         HS_vkGetDeviceMemoryCommitment+    vkProcSymbol = _VkGetDeviceMemoryCommitment++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetDeviceMemoryCommitmentUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetDeviceMemoryCommitmentSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkBindBufferMemory :: CString++pattern VkBindBufferMemory <- (is_VkBindBufferMemory -> True)+  where+    VkBindBufferMemory = _VkBindBufferMemory++{-# INLINE _VkBindBufferMemory #-}++_VkBindBufferMemory :: CString+_VkBindBufferMemory = Ptr "vkBindBufferMemory\NUL"##++{-# INLINE is_VkBindBufferMemory #-}++is_VkBindBufferMemory :: CString -> Bool+is_VkBindBufferMemory = (EQ ==) . cmpCStrings _VkBindBufferMemory++type VkBindBufferMemory = "vkBindBufferMemory"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindBufferMemory+-- >     ( VkDevice device+-- >     , VkBuffer buffer+-- >     , VkDeviceMemory memory+-- >     , VkDeviceSize memoryOffset+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindBufferMemory vkBindBufferMemory registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myBindBufferMemory <- vkGetDeviceProc @VkBindBufferMemory vkDevice+--+-- or less efficient:+--+-- > myBindBufferMemory <- vkGetProc @VkBindBufferMemory+--+-- __Note:__ @vkBindBufferMemoryUnsafe@ and @vkBindBufferMemorySafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkBindBufferMemory@ is an alias+--           of @vkBindBufferMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkBindBufferMemorySafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkBindBufferMemory"+               vkBindBufferMemoryUnsafe ::+               VkDevice -- ^ device+                        ->+                 VkBuffer -- ^ buffer+                          -> VkDeviceMemory -- ^ memory+                                            -> VkDeviceSize -- ^ memoryOffset+                                                            -> IO VkResult++##else+vkBindBufferMemoryUnsafe ::+                         VkDevice -- ^ device+                                  ->+                           VkBuffer -- ^ buffer+                                    -> VkDeviceMemory -- ^ memory+                                                      -> VkDeviceSize -- ^ memoryOffset+                                                                      -> IO VkResult+vkBindBufferMemoryUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkBindBufferMemory)++{-# NOINLINE vkBindBufferMemoryUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindBufferMemory+-- >     ( VkDevice device+-- >     , VkBuffer buffer+-- >     , VkDeviceMemory memory+-- >     , VkDeviceSize memoryOffset+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindBufferMemory vkBindBufferMemory registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myBindBufferMemory <- vkGetDeviceProc @VkBindBufferMemory vkDevice+--+-- or less efficient:+--+-- > myBindBufferMemory <- vkGetProc @VkBindBufferMemory+--+-- __Note:__ @vkBindBufferMemoryUnsafe@ and @vkBindBufferMemorySafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkBindBufferMemory@ is an alias+--           of @vkBindBufferMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkBindBufferMemorySafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkBindBufferMemory"+               vkBindBufferMemorySafe ::+               VkDevice -- ^ device+                        ->+                 VkBuffer -- ^ buffer+                          -> VkDeviceMemory -- ^ memory+                                            -> VkDeviceSize -- ^ memoryOffset+                                                            -> IO VkResult++##else+vkBindBufferMemorySafe ::+                       VkDevice -- ^ device+                                ->+                         VkBuffer -- ^ buffer+                                  -> VkDeviceMemory -- ^ memory+                                                    -> VkDeviceSize -- ^ memoryOffset+                                                                    -> IO VkResult+vkBindBufferMemorySafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkBindBufferMemory)++{-# NOINLINE vkBindBufferMemorySafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindBufferMemory+-- >     ( VkDevice device+-- >     , VkBuffer buffer+-- >     , VkDeviceMemory memory+-- >     , VkDeviceSize memoryOffset+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindBufferMemory vkBindBufferMemory registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myBindBufferMemory <- vkGetDeviceProc @VkBindBufferMemory vkDevice+--+-- or less efficient:+--+-- > myBindBufferMemory <- vkGetProc @VkBindBufferMemory+--+-- __Note:__ @vkBindBufferMemoryUnsafe@ and @vkBindBufferMemorySafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkBindBufferMemory@ is an alias+--           of @vkBindBufferMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkBindBufferMemorySafe@.+--+vkBindBufferMemory ::+                   VkDevice -- ^ device+                            ->+                     VkBuffer -- ^ buffer+                              -> VkDeviceMemory -- ^ memory+                                                -> VkDeviceSize -- ^ memoryOffset+                                                                -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkBindBufferMemory = vkBindBufferMemoryUnsafe+##else+vkBindBufferMemory = vkBindBufferMemorySafe++##endif+{-# INLINE vkBindBufferMemory #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkBindBufferMemory+--   >     ( VkDevice device+--   >     , VkBuffer buffer+--   >     , VkDeviceMemory memory+--   >     , VkDeviceSize memoryOffset+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindBufferMemory vkBindBufferMemory registry at www.khronos.org>+type HS_vkBindBufferMemory =+     VkDevice -- ^ device+              ->+       VkBuffer -- ^ buffer+                -> VkDeviceMemory -- ^ memory+                                  -> VkDeviceSize -- ^ memoryOffset+                                                  -> IO VkResult++type PFN_vkBindBufferMemory = FunPtr HS_vkBindBufferMemory++foreign import ccall unsafe "dynamic"+               unwrapVkBindBufferMemoryUnsafe ::+               PFN_vkBindBufferMemory -> HS_vkBindBufferMemory++foreign import ccall safe "dynamic" unwrapVkBindBufferMemorySafe ::+               PFN_vkBindBufferMemory -> HS_vkBindBufferMemory++instance VulkanProc "vkBindBufferMemory" where+    type VkProcType "vkBindBufferMemory" = HS_vkBindBufferMemory+    vkProcSymbol = _VkBindBufferMemory++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkBindBufferMemoryUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkBindBufferMemorySafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkBindImageMemory :: CString++pattern VkBindImageMemory <- (is_VkBindImageMemory -> True)+  where+    VkBindImageMemory = _VkBindImageMemory++{-# INLINE _VkBindImageMemory #-}++_VkBindImageMemory :: CString+_VkBindImageMemory = Ptr "vkBindImageMemory\NUL"##++{-# INLINE is_VkBindImageMemory #-}++is_VkBindImageMemory :: CString -> Bool+is_VkBindImageMemory = (EQ ==) . cmpCStrings _VkBindImageMemory++type VkBindImageMemory = "vkBindImageMemory"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindImageMemory+-- >     ( VkDevice device+-- >     , VkImage image+-- >     , VkDeviceMemory memory+-- >     , VkDeviceSize memoryOffset+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindImageMemory vkBindImageMemory registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myBindImageMemory <- vkGetDeviceProc @VkBindImageMemory vkDevice+--+-- or less efficient:+--+-- > myBindImageMemory <- vkGetProc @VkBindImageMemory+--+-- __Note:__ @vkBindImageMemoryUnsafe@ and @vkBindImageMemorySafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkBindImageMemory@ is an alias+--           of @vkBindImageMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkBindImageMemorySafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkBindImageMemory"+               vkBindImageMemoryUnsafe ::+               VkDevice -- ^ device+                        ->+                 VkImage -- ^ image+                         -> VkDeviceMemory -- ^ memory+                                           -> VkDeviceSize -- ^ memoryOffset+                                                           -> IO VkResult++##else+vkBindImageMemoryUnsafe ::+                        VkDevice -- ^ device+                                 ->+                          VkImage -- ^ image+                                  -> VkDeviceMemory -- ^ memory+                                                    -> VkDeviceSize -- ^ memoryOffset+                                                                    -> IO VkResult+vkBindImageMemoryUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkBindImageMemory)++{-# NOINLINE vkBindImageMemoryUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindImageMemory+-- >     ( VkDevice device+-- >     , VkImage image+-- >     , VkDeviceMemory memory+-- >     , VkDeviceSize memoryOffset+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindImageMemory vkBindImageMemory registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myBindImageMemory <- vkGetDeviceProc @VkBindImageMemory vkDevice+--+-- or less efficient:+--+-- > myBindImageMemory <- vkGetProc @VkBindImageMemory+--+-- __Note:__ @vkBindImageMemoryUnsafe@ and @vkBindImageMemorySafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkBindImageMemory@ is an alias+--           of @vkBindImageMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkBindImageMemorySafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkBindImageMemory" vkBindImageMemorySafe+               ::+               VkDevice -- ^ device+                        ->+                 VkImage -- ^ image+                         -> VkDeviceMemory -- ^ memory+                                           -> VkDeviceSize -- ^ memoryOffset+                                                           -> IO VkResult++##else+vkBindImageMemorySafe ::+                      VkDevice -- ^ device+                               ->+                        VkImage -- ^ image+                                -> VkDeviceMemory -- ^ memory+                                                  -> VkDeviceSize -- ^ memoryOffset+                                                                  -> IO VkResult+vkBindImageMemorySafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkBindImageMemory)++{-# NOINLINE vkBindImageMemorySafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindImageMemory+-- >     ( VkDevice device+-- >     , VkImage image+-- >     , VkDeviceMemory memory+-- >     , VkDeviceSize memoryOffset+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindImageMemory vkBindImageMemory registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myBindImageMemory <- vkGetDeviceProc @VkBindImageMemory vkDevice+--+-- or less efficient:+--+-- > myBindImageMemory <- vkGetProc @VkBindImageMemory+--+-- __Note:__ @vkBindImageMemoryUnsafe@ and @vkBindImageMemorySafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkBindImageMemory@ is an alias+--           of @vkBindImageMemoryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkBindImageMemorySafe@.+--+vkBindImageMemory ::+                  VkDevice -- ^ device+                           ->+                    VkImage -- ^ image+                            -> VkDeviceMemory -- ^ memory+                                              -> VkDeviceSize -- ^ memoryOffset+                                                              -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkBindImageMemory = vkBindImageMemoryUnsafe+##else+vkBindImageMemory = vkBindImageMemorySafe++##endif+{-# INLINE vkBindImageMemory #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkBindImageMemory+--   >     ( VkDevice device+--   >     , VkImage image+--   >     , VkDeviceMemory memory+--   >     , VkDeviceSize memoryOffset+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindImageMemory vkBindImageMemory registry at www.khronos.org>+type HS_vkBindImageMemory =+     VkDevice -- ^ device+              ->+       VkImage -- ^ image+               -> VkDeviceMemory -- ^ memory+                                 -> VkDeviceSize -- ^ memoryOffset+                                                 -> IO VkResult++type PFN_vkBindImageMemory = FunPtr HS_vkBindImageMemory++foreign import ccall unsafe "dynamic" unwrapVkBindImageMemoryUnsafe+               :: PFN_vkBindImageMemory -> HS_vkBindImageMemory++foreign import ccall safe "dynamic" unwrapVkBindImageMemorySafe ::+               PFN_vkBindImageMemory -> HS_vkBindImageMemory++instance VulkanProc "vkBindImageMemory" where+    type VkProcType "vkBindImageMemory" = HS_vkBindImageMemory+    vkProcSymbol = _VkBindImageMemory++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkBindImageMemoryUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkBindImageMemorySafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetBufferMemoryRequirements :: CString++pattern VkGetBufferMemoryRequirements <-+        (is_VkGetBufferMemoryRequirements -> True)+  where+    VkGetBufferMemoryRequirements = _VkGetBufferMemoryRequirements++{-# INLINE _VkGetBufferMemoryRequirements #-}++_VkGetBufferMemoryRequirements :: CString+_VkGetBufferMemoryRequirements+  = Ptr "vkGetBufferMemoryRequirements\NUL"##++{-# INLINE is_VkGetBufferMemoryRequirements #-}++is_VkGetBufferMemoryRequirements :: CString -> Bool+is_VkGetBufferMemoryRequirements+  = (EQ ==) . cmpCStrings _VkGetBufferMemoryRequirements++type VkGetBufferMemoryRequirements =+     "vkGetBufferMemoryRequirements"++-- |+-- > void vkGetBufferMemoryRequirements+-- >     ( VkDevice device+-- >     , VkBuffer buffer+-- >     , VkMemoryRequirements* pMemoryRequirements+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetBufferMemoryRequirements <- vkGetDeviceProc @VkGetBufferMemoryRequirements vkDevice+--+-- or less efficient:+--+-- > myGetBufferMemoryRequirements <- vkGetProc @VkGetBufferMemoryRequirements+--+-- __Note:__ @vkGetBufferMemoryRequirementsUnsafe@ and @vkGetBufferMemoryRequirementsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetBufferMemoryRequirements@ is an alias+--           of @vkGetBufferMemoryRequirementsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetBufferMemoryRequirementsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkGetBufferMemoryRequirements"+               vkGetBufferMemoryRequirementsUnsafe ::+               VkDevice -- ^ device+                        -> VkBuffer -- ^ buffer+                                    -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements+                                                                -> IO ()++##else+vkGetBufferMemoryRequirementsUnsafe ::+                                    VkDevice -- ^ device+                                             -> VkBuffer -- ^ buffer+                                                         -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements+                                                                                     -> IO ()+vkGetBufferMemoryRequirementsUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetBufferMemoryRequirements)++{-# NOINLINE vkGetBufferMemoryRequirementsUnsafe #-}+##endif++-- |+-- > void vkGetBufferMemoryRequirements+-- >     ( VkDevice device+-- >     , VkBuffer buffer+-- >     , VkMemoryRequirements* pMemoryRequirements+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetBufferMemoryRequirements <- vkGetDeviceProc @VkGetBufferMemoryRequirements vkDevice+--+-- or less efficient:+--+-- > myGetBufferMemoryRequirements <- vkGetProc @VkGetBufferMemoryRequirements+--+-- __Note:__ @vkGetBufferMemoryRequirementsUnsafe@ and @vkGetBufferMemoryRequirementsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetBufferMemoryRequirements@ is an alias+--           of @vkGetBufferMemoryRequirementsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetBufferMemoryRequirementsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkGetBufferMemoryRequirements"+               vkGetBufferMemoryRequirementsSafe ::+               VkDevice -- ^ device+                        -> VkBuffer -- ^ buffer+                                    -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements+                                                                -> IO ()++##else+vkGetBufferMemoryRequirementsSafe ::+                                  VkDevice -- ^ device+                                           -> VkBuffer -- ^ buffer+                                                       -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements+                                                                                   -> IO ()+vkGetBufferMemoryRequirementsSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetBufferMemoryRequirements)++{-# NOINLINE vkGetBufferMemoryRequirementsSafe #-}+##endif++-- |+-- > void vkGetBufferMemoryRequirements+-- >     ( VkDevice device+-- >     , VkBuffer buffer+-- >     , VkMemoryRequirements* pMemoryRequirements+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetBufferMemoryRequirements <- vkGetDeviceProc @VkGetBufferMemoryRequirements vkDevice+--+-- or less efficient:+--+-- > myGetBufferMemoryRequirements <- vkGetProc @VkGetBufferMemoryRequirements+--+-- __Note:__ @vkGetBufferMemoryRequirementsUnsafe@ and @vkGetBufferMemoryRequirementsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetBufferMemoryRequirements@ is an alias+--           of @vkGetBufferMemoryRequirementsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetBufferMemoryRequirementsSafe@.+--+vkGetBufferMemoryRequirements ::+                              VkDevice -- ^ device+                                       -> VkBuffer -- ^ buffer+                                                   -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements+                                                                               -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkGetBufferMemoryRequirements = vkGetBufferMemoryRequirementsUnsafe+##else+vkGetBufferMemoryRequirements = vkGetBufferMemoryRequirementsSafe++##endif+{-# INLINE vkGetBufferMemoryRequirements #-}++-- | > void vkGetBufferMemoryRequirements+--   >     ( VkDevice device+--   >     , VkBuffer buffer+--   >     , VkMemoryRequirements* pMemoryRequirements+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements registry at www.khronos.org>+type HS_vkGetBufferMemoryRequirements =+     VkDevice -- ^ device+              -> VkBuffer -- ^ buffer+                          -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements+                                                      -> IO ()++type PFN_vkGetBufferMemoryRequirements =+     FunPtr HS_vkGetBufferMemoryRequirements++foreign import ccall unsafe "dynamic"+               unwrapVkGetBufferMemoryRequirementsUnsafe ::+               PFN_vkGetBufferMemoryRequirements ->+                 HS_vkGetBufferMemoryRequirements++foreign import ccall safe "dynamic"+               unwrapVkGetBufferMemoryRequirementsSafe ::+               PFN_vkGetBufferMemoryRequirements ->+                 HS_vkGetBufferMemoryRequirements++instance VulkanProc "vkGetBufferMemoryRequirements" where+    type VkProcType "vkGetBufferMemoryRequirements" =+         HS_vkGetBufferMemoryRequirements+    vkProcSymbol = _VkGetBufferMemoryRequirements++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetBufferMemoryRequirementsUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetBufferMemoryRequirementsSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetImageMemoryRequirements :: CString++pattern VkGetImageMemoryRequirements <-+        (is_VkGetImageMemoryRequirements -> True)+  where+    VkGetImageMemoryRequirements = _VkGetImageMemoryRequirements++{-# INLINE _VkGetImageMemoryRequirements #-}++_VkGetImageMemoryRequirements :: CString+_VkGetImageMemoryRequirements+  = Ptr "vkGetImageMemoryRequirements\NUL"##++{-# INLINE is_VkGetImageMemoryRequirements #-}++is_VkGetImageMemoryRequirements :: CString -> Bool+is_VkGetImageMemoryRequirements+  = (EQ ==) . cmpCStrings _VkGetImageMemoryRequirements++type VkGetImageMemoryRequirements = "vkGetImageMemoryRequirements"++-- |+-- > void vkGetImageMemoryRequirements+-- >     ( VkDevice device+-- >     , VkImage image+-- >     , VkMemoryRequirements* pMemoryRequirements+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageMemoryRequirements vkGetImageMemoryRequirements registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetImageMemoryRequirements <- vkGetDeviceProc @VkGetImageMemoryRequirements vkDevice+--+-- or less efficient:+--+-- > myGetImageMemoryRequirements <- vkGetProc @VkGetImageMemoryRequirements+--+-- __Note:__ @vkGetImageMemoryRequirementsUnsafe@ and @vkGetImageMemoryRequirementsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetImageMemoryRequirements@ is an alias+--           of @vkGetImageMemoryRequirementsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetImageMemoryRequirementsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkGetImageMemoryRequirements"+               vkGetImageMemoryRequirementsUnsafe ::+               VkDevice -- ^ device+                        -> VkImage -- ^ image+                                   -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements+                                                               -> IO ()++##else+vkGetImageMemoryRequirementsUnsafe ::+                                   VkDevice -- ^ device+                                            -> VkImage -- ^ image+                                                       -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements+                                                                                   -> IO ()+vkGetImageMemoryRequirementsUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetImageMemoryRequirements)++{-# NOINLINE vkGetImageMemoryRequirementsUnsafe #-}+##endif++-- |+-- > void vkGetImageMemoryRequirements+-- >     ( VkDevice device+-- >     , VkImage image+-- >     , VkMemoryRequirements* pMemoryRequirements+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageMemoryRequirements vkGetImageMemoryRequirements registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetImageMemoryRequirements <- vkGetDeviceProc @VkGetImageMemoryRequirements vkDevice+--+-- or less efficient:+--+-- > myGetImageMemoryRequirements <- vkGetProc @VkGetImageMemoryRequirements+--+-- __Note:__ @vkGetImageMemoryRequirementsUnsafe@ and @vkGetImageMemoryRequirementsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetImageMemoryRequirements@ is an alias+--           of @vkGetImageMemoryRequirementsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetImageMemoryRequirementsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkGetImageMemoryRequirements"+               vkGetImageMemoryRequirementsSafe ::+               VkDevice -- ^ device+                        -> VkImage -- ^ image+                                   -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements+                                                               -> IO ()++##else+vkGetImageMemoryRequirementsSafe ::+                                 VkDevice -- ^ device+                                          -> VkImage -- ^ image+                                                     -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements+                                                                                 -> IO ()+vkGetImageMemoryRequirementsSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetImageMemoryRequirements)++{-# NOINLINE vkGetImageMemoryRequirementsSafe #-}+##endif++-- |+-- > void vkGetImageMemoryRequirements+-- >     ( VkDevice device+-- >     , VkImage image+-- >     , VkMemoryRequirements* pMemoryRequirements+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageMemoryRequirements vkGetImageMemoryRequirements registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetImageMemoryRequirements <- vkGetDeviceProc @VkGetImageMemoryRequirements vkDevice+--+-- or less efficient:+--+-- > myGetImageMemoryRequirements <- vkGetProc @VkGetImageMemoryRequirements+--+-- __Note:__ @vkGetImageMemoryRequirementsUnsafe@ and @vkGetImageMemoryRequirementsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetImageMemoryRequirements@ is an alias+--           of @vkGetImageMemoryRequirementsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetImageMemoryRequirementsSafe@.+--+vkGetImageMemoryRequirements ::+                             VkDevice -- ^ device+                                      -> VkImage -- ^ image+                                                 -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements+                                                                             -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkGetImageMemoryRequirements = vkGetImageMemoryRequirementsUnsafe+##else+vkGetImageMemoryRequirements = vkGetImageMemoryRequirementsSafe++##endif+{-# INLINE vkGetImageMemoryRequirements #-}++-- | > void vkGetImageMemoryRequirements+--   >     ( VkDevice device+--   >     , VkImage image+--   >     , VkMemoryRequirements* pMemoryRequirements+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageMemoryRequirements vkGetImageMemoryRequirements registry at www.khronos.org>+type HS_vkGetImageMemoryRequirements =+     VkDevice -- ^ device+              -> VkImage -- ^ image+                         -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements+                                                     -> IO ()++type PFN_vkGetImageMemoryRequirements =+     FunPtr HS_vkGetImageMemoryRequirements++foreign import ccall unsafe "dynamic"+               unwrapVkGetImageMemoryRequirementsUnsafe ::+               PFN_vkGetImageMemoryRequirements -> HS_vkGetImageMemoryRequirements++foreign import ccall safe "dynamic"+               unwrapVkGetImageMemoryRequirementsSafe ::+               PFN_vkGetImageMemoryRequirements -> HS_vkGetImageMemoryRequirements++instance VulkanProc "vkGetImageMemoryRequirements" where+    type VkProcType "vkGetImageMemoryRequirements" =+         HS_vkGetImageMemoryRequirements+    vkProcSymbol = _VkGetImageMemoryRequirements++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetImageMemoryRequirementsUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetImageMemoryRequirementsSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetImageSparseMemoryRequirements :: CString++pattern VkGetImageSparseMemoryRequirements <-+        (is_VkGetImageSparseMemoryRequirements -> True)+  where+    VkGetImageSparseMemoryRequirements+      = _VkGetImageSparseMemoryRequirements++{-# INLINE _VkGetImageSparseMemoryRequirements #-}++_VkGetImageSparseMemoryRequirements :: CString+_VkGetImageSparseMemoryRequirements+  = Ptr "vkGetImageSparseMemoryRequirements\NUL"##++{-# INLINE is_VkGetImageSparseMemoryRequirements #-}++is_VkGetImageSparseMemoryRequirements :: CString -> Bool+is_VkGetImageSparseMemoryRequirements+  = (EQ ==) . cmpCStrings _VkGetImageSparseMemoryRequirements++type VkGetImageSparseMemoryRequirements =+     "vkGetImageSparseMemoryRequirements"++-- |+-- > void vkGetImageSparseMemoryRequirements+-- >     ( VkDevice device+-- >     , VkImage image+-- >     , uint32_t* pSparseMemoryRequirementCount+-- >     , VkSparseImageMemoryRequirements* pSparseMemoryRequirements+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetImageSparseMemoryRequirements <- vkGetDeviceProc @VkGetImageSparseMemoryRequirements vkDevice+--+-- or less efficient:+--+-- > myGetImageSparseMemoryRequirements <- vkGetProc @VkGetImageSparseMemoryRequirements+--+-- __Note:__ @vkGetImageSparseMemoryRequirementsUnsafe@ and @vkGetImageSparseMemoryRequirementsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetImageSparseMemoryRequirements@ is an alias+--           of @vkGetImageSparseMemoryRequirementsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetImageSparseMemoryRequirementsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkGetImageSparseMemoryRequirements"+               vkGetImageSparseMemoryRequirementsUnsafe ::+               VkDevice -- ^ device+                        ->+                 VkImage -- ^ image+                         ->+                   Ptr Word32 -- ^ pSparseMemoryRequirementCount+                              -> Ptr VkSparseImageMemoryRequirements -- ^ pSparseMemoryRequirements+                                                                     -> IO ()++##else+vkGetImageSparseMemoryRequirementsUnsafe ::+                                         VkDevice -- ^ device+                                                  ->+                                           VkImage -- ^ image+                                                   ->+                                             Ptr Word32 -- ^ pSparseMemoryRequirementCount+                                                        ->+                                               Ptr VkSparseImageMemoryRequirements -- ^ pSparseMemoryRequirements+                                                                                   -> IO ()+vkGetImageSparseMemoryRequirementsUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetImageSparseMemoryRequirements)++{-# NOINLINE vkGetImageSparseMemoryRequirementsUnsafe #-}+##endif++-- |+-- > void vkGetImageSparseMemoryRequirements+-- >     ( VkDevice device+-- >     , VkImage image+-- >     , uint32_t* pSparseMemoryRequirementCount+-- >     , VkSparseImageMemoryRequirements* pSparseMemoryRequirements+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetImageSparseMemoryRequirements <- vkGetDeviceProc @VkGetImageSparseMemoryRequirements vkDevice+--+-- or less efficient:+--+-- > myGetImageSparseMemoryRequirements <- vkGetProc @VkGetImageSparseMemoryRequirements+--+-- __Note:__ @vkGetImageSparseMemoryRequirementsUnsafe@ and @vkGetImageSparseMemoryRequirementsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetImageSparseMemoryRequirements@ is an alias+--           of @vkGetImageSparseMemoryRequirementsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetImageSparseMemoryRequirementsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkGetImageSparseMemoryRequirements"+               vkGetImageSparseMemoryRequirementsSafe ::+               VkDevice -- ^ device+                        ->+                 VkImage -- ^ image+                         ->+                   Ptr Word32 -- ^ pSparseMemoryRequirementCount+                              -> Ptr VkSparseImageMemoryRequirements -- ^ pSparseMemoryRequirements+                                                                     -> IO ()++##else+vkGetImageSparseMemoryRequirementsSafe ::+                                       VkDevice -- ^ device+                                                ->+                                         VkImage -- ^ image+                                                 ->+                                           Ptr Word32 -- ^ pSparseMemoryRequirementCount+                                                      ->+                                             Ptr VkSparseImageMemoryRequirements -- ^ pSparseMemoryRequirements+                                                                                 -> IO ()+vkGetImageSparseMemoryRequirementsSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetImageSparseMemoryRequirements)++{-# NOINLINE vkGetImageSparseMemoryRequirementsSafe #-}+##endif++-- |+-- > void vkGetImageSparseMemoryRequirements+-- >     ( VkDevice device+-- >     , VkImage image+-- >     , uint32_t* pSparseMemoryRequirementCount+-- >     , VkSparseImageMemoryRequirements* pSparseMemoryRequirements+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetImageSparseMemoryRequirements <- vkGetDeviceProc @VkGetImageSparseMemoryRequirements vkDevice+--+-- or less efficient:+--+-- > myGetImageSparseMemoryRequirements <- vkGetProc @VkGetImageSparseMemoryRequirements+--+-- __Note:__ @vkGetImageSparseMemoryRequirementsUnsafe@ and @vkGetImageSparseMemoryRequirementsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetImageSparseMemoryRequirements@ is an alias+--           of @vkGetImageSparseMemoryRequirementsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetImageSparseMemoryRequirementsSafe@.+--+vkGetImageSparseMemoryRequirements ::+                                   VkDevice -- ^ device+                                            ->+                                     VkImage -- ^ image+                                             ->+                                       Ptr Word32 -- ^ pSparseMemoryRequirementCount+                                                  -> Ptr VkSparseImageMemoryRequirements -- ^ pSparseMemoryRequirements+                                                                                         -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkGetImageSparseMemoryRequirements+  = vkGetImageSparseMemoryRequirementsUnsafe+##else+vkGetImageSparseMemoryRequirements+  = vkGetImageSparseMemoryRequirementsSafe++##endif+{-# INLINE vkGetImageSparseMemoryRequirements #-}++-- | > void vkGetImageSparseMemoryRequirements+--   >     ( VkDevice device+--   >     , VkImage image+--   >     , uint32_t* pSparseMemoryRequirementCount+--   >     , VkSparseImageMemoryRequirements* pSparseMemoryRequirements+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements registry at www.khronos.org>+type HS_vkGetImageSparseMemoryRequirements =+     VkDevice -- ^ device+              ->+       VkImage -- ^ image+               ->+         Ptr Word32 -- ^ pSparseMemoryRequirementCount+                    -> Ptr VkSparseImageMemoryRequirements -- ^ pSparseMemoryRequirements+                                                           -> IO ()++type PFN_vkGetImageSparseMemoryRequirements =+     FunPtr HS_vkGetImageSparseMemoryRequirements++foreign import ccall unsafe "dynamic"+               unwrapVkGetImageSparseMemoryRequirementsUnsafe ::+               PFN_vkGetImageSparseMemoryRequirements ->+                 HS_vkGetImageSparseMemoryRequirements++foreign import ccall safe "dynamic"+               unwrapVkGetImageSparseMemoryRequirementsSafe ::+               PFN_vkGetImageSparseMemoryRequirements ->+                 HS_vkGetImageSparseMemoryRequirements++instance VulkanProc "vkGetImageSparseMemoryRequirements" where+    type VkProcType "vkGetImageSparseMemoryRequirements" =+         HS_vkGetImageSparseMemoryRequirements+    vkProcSymbol = _VkGetImageSparseMemoryRequirements++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetImageSparseMemoryRequirementsUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetImageSparseMemoryRequirementsSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetPhysicalDeviceSparseImageFormatProperties :: CString++pattern VkGetPhysicalDeviceSparseImageFormatProperties <-+        (is_VkGetPhysicalDeviceSparseImageFormatProperties -> True)+  where+    VkGetPhysicalDeviceSparseImageFormatProperties+      = _VkGetPhysicalDeviceSparseImageFormatProperties++{-# INLINE _VkGetPhysicalDeviceSparseImageFormatProperties #-}++_VkGetPhysicalDeviceSparseImageFormatProperties :: CString+_VkGetPhysicalDeviceSparseImageFormatProperties+  = Ptr "vkGetPhysicalDeviceSparseImageFormatProperties\NUL"##++{-# INLINE is_VkGetPhysicalDeviceSparseImageFormatProperties #-}++is_VkGetPhysicalDeviceSparseImageFormatProperties ::+                                                  CString -> Bool+is_VkGetPhysicalDeviceSparseImageFormatProperties+  = (EQ ==) .+      cmpCStrings _VkGetPhysicalDeviceSparseImageFormatProperties++type VkGetPhysicalDeviceSparseImageFormatProperties =+     "vkGetPhysicalDeviceSparseImageFormatProperties"++-- |+-- > void vkGetPhysicalDeviceSparseImageFormatProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkFormat format+-- >     , VkImageType type+-- >     , VkSampleCountFlagBits samples+-- >     , VkImageUsageFlags usage+-- >     , VkImageTiling tiling+-- >     , uint32_t* pPropertyCount+-- >     , VkSparseImageFormatProperties* pProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceSparseImageFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceSparseImageFormatProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceSparseImageFormatProperties <- vkGetProc @VkGetPhysicalDeviceSparseImageFormatProperties+--+-- __Note:__ @vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe@ and @vkGetPhysicalDeviceSparseImageFormatPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceSparseImageFormatProperties@ is an alias+--           of @vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceSparseImageFormatPropertiesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe+               "vkGetPhysicalDeviceSparseImageFormatProperties"+               vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 VkFormat -- ^ format+                          ->+                   VkImageType -- ^ type+                               ->+                     VkSampleCountFlagBits -- ^ samples+                                           ->+                       VkImageUsageFlags -- ^ usage+                                         ->+                         VkImageTiling -- ^ tiling+                                       ->+                           Ptr Word32 -- ^ pPropertyCount+                                      -> Ptr VkSparseImageFormatProperties -- ^ pProperties+                                                                           -> IO ()++##else+vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe ::+                                                     VkPhysicalDevice -- ^ physicalDevice+                                                                      ->+                                                       VkFormat -- ^ format+                                                                ->+                                                         VkImageType -- ^ type+                                                                     ->+                                                           VkSampleCountFlagBits -- ^ samples+                                                                                 ->+                                                             VkImageUsageFlags -- ^ usage+                                                                               ->+                                                               VkImageTiling -- ^ tiling+                                                                             ->+                                                                 Ptr Word32 -- ^ pPropertyCount+                                                                            ->+                                                                   Ptr VkSparseImageFormatProperties -- ^ pProperties+                                                                     -> IO ()+vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetPhysicalDeviceSparseImageFormatProperties)++{-# NOINLINE vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe+             #-}+##endif++-- |+-- > void vkGetPhysicalDeviceSparseImageFormatProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkFormat format+-- >     , VkImageType type+-- >     , VkSampleCountFlagBits samples+-- >     , VkImageUsageFlags usage+-- >     , VkImageTiling tiling+-- >     , uint32_t* pPropertyCount+-- >     , VkSparseImageFormatProperties* pProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceSparseImageFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceSparseImageFormatProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceSparseImageFormatProperties <- vkGetProc @VkGetPhysicalDeviceSparseImageFormatProperties+--+-- __Note:__ @vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe@ and @vkGetPhysicalDeviceSparseImageFormatPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceSparseImageFormatProperties@ is an alias+--           of @vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceSparseImageFormatPropertiesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe+               "vkGetPhysicalDeviceSparseImageFormatProperties"+               vkGetPhysicalDeviceSparseImageFormatPropertiesSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 VkFormat -- ^ format+                          ->+                   VkImageType -- ^ type+                               ->+                     VkSampleCountFlagBits -- ^ samples+                                           ->+                       VkImageUsageFlags -- ^ usage+                                         ->+                         VkImageTiling -- ^ tiling+                                       ->+                           Ptr Word32 -- ^ pPropertyCount+                                      -> Ptr VkSparseImageFormatProperties -- ^ pProperties+                                                                           -> IO ()++##else+vkGetPhysicalDeviceSparseImageFormatPropertiesSafe ::+                                                   VkPhysicalDevice -- ^ physicalDevice+                                                                    ->+                                                     VkFormat -- ^ format+                                                              ->+                                                       VkImageType -- ^ type+                                                                   ->+                                                         VkSampleCountFlagBits -- ^ samples+                                                                               ->+                                                           VkImageUsageFlags -- ^ usage+                                                                             ->+                                                             VkImageTiling -- ^ tiling+                                                                           ->+                                                               Ptr Word32 -- ^ pPropertyCount+                                                                          ->+                                                                 Ptr VkSparseImageFormatProperties -- ^ pProperties+                                                                   -> IO ()+vkGetPhysicalDeviceSparseImageFormatPropertiesSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetPhysicalDeviceSparseImageFormatProperties)++{-# NOINLINE vkGetPhysicalDeviceSparseImageFormatPropertiesSafe #-}+##endif++-- |+-- > void vkGetPhysicalDeviceSparseImageFormatProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkFormat format+-- >     , VkImageType type+-- >     , VkSampleCountFlagBits samples+-- >     , VkImageUsageFlags usage+-- >     , VkImageTiling tiling+-- >     , uint32_t* pPropertyCount+-- >     , VkSparseImageFormatProperties* pProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceSparseImageFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceSparseImageFormatProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceSparseImageFormatProperties <- vkGetProc @VkGetPhysicalDeviceSparseImageFormatProperties+--+-- __Note:__ @vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe@ and @vkGetPhysicalDeviceSparseImageFormatPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceSparseImageFormatProperties@ is an alias+--           of @vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceSparseImageFormatPropertiesSafe@.+--+vkGetPhysicalDeviceSparseImageFormatProperties ::+                                               VkPhysicalDevice -- ^ physicalDevice+                                                                ->+                                                 VkFormat -- ^ format+                                                          ->+                                                   VkImageType -- ^ type+                                                               ->+                                                     VkSampleCountFlagBits -- ^ samples+                                                                           ->+                                                       VkImageUsageFlags -- ^ usage+                                                                         ->+                                                         VkImageTiling -- ^ tiling+                                                                       ->+                                                           Ptr Word32 -- ^ pPropertyCount+                                                                      ->+                                                             Ptr VkSparseImageFormatProperties -- ^ pProperties+                                                                                               ->+                                                               IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceSparseImageFormatProperties+  = vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe+##else+vkGetPhysicalDeviceSparseImageFormatProperties+  = vkGetPhysicalDeviceSparseImageFormatPropertiesSafe++##endif+{-# INLINE vkGetPhysicalDeviceSparseImageFormatProperties #-}++-- | > void vkGetPhysicalDeviceSparseImageFormatProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkFormat format+--   >     , VkImageType type+--   >     , VkSampleCountFlagBits samples+--   >     , VkImageUsageFlags usage+--   >     , VkImageTiling tiling+--   >     , uint32_t* pPropertyCount+--   >     , VkSparseImageFormatProperties* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties registry at www.khronos.org>+type HS_vkGetPhysicalDeviceSparseImageFormatProperties =+     VkPhysicalDevice -- ^ physicalDevice+                      ->+       VkFormat -- ^ format+                ->+         VkImageType -- ^ type+                     ->+           VkSampleCountFlagBits -- ^ samples+                                 ->+             VkImageUsageFlags -- ^ usage+                               ->+               VkImageTiling -- ^ tiling+                             ->+                 Ptr Word32 -- ^ pPropertyCount+                            -> Ptr VkSparseImageFormatProperties -- ^ pProperties+                                                                 -> IO ()++type PFN_vkGetPhysicalDeviceSparseImageFormatProperties =+     FunPtr HS_vkGetPhysicalDeviceSparseImageFormatProperties++foreign import ccall unsafe "dynamic"+               unwrapVkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe ::+               PFN_vkGetPhysicalDeviceSparseImageFormatProperties ->+                 HS_vkGetPhysicalDeviceSparseImageFormatProperties++foreign import ccall safe "dynamic"+               unwrapVkGetPhysicalDeviceSparseImageFormatPropertiesSafe ::+               PFN_vkGetPhysicalDeviceSparseImageFormatProperties ->+                 HS_vkGetPhysicalDeviceSparseImageFormatProperties++instance VulkanProc+           "vkGetPhysicalDeviceSparseImageFormatProperties"+         where+    type VkProcType "vkGetPhysicalDeviceSparseImageFormatProperties" =+         HS_vkGetPhysicalDeviceSparseImageFormatProperties+    vkProcSymbol = _VkGetPhysicalDeviceSparseImageFormatProperties++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceSparseImageFormatPropertiesSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkQueueBindSparse :: CString++pattern VkQueueBindSparse <- (is_VkQueueBindSparse -> True)+  where+    VkQueueBindSparse = _VkQueueBindSparse++{-# INLINE _VkQueueBindSparse #-}++_VkQueueBindSparse :: CString+_VkQueueBindSparse = Ptr "vkQueueBindSparse\NUL"##++{-# INLINE is_VkQueueBindSparse #-}++is_VkQueueBindSparse :: CString -> Bool+is_VkQueueBindSparse = (EQ ==) . cmpCStrings _VkQueueBindSparse++type VkQueueBindSparse = "vkQueueBindSparse"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- Queues: 'sparse_binding'.+--+-- > VkResult vkQueueBindSparse+-- >     ( VkQueue queue+-- >     , uint32_t bindInfoCount+-- >     , const VkBindSparseInfo* pBindInfo+-- >     , VkFence fence+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueBindSparse vkQueueBindSparse registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myQueueBindSparse <- vkGetInstanceProc @VkQueueBindSparse vkInstance+--+-- or less efficient:+--+-- > myQueueBindSparse <- vkGetProc @VkQueueBindSparse+--+-- __Note:__ @vkQueueBindSparseUnsafe@ and @vkQueueBindSparseSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkQueueBindSparse@ is an alias+--           of @vkQueueBindSparseUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkQueueBindSparseSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkQueueBindSparse"+               vkQueueBindSparseUnsafe ::+               VkQueue -- ^ queue+                       -> Word32 -- ^ bindInfoCount+                                 -> Ptr VkBindSparseInfo -- ^ pBindInfo+                                                         -> VkFence -- ^ fence+                                                                    -> IO VkResult++##else+vkQueueBindSparseUnsafe ::+                        VkQueue -- ^ queue+                                -> Word32 -- ^ bindInfoCount+                                          -> Ptr VkBindSparseInfo -- ^ pBindInfo+                                                                  -> VkFence -- ^ fence+                                                                             -> IO VkResult+vkQueueBindSparseUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkQueueBindSparse)++{-# NOINLINE vkQueueBindSparseUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- Queues: 'sparse_binding'.+--+-- > VkResult vkQueueBindSparse+-- >     ( VkQueue queue+-- >     , uint32_t bindInfoCount+-- >     , const VkBindSparseInfo* pBindInfo+-- >     , VkFence fence+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueBindSparse vkQueueBindSparse registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myQueueBindSparse <- vkGetInstanceProc @VkQueueBindSparse vkInstance+--+-- or less efficient:+--+-- > myQueueBindSparse <- vkGetProc @VkQueueBindSparse+--+-- __Note:__ @vkQueueBindSparseUnsafe@ and @vkQueueBindSparseSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkQueueBindSparse@ is an alias+--           of @vkQueueBindSparseUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkQueueBindSparseSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkQueueBindSparse" vkQueueBindSparseSafe+               ::+               VkQueue -- ^ queue+                       -> Word32 -- ^ bindInfoCount+                                 -> Ptr VkBindSparseInfo -- ^ pBindInfo+                                                         -> VkFence -- ^ fence+                                                                    -> IO VkResult++##else+vkQueueBindSparseSafe ::+                      VkQueue -- ^ queue+                              -> Word32 -- ^ bindInfoCount+                                        -> Ptr VkBindSparseInfo -- ^ pBindInfo+                                                                -> VkFence -- ^ fence+                                                                           -> IO VkResult+vkQueueBindSparseSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkQueueBindSparse)++{-# NOINLINE vkQueueBindSparseSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- Queues: 'sparse_binding'.+--+-- > VkResult vkQueueBindSparse+-- >     ( VkQueue queue+-- >     , uint32_t bindInfoCount+-- >     , const VkBindSparseInfo* pBindInfo+-- >     , VkFence fence+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueBindSparse vkQueueBindSparse registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myQueueBindSparse <- vkGetInstanceProc @VkQueueBindSparse vkInstance+--+-- or less efficient:+--+-- > myQueueBindSparse <- vkGetProc @VkQueueBindSparse+--+-- __Note:__ @vkQueueBindSparseUnsafe@ and @vkQueueBindSparseSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkQueueBindSparse@ is an alias+--           of @vkQueueBindSparseUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkQueueBindSparseSafe@.+--+vkQueueBindSparse ::+                  VkQueue -- ^ queue+                          -> Word32 -- ^ bindInfoCount+                                    -> Ptr VkBindSparseInfo -- ^ pBindInfo+                                                            -> VkFence -- ^ fence+                                                                       -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkQueueBindSparse = vkQueueBindSparseUnsafe+##else+vkQueueBindSparse = vkQueueBindSparseSafe++##endif+{-# INLINE vkQueueBindSparse #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+--   Queues: 'sparse_binding'.+--+--   > VkResult vkQueueBindSparse+--   >     ( VkQueue queue+--   >     , uint32_t bindInfoCount+--   >     , const VkBindSparseInfo* pBindInfo+--   >     , VkFence fence+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueBindSparse vkQueueBindSparse registry at www.khronos.org>+type HS_vkQueueBindSparse =+     VkQueue -- ^ queue+             -> Word32 -- ^ bindInfoCount+                       -> Ptr VkBindSparseInfo -- ^ pBindInfo+                                               -> VkFence -- ^ fence+                                                          -> IO VkResult++type PFN_vkQueueBindSparse = FunPtr HS_vkQueueBindSparse++foreign import ccall unsafe "dynamic" unwrapVkQueueBindSparseUnsafe+               :: PFN_vkQueueBindSparse -> HS_vkQueueBindSparse++foreign import ccall safe "dynamic" unwrapVkQueueBindSparseSafe ::+               PFN_vkQueueBindSparse -> HS_vkQueueBindSparse++instance VulkanProc "vkQueueBindSparse" where+    type VkProcType "vkQueueBindSparse" = HS_vkQueueBindSparse+    vkProcSymbol = _VkQueueBindSparse++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkQueueBindSparseUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkQueueBindSparseSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCreateFence :: CString++pattern VkCreateFence <- (is_VkCreateFence -> True)+  where+    VkCreateFence = _VkCreateFence++{-# INLINE _VkCreateFence #-}++_VkCreateFence :: CString+_VkCreateFence = Ptr "vkCreateFence\NUL"##++{-# INLINE is_VkCreateFence #-}++is_VkCreateFence :: CString -> Bool+is_VkCreateFence = (EQ ==) . cmpCStrings _VkCreateFence++type VkCreateFence = "vkCreateFence"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateFence+-- >     ( VkDevice device+-- >     , const VkFenceCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkFence* pFence+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateFence vkCreateFence registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateFence <- vkGetDeviceProc @VkCreateFence vkDevice+--+-- or less efficient:+--+-- > myCreateFence <- vkGetProc @VkCreateFence+--+-- __Note:__ @vkCreateFenceUnsafe@ and @vkCreateFenceSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateFence@ is an alias+--           of @vkCreateFenceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateFenceSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCreateFence" vkCreateFenceUnsafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkFenceCreateInfo -- ^ pCreateInfo+                                       ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkFence -- ^ pFence+                                                            -> IO VkResult++##else+vkCreateFenceUnsafe ::+                    VkDevice -- ^ device+                             ->+                      Ptr VkFenceCreateInfo -- ^ pCreateInfo+                                            ->+                        Ptr VkAllocationCallbacks -- ^ pAllocator+                                                  -> Ptr VkFence -- ^ pFence+                                                                 -> IO VkResult+vkCreateFenceUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateFence)++{-# NOINLINE vkCreateFenceUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateFence+-- >     ( VkDevice device+-- >     , const VkFenceCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkFence* pFence+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateFence vkCreateFence registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateFence <- vkGetDeviceProc @VkCreateFence vkDevice+--+-- or less efficient:+--+-- > myCreateFence <- vkGetProc @VkCreateFence+--+-- __Note:__ @vkCreateFenceUnsafe@ and @vkCreateFenceSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateFence@ is an alias+--           of @vkCreateFenceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateFenceSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCreateFence" vkCreateFenceSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkFenceCreateInfo -- ^ pCreateInfo+                                       ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkFence -- ^ pFence+                                                            -> IO VkResult++##else+vkCreateFenceSafe ::+                  VkDevice -- ^ device+                           ->+                    Ptr VkFenceCreateInfo -- ^ pCreateInfo+                                          ->+                      Ptr VkAllocationCallbacks -- ^ pAllocator+                                                -> Ptr VkFence -- ^ pFence+                                                               -> IO VkResult+vkCreateFenceSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateFence)++{-# NOINLINE vkCreateFenceSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateFence+-- >     ( VkDevice device+-- >     , const VkFenceCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkFence* pFence+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateFence vkCreateFence registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateFence <- vkGetDeviceProc @VkCreateFence vkDevice+--+-- or less efficient:+--+-- > myCreateFence <- vkGetProc @VkCreateFence+--+-- __Note:__ @vkCreateFenceUnsafe@ and @vkCreateFenceSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateFence@ is an alias+--           of @vkCreateFenceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateFenceSafe@.+--+vkCreateFence ::+              VkDevice -- ^ device+                       ->+                Ptr VkFenceCreateInfo -- ^ pCreateInfo+                                      ->+                  Ptr VkAllocationCallbacks -- ^ pAllocator+                                            -> Ptr VkFence -- ^ pFence+                                                           -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkCreateFence = vkCreateFenceUnsafe+##else+vkCreateFence = vkCreateFenceSafe++##endif+{-# INLINE vkCreateFence #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateFence+--   >     ( VkDevice device+--   >     , const VkFenceCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkFence* pFence+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateFence vkCreateFence registry at www.khronos.org>+type HS_vkCreateFence =+     VkDevice -- ^ device+              ->+       Ptr VkFenceCreateInfo -- ^ pCreateInfo+                             ->+         Ptr VkAllocationCallbacks -- ^ pAllocator+                                   -> Ptr VkFence -- ^ pFence+                                                  -> IO VkResult++type PFN_vkCreateFence = FunPtr HS_vkCreateFence++foreign import ccall unsafe "dynamic" unwrapVkCreateFenceUnsafe ::+               PFN_vkCreateFence -> HS_vkCreateFence++foreign import ccall safe "dynamic" unwrapVkCreateFenceSafe ::+               PFN_vkCreateFence -> HS_vkCreateFence++instance VulkanProc "vkCreateFence" where+    type VkProcType "vkCreateFence" = HS_vkCreateFence+    vkProcSymbol = _VkCreateFence++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateFenceUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateFenceSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkDestroyFence :: CString++pattern VkDestroyFence <- (is_VkDestroyFence -> True)+  where+    VkDestroyFence = _VkDestroyFence++{-# INLINE _VkDestroyFence #-}++_VkDestroyFence :: CString+_VkDestroyFence = Ptr "vkDestroyFence\NUL"##++{-# INLINE is_VkDestroyFence #-}++is_VkDestroyFence :: CString -> Bool+is_VkDestroyFence = (EQ ==) . cmpCStrings _VkDestroyFence++type VkDestroyFence = "vkDestroyFence"++-- |+-- > void vkDestroyFence+-- >     ( VkDevice device+-- >     , VkFence fence+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyFence vkDestroyFence registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyFence <- vkGetDeviceProc @VkDestroyFence vkDevice+--+-- or less efficient:+--+-- > myDestroyFence <- vkGetProc @VkDestroyFence+--+-- __Note:__ @vkDestroyFenceUnsafe@ and @vkDestroyFenceSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyFence@ is an alias+--           of @vkDestroyFenceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyFenceSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkDestroyFence" vkDestroyFenceUnsafe+               :: VkDevice -- ^ device+                           -> VkFence -- ^ fence+                                      -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                   -> IO ()++##else+vkDestroyFenceUnsafe ::+                     VkDevice -- ^ device+                              -> VkFence -- ^ fence+                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                      -> IO ()+vkDestroyFenceUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyFence)++{-# NOINLINE vkDestroyFenceUnsafe #-}+##endif++-- |+-- > void vkDestroyFence+-- >     ( VkDevice device+-- >     , VkFence fence+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyFence vkDestroyFence registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyFence <- vkGetDeviceProc @VkDestroyFence vkDevice+--+-- or less efficient:+--+-- > myDestroyFence <- vkGetProc @VkDestroyFence+--+-- __Note:__ @vkDestroyFenceUnsafe@ and @vkDestroyFenceSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyFence@ is an alias+--           of @vkDestroyFenceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyFenceSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkDestroyFence" vkDestroyFenceSafe ::+               VkDevice -- ^ device+                        -> VkFence -- ^ fence+                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                -> IO ()++##else+vkDestroyFenceSafe ::+                   VkDevice -- ^ device+                            -> VkFence -- ^ fence+                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                    -> IO ()+vkDestroyFenceSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyFence)++{-# NOINLINE vkDestroyFenceSafe #-}+##endif++-- |+-- > void vkDestroyFence+-- >     ( VkDevice device+-- >     , VkFence fence+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyFence vkDestroyFence registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyFence <- vkGetDeviceProc @VkDestroyFence vkDevice+--+-- or less efficient:+--+-- > myDestroyFence <- vkGetProc @VkDestroyFence+--+-- __Note:__ @vkDestroyFenceUnsafe@ and @vkDestroyFenceSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyFence@ is an alias+--           of @vkDestroyFenceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyFenceSafe@.+--+vkDestroyFence ::+               VkDevice -- ^ device+                        -> VkFence -- ^ fence+                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkDestroyFence = vkDestroyFenceUnsafe+##else+vkDestroyFence = vkDestroyFenceSafe++##endif+{-# INLINE vkDestroyFence #-}++-- | > void vkDestroyFence+--   >     ( VkDevice device+--   >     , VkFence fence+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyFence vkDestroyFence registry at www.khronos.org>+type HS_vkDestroyFence =+     VkDevice -- ^ device+              -> VkFence -- ^ fence+                         -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                      -> IO ()++type PFN_vkDestroyFence = FunPtr HS_vkDestroyFence++foreign import ccall unsafe "dynamic" unwrapVkDestroyFenceUnsafe ::+               PFN_vkDestroyFence -> HS_vkDestroyFence++foreign import ccall safe "dynamic" unwrapVkDestroyFenceSafe ::+               PFN_vkDestroyFence -> HS_vkDestroyFence++instance VulkanProc "vkDestroyFence" where+    type VkProcType "vkDestroyFence" = HS_vkDestroyFence+    vkProcSymbol = _VkDestroyFence++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDestroyFenceUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroyFenceSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkResetFences :: CString++pattern VkResetFences <- (is_VkResetFences -> True)+  where+    VkResetFences = _VkResetFences++{-# INLINE _VkResetFences #-}++_VkResetFences :: CString+_VkResetFences = Ptr "vkResetFences\NUL"##++{-# INLINE is_VkResetFences #-}++is_VkResetFences :: CString -> Bool+is_VkResetFences = (EQ ==) . cmpCStrings _VkResetFences++type VkResetFences = "vkResetFences"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetFences+-- >     ( VkDevice device+-- >     , uint32_t fenceCount+-- >     , const VkFence* pFences+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetFences vkResetFences registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myResetFences <- vkGetDeviceProc @VkResetFences vkDevice+--+-- or less efficient:+--+-- > myResetFences <- vkGetProc @VkResetFences+--+-- __Note:__ @vkResetFencesUnsafe@ and @vkResetFencesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkResetFences@ is an alias+--           of @vkResetFencesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkResetFencesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkResetFences" vkResetFencesUnsafe ::+               VkDevice -- ^ device+                        -> Word32 -- ^ fenceCount+                                  -> Ptr VkFence -- ^ pFences+                                                 -> IO VkResult++##else+vkResetFencesUnsafe ::+                    VkDevice -- ^ device+                             -> Word32 -- ^ fenceCount+                                       -> Ptr VkFence -- ^ pFences+                                                      -> IO VkResult+vkResetFencesUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkResetFences)++{-# NOINLINE vkResetFencesUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetFences+-- >     ( VkDevice device+-- >     , uint32_t fenceCount+-- >     , const VkFence* pFences+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetFences vkResetFences registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myResetFences <- vkGetDeviceProc @VkResetFences vkDevice+--+-- or less efficient:+--+-- > myResetFences <- vkGetProc @VkResetFences+--+-- __Note:__ @vkResetFencesUnsafe@ and @vkResetFencesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkResetFences@ is an alias+--           of @vkResetFencesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkResetFencesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkResetFences" vkResetFencesSafe ::+               VkDevice -- ^ device+                        -> Word32 -- ^ fenceCount+                                  -> Ptr VkFence -- ^ pFences+                                                 -> IO VkResult++##else+vkResetFencesSafe ::+                  VkDevice -- ^ device+                           -> Word32 -- ^ fenceCount+                                     -> Ptr VkFence -- ^ pFences+                                                    -> IO VkResult+vkResetFencesSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkResetFences)++{-# NOINLINE vkResetFencesSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetFences+-- >     ( VkDevice device+-- >     , uint32_t fenceCount+-- >     , const VkFence* pFences+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetFences vkResetFences registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myResetFences <- vkGetDeviceProc @VkResetFences vkDevice+--+-- or less efficient:+--+-- > myResetFences <- vkGetProc @VkResetFences+--+-- __Note:__ @vkResetFencesUnsafe@ and @vkResetFencesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkResetFences@ is an alias+--           of @vkResetFencesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkResetFencesSafe@.+--+vkResetFences :: VkDevice -- ^ device+                          -> Word32 -- ^ fenceCount+                                    -> Ptr VkFence -- ^ pFences+                                                   -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkResetFences = vkResetFencesUnsafe+##else+vkResetFences = vkResetFencesSafe++##endif+{-# INLINE vkResetFences #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkResetFences+--   >     ( VkDevice device+--   >     , uint32_t fenceCount+--   >     , const VkFence* pFences+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetFences vkResetFences registry at www.khronos.org>+type HS_vkResetFences =+     VkDevice -- ^ device+              -> Word32 -- ^ fenceCount+                        -> Ptr VkFence -- ^ pFences+                                       -> IO VkResult++type PFN_vkResetFences = FunPtr HS_vkResetFences++foreign import ccall unsafe "dynamic" unwrapVkResetFencesUnsafe ::+               PFN_vkResetFences -> HS_vkResetFences++foreign import ccall safe "dynamic" unwrapVkResetFencesSafe ::+               PFN_vkResetFences -> HS_vkResetFences++instance VulkanProc "vkResetFences" where+    type VkProcType "vkResetFences" = HS_vkResetFences+    vkProcSymbol = _VkResetFences++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkResetFencesUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkResetFencesSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetFenceStatus :: CString++pattern VkGetFenceStatus <- (is_VkGetFenceStatus -> True)+  where+    VkGetFenceStatus = _VkGetFenceStatus++{-# INLINE _VkGetFenceStatus #-}++_VkGetFenceStatus :: CString+_VkGetFenceStatus = Ptr "vkGetFenceStatus\NUL"##++{-# INLINE is_VkGetFenceStatus #-}++is_VkGetFenceStatus :: CString -> Bool+is_VkGetFenceStatus = (EQ ==) . cmpCStrings _VkGetFenceStatus++type VkGetFenceStatus = "vkGetFenceStatus"++-- |+-- Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkGetFenceStatus+-- >     ( VkDevice device+-- >     , VkFence fence+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetFenceStatus vkGetFenceStatus registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetFenceStatus <- vkGetDeviceProc @VkGetFenceStatus vkDevice+--+-- or less efficient:+--+-- > myGetFenceStatus <- vkGetProc @VkGetFenceStatus+--+-- __Note:__ @vkGetFenceStatusUnsafe@ and @vkGetFenceStatusSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetFenceStatus@ is an alias+--           of @vkGetFenceStatusUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetFenceStatusSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkGetFenceStatus"+               vkGetFenceStatusUnsafe :: VkDevice -- ^ device+                                                  -> VkFence -- ^ fence+                                                             -> IO VkResult++##else+vkGetFenceStatusUnsafe :: VkDevice -- ^ device+                                   -> VkFence -- ^ fence+                                              -> IO VkResult+vkGetFenceStatusUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkGetFenceStatus)++{-# NOINLINE vkGetFenceStatusUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkGetFenceStatus+-- >     ( VkDevice device+-- >     , VkFence fence+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetFenceStatus vkGetFenceStatus registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetFenceStatus <- vkGetDeviceProc @VkGetFenceStatus vkDevice+--+-- or less efficient:+--+-- > myGetFenceStatus <- vkGetProc @VkGetFenceStatus+--+-- __Note:__ @vkGetFenceStatusUnsafe@ and @vkGetFenceStatusSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetFenceStatus@ is an alias+--           of @vkGetFenceStatusUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetFenceStatusSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkGetFenceStatus" vkGetFenceStatusSafe+               :: VkDevice -- ^ device+                           -> VkFence -- ^ fence+                                      -> IO VkResult++##else+vkGetFenceStatusSafe :: VkDevice -- ^ device+                                 -> VkFence -- ^ fence+                                            -> IO VkResult+vkGetFenceStatusSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkGetFenceStatus)++{-# NOINLINE vkGetFenceStatusSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkGetFenceStatus+-- >     ( VkDevice device+-- >     , VkFence fence+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetFenceStatus vkGetFenceStatus registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetFenceStatus <- vkGetDeviceProc @VkGetFenceStatus vkDevice+--+-- or less efficient:+--+-- > myGetFenceStatus <- vkGetProc @VkGetFenceStatus+--+-- __Note:__ @vkGetFenceStatusUnsafe@ and @vkGetFenceStatusSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetFenceStatus@ is an alias+--           of @vkGetFenceStatusUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetFenceStatusSafe@.+--+vkGetFenceStatus :: VkDevice -- ^ device+                             -> VkFence -- ^ fence+                                        -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkGetFenceStatus = vkGetFenceStatusUnsafe+##else+vkGetFenceStatus = vkGetFenceStatusSafe++##endif+{-# INLINE vkGetFenceStatus #-}++-- | Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+--   > VkResult vkGetFenceStatus+--   >     ( VkDevice device+--   >     , VkFence fence+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetFenceStatus vkGetFenceStatus registry at www.khronos.org>+type HS_vkGetFenceStatus = VkDevice -- ^ device+                                    -> VkFence -- ^ fence+                                               -> IO VkResult++type PFN_vkGetFenceStatus = FunPtr HS_vkGetFenceStatus++foreign import ccall unsafe "dynamic" unwrapVkGetFenceStatusUnsafe+               :: PFN_vkGetFenceStatus -> HS_vkGetFenceStatus++foreign import ccall safe "dynamic" unwrapVkGetFenceStatusSafe ::+               PFN_vkGetFenceStatus -> HS_vkGetFenceStatus++instance VulkanProc "vkGetFenceStatus" where+    type VkProcType "vkGetFenceStatus" = HS_vkGetFenceStatus+    vkProcSymbol = _VkGetFenceStatus++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetFenceStatusUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetFenceStatusSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkWaitForFences :: CString++pattern VkWaitForFences <- (is_VkWaitForFences -> True)+  where+    VkWaitForFences = _VkWaitForFences++{-# INLINE _VkWaitForFences #-}++_VkWaitForFences :: CString+_VkWaitForFences = Ptr "vkWaitForFences\NUL"##++{-# INLINE is_VkWaitForFences #-}++is_VkWaitForFences :: CString -> Bool+is_VkWaitForFences = (EQ ==) . cmpCStrings _VkWaitForFences++type VkWaitForFences = "vkWaitForFences"++-- |+-- Success codes: 'VK_SUCCESS', 'VK_TIMEOUT'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkWaitForFences+-- >     ( VkDevice device+-- >     , uint32_t fenceCount+-- >     , const VkFence* pFences+-- >     , VkBool32 waitAll+-- >     , uint64_t timeout+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkWaitForFences vkWaitForFences registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myWaitForFences <- vkGetDeviceProc @VkWaitForFences vkDevice+--+-- or less efficient:+--+-- > myWaitForFences <- vkGetProc @VkWaitForFences+--+-- __Note:__ @vkWaitForFencesUnsafe@ and @vkWaitForFencesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkWaitForFences@ is an alias+--           of @vkWaitForFencesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkWaitForFencesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkWaitForFences" vkWaitForFencesUnsafe+               ::+               VkDevice -- ^ device+                        ->+                 Word32 -- ^ fenceCount+                        -> Ptr VkFence -- ^ pFences+                                       -> VkBool32 -- ^ waitAll+                                                   -> Word64 -- ^ timeout+                                                             -> IO VkResult++##else+vkWaitForFencesUnsafe ::+                      VkDevice -- ^ device+                               ->+                        Word32 -- ^ fenceCount+                               -> Ptr VkFence -- ^ pFences+                                              -> VkBool32 -- ^ waitAll+                                                          -> Word64 -- ^ timeout+                                                                    -> IO VkResult+vkWaitForFencesUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkWaitForFences)++{-# NOINLINE vkWaitForFencesUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS', 'VK_TIMEOUT'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkWaitForFences+-- >     ( VkDevice device+-- >     , uint32_t fenceCount+-- >     , const VkFence* pFences+-- >     , VkBool32 waitAll+-- >     , uint64_t timeout+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkWaitForFences vkWaitForFences registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myWaitForFences <- vkGetDeviceProc @VkWaitForFences vkDevice+--+-- or less efficient:+--+-- > myWaitForFences <- vkGetProc @VkWaitForFences+--+-- __Note:__ @vkWaitForFencesUnsafe@ and @vkWaitForFencesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkWaitForFences@ is an alias+--           of @vkWaitForFencesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkWaitForFencesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkWaitForFences" vkWaitForFencesSafe ::+               VkDevice -- ^ device+                        ->+                 Word32 -- ^ fenceCount+                        -> Ptr VkFence -- ^ pFences+                                       -> VkBool32 -- ^ waitAll+                                                   -> Word64 -- ^ timeout+                                                             -> IO VkResult++##else+vkWaitForFencesSafe ::+                    VkDevice -- ^ device+                             ->+                      Word32 -- ^ fenceCount+                             -> Ptr VkFence -- ^ pFences+                                            -> VkBool32 -- ^ waitAll+                                                        -> Word64 -- ^ timeout+                                                                  -> IO VkResult+vkWaitForFencesSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkWaitForFences)++{-# NOINLINE vkWaitForFencesSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS', 'VK_TIMEOUT'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkWaitForFences+-- >     ( VkDevice device+-- >     , uint32_t fenceCount+-- >     , const VkFence* pFences+-- >     , VkBool32 waitAll+-- >     , uint64_t timeout+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkWaitForFences vkWaitForFences registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myWaitForFences <- vkGetDeviceProc @VkWaitForFences vkDevice+--+-- or less efficient:+--+-- > myWaitForFences <- vkGetProc @VkWaitForFences+--+-- __Note:__ @vkWaitForFencesUnsafe@ and @vkWaitForFencesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkWaitForFences@ is an alias+--           of @vkWaitForFencesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkWaitForFencesSafe@.+--+vkWaitForFences ::+                VkDevice -- ^ device+                         ->+                  Word32 -- ^ fenceCount+                         -> Ptr VkFence -- ^ pFences+                                        -> VkBool32 -- ^ waitAll+                                                    -> Word64 -- ^ timeout+                                                              -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkWaitForFences = vkWaitForFencesUnsafe+##else+vkWaitForFences = vkWaitForFencesSafe++##endif+{-# INLINE vkWaitForFences #-}++-- | Success codes: 'VK_SUCCESS', 'VK_TIMEOUT'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+--   > VkResult vkWaitForFences+--   >     ( VkDevice device+--   >     , uint32_t fenceCount+--   >     , const VkFence* pFences+--   >     , VkBool32 waitAll+--   >     , uint64_t timeout+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkWaitForFences vkWaitForFences registry at www.khronos.org>+type HS_vkWaitForFences =+     VkDevice -- ^ device+              ->+       Word32 -- ^ fenceCount+              -> Ptr VkFence -- ^ pFences+                             -> VkBool32 -- ^ waitAll+                                         -> Word64 -- ^ timeout+                                                   -> IO VkResult++type PFN_vkWaitForFences = FunPtr HS_vkWaitForFences++foreign import ccall unsafe "dynamic" unwrapVkWaitForFencesUnsafe+               :: PFN_vkWaitForFences -> HS_vkWaitForFences++foreign import ccall safe "dynamic" unwrapVkWaitForFencesSafe ::+               PFN_vkWaitForFences -> HS_vkWaitForFences++instance VulkanProc "vkWaitForFences" where+    type VkProcType "vkWaitForFences" = HS_vkWaitForFences+    vkProcSymbol = _VkWaitForFences++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkWaitForFencesUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkWaitForFencesSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCreateSemaphore :: CString++pattern VkCreateSemaphore <- (is_VkCreateSemaphore -> True)+  where+    VkCreateSemaphore = _VkCreateSemaphore++{-# INLINE _VkCreateSemaphore #-}++_VkCreateSemaphore :: CString+_VkCreateSemaphore = Ptr "vkCreateSemaphore\NUL"##++{-# INLINE is_VkCreateSemaphore #-}++is_VkCreateSemaphore :: CString -> Bool+is_VkCreateSemaphore = (EQ ==) . cmpCStrings _VkCreateSemaphore++type VkCreateSemaphore = "vkCreateSemaphore"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateSemaphore+-- >     ( VkDevice device+-- >     , const VkSemaphoreCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkSemaphore* pSemaphore+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSemaphore vkCreateSemaphore registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateSemaphore <- vkGetDeviceProc @VkCreateSemaphore vkDevice+--+-- or less efficient:+--+-- > myCreateSemaphore <- vkGetProc @VkCreateSemaphore+--+-- __Note:__ @vkCreateSemaphoreUnsafe@ and @vkCreateSemaphoreSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateSemaphore@ is an alias+--           of @vkCreateSemaphoreUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateSemaphoreSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCreateSemaphore"+               vkCreateSemaphoreUnsafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkSemaphoreCreateInfo -- ^ pCreateInfo+                                           ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkSemaphore -- ^ pSemaphore+                                                                -> IO VkResult++##else+vkCreateSemaphoreUnsafe ::+                        VkDevice -- ^ device+                                 ->+                          Ptr VkSemaphoreCreateInfo -- ^ pCreateInfo+                                                    ->+                            Ptr VkAllocationCallbacks -- ^ pAllocator+                                                      -> Ptr VkSemaphore -- ^ pSemaphore+                                                                         -> IO VkResult+vkCreateSemaphoreUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateSemaphore)++{-# NOINLINE vkCreateSemaphoreUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateSemaphore+-- >     ( VkDevice device+-- >     , const VkSemaphoreCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkSemaphore* pSemaphore+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSemaphore vkCreateSemaphore registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateSemaphore <- vkGetDeviceProc @VkCreateSemaphore vkDevice+--+-- or less efficient:+--+-- > myCreateSemaphore <- vkGetProc @VkCreateSemaphore+--+-- __Note:__ @vkCreateSemaphoreUnsafe@ and @vkCreateSemaphoreSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateSemaphore@ is an alias+--           of @vkCreateSemaphoreUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateSemaphoreSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCreateSemaphore" vkCreateSemaphoreSafe+               ::+               VkDevice -- ^ device+                        ->+                 Ptr VkSemaphoreCreateInfo -- ^ pCreateInfo+                                           ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkSemaphore -- ^ pSemaphore+                                                                -> IO VkResult++##else+vkCreateSemaphoreSafe ::+                      VkDevice -- ^ device+                               ->+                        Ptr VkSemaphoreCreateInfo -- ^ pCreateInfo+                                                  ->+                          Ptr VkAllocationCallbacks -- ^ pAllocator+                                                    -> Ptr VkSemaphore -- ^ pSemaphore+                                                                       -> IO VkResult+vkCreateSemaphoreSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateSemaphore)++{-# NOINLINE vkCreateSemaphoreSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateSemaphore+-- >     ( VkDevice device+-- >     , const VkSemaphoreCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkSemaphore* pSemaphore+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSemaphore vkCreateSemaphore registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateSemaphore <- vkGetDeviceProc @VkCreateSemaphore vkDevice+--+-- or less efficient:+--+-- > myCreateSemaphore <- vkGetProc @VkCreateSemaphore+--+-- __Note:__ @vkCreateSemaphoreUnsafe@ and @vkCreateSemaphoreSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateSemaphore@ is an alias+--           of @vkCreateSemaphoreUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateSemaphoreSafe@.+--+vkCreateSemaphore ::+                  VkDevice -- ^ device+                           ->+                    Ptr VkSemaphoreCreateInfo -- ^ pCreateInfo+                                              ->+                      Ptr VkAllocationCallbacks -- ^ pAllocator+                                                -> Ptr VkSemaphore -- ^ pSemaphore+                                                                   -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkCreateSemaphore = vkCreateSemaphoreUnsafe+##else+vkCreateSemaphore = vkCreateSemaphoreSafe++##endif+{-# INLINE vkCreateSemaphore #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateSemaphore+--   >     ( VkDevice device+--   >     , const VkSemaphoreCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkSemaphore* pSemaphore+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSemaphore vkCreateSemaphore registry at www.khronos.org>+type HS_vkCreateSemaphore =+     VkDevice -- ^ device+              ->+       Ptr VkSemaphoreCreateInfo -- ^ pCreateInfo+                                 ->+         Ptr VkAllocationCallbacks -- ^ pAllocator+                                   -> Ptr VkSemaphore -- ^ pSemaphore+                                                      -> IO VkResult++type PFN_vkCreateSemaphore = FunPtr HS_vkCreateSemaphore++foreign import ccall unsafe "dynamic" unwrapVkCreateSemaphoreUnsafe+               :: PFN_vkCreateSemaphore -> HS_vkCreateSemaphore++foreign import ccall safe "dynamic" unwrapVkCreateSemaphoreSafe ::+               PFN_vkCreateSemaphore -> HS_vkCreateSemaphore++instance VulkanProc "vkCreateSemaphore" where+    type VkProcType "vkCreateSemaphore" = HS_vkCreateSemaphore+    vkProcSymbol = _VkCreateSemaphore++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateSemaphoreUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateSemaphoreSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkDestroySemaphore :: CString++pattern VkDestroySemaphore <- (is_VkDestroySemaphore -> True)+  where+    VkDestroySemaphore = _VkDestroySemaphore++{-# INLINE _VkDestroySemaphore #-}++_VkDestroySemaphore :: CString+_VkDestroySemaphore = Ptr "vkDestroySemaphore\NUL"##++{-# INLINE is_VkDestroySemaphore #-}++is_VkDestroySemaphore :: CString -> Bool+is_VkDestroySemaphore = (EQ ==) . cmpCStrings _VkDestroySemaphore++type VkDestroySemaphore = "vkDestroySemaphore"++-- |+-- > void vkDestroySemaphore+-- >     ( VkDevice device+-- >     , VkSemaphore semaphore+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySemaphore vkDestroySemaphore registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroySemaphore <- vkGetDeviceProc @VkDestroySemaphore vkDevice+--+-- or less efficient:+--+-- > myDestroySemaphore <- vkGetProc @VkDestroySemaphore+--+-- __Note:__ @vkDestroySemaphoreUnsafe@ and @vkDestroySemaphoreSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroySemaphore@ is an alias+--           of @vkDestroySemaphoreUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroySemaphoreSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkDestroySemaphore"+               vkDestroySemaphoreUnsafe ::+               VkDevice -- ^ device+                        -> VkSemaphore -- ^ semaphore+                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                    -> IO ()++##else+vkDestroySemaphoreUnsafe ::+                         VkDevice -- ^ device+                                  -> VkSemaphore -- ^ semaphore+                                                 -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                              -> IO ()+vkDestroySemaphoreUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroySemaphore)++{-# NOINLINE vkDestroySemaphoreUnsafe #-}+##endif++-- |+-- > void vkDestroySemaphore+-- >     ( VkDevice device+-- >     , VkSemaphore semaphore+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySemaphore vkDestroySemaphore registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroySemaphore <- vkGetDeviceProc @VkDestroySemaphore vkDevice+--+-- or less efficient:+--+-- > myDestroySemaphore <- vkGetProc @VkDestroySemaphore+--+-- __Note:__ @vkDestroySemaphoreUnsafe@ and @vkDestroySemaphoreSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroySemaphore@ is an alias+--           of @vkDestroySemaphoreUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroySemaphoreSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkDestroySemaphore"+               vkDestroySemaphoreSafe ::+               VkDevice -- ^ device+                        -> VkSemaphore -- ^ semaphore+                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                    -> IO ()++##else+vkDestroySemaphoreSafe ::+                       VkDevice -- ^ device+                                -> VkSemaphore -- ^ semaphore+                                               -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                            -> IO ()+vkDestroySemaphoreSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroySemaphore)++{-# NOINLINE vkDestroySemaphoreSafe #-}+##endif++-- |+-- > void vkDestroySemaphore+-- >     ( VkDevice device+-- >     , VkSemaphore semaphore+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySemaphore vkDestroySemaphore registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroySemaphore <- vkGetDeviceProc @VkDestroySemaphore vkDevice+--+-- or less efficient:+--+-- > myDestroySemaphore <- vkGetProc @VkDestroySemaphore+--+-- __Note:__ @vkDestroySemaphoreUnsafe@ and @vkDestroySemaphoreSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroySemaphore@ is an alias+--           of @vkDestroySemaphoreUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroySemaphoreSafe@.+--+vkDestroySemaphore ::+                   VkDevice -- ^ device+                            -> VkSemaphore -- ^ semaphore+                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                        -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkDestroySemaphore = vkDestroySemaphoreUnsafe+##else+vkDestroySemaphore = vkDestroySemaphoreSafe++##endif+{-# INLINE vkDestroySemaphore #-}++-- | > void vkDestroySemaphore+--   >     ( VkDevice device+--   >     , VkSemaphore semaphore+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySemaphore vkDestroySemaphore registry at www.khronos.org>+type HS_vkDestroySemaphore =+     VkDevice -- ^ device+              -> VkSemaphore -- ^ semaphore+                             -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                          -> IO ()++type PFN_vkDestroySemaphore = FunPtr HS_vkDestroySemaphore++foreign import ccall unsafe "dynamic"+               unwrapVkDestroySemaphoreUnsafe ::+               PFN_vkDestroySemaphore -> HS_vkDestroySemaphore++foreign import ccall safe "dynamic" unwrapVkDestroySemaphoreSafe ::+               PFN_vkDestroySemaphore -> HS_vkDestroySemaphore++instance VulkanProc "vkDestroySemaphore" where+    type VkProcType "vkDestroySemaphore" = HS_vkDestroySemaphore+    vkProcSymbol = _VkDestroySemaphore++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDestroySemaphoreUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroySemaphoreSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCreateEvent :: CString++pattern VkCreateEvent <- (is_VkCreateEvent -> True)+  where+    VkCreateEvent = _VkCreateEvent++{-# INLINE _VkCreateEvent #-}++_VkCreateEvent :: CString+_VkCreateEvent = Ptr "vkCreateEvent\NUL"##++{-# INLINE is_VkCreateEvent #-}++is_VkCreateEvent :: CString -> Bool+is_VkCreateEvent = (EQ ==) . cmpCStrings _VkCreateEvent++type VkCreateEvent = "vkCreateEvent"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateEvent+-- >     ( VkDevice device+-- >     , const VkEventCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkEvent* pEvent+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateEvent vkCreateEvent registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateEvent <- vkGetDeviceProc @VkCreateEvent vkDevice+--+-- or less efficient:+--+-- > myCreateEvent <- vkGetProc @VkCreateEvent+--+-- __Note:__ @vkCreateEventUnsafe@ and @vkCreateEventSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateEvent@ is an alias+--           of @vkCreateEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateEventSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCreateEvent" vkCreateEventUnsafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkEventCreateInfo -- ^ pCreateInfo+                                       ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkEvent -- ^ pEvent+                                                            -> IO VkResult++##else+vkCreateEventUnsafe ::+                    VkDevice -- ^ device+                             ->+                      Ptr VkEventCreateInfo -- ^ pCreateInfo+                                            ->+                        Ptr VkAllocationCallbacks -- ^ pAllocator+                                                  -> Ptr VkEvent -- ^ pEvent+                                                                 -> IO VkResult+vkCreateEventUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateEvent)++{-# NOINLINE vkCreateEventUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateEvent+-- >     ( VkDevice device+-- >     , const VkEventCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkEvent* pEvent+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateEvent vkCreateEvent registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateEvent <- vkGetDeviceProc @VkCreateEvent vkDevice+--+-- or less efficient:+--+-- > myCreateEvent <- vkGetProc @VkCreateEvent+--+-- __Note:__ @vkCreateEventUnsafe@ and @vkCreateEventSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateEvent@ is an alias+--           of @vkCreateEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateEventSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCreateEvent" vkCreateEventSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkEventCreateInfo -- ^ pCreateInfo+                                       ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkEvent -- ^ pEvent+                                                            -> IO VkResult++##else+vkCreateEventSafe ::+                  VkDevice -- ^ device+                           ->+                    Ptr VkEventCreateInfo -- ^ pCreateInfo+                                          ->+                      Ptr VkAllocationCallbacks -- ^ pAllocator+                                                -> Ptr VkEvent -- ^ pEvent+                                                               -> IO VkResult+vkCreateEventSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateEvent)++{-# NOINLINE vkCreateEventSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateEvent+-- >     ( VkDevice device+-- >     , const VkEventCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkEvent* pEvent+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateEvent vkCreateEvent registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateEvent <- vkGetDeviceProc @VkCreateEvent vkDevice+--+-- or less efficient:+--+-- > myCreateEvent <- vkGetProc @VkCreateEvent+--+-- __Note:__ @vkCreateEventUnsafe@ and @vkCreateEventSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateEvent@ is an alias+--           of @vkCreateEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateEventSafe@.+--+vkCreateEvent ::+              VkDevice -- ^ device+                       ->+                Ptr VkEventCreateInfo -- ^ pCreateInfo+                                      ->+                  Ptr VkAllocationCallbacks -- ^ pAllocator+                                            -> Ptr VkEvent -- ^ pEvent+                                                           -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkCreateEvent = vkCreateEventUnsafe+##else+vkCreateEvent = vkCreateEventSafe++##endif+{-# INLINE vkCreateEvent #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateEvent+--   >     ( VkDevice device+--   >     , const VkEventCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkEvent* pEvent+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateEvent vkCreateEvent registry at www.khronos.org>+type HS_vkCreateEvent =+     VkDevice -- ^ device+              ->+       Ptr VkEventCreateInfo -- ^ pCreateInfo+                             ->+         Ptr VkAllocationCallbacks -- ^ pAllocator+                                   -> Ptr VkEvent -- ^ pEvent+                                                  -> IO VkResult++type PFN_vkCreateEvent = FunPtr HS_vkCreateEvent++foreign import ccall unsafe "dynamic" unwrapVkCreateEventUnsafe ::+               PFN_vkCreateEvent -> HS_vkCreateEvent++foreign import ccall safe "dynamic" unwrapVkCreateEventSafe ::+               PFN_vkCreateEvent -> HS_vkCreateEvent++instance VulkanProc "vkCreateEvent" where+    type VkProcType "vkCreateEvent" = HS_vkCreateEvent+    vkProcSymbol = _VkCreateEvent++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateEventUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateEventSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkDestroyEvent :: CString++pattern VkDestroyEvent <- (is_VkDestroyEvent -> True)+  where+    VkDestroyEvent = _VkDestroyEvent++{-# INLINE _VkDestroyEvent #-}++_VkDestroyEvent :: CString+_VkDestroyEvent = Ptr "vkDestroyEvent\NUL"##++{-# INLINE is_VkDestroyEvent #-}++is_VkDestroyEvent :: CString -> Bool+is_VkDestroyEvent = (EQ ==) . cmpCStrings _VkDestroyEvent++type VkDestroyEvent = "vkDestroyEvent"++-- |+-- > void vkDestroyEvent+-- >     ( VkDevice device+-- >     , VkEvent event+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyEvent vkDestroyEvent registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyEvent <- vkGetDeviceProc @VkDestroyEvent vkDevice+--+-- or less efficient:+--+-- > myDestroyEvent <- vkGetProc @VkDestroyEvent+--+-- __Note:__ @vkDestroyEventUnsafe@ and @vkDestroyEventSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyEvent@ is an alias+--           of @vkDestroyEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyEventSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkDestroyEvent" vkDestroyEventUnsafe+               :: VkDevice -- ^ device+                           -> VkEvent -- ^ event+                                      -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                   -> IO ()++##else+vkDestroyEventUnsafe ::+                     VkDevice -- ^ device+                              -> VkEvent -- ^ event+                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                      -> IO ()+vkDestroyEventUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyEvent)++{-# NOINLINE vkDestroyEventUnsafe #-}+##endif++-- |+-- > void vkDestroyEvent+-- >     ( VkDevice device+-- >     , VkEvent event+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyEvent vkDestroyEvent registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyEvent <- vkGetDeviceProc @VkDestroyEvent vkDevice+--+-- or less efficient:+--+-- > myDestroyEvent <- vkGetProc @VkDestroyEvent+--+-- __Note:__ @vkDestroyEventUnsafe@ and @vkDestroyEventSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyEvent@ is an alias+--           of @vkDestroyEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyEventSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkDestroyEvent" vkDestroyEventSafe ::+               VkDevice -- ^ device+                        -> VkEvent -- ^ event+                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                -> IO ()++##else+vkDestroyEventSafe ::+                   VkDevice -- ^ device+                            -> VkEvent -- ^ event+                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                    -> IO ()+vkDestroyEventSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyEvent)++{-# NOINLINE vkDestroyEventSafe #-}+##endif++-- |+-- > void vkDestroyEvent+-- >     ( VkDevice device+-- >     , VkEvent event+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyEvent vkDestroyEvent registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyEvent <- vkGetDeviceProc @VkDestroyEvent vkDevice+--+-- or less efficient:+--+-- > myDestroyEvent <- vkGetProc @VkDestroyEvent+--+-- __Note:__ @vkDestroyEventUnsafe@ and @vkDestroyEventSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyEvent@ is an alias+--           of @vkDestroyEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyEventSafe@.+--+vkDestroyEvent ::+               VkDevice -- ^ device+                        -> VkEvent -- ^ event+                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkDestroyEvent = vkDestroyEventUnsafe+##else+vkDestroyEvent = vkDestroyEventSafe++##endif+{-# INLINE vkDestroyEvent #-}++-- | > void vkDestroyEvent+--   >     ( VkDevice device+--   >     , VkEvent event+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyEvent vkDestroyEvent registry at www.khronos.org>+type HS_vkDestroyEvent =+     VkDevice -- ^ device+              -> VkEvent -- ^ event+                         -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                      -> IO ()++type PFN_vkDestroyEvent = FunPtr HS_vkDestroyEvent++foreign import ccall unsafe "dynamic" unwrapVkDestroyEventUnsafe ::+               PFN_vkDestroyEvent -> HS_vkDestroyEvent++foreign import ccall safe "dynamic" unwrapVkDestroyEventSafe ::+               PFN_vkDestroyEvent -> HS_vkDestroyEvent++instance VulkanProc "vkDestroyEvent" where+    type VkProcType "vkDestroyEvent" = HS_vkDestroyEvent+    vkProcSymbol = _VkDestroyEvent++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDestroyEventUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroyEventSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetEventStatus :: CString++pattern VkGetEventStatus <- (is_VkGetEventStatus -> True)+  where+    VkGetEventStatus = _VkGetEventStatus++{-# INLINE _VkGetEventStatus #-}++_VkGetEventStatus :: CString+_VkGetEventStatus = Ptr "vkGetEventStatus\NUL"##++{-# INLINE is_VkGetEventStatus #-}++is_VkGetEventStatus :: CString -> Bool+is_VkGetEventStatus = (EQ ==) . cmpCStrings _VkGetEventStatus++type VkGetEventStatus = "vkGetEventStatus"++-- |+-- Success codes: 'VK_EVENT_SET', 'VK_EVENT_RESET'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkGetEventStatus+-- >     ( VkDevice device+-- >     , VkEvent event+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetEventStatus vkGetEventStatus registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetEventStatus <- vkGetDeviceProc @VkGetEventStatus vkDevice+--+-- or less efficient:+--+-- > myGetEventStatus <- vkGetProc @VkGetEventStatus+--+-- __Note:__ @vkGetEventStatusUnsafe@ and @vkGetEventStatusSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetEventStatus@ is an alias+--           of @vkGetEventStatusUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetEventStatusSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkGetEventStatus"+               vkGetEventStatusUnsafe :: VkDevice -- ^ device+                                                  -> VkEvent -- ^ event+                                                             -> IO VkResult++##else+vkGetEventStatusUnsafe :: VkDevice -- ^ device+                                   -> VkEvent -- ^ event+                                              -> IO VkResult+vkGetEventStatusUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkGetEventStatus)++{-# NOINLINE vkGetEventStatusUnsafe #-}+##endif++-- |+-- Success codes: 'VK_EVENT_SET', 'VK_EVENT_RESET'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkGetEventStatus+-- >     ( VkDevice device+-- >     , VkEvent event+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetEventStatus vkGetEventStatus registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetEventStatus <- vkGetDeviceProc @VkGetEventStatus vkDevice+--+-- or less efficient:+--+-- > myGetEventStatus <- vkGetProc @VkGetEventStatus+--+-- __Note:__ @vkGetEventStatusUnsafe@ and @vkGetEventStatusSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetEventStatus@ is an alias+--           of @vkGetEventStatusUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetEventStatusSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkGetEventStatus" vkGetEventStatusSafe+               :: VkDevice -- ^ device+                           -> VkEvent -- ^ event+                                      -> IO VkResult++##else+vkGetEventStatusSafe :: VkDevice -- ^ device+                                 -> VkEvent -- ^ event+                                            -> IO VkResult+vkGetEventStatusSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkGetEventStatus)++{-# NOINLINE vkGetEventStatusSafe #-}+##endif++-- |+-- Success codes: 'VK_EVENT_SET', 'VK_EVENT_RESET'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkGetEventStatus+-- >     ( VkDevice device+-- >     , VkEvent event+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetEventStatus vkGetEventStatus registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetEventStatus <- vkGetDeviceProc @VkGetEventStatus vkDevice+--+-- or less efficient:+--+-- > myGetEventStatus <- vkGetProc @VkGetEventStatus+--+-- __Note:__ @vkGetEventStatusUnsafe@ and @vkGetEventStatusSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetEventStatus@ is an alias+--           of @vkGetEventStatusUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetEventStatusSafe@.+--+vkGetEventStatus :: VkDevice -- ^ device+                             -> VkEvent -- ^ event+                                        -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkGetEventStatus = vkGetEventStatusUnsafe+##else+vkGetEventStatus = vkGetEventStatusSafe++##endif+{-# INLINE vkGetEventStatus #-}++-- | Success codes: 'VK_EVENT_SET', 'VK_EVENT_RESET'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+--   > VkResult vkGetEventStatus+--   >     ( VkDevice device+--   >     , VkEvent event+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetEventStatus vkGetEventStatus registry at www.khronos.org>+type HS_vkGetEventStatus = VkDevice -- ^ device+                                    -> VkEvent -- ^ event+                                               -> IO VkResult++type PFN_vkGetEventStatus = FunPtr HS_vkGetEventStatus++foreign import ccall unsafe "dynamic" unwrapVkGetEventStatusUnsafe+               :: PFN_vkGetEventStatus -> HS_vkGetEventStatus++foreign import ccall safe "dynamic" unwrapVkGetEventStatusSafe ::+               PFN_vkGetEventStatus -> HS_vkGetEventStatus++instance VulkanProc "vkGetEventStatus" where+    type VkProcType "vkGetEventStatus" = HS_vkGetEventStatus+    vkProcSymbol = _VkGetEventStatus++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetEventStatusUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetEventStatusSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkSetEvent :: CString++pattern VkSetEvent <- (is_VkSetEvent -> True)+  where+    VkSetEvent = _VkSetEvent++{-# INLINE _VkSetEvent #-}++_VkSetEvent :: CString+_VkSetEvent = Ptr "vkSetEvent\NUL"##++{-# INLINE is_VkSetEvent #-}++is_VkSetEvent :: CString -> Bool+is_VkSetEvent = (EQ ==) . cmpCStrings _VkSetEvent++type VkSetEvent = "vkSetEvent"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkSetEvent+-- >     ( VkDevice device+-- >     , VkEvent event+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkSetEvent vkSetEvent registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > mySetEvent <- vkGetDeviceProc @VkSetEvent vkDevice+--+-- or less efficient:+--+-- > mySetEvent <- vkGetProc @VkSetEvent+--+-- __Note:__ @vkSetEventUnsafe@ and @vkSetEventSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkSetEvent@ is an alias+--           of @vkSetEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkSetEventSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkSetEvent" vkSetEventUnsafe ::+               VkDevice -- ^ device+                        -> VkEvent -- ^ event+                                   -> IO VkResult++##else+vkSetEventUnsafe :: VkDevice -- ^ device+                             -> VkEvent -- ^ event+                                        -> IO VkResult+vkSetEventUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkSetEvent)++{-# NOINLINE vkSetEventUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkSetEvent+-- >     ( VkDevice device+-- >     , VkEvent event+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkSetEvent vkSetEvent registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > mySetEvent <- vkGetDeviceProc @VkSetEvent vkDevice+--+-- or less efficient:+--+-- > mySetEvent <- vkGetProc @VkSetEvent+--+-- __Note:__ @vkSetEventUnsafe@ and @vkSetEventSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkSetEvent@ is an alias+--           of @vkSetEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkSetEventSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkSetEvent" vkSetEventSafe ::+               VkDevice -- ^ device+                        -> VkEvent -- ^ event+                                   -> IO VkResult++##else+vkSetEventSafe :: VkDevice -- ^ device+                           -> VkEvent -- ^ event+                                      -> IO VkResult+vkSetEventSafe = unsafeDupablePerformIO (vkGetProcSafe @VkSetEvent)++{-# NOINLINE vkSetEventSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkSetEvent+-- >     ( VkDevice device+-- >     , VkEvent event+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkSetEvent vkSetEvent registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > mySetEvent <- vkGetDeviceProc @VkSetEvent vkDevice+--+-- or less efficient:+--+-- > mySetEvent <- vkGetProc @VkSetEvent+--+-- __Note:__ @vkSetEventUnsafe@ and @vkSetEventSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkSetEvent@ is an alias+--           of @vkSetEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkSetEventSafe@.+--+vkSetEvent :: VkDevice -- ^ device+                       -> VkEvent -- ^ event+                                  -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkSetEvent = vkSetEventUnsafe+##else+vkSetEvent = vkSetEventSafe++##endif+{-# INLINE vkSetEvent #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkSetEvent+--   >     ( VkDevice device+--   >     , VkEvent event+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkSetEvent vkSetEvent registry at www.khronos.org>+type HS_vkSetEvent = VkDevice -- ^ device+                              -> VkEvent -- ^ event+                                         -> IO VkResult++type PFN_vkSetEvent = FunPtr HS_vkSetEvent++foreign import ccall unsafe "dynamic" unwrapVkSetEventUnsafe ::+               PFN_vkSetEvent -> HS_vkSetEvent++foreign import ccall safe "dynamic" unwrapVkSetEventSafe ::+               PFN_vkSetEvent -> HS_vkSetEvent++instance VulkanProc "vkSetEvent" where+    type VkProcType "vkSetEvent" = HS_vkSetEvent+    vkProcSymbol = _VkSetEvent++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkSetEventUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkSetEventSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkResetEvent :: CString++pattern VkResetEvent <- (is_VkResetEvent -> True)+  where+    VkResetEvent = _VkResetEvent++{-# INLINE _VkResetEvent #-}++_VkResetEvent :: CString+_VkResetEvent = Ptr "vkResetEvent\NUL"##++{-# INLINE is_VkResetEvent #-}++is_VkResetEvent :: CString -> Bool+is_VkResetEvent = (EQ ==) . cmpCStrings _VkResetEvent++type VkResetEvent = "vkResetEvent"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetEvent+-- >     ( VkDevice device+-- >     , VkEvent event+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetEvent vkResetEvent registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myResetEvent <- vkGetDeviceProc @VkResetEvent vkDevice+--+-- or less efficient:+--+-- > myResetEvent <- vkGetProc @VkResetEvent+--+-- __Note:__ @vkResetEventUnsafe@ and @vkResetEventSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkResetEvent@ is an alias+--           of @vkResetEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkResetEventSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkResetEvent" vkResetEventUnsafe ::+               VkDevice -- ^ device+                        -> VkEvent -- ^ event+                                   -> IO VkResult++##else+vkResetEventUnsafe :: VkDevice -- ^ device+                               -> VkEvent -- ^ event+                                          -> IO VkResult+vkResetEventUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkResetEvent)++{-# NOINLINE vkResetEventUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetEvent+-- >     ( VkDevice device+-- >     , VkEvent event+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetEvent vkResetEvent registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myResetEvent <- vkGetDeviceProc @VkResetEvent vkDevice+--+-- or less efficient:+--+-- > myResetEvent <- vkGetProc @VkResetEvent+--+-- __Note:__ @vkResetEventUnsafe@ and @vkResetEventSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkResetEvent@ is an alias+--           of @vkResetEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkResetEventSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkResetEvent" vkResetEventSafe ::+               VkDevice -- ^ device+                        -> VkEvent -- ^ event+                                   -> IO VkResult++##else+vkResetEventSafe :: VkDevice -- ^ device+                             -> VkEvent -- ^ event+                                        -> IO VkResult+vkResetEventSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkResetEvent)++{-# NOINLINE vkResetEventSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetEvent+-- >     ( VkDevice device+-- >     , VkEvent event+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetEvent vkResetEvent registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myResetEvent <- vkGetDeviceProc @VkResetEvent vkDevice+--+-- or less efficient:+--+-- > myResetEvent <- vkGetProc @VkResetEvent+--+-- __Note:__ @vkResetEventUnsafe@ and @vkResetEventSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkResetEvent@ is an alias+--           of @vkResetEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkResetEventSafe@.+--+vkResetEvent :: VkDevice -- ^ device+                         -> VkEvent -- ^ event+                                    -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkResetEvent = vkResetEventUnsafe+##else+vkResetEvent = vkResetEventSafe++##endif+{-# INLINE vkResetEvent #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkResetEvent+--   >     ( VkDevice device+--   >     , VkEvent event+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetEvent vkResetEvent registry at www.khronos.org>+type HS_vkResetEvent = VkDevice -- ^ device+                                -> VkEvent -- ^ event+                                           -> IO VkResult++type PFN_vkResetEvent = FunPtr HS_vkResetEvent++foreign import ccall unsafe "dynamic" unwrapVkResetEventUnsafe ::+               PFN_vkResetEvent -> HS_vkResetEvent++foreign import ccall safe "dynamic" unwrapVkResetEventSafe ::+               PFN_vkResetEvent -> HS_vkResetEvent++instance VulkanProc "vkResetEvent" where+    type VkProcType "vkResetEvent" = HS_vkResetEvent+    vkProcSymbol = _VkResetEvent++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkResetEventUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkResetEventSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCreateQueryPool :: CString++pattern VkCreateQueryPool <- (is_VkCreateQueryPool -> True)+  where+    VkCreateQueryPool = _VkCreateQueryPool++{-# INLINE _VkCreateQueryPool #-}++_VkCreateQueryPool :: CString+_VkCreateQueryPool = Ptr "vkCreateQueryPool\NUL"##++{-# INLINE is_VkCreateQueryPool #-}++is_VkCreateQueryPool :: CString -> Bool+is_VkCreateQueryPool = (EQ ==) . cmpCStrings _VkCreateQueryPool++type VkCreateQueryPool = "vkCreateQueryPool"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateQueryPool+-- >     ( VkDevice device+-- >     , const VkQueryPoolCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkQueryPool* pQueryPool+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateQueryPool vkCreateQueryPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateQueryPool <- vkGetDeviceProc @VkCreateQueryPool vkDevice+--+-- or less efficient:+--+-- > myCreateQueryPool <- vkGetProc @VkCreateQueryPool+--+-- __Note:__ @vkCreateQueryPoolUnsafe@ and @vkCreateQueryPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateQueryPool@ is an alias+--           of @vkCreateQueryPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateQueryPoolSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCreateQueryPool"+               vkCreateQueryPoolUnsafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkQueryPoolCreateInfo -- ^ pCreateInfo+                                           ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkQueryPool -- ^ pQueryPool+                                                                -> IO VkResult++##else+vkCreateQueryPoolUnsafe ::+                        VkDevice -- ^ device+                                 ->+                          Ptr VkQueryPoolCreateInfo -- ^ pCreateInfo+                                                    ->+                            Ptr VkAllocationCallbacks -- ^ pAllocator+                                                      -> Ptr VkQueryPool -- ^ pQueryPool+                                                                         -> IO VkResult+vkCreateQueryPoolUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateQueryPool)++{-# NOINLINE vkCreateQueryPoolUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateQueryPool+-- >     ( VkDevice device+-- >     , const VkQueryPoolCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkQueryPool* pQueryPool+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateQueryPool vkCreateQueryPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateQueryPool <- vkGetDeviceProc @VkCreateQueryPool vkDevice+--+-- or less efficient:+--+-- > myCreateQueryPool <- vkGetProc @VkCreateQueryPool+--+-- __Note:__ @vkCreateQueryPoolUnsafe@ and @vkCreateQueryPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateQueryPool@ is an alias+--           of @vkCreateQueryPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateQueryPoolSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCreateQueryPool" vkCreateQueryPoolSafe+               ::+               VkDevice -- ^ device+                        ->+                 Ptr VkQueryPoolCreateInfo -- ^ pCreateInfo+                                           ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkQueryPool -- ^ pQueryPool+                                                                -> IO VkResult++##else+vkCreateQueryPoolSafe ::+                      VkDevice -- ^ device+                               ->+                        Ptr VkQueryPoolCreateInfo -- ^ pCreateInfo+                                                  ->+                          Ptr VkAllocationCallbacks -- ^ pAllocator+                                                    -> Ptr VkQueryPool -- ^ pQueryPool+                                                                       -> IO VkResult+vkCreateQueryPoolSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateQueryPool)++{-# NOINLINE vkCreateQueryPoolSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateQueryPool+-- >     ( VkDevice device+-- >     , const VkQueryPoolCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkQueryPool* pQueryPool+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateQueryPool vkCreateQueryPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateQueryPool <- vkGetDeviceProc @VkCreateQueryPool vkDevice+--+-- or less efficient:+--+-- > myCreateQueryPool <- vkGetProc @VkCreateQueryPool+--+-- __Note:__ @vkCreateQueryPoolUnsafe@ and @vkCreateQueryPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateQueryPool@ is an alias+--           of @vkCreateQueryPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateQueryPoolSafe@.+--+vkCreateQueryPool ::+                  VkDevice -- ^ device+                           ->+                    Ptr VkQueryPoolCreateInfo -- ^ pCreateInfo+                                              ->+                      Ptr VkAllocationCallbacks -- ^ pAllocator+                                                -> Ptr VkQueryPool -- ^ pQueryPool+                                                                   -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkCreateQueryPool = vkCreateQueryPoolUnsafe+##else+vkCreateQueryPool = vkCreateQueryPoolSafe++##endif+{-# INLINE vkCreateQueryPool #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateQueryPool+--   >     ( VkDevice device+--   >     , const VkQueryPoolCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkQueryPool* pQueryPool+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateQueryPool vkCreateQueryPool registry at www.khronos.org>+type HS_vkCreateQueryPool =+     VkDevice -- ^ device+              ->+       Ptr VkQueryPoolCreateInfo -- ^ pCreateInfo+                                 ->+         Ptr VkAllocationCallbacks -- ^ pAllocator+                                   -> Ptr VkQueryPool -- ^ pQueryPool+                                                      -> IO VkResult++type PFN_vkCreateQueryPool = FunPtr HS_vkCreateQueryPool++foreign import ccall unsafe "dynamic" unwrapVkCreateQueryPoolUnsafe+               :: PFN_vkCreateQueryPool -> HS_vkCreateQueryPool++foreign import ccall safe "dynamic" unwrapVkCreateQueryPoolSafe ::+               PFN_vkCreateQueryPool -> HS_vkCreateQueryPool++instance VulkanProc "vkCreateQueryPool" where+    type VkProcType "vkCreateQueryPool" = HS_vkCreateQueryPool+    vkProcSymbol = _VkCreateQueryPool++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateQueryPoolUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateQueryPoolSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkDestroyQueryPool :: CString++pattern VkDestroyQueryPool <- (is_VkDestroyQueryPool -> True)+  where+    VkDestroyQueryPool = _VkDestroyQueryPool++{-# INLINE _VkDestroyQueryPool #-}++_VkDestroyQueryPool :: CString+_VkDestroyQueryPool = Ptr "vkDestroyQueryPool\NUL"##++{-# INLINE is_VkDestroyQueryPool #-}++is_VkDestroyQueryPool :: CString -> Bool+is_VkDestroyQueryPool = (EQ ==) . cmpCStrings _VkDestroyQueryPool++type VkDestroyQueryPool = "vkDestroyQueryPool"++-- |+-- > void vkDestroyQueryPool+-- >     ( VkDevice device+-- >     , VkQueryPool queryPool+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyQueryPool vkDestroyQueryPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyQueryPool <- vkGetDeviceProc @VkDestroyQueryPool vkDevice+--+-- or less efficient:+--+-- > myDestroyQueryPool <- vkGetProc @VkDestroyQueryPool+--+-- __Note:__ @vkDestroyQueryPoolUnsafe@ and @vkDestroyQueryPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyQueryPool@ is an alias+--           of @vkDestroyQueryPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyQueryPoolSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkDestroyQueryPool"+               vkDestroyQueryPoolUnsafe ::+               VkDevice -- ^ device+                        -> VkQueryPool -- ^ queryPool+                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                    -> IO ()++##else+vkDestroyQueryPoolUnsafe ::+                         VkDevice -- ^ device+                                  -> VkQueryPool -- ^ queryPool+                                                 -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                              -> IO ()+vkDestroyQueryPoolUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyQueryPool)++{-# NOINLINE vkDestroyQueryPoolUnsafe #-}+##endif++-- |+-- > void vkDestroyQueryPool+-- >     ( VkDevice device+-- >     , VkQueryPool queryPool+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyQueryPool vkDestroyQueryPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyQueryPool <- vkGetDeviceProc @VkDestroyQueryPool vkDevice+--+-- or less efficient:+--+-- > myDestroyQueryPool <- vkGetProc @VkDestroyQueryPool+--+-- __Note:__ @vkDestroyQueryPoolUnsafe@ and @vkDestroyQueryPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyQueryPool@ is an alias+--           of @vkDestroyQueryPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyQueryPoolSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkDestroyQueryPool"+               vkDestroyQueryPoolSafe ::+               VkDevice -- ^ device+                        -> VkQueryPool -- ^ queryPool+                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                    -> IO ()++##else+vkDestroyQueryPoolSafe ::+                       VkDevice -- ^ device+                                -> VkQueryPool -- ^ queryPool+                                               -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                            -> IO ()+vkDestroyQueryPoolSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyQueryPool)++{-# NOINLINE vkDestroyQueryPoolSafe #-}+##endif++-- |+-- > void vkDestroyQueryPool+-- >     ( VkDevice device+-- >     , VkQueryPool queryPool+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyQueryPool vkDestroyQueryPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyQueryPool <- vkGetDeviceProc @VkDestroyQueryPool vkDevice+--+-- or less efficient:+--+-- > myDestroyQueryPool <- vkGetProc @VkDestroyQueryPool+--+-- __Note:__ @vkDestroyQueryPoolUnsafe@ and @vkDestroyQueryPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyQueryPool@ is an alias+--           of @vkDestroyQueryPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyQueryPoolSafe@.+--+vkDestroyQueryPool ::+                   VkDevice -- ^ device+                            -> VkQueryPool -- ^ queryPool+                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                        -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkDestroyQueryPool = vkDestroyQueryPoolUnsafe+##else+vkDestroyQueryPool = vkDestroyQueryPoolSafe++##endif+{-# INLINE vkDestroyQueryPool #-}++-- | > void vkDestroyQueryPool+--   >     ( VkDevice device+--   >     , VkQueryPool queryPool+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyQueryPool vkDestroyQueryPool registry at www.khronos.org>+type HS_vkDestroyQueryPool =+     VkDevice -- ^ device+              -> VkQueryPool -- ^ queryPool+                             -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                          -> IO ()++type PFN_vkDestroyQueryPool = FunPtr HS_vkDestroyQueryPool++foreign import ccall unsafe "dynamic"+               unwrapVkDestroyQueryPoolUnsafe ::+               PFN_vkDestroyQueryPool -> HS_vkDestroyQueryPool++foreign import ccall safe "dynamic" unwrapVkDestroyQueryPoolSafe ::+               PFN_vkDestroyQueryPool -> HS_vkDestroyQueryPool++instance VulkanProc "vkDestroyQueryPool" where+    type VkProcType "vkDestroyQueryPool" = HS_vkDestroyQueryPool+    vkProcSymbol = _VkDestroyQueryPool++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDestroyQueryPoolUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroyQueryPoolSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetQueryPoolResults :: CString++pattern VkGetQueryPoolResults <- (is_VkGetQueryPoolResults -> True)+  where+    VkGetQueryPoolResults = _VkGetQueryPoolResults++{-# INLINE _VkGetQueryPoolResults #-}++_VkGetQueryPoolResults :: CString+_VkGetQueryPoolResults = Ptr "vkGetQueryPoolResults\NUL"##++{-# INLINE is_VkGetQueryPoolResults #-}++is_VkGetQueryPoolResults :: CString -> Bool+is_VkGetQueryPoolResults+  = (EQ ==) . cmpCStrings _VkGetQueryPoolResults++type VkGetQueryPoolResults = "vkGetQueryPoolResults"++-- |+-- Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkGetQueryPoolResults+-- >     ( VkDevice device+-- >     , VkQueryPool queryPool+-- >     , uint32_t firstQuery+-- >     , uint32_t queryCount+-- >     , size_t dataSize+-- >     , void* pData+-- >     , VkDeviceSize stride+-- >     , VkQueryResultFlags flags+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetQueryPoolResults vkGetQueryPoolResults registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetQueryPoolResults <- vkGetDeviceProc @VkGetQueryPoolResults vkDevice+--+-- or less efficient:+--+-- > myGetQueryPoolResults <- vkGetProc @VkGetQueryPoolResults+--+-- __Note:__ @vkGetQueryPoolResultsUnsafe@ and @vkGetQueryPoolResultsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetQueryPoolResults@ is an alias+--           of @vkGetQueryPoolResultsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetQueryPoolResultsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkGetQueryPoolResults"+               vkGetQueryPoolResultsUnsafe ::+               VkDevice -- ^ device+                        ->+                 VkQueryPool -- ^ queryPool+                             ->+                   Word32 -- ^ firstQuery+                          ->+                     Word32 -- ^ queryCount+                            ->+                       CSize -- ^ dataSize+                             ->+                         Ptr Void -- ^ pData+                                  -> VkDeviceSize -- ^ stride+                                                  -> VkQueryResultFlags -- ^ flags+                                                                        -> IO VkResult++##else+vkGetQueryPoolResultsUnsafe ::+                            VkDevice -- ^ device+                                     ->+                              VkQueryPool -- ^ queryPool+                                          ->+                                Word32 -- ^ firstQuery+                                       ->+                                  Word32 -- ^ queryCount+                                         ->+                                    CSize -- ^ dataSize+                                          ->+                                      Ptr Void -- ^ pData+                                               -> VkDeviceSize -- ^ stride+                                                               -> VkQueryResultFlags -- ^ flags+                                                                                     -> IO VkResult+vkGetQueryPoolResultsUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkGetQueryPoolResults)++{-# NOINLINE vkGetQueryPoolResultsUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkGetQueryPoolResults+-- >     ( VkDevice device+-- >     , VkQueryPool queryPool+-- >     , uint32_t firstQuery+-- >     , uint32_t queryCount+-- >     , size_t dataSize+-- >     , void* pData+-- >     , VkDeviceSize stride+-- >     , VkQueryResultFlags flags+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetQueryPoolResults vkGetQueryPoolResults registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetQueryPoolResults <- vkGetDeviceProc @VkGetQueryPoolResults vkDevice+--+-- or less efficient:+--+-- > myGetQueryPoolResults <- vkGetProc @VkGetQueryPoolResults+--+-- __Note:__ @vkGetQueryPoolResultsUnsafe@ and @vkGetQueryPoolResultsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetQueryPoolResults@ is an alias+--           of @vkGetQueryPoolResultsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetQueryPoolResultsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkGetQueryPoolResults"+               vkGetQueryPoolResultsSafe ::+               VkDevice -- ^ device+                        ->+                 VkQueryPool -- ^ queryPool+                             ->+                   Word32 -- ^ firstQuery+                          ->+                     Word32 -- ^ queryCount+                            ->+                       CSize -- ^ dataSize+                             ->+                         Ptr Void -- ^ pData+                                  -> VkDeviceSize -- ^ stride+                                                  -> VkQueryResultFlags -- ^ flags+                                                                        -> IO VkResult++##else+vkGetQueryPoolResultsSafe ::+                          VkDevice -- ^ device+                                   ->+                            VkQueryPool -- ^ queryPool+                                        ->+                              Word32 -- ^ firstQuery+                                     ->+                                Word32 -- ^ queryCount+                                       ->+                                  CSize -- ^ dataSize+                                        ->+                                    Ptr Void -- ^ pData+                                             -> VkDeviceSize -- ^ stride+                                                             -> VkQueryResultFlags -- ^ flags+                                                                                   -> IO VkResult+vkGetQueryPoolResultsSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkGetQueryPoolResults)++{-# NOINLINE vkGetQueryPoolResultsSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkGetQueryPoolResults+-- >     ( VkDevice device+-- >     , VkQueryPool queryPool+-- >     , uint32_t firstQuery+-- >     , uint32_t queryCount+-- >     , size_t dataSize+-- >     , void* pData+-- >     , VkDeviceSize stride+-- >     , VkQueryResultFlags flags+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetQueryPoolResults vkGetQueryPoolResults registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetQueryPoolResults <- vkGetDeviceProc @VkGetQueryPoolResults vkDevice+--+-- or less efficient:+--+-- > myGetQueryPoolResults <- vkGetProc @VkGetQueryPoolResults+--+-- __Note:__ @vkGetQueryPoolResultsUnsafe@ and @vkGetQueryPoolResultsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetQueryPoolResults@ is an alias+--           of @vkGetQueryPoolResultsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetQueryPoolResultsSafe@.+--+vkGetQueryPoolResults ::+                      VkDevice -- ^ device+                               ->+                        VkQueryPool -- ^ queryPool+                                    ->+                          Word32 -- ^ firstQuery+                                 ->+                            Word32 -- ^ queryCount+                                   ->+                              CSize -- ^ dataSize+                                    ->+                                Ptr Void -- ^ pData+                                         -> VkDeviceSize -- ^ stride+                                                         -> VkQueryResultFlags -- ^ flags+                                                                               -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkGetQueryPoolResults = vkGetQueryPoolResultsUnsafe+##else+vkGetQueryPoolResults = vkGetQueryPoolResultsSafe++##endif+{-# INLINE vkGetQueryPoolResults #-}++-- | Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+--   > VkResult vkGetQueryPoolResults+--   >     ( VkDevice device+--   >     , VkQueryPool queryPool+--   >     , uint32_t firstQuery+--   >     , uint32_t queryCount+--   >     , size_t dataSize+--   >     , void* pData+--   >     , VkDeviceSize stride+--   >     , VkQueryResultFlags flags+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetQueryPoolResults vkGetQueryPoolResults registry at www.khronos.org>+type HS_vkGetQueryPoolResults =+     VkDevice -- ^ device+              ->+       VkQueryPool -- ^ queryPool+                   ->+         Word32 -- ^ firstQuery+                ->+           Word32 -- ^ queryCount+                  ->+             CSize -- ^ dataSize+                   ->+               Ptr Void -- ^ pData+                        -> VkDeviceSize -- ^ stride+                                        -> VkQueryResultFlags -- ^ flags+                                                              -> IO VkResult++type PFN_vkGetQueryPoolResults = FunPtr HS_vkGetQueryPoolResults++foreign import ccall unsafe "dynamic"+               unwrapVkGetQueryPoolResultsUnsafe ::+               PFN_vkGetQueryPoolResults -> HS_vkGetQueryPoolResults++foreign import ccall safe "dynamic" unwrapVkGetQueryPoolResultsSafe+               :: PFN_vkGetQueryPoolResults -> HS_vkGetQueryPoolResults++instance VulkanProc "vkGetQueryPoolResults" where+    type VkProcType "vkGetQueryPoolResults" = HS_vkGetQueryPoolResults+    vkProcSymbol = _VkGetQueryPoolResults++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetQueryPoolResultsUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetQueryPoolResultsSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCreateBuffer :: CString++pattern VkCreateBuffer <- (is_VkCreateBuffer -> True)+  where+    VkCreateBuffer = _VkCreateBuffer++{-# INLINE _VkCreateBuffer #-}++_VkCreateBuffer :: CString+_VkCreateBuffer = Ptr "vkCreateBuffer\NUL"##++{-# INLINE is_VkCreateBuffer #-}++is_VkCreateBuffer :: CString -> Bool+is_VkCreateBuffer = (EQ ==) . cmpCStrings _VkCreateBuffer++type VkCreateBuffer = "vkCreateBuffer"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateBuffer+-- >     ( VkDevice device+-- >     , const VkBufferCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkBuffer* pBuffer+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateBuffer vkCreateBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateBuffer <- vkGetDeviceProc @VkCreateBuffer vkDevice+--+-- or less efficient:+--+-- > myCreateBuffer <- vkGetProc @VkCreateBuffer+--+-- __Note:__ @vkCreateBufferUnsafe@ and @vkCreateBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateBuffer@ is an alias+--           of @vkCreateBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateBufferSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCreateBuffer" vkCreateBufferUnsafe+               ::+               VkDevice -- ^ device+                        ->+                 Ptr VkBufferCreateInfo -- ^ pCreateInfo+                                        ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkBuffer -- ^ pBuffer+                                                             -> IO VkResult++##else+vkCreateBufferUnsafe ::+                     VkDevice -- ^ device+                              ->+                       Ptr VkBufferCreateInfo -- ^ pCreateInfo+                                              ->+                         Ptr VkAllocationCallbacks -- ^ pAllocator+                                                   -> Ptr VkBuffer -- ^ pBuffer+                                                                   -> IO VkResult+vkCreateBufferUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateBuffer)++{-# NOINLINE vkCreateBufferUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateBuffer+-- >     ( VkDevice device+-- >     , const VkBufferCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkBuffer* pBuffer+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateBuffer vkCreateBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateBuffer <- vkGetDeviceProc @VkCreateBuffer vkDevice+--+-- or less efficient:+--+-- > myCreateBuffer <- vkGetProc @VkCreateBuffer+--+-- __Note:__ @vkCreateBufferUnsafe@ and @vkCreateBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateBuffer@ is an alias+--           of @vkCreateBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateBufferSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCreateBuffer" vkCreateBufferSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkBufferCreateInfo -- ^ pCreateInfo+                                        ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkBuffer -- ^ pBuffer+                                                             -> IO VkResult++##else+vkCreateBufferSafe ::+                   VkDevice -- ^ device+                            ->+                     Ptr VkBufferCreateInfo -- ^ pCreateInfo+                                            ->+                       Ptr VkAllocationCallbacks -- ^ pAllocator+                                                 -> Ptr VkBuffer -- ^ pBuffer+                                                                 -> IO VkResult+vkCreateBufferSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateBuffer)++{-# NOINLINE vkCreateBufferSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateBuffer+-- >     ( VkDevice device+-- >     , const VkBufferCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkBuffer* pBuffer+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateBuffer vkCreateBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateBuffer <- vkGetDeviceProc @VkCreateBuffer vkDevice+--+-- or less efficient:+--+-- > myCreateBuffer <- vkGetProc @VkCreateBuffer+--+-- __Note:__ @vkCreateBufferUnsafe@ and @vkCreateBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateBuffer@ is an alias+--           of @vkCreateBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateBufferSafe@.+--+vkCreateBuffer ::+               VkDevice -- ^ device+                        ->+                 Ptr VkBufferCreateInfo -- ^ pCreateInfo+                                        ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkBuffer -- ^ pBuffer+                                                             -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkCreateBuffer = vkCreateBufferUnsafe+##else+vkCreateBuffer = vkCreateBufferSafe++##endif+{-# INLINE vkCreateBuffer #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateBuffer+--   >     ( VkDevice device+--   >     , const VkBufferCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkBuffer* pBuffer+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateBuffer vkCreateBuffer registry at www.khronos.org>+type HS_vkCreateBuffer =+     VkDevice -- ^ device+              ->+       Ptr VkBufferCreateInfo -- ^ pCreateInfo+                              ->+         Ptr VkAllocationCallbacks -- ^ pAllocator+                                   -> Ptr VkBuffer -- ^ pBuffer+                                                   -> IO VkResult++type PFN_vkCreateBuffer = FunPtr HS_vkCreateBuffer++foreign import ccall unsafe "dynamic" unwrapVkCreateBufferUnsafe ::+               PFN_vkCreateBuffer -> HS_vkCreateBuffer++foreign import ccall safe "dynamic" unwrapVkCreateBufferSafe ::+               PFN_vkCreateBuffer -> HS_vkCreateBuffer++instance VulkanProc "vkCreateBuffer" where+    type VkProcType "vkCreateBuffer" = HS_vkCreateBuffer+    vkProcSymbol = _VkCreateBuffer++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateBufferUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateBufferSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkDestroyBuffer :: CString++pattern VkDestroyBuffer <- (is_VkDestroyBuffer -> True)+  where+    VkDestroyBuffer = _VkDestroyBuffer++{-# INLINE _VkDestroyBuffer #-}++_VkDestroyBuffer :: CString+_VkDestroyBuffer = Ptr "vkDestroyBuffer\NUL"##++{-# INLINE is_VkDestroyBuffer #-}++is_VkDestroyBuffer :: CString -> Bool+is_VkDestroyBuffer = (EQ ==) . cmpCStrings _VkDestroyBuffer++type VkDestroyBuffer = "vkDestroyBuffer"++-- |+-- > void vkDestroyBuffer+-- >     ( VkDevice device+-- >     , VkBuffer buffer+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyBuffer vkDestroyBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyBuffer <- vkGetDeviceProc @VkDestroyBuffer vkDevice+--+-- or less efficient:+--+-- > myDestroyBuffer <- vkGetProc @VkDestroyBuffer+--+-- __Note:__ @vkDestroyBufferUnsafe@ and @vkDestroyBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyBuffer@ is an alias+--           of @vkDestroyBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyBufferSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkDestroyBuffer" vkDestroyBufferUnsafe+               :: VkDevice -- ^ device+                           -> VkBuffer -- ^ buffer+                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                    -> IO ()++##else+vkDestroyBufferUnsafe ::+                      VkDevice -- ^ device+                               -> VkBuffer -- ^ buffer+                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                        -> IO ()+vkDestroyBufferUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyBuffer)++{-# NOINLINE vkDestroyBufferUnsafe #-}+##endif++-- |+-- > void vkDestroyBuffer+-- >     ( VkDevice device+-- >     , VkBuffer buffer+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyBuffer vkDestroyBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyBuffer <- vkGetDeviceProc @VkDestroyBuffer vkDevice+--+-- or less efficient:+--+-- > myDestroyBuffer <- vkGetProc @VkDestroyBuffer+--+-- __Note:__ @vkDestroyBufferUnsafe@ and @vkDestroyBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyBuffer@ is an alias+--           of @vkDestroyBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyBufferSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkDestroyBuffer" vkDestroyBufferSafe ::+               VkDevice -- ^ device+                        -> VkBuffer -- ^ buffer+                                    -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                 -> IO ()++##else+vkDestroyBufferSafe ::+                    VkDevice -- ^ device+                             -> VkBuffer -- ^ buffer+                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                      -> IO ()+vkDestroyBufferSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyBuffer)++{-# NOINLINE vkDestroyBufferSafe #-}+##endif++-- |+-- > void vkDestroyBuffer+-- >     ( VkDevice device+-- >     , VkBuffer buffer+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyBuffer vkDestroyBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyBuffer <- vkGetDeviceProc @VkDestroyBuffer vkDevice+--+-- or less efficient:+--+-- > myDestroyBuffer <- vkGetProc @VkDestroyBuffer+--+-- __Note:__ @vkDestroyBufferUnsafe@ and @vkDestroyBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyBuffer@ is an alias+--           of @vkDestroyBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyBufferSafe@.+--+vkDestroyBuffer ::+                VkDevice -- ^ device+                         -> VkBuffer -- ^ buffer+                                     -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                  -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkDestroyBuffer = vkDestroyBufferUnsafe+##else+vkDestroyBuffer = vkDestroyBufferSafe++##endif+{-# INLINE vkDestroyBuffer #-}++-- | > void vkDestroyBuffer+--   >     ( VkDevice device+--   >     , VkBuffer buffer+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyBuffer vkDestroyBuffer registry at www.khronos.org>+type HS_vkDestroyBuffer =+     VkDevice -- ^ device+              -> VkBuffer -- ^ buffer+                          -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                       -> IO ()++type PFN_vkDestroyBuffer = FunPtr HS_vkDestroyBuffer++foreign import ccall unsafe "dynamic" unwrapVkDestroyBufferUnsafe+               :: PFN_vkDestroyBuffer -> HS_vkDestroyBuffer++foreign import ccall safe "dynamic" unwrapVkDestroyBufferSafe ::+               PFN_vkDestroyBuffer -> HS_vkDestroyBuffer++instance VulkanProc "vkDestroyBuffer" where+    type VkProcType "vkDestroyBuffer" = HS_vkDestroyBuffer+    vkProcSymbol = _VkDestroyBuffer++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDestroyBufferUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroyBufferSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCreateBufferView :: CString++pattern VkCreateBufferView <- (is_VkCreateBufferView -> True)+  where+    VkCreateBufferView = _VkCreateBufferView++{-# INLINE _VkCreateBufferView #-}++_VkCreateBufferView :: CString+_VkCreateBufferView = Ptr "vkCreateBufferView\NUL"##++{-# INLINE is_VkCreateBufferView #-}++is_VkCreateBufferView :: CString -> Bool+is_VkCreateBufferView = (EQ ==) . cmpCStrings _VkCreateBufferView++type VkCreateBufferView = "vkCreateBufferView"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateBufferView+-- >     ( VkDevice device+-- >     , const VkBufferViewCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkBufferView* pView+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateBufferView vkCreateBufferView registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateBufferView <- vkGetDeviceProc @VkCreateBufferView vkDevice+--+-- or less efficient:+--+-- > myCreateBufferView <- vkGetProc @VkCreateBufferView+--+-- __Note:__ @vkCreateBufferViewUnsafe@ and @vkCreateBufferViewSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateBufferView@ is an alias+--           of @vkCreateBufferViewUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateBufferViewSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCreateBufferView"+               vkCreateBufferViewUnsafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkBufferViewCreateInfo -- ^ pCreateInfo+                                            ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkBufferView -- ^ pView+                                                                 -> IO VkResult++##else+vkCreateBufferViewUnsafe ::+                         VkDevice -- ^ device+                                  ->+                           Ptr VkBufferViewCreateInfo -- ^ pCreateInfo+                                                      ->+                             Ptr VkAllocationCallbacks -- ^ pAllocator+                                                       -> Ptr VkBufferView -- ^ pView+                                                                           -> IO VkResult+vkCreateBufferViewUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateBufferView)++{-# NOINLINE vkCreateBufferViewUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateBufferView+-- >     ( VkDevice device+-- >     , const VkBufferViewCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkBufferView* pView+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateBufferView vkCreateBufferView registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateBufferView <- vkGetDeviceProc @VkCreateBufferView vkDevice+--+-- or less efficient:+--+-- > myCreateBufferView <- vkGetProc @VkCreateBufferView+--+-- __Note:__ @vkCreateBufferViewUnsafe@ and @vkCreateBufferViewSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateBufferView@ is an alias+--           of @vkCreateBufferViewUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateBufferViewSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCreateBufferView"+               vkCreateBufferViewSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkBufferViewCreateInfo -- ^ pCreateInfo+                                            ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkBufferView -- ^ pView+                                                                 -> IO VkResult++##else+vkCreateBufferViewSafe ::+                       VkDevice -- ^ device+                                ->+                         Ptr VkBufferViewCreateInfo -- ^ pCreateInfo+                                                    ->+                           Ptr VkAllocationCallbacks -- ^ pAllocator+                                                     -> Ptr VkBufferView -- ^ pView+                                                                         -> IO VkResult+vkCreateBufferViewSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateBufferView)++{-# NOINLINE vkCreateBufferViewSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateBufferView+-- >     ( VkDevice device+-- >     , const VkBufferViewCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkBufferView* pView+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateBufferView vkCreateBufferView registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateBufferView <- vkGetDeviceProc @VkCreateBufferView vkDevice+--+-- or less efficient:+--+-- > myCreateBufferView <- vkGetProc @VkCreateBufferView+--+-- __Note:__ @vkCreateBufferViewUnsafe@ and @vkCreateBufferViewSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateBufferView@ is an alias+--           of @vkCreateBufferViewUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateBufferViewSafe@.+--+vkCreateBufferView ::+                   VkDevice -- ^ device+                            ->+                     Ptr VkBufferViewCreateInfo -- ^ pCreateInfo+                                                ->+                       Ptr VkAllocationCallbacks -- ^ pAllocator+                                                 -> Ptr VkBufferView -- ^ pView+                                                                     -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkCreateBufferView = vkCreateBufferViewUnsafe+##else+vkCreateBufferView = vkCreateBufferViewSafe++##endif+{-# INLINE vkCreateBufferView #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateBufferView+--   >     ( VkDevice device+--   >     , const VkBufferViewCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkBufferView* pView+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateBufferView vkCreateBufferView registry at www.khronos.org>+type HS_vkCreateBufferView =+     VkDevice -- ^ device+              ->+       Ptr VkBufferViewCreateInfo -- ^ pCreateInfo+                                  ->+         Ptr VkAllocationCallbacks -- ^ pAllocator+                                   -> Ptr VkBufferView -- ^ pView+                                                       -> IO VkResult++type PFN_vkCreateBufferView = FunPtr HS_vkCreateBufferView++foreign import ccall unsafe "dynamic"+               unwrapVkCreateBufferViewUnsafe ::+               PFN_vkCreateBufferView -> HS_vkCreateBufferView++foreign import ccall safe "dynamic" unwrapVkCreateBufferViewSafe ::+               PFN_vkCreateBufferView -> HS_vkCreateBufferView++instance VulkanProc "vkCreateBufferView" where+    type VkProcType "vkCreateBufferView" = HS_vkCreateBufferView+    vkProcSymbol = _VkCreateBufferView++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateBufferViewUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateBufferViewSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkDestroyBufferView :: CString++pattern VkDestroyBufferView <- (is_VkDestroyBufferView -> True)+  where+    VkDestroyBufferView = _VkDestroyBufferView++{-# INLINE _VkDestroyBufferView #-}++_VkDestroyBufferView :: CString+_VkDestroyBufferView = Ptr "vkDestroyBufferView\NUL"##++{-# INLINE is_VkDestroyBufferView #-}++is_VkDestroyBufferView :: CString -> Bool+is_VkDestroyBufferView = (EQ ==) . cmpCStrings _VkDestroyBufferView++type VkDestroyBufferView = "vkDestroyBufferView"++-- |+-- > void vkDestroyBufferView+-- >     ( VkDevice device+-- >     , VkBufferView bufferView+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyBufferView vkDestroyBufferView registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyBufferView <- vkGetDeviceProc @VkDestroyBufferView vkDevice+--+-- or less efficient:+--+-- > myDestroyBufferView <- vkGetProc @VkDestroyBufferView+--+-- __Note:__ @vkDestroyBufferViewUnsafe@ and @vkDestroyBufferViewSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyBufferView@ is an alias+--           of @vkDestroyBufferViewUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyBufferViewSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkDestroyBufferView"+               vkDestroyBufferViewUnsafe ::+               VkDevice -- ^ device+                        -> VkBufferView -- ^ bufferView+                                        -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                     -> IO ()++##else+vkDestroyBufferViewUnsafe ::+                          VkDevice -- ^ device+                                   -> VkBufferView -- ^ bufferView+                                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                                -> IO ()+vkDestroyBufferViewUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyBufferView)++{-# NOINLINE vkDestroyBufferViewUnsafe #-}+##endif++-- |+-- > void vkDestroyBufferView+-- >     ( VkDevice device+-- >     , VkBufferView bufferView+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyBufferView vkDestroyBufferView registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyBufferView <- vkGetDeviceProc @VkDestroyBufferView vkDevice+--+-- or less efficient:+--+-- > myDestroyBufferView <- vkGetProc @VkDestroyBufferView+--+-- __Note:__ @vkDestroyBufferViewUnsafe@ and @vkDestroyBufferViewSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyBufferView@ is an alias+--           of @vkDestroyBufferViewUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyBufferViewSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkDestroyBufferView"+               vkDestroyBufferViewSafe ::+               VkDevice -- ^ device+                        -> VkBufferView -- ^ bufferView+                                        -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                     -> IO ()++##else+vkDestroyBufferViewSafe ::+                        VkDevice -- ^ device+                                 -> VkBufferView -- ^ bufferView+                                                 -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                              -> IO ()+vkDestroyBufferViewSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyBufferView)++{-# NOINLINE vkDestroyBufferViewSafe #-}+##endif++-- |+-- > void vkDestroyBufferView+-- >     ( VkDevice device+-- >     , VkBufferView bufferView+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyBufferView vkDestroyBufferView registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyBufferView <- vkGetDeviceProc @VkDestroyBufferView vkDevice+--+-- or less efficient:+--+-- > myDestroyBufferView <- vkGetProc @VkDestroyBufferView+--+-- __Note:__ @vkDestroyBufferViewUnsafe@ and @vkDestroyBufferViewSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyBufferView@ is an alias+--           of @vkDestroyBufferViewUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyBufferViewSafe@.+--+vkDestroyBufferView ::+                    VkDevice -- ^ device+                             -> VkBufferView -- ^ bufferView+                                             -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                          -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkDestroyBufferView = vkDestroyBufferViewUnsafe+##else+vkDestroyBufferView = vkDestroyBufferViewSafe++##endif+{-# INLINE vkDestroyBufferView #-}++-- | > void vkDestroyBufferView+--   >     ( VkDevice device+--   >     , VkBufferView bufferView+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyBufferView vkDestroyBufferView registry at www.khronos.org>+type HS_vkDestroyBufferView =+     VkDevice -- ^ device+              -> VkBufferView -- ^ bufferView+                              -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                           -> IO ()++type PFN_vkDestroyBufferView = FunPtr HS_vkDestroyBufferView++foreign import ccall unsafe "dynamic"+               unwrapVkDestroyBufferViewUnsafe ::+               PFN_vkDestroyBufferView -> HS_vkDestroyBufferView++foreign import ccall safe "dynamic" unwrapVkDestroyBufferViewSafe+               :: PFN_vkDestroyBufferView -> HS_vkDestroyBufferView++instance VulkanProc "vkDestroyBufferView" where+    type VkProcType "vkDestroyBufferView" = HS_vkDestroyBufferView+    vkProcSymbol = _VkDestroyBufferView++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDestroyBufferViewUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroyBufferViewSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCreateImage :: CString++pattern VkCreateImage <- (is_VkCreateImage -> True)+  where+    VkCreateImage = _VkCreateImage++{-# INLINE _VkCreateImage #-}++_VkCreateImage :: CString+_VkCreateImage = Ptr "vkCreateImage\NUL"##++{-# INLINE is_VkCreateImage #-}++is_VkCreateImage :: CString -> Bool+is_VkCreateImage = (EQ ==) . cmpCStrings _VkCreateImage++type VkCreateImage = "vkCreateImage"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateImage+-- >     ( VkDevice device+-- >     , const VkImageCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkImage* pImage+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateImage vkCreateImage registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateImage <- vkGetDeviceProc @VkCreateImage vkDevice+--+-- or less efficient:+--+-- > myCreateImage <- vkGetProc @VkCreateImage+--+-- __Note:__ @vkCreateImageUnsafe@ and @vkCreateImageSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateImage@ is an alias+--           of @vkCreateImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateImageSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCreateImage" vkCreateImageUnsafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkImageCreateInfo -- ^ pCreateInfo+                                       ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkImage -- ^ pImage+                                                            -> IO VkResult++##else+vkCreateImageUnsafe ::+                    VkDevice -- ^ device+                             ->+                      Ptr VkImageCreateInfo -- ^ pCreateInfo+                                            ->+                        Ptr VkAllocationCallbacks -- ^ pAllocator+                                                  -> Ptr VkImage -- ^ pImage+                                                                 -> IO VkResult+vkCreateImageUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateImage)++{-# NOINLINE vkCreateImageUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateImage+-- >     ( VkDevice device+-- >     , const VkImageCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkImage* pImage+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateImage vkCreateImage registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateImage <- vkGetDeviceProc @VkCreateImage vkDevice+--+-- or less efficient:+--+-- > myCreateImage <- vkGetProc @VkCreateImage+--+-- __Note:__ @vkCreateImageUnsafe@ and @vkCreateImageSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateImage@ is an alias+--           of @vkCreateImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateImageSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCreateImage" vkCreateImageSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkImageCreateInfo -- ^ pCreateInfo+                                       ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkImage -- ^ pImage+                                                            -> IO VkResult++##else+vkCreateImageSafe ::+                  VkDevice -- ^ device+                           ->+                    Ptr VkImageCreateInfo -- ^ pCreateInfo+                                          ->+                      Ptr VkAllocationCallbacks -- ^ pAllocator+                                                -> Ptr VkImage -- ^ pImage+                                                               -> IO VkResult+vkCreateImageSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateImage)++{-# NOINLINE vkCreateImageSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateImage+-- >     ( VkDevice device+-- >     , const VkImageCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkImage* pImage+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateImage vkCreateImage registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateImage <- vkGetDeviceProc @VkCreateImage vkDevice+--+-- or less efficient:+--+-- > myCreateImage <- vkGetProc @VkCreateImage+--+-- __Note:__ @vkCreateImageUnsafe@ and @vkCreateImageSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateImage@ is an alias+--           of @vkCreateImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateImageSafe@.+--+vkCreateImage ::+              VkDevice -- ^ device+                       ->+                Ptr VkImageCreateInfo -- ^ pCreateInfo+                                      ->+                  Ptr VkAllocationCallbacks -- ^ pAllocator+                                            -> Ptr VkImage -- ^ pImage+                                                           -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkCreateImage = vkCreateImageUnsafe+##else+vkCreateImage = vkCreateImageSafe++##endif+{-# INLINE vkCreateImage #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateImage+--   >     ( VkDevice device+--   >     , const VkImageCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkImage* pImage+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateImage vkCreateImage registry at www.khronos.org>+type HS_vkCreateImage =+     VkDevice -- ^ device+              ->+       Ptr VkImageCreateInfo -- ^ pCreateInfo+                             ->+         Ptr VkAllocationCallbacks -- ^ pAllocator+                                   -> Ptr VkImage -- ^ pImage+                                                  -> IO VkResult++type PFN_vkCreateImage = FunPtr HS_vkCreateImage++foreign import ccall unsafe "dynamic" unwrapVkCreateImageUnsafe ::+               PFN_vkCreateImage -> HS_vkCreateImage++foreign import ccall safe "dynamic" unwrapVkCreateImageSafe ::+               PFN_vkCreateImage -> HS_vkCreateImage++instance VulkanProc "vkCreateImage" where+    type VkProcType "vkCreateImage" = HS_vkCreateImage+    vkProcSymbol = _VkCreateImage++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateImageUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateImageSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkDestroyImage :: CString++pattern VkDestroyImage <- (is_VkDestroyImage -> True)+  where+    VkDestroyImage = _VkDestroyImage++{-# INLINE _VkDestroyImage #-}++_VkDestroyImage :: CString+_VkDestroyImage = Ptr "vkDestroyImage\NUL"##++{-# INLINE is_VkDestroyImage #-}++is_VkDestroyImage :: CString -> Bool+is_VkDestroyImage = (EQ ==) . cmpCStrings _VkDestroyImage++type VkDestroyImage = "vkDestroyImage"++-- |+-- > void vkDestroyImage+-- >     ( VkDevice device+-- >     , VkImage image+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyImage vkDestroyImage registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyImage <- vkGetDeviceProc @VkDestroyImage vkDevice+--+-- or less efficient:+--+-- > myDestroyImage <- vkGetProc @VkDestroyImage+--+-- __Note:__ @vkDestroyImageUnsafe@ and @vkDestroyImageSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyImage@ is an alias+--           of @vkDestroyImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyImageSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkDestroyImage" vkDestroyImageUnsafe+               :: VkDevice -- ^ device+                           -> VkImage -- ^ image+                                      -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                   -> IO ()++##else+vkDestroyImageUnsafe ::+                     VkDevice -- ^ device+                              -> VkImage -- ^ image+                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                      -> IO ()+vkDestroyImageUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyImage)++{-# NOINLINE vkDestroyImageUnsafe #-}+##endif++-- |+-- > void vkDestroyImage+-- >     ( VkDevice device+-- >     , VkImage image+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyImage vkDestroyImage registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyImage <- vkGetDeviceProc @VkDestroyImage vkDevice+--+-- or less efficient:+--+-- > myDestroyImage <- vkGetProc @VkDestroyImage+--+-- __Note:__ @vkDestroyImageUnsafe@ and @vkDestroyImageSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyImage@ is an alias+--           of @vkDestroyImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyImageSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkDestroyImage" vkDestroyImageSafe ::+               VkDevice -- ^ device+                        -> VkImage -- ^ image+                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                -> IO ()++##else+vkDestroyImageSafe ::+                   VkDevice -- ^ device+                            -> VkImage -- ^ image+                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                    -> IO ()+vkDestroyImageSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyImage)++{-# NOINLINE vkDestroyImageSafe #-}+##endif++-- |+-- > void vkDestroyImage+-- >     ( VkDevice device+-- >     , VkImage image+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyImage vkDestroyImage registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyImage <- vkGetDeviceProc @VkDestroyImage vkDevice+--+-- or less efficient:+--+-- > myDestroyImage <- vkGetProc @VkDestroyImage+--+-- __Note:__ @vkDestroyImageUnsafe@ and @vkDestroyImageSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyImage@ is an alias+--           of @vkDestroyImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyImageSafe@.+--+vkDestroyImage ::+               VkDevice -- ^ device+                        -> VkImage -- ^ image+                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkDestroyImage = vkDestroyImageUnsafe+##else+vkDestroyImage = vkDestroyImageSafe++##endif+{-# INLINE vkDestroyImage #-}++-- | > void vkDestroyImage+--   >     ( VkDevice device+--   >     , VkImage image+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyImage vkDestroyImage registry at www.khronos.org>+type HS_vkDestroyImage =+     VkDevice -- ^ device+              -> VkImage -- ^ image+                         -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                      -> IO ()++type PFN_vkDestroyImage = FunPtr HS_vkDestroyImage++foreign import ccall unsafe "dynamic" unwrapVkDestroyImageUnsafe ::+               PFN_vkDestroyImage -> HS_vkDestroyImage++foreign import ccall safe "dynamic" unwrapVkDestroyImageSafe ::+               PFN_vkDestroyImage -> HS_vkDestroyImage++instance VulkanProc "vkDestroyImage" where+    type VkProcType "vkDestroyImage" = HS_vkDestroyImage+    vkProcSymbol = _VkDestroyImage++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDestroyImageUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroyImageSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetImageSubresourceLayout :: CString++pattern VkGetImageSubresourceLayout <-+        (is_VkGetImageSubresourceLayout -> True)+  where+    VkGetImageSubresourceLayout = _VkGetImageSubresourceLayout++{-# INLINE _VkGetImageSubresourceLayout #-}++_VkGetImageSubresourceLayout :: CString+_VkGetImageSubresourceLayout+  = Ptr "vkGetImageSubresourceLayout\NUL"##++{-# INLINE is_VkGetImageSubresourceLayout #-}++is_VkGetImageSubresourceLayout :: CString -> Bool+is_VkGetImageSubresourceLayout+  = (EQ ==) . cmpCStrings _VkGetImageSubresourceLayout++type VkGetImageSubresourceLayout = "vkGetImageSubresourceLayout"++-- |+-- > void vkGetImageSubresourceLayout+-- >     ( VkDevice device+-- >     , VkImage image+-- >     , const VkImageSubresource* pSubresource+-- >     , VkSubresourceLayout* pLayout+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSubresourceLayout vkGetImageSubresourceLayout registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetImageSubresourceLayout <- vkGetDeviceProc @VkGetImageSubresourceLayout vkDevice+--+-- or less efficient:+--+-- > myGetImageSubresourceLayout <- vkGetProc @VkGetImageSubresourceLayout+--+-- __Note:__ @vkGetImageSubresourceLayoutUnsafe@ and @vkGetImageSubresourceLayoutSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetImageSubresourceLayout@ is an alias+--           of @vkGetImageSubresourceLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetImageSubresourceLayoutSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkGetImageSubresourceLayout"+               vkGetImageSubresourceLayoutUnsafe ::+               VkDevice -- ^ device+                        ->+                 VkImage -- ^ image+                         ->+                   Ptr VkImageSubresource -- ^ pSubresource+                                          -> Ptr VkSubresourceLayout -- ^ pLayout+                                                                     -> IO ()++##else+vkGetImageSubresourceLayoutUnsafe ::+                                  VkDevice -- ^ device+                                           ->+                                    VkImage -- ^ image+                                            ->+                                      Ptr VkImageSubresource -- ^ pSubresource+                                                             -> Ptr VkSubresourceLayout -- ^ pLayout+                                                                                        -> IO ()+vkGetImageSubresourceLayoutUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetImageSubresourceLayout)++{-# NOINLINE vkGetImageSubresourceLayoutUnsafe #-}+##endif++-- |+-- > void vkGetImageSubresourceLayout+-- >     ( VkDevice device+-- >     , VkImage image+-- >     , const VkImageSubresource* pSubresource+-- >     , VkSubresourceLayout* pLayout+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSubresourceLayout vkGetImageSubresourceLayout registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetImageSubresourceLayout <- vkGetDeviceProc @VkGetImageSubresourceLayout vkDevice+--+-- or less efficient:+--+-- > myGetImageSubresourceLayout <- vkGetProc @VkGetImageSubresourceLayout+--+-- __Note:__ @vkGetImageSubresourceLayoutUnsafe@ and @vkGetImageSubresourceLayoutSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetImageSubresourceLayout@ is an alias+--           of @vkGetImageSubresourceLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetImageSubresourceLayoutSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkGetImageSubresourceLayout"+               vkGetImageSubresourceLayoutSafe ::+               VkDevice -- ^ device+                        ->+                 VkImage -- ^ image+                         ->+                   Ptr VkImageSubresource -- ^ pSubresource+                                          -> Ptr VkSubresourceLayout -- ^ pLayout+                                                                     -> IO ()++##else+vkGetImageSubresourceLayoutSafe ::+                                VkDevice -- ^ device+                                         ->+                                  VkImage -- ^ image+                                          ->+                                    Ptr VkImageSubresource -- ^ pSubresource+                                                           -> Ptr VkSubresourceLayout -- ^ pLayout+                                                                                      -> IO ()+vkGetImageSubresourceLayoutSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetImageSubresourceLayout)++{-# NOINLINE vkGetImageSubresourceLayoutSafe #-}+##endif++-- |+-- > void vkGetImageSubresourceLayout+-- >     ( VkDevice device+-- >     , VkImage image+-- >     , const VkImageSubresource* pSubresource+-- >     , VkSubresourceLayout* pLayout+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSubresourceLayout vkGetImageSubresourceLayout registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetImageSubresourceLayout <- vkGetDeviceProc @VkGetImageSubresourceLayout vkDevice+--+-- or less efficient:+--+-- > myGetImageSubresourceLayout <- vkGetProc @VkGetImageSubresourceLayout+--+-- __Note:__ @vkGetImageSubresourceLayoutUnsafe@ and @vkGetImageSubresourceLayoutSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetImageSubresourceLayout@ is an alias+--           of @vkGetImageSubresourceLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetImageSubresourceLayoutSafe@.+--+vkGetImageSubresourceLayout ::+                            VkDevice -- ^ device+                                     ->+                              VkImage -- ^ image+                                      ->+                                Ptr VkImageSubresource -- ^ pSubresource+                                                       -> Ptr VkSubresourceLayout -- ^ pLayout+                                                                                  -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkGetImageSubresourceLayout = vkGetImageSubresourceLayoutUnsafe+##else+vkGetImageSubresourceLayout = vkGetImageSubresourceLayoutSafe++##endif+{-# INLINE vkGetImageSubresourceLayout #-}++-- | > void vkGetImageSubresourceLayout+--   >     ( VkDevice device+--   >     , VkImage image+--   >     , const VkImageSubresource* pSubresource+--   >     , VkSubresourceLayout* pLayout+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSubresourceLayout vkGetImageSubresourceLayout registry at www.khronos.org>+type HS_vkGetImageSubresourceLayout =+     VkDevice -- ^ device+              ->+       VkImage -- ^ image+               ->+         Ptr VkImageSubresource -- ^ pSubresource+                                -> Ptr VkSubresourceLayout -- ^ pLayout+                                                           -> IO ()++type PFN_vkGetImageSubresourceLayout =+     FunPtr HS_vkGetImageSubresourceLayout++foreign import ccall unsafe "dynamic"+               unwrapVkGetImageSubresourceLayoutUnsafe ::+               PFN_vkGetImageSubresourceLayout -> HS_vkGetImageSubresourceLayout++foreign import ccall safe "dynamic"+               unwrapVkGetImageSubresourceLayoutSafe ::+               PFN_vkGetImageSubresourceLayout -> HS_vkGetImageSubresourceLayout++instance VulkanProc "vkGetImageSubresourceLayout" where+    type VkProcType "vkGetImageSubresourceLayout" =+         HS_vkGetImageSubresourceLayout+    vkProcSymbol = _VkGetImageSubresourceLayout++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetImageSubresourceLayoutUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetImageSubresourceLayoutSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCreateImageView :: CString++pattern VkCreateImageView <- (is_VkCreateImageView -> True)+  where+    VkCreateImageView = _VkCreateImageView++{-# INLINE _VkCreateImageView #-}++_VkCreateImageView :: CString+_VkCreateImageView = Ptr "vkCreateImageView\NUL"##++{-# INLINE is_VkCreateImageView #-}++is_VkCreateImageView :: CString -> Bool+is_VkCreateImageView = (EQ ==) . cmpCStrings _VkCreateImageView++type VkCreateImageView = "vkCreateImageView"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateImageView+-- >     ( VkDevice device+-- >     , const VkImageViewCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkImageView* pView+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateImageView vkCreateImageView registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateImageView <- vkGetDeviceProc @VkCreateImageView vkDevice+--+-- or less efficient:+--+-- > myCreateImageView <- vkGetProc @VkCreateImageView+--+-- __Note:__ @vkCreateImageViewUnsafe@ and @vkCreateImageViewSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateImageView@ is an alias+--           of @vkCreateImageViewUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateImageViewSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCreateImageView"+               vkCreateImageViewUnsafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkImageViewCreateInfo -- ^ pCreateInfo+                                           ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkImageView -- ^ pView+                                                                -> IO VkResult++##else+vkCreateImageViewUnsafe ::+                        VkDevice -- ^ device+                                 ->+                          Ptr VkImageViewCreateInfo -- ^ pCreateInfo+                                                    ->+                            Ptr VkAllocationCallbacks -- ^ pAllocator+                                                      -> Ptr VkImageView -- ^ pView+                                                                         -> IO VkResult+vkCreateImageViewUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateImageView)++{-# NOINLINE vkCreateImageViewUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateImageView+-- >     ( VkDevice device+-- >     , const VkImageViewCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkImageView* pView+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateImageView vkCreateImageView registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateImageView <- vkGetDeviceProc @VkCreateImageView vkDevice+--+-- or less efficient:+--+-- > myCreateImageView <- vkGetProc @VkCreateImageView+--+-- __Note:__ @vkCreateImageViewUnsafe@ and @vkCreateImageViewSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateImageView@ is an alias+--           of @vkCreateImageViewUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateImageViewSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCreateImageView" vkCreateImageViewSafe+               ::+               VkDevice -- ^ device+                        ->+                 Ptr VkImageViewCreateInfo -- ^ pCreateInfo+                                           ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkImageView -- ^ pView+                                                                -> IO VkResult++##else+vkCreateImageViewSafe ::+                      VkDevice -- ^ device+                               ->+                        Ptr VkImageViewCreateInfo -- ^ pCreateInfo+                                                  ->+                          Ptr VkAllocationCallbacks -- ^ pAllocator+                                                    -> Ptr VkImageView -- ^ pView+                                                                       -> IO VkResult+vkCreateImageViewSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateImageView)++{-# NOINLINE vkCreateImageViewSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateImageView+-- >     ( VkDevice device+-- >     , const VkImageViewCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkImageView* pView+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateImageView vkCreateImageView registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateImageView <- vkGetDeviceProc @VkCreateImageView vkDevice+--+-- or less efficient:+--+-- > myCreateImageView <- vkGetProc @VkCreateImageView+--+-- __Note:__ @vkCreateImageViewUnsafe@ and @vkCreateImageViewSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateImageView@ is an alias+--           of @vkCreateImageViewUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateImageViewSafe@.+--+vkCreateImageView ::+                  VkDevice -- ^ device+                           ->+                    Ptr VkImageViewCreateInfo -- ^ pCreateInfo+                                              ->+                      Ptr VkAllocationCallbacks -- ^ pAllocator+                                                -> Ptr VkImageView -- ^ pView+                                                                   -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkCreateImageView = vkCreateImageViewUnsafe+##else+vkCreateImageView = vkCreateImageViewSafe++##endif+{-# INLINE vkCreateImageView #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateImageView+--   >     ( VkDevice device+--   >     , const VkImageViewCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkImageView* pView+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateImageView vkCreateImageView registry at www.khronos.org>+type HS_vkCreateImageView =+     VkDevice -- ^ device+              ->+       Ptr VkImageViewCreateInfo -- ^ pCreateInfo+                                 ->+         Ptr VkAllocationCallbacks -- ^ pAllocator+                                   -> Ptr VkImageView -- ^ pView+                                                      -> IO VkResult++type PFN_vkCreateImageView = FunPtr HS_vkCreateImageView++foreign import ccall unsafe "dynamic" unwrapVkCreateImageViewUnsafe+               :: PFN_vkCreateImageView -> HS_vkCreateImageView++foreign import ccall safe "dynamic" unwrapVkCreateImageViewSafe ::+               PFN_vkCreateImageView -> HS_vkCreateImageView++instance VulkanProc "vkCreateImageView" where+    type VkProcType "vkCreateImageView" = HS_vkCreateImageView+    vkProcSymbol = _VkCreateImageView++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateImageViewUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateImageViewSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkDestroyImageView :: CString++pattern VkDestroyImageView <- (is_VkDestroyImageView -> True)+  where+    VkDestroyImageView = _VkDestroyImageView++{-# INLINE _VkDestroyImageView #-}++_VkDestroyImageView :: CString+_VkDestroyImageView = Ptr "vkDestroyImageView\NUL"##++{-# INLINE is_VkDestroyImageView #-}++is_VkDestroyImageView :: CString -> Bool+is_VkDestroyImageView = (EQ ==) . cmpCStrings _VkDestroyImageView++type VkDestroyImageView = "vkDestroyImageView"++-- |+-- > void vkDestroyImageView+-- >     ( VkDevice device+-- >     , VkImageView imageView+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyImageView vkDestroyImageView registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyImageView <- vkGetDeviceProc @VkDestroyImageView vkDevice+--+-- or less efficient:+--+-- > myDestroyImageView <- vkGetProc @VkDestroyImageView+--+-- __Note:__ @vkDestroyImageViewUnsafe@ and @vkDestroyImageViewSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyImageView@ is an alias+--           of @vkDestroyImageViewUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyImageViewSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkDestroyImageView"+               vkDestroyImageViewUnsafe ::+               VkDevice -- ^ device+                        -> VkImageView -- ^ imageView+                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                    -> IO ()++##else+vkDestroyImageViewUnsafe ::+                         VkDevice -- ^ device+                                  -> VkImageView -- ^ imageView+                                                 -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                              -> IO ()+vkDestroyImageViewUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyImageView)++{-# NOINLINE vkDestroyImageViewUnsafe #-}+##endif++-- |+-- > void vkDestroyImageView+-- >     ( VkDevice device+-- >     , VkImageView imageView+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyImageView vkDestroyImageView registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyImageView <- vkGetDeviceProc @VkDestroyImageView vkDevice+--+-- or less efficient:+--+-- > myDestroyImageView <- vkGetProc @VkDestroyImageView+--+-- __Note:__ @vkDestroyImageViewUnsafe@ and @vkDestroyImageViewSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyImageView@ is an alias+--           of @vkDestroyImageViewUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyImageViewSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkDestroyImageView"+               vkDestroyImageViewSafe ::+               VkDevice -- ^ device+                        -> VkImageView -- ^ imageView+                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                    -> IO ()++##else+vkDestroyImageViewSafe ::+                       VkDevice -- ^ device+                                -> VkImageView -- ^ imageView+                                               -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                            -> IO ()+vkDestroyImageViewSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyImageView)++{-# NOINLINE vkDestroyImageViewSafe #-}+##endif++-- |+-- > void vkDestroyImageView+-- >     ( VkDevice device+-- >     , VkImageView imageView+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyImageView vkDestroyImageView registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyImageView <- vkGetDeviceProc @VkDestroyImageView vkDevice+--+-- or less efficient:+--+-- > myDestroyImageView <- vkGetProc @VkDestroyImageView+--+-- __Note:__ @vkDestroyImageViewUnsafe@ and @vkDestroyImageViewSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyImageView@ is an alias+--           of @vkDestroyImageViewUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyImageViewSafe@.+--+vkDestroyImageView ::+                   VkDevice -- ^ device+                            -> VkImageView -- ^ imageView+                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                        -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkDestroyImageView = vkDestroyImageViewUnsafe+##else+vkDestroyImageView = vkDestroyImageViewSafe++##endif+{-# INLINE vkDestroyImageView #-}++-- | > void vkDestroyImageView+--   >     ( VkDevice device+--   >     , VkImageView imageView+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyImageView vkDestroyImageView registry at www.khronos.org>+type HS_vkDestroyImageView =+     VkDevice -- ^ device+              -> VkImageView -- ^ imageView+                             -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                          -> IO ()++type PFN_vkDestroyImageView = FunPtr HS_vkDestroyImageView++foreign import ccall unsafe "dynamic"+               unwrapVkDestroyImageViewUnsafe ::+               PFN_vkDestroyImageView -> HS_vkDestroyImageView++foreign import ccall safe "dynamic" unwrapVkDestroyImageViewSafe ::+               PFN_vkDestroyImageView -> HS_vkDestroyImageView++instance VulkanProc "vkDestroyImageView" where+    type VkProcType "vkDestroyImageView" = HS_vkDestroyImageView+    vkProcSymbol = _VkDestroyImageView++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDestroyImageViewUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroyImageViewSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCreateShaderModule :: CString++pattern VkCreateShaderModule <- (is_VkCreateShaderModule -> True)+  where+    VkCreateShaderModule = _VkCreateShaderModule++{-# INLINE _VkCreateShaderModule #-}++_VkCreateShaderModule :: CString+_VkCreateShaderModule = Ptr "vkCreateShaderModule\NUL"##++{-# INLINE is_VkCreateShaderModule #-}++is_VkCreateShaderModule :: CString -> Bool+is_VkCreateShaderModule+  = (EQ ==) . cmpCStrings _VkCreateShaderModule++type VkCreateShaderModule = "vkCreateShaderModule"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+-- > VkResult vkCreateShaderModule+-- >     ( VkDevice device+-- >     , const VkShaderModuleCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkShaderModule* pShaderModule+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateShaderModule vkCreateShaderModule registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateShaderModule <- vkGetDeviceProc @VkCreateShaderModule vkDevice+--+-- or less efficient:+--+-- > myCreateShaderModule <- vkGetProc @VkCreateShaderModule+--+-- __Note:__ @vkCreateShaderModuleUnsafe@ and @vkCreateShaderModuleSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateShaderModule@ is an alias+--           of @vkCreateShaderModuleUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateShaderModuleSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCreateShaderModule"+               vkCreateShaderModuleUnsafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkShaderModuleCreateInfo -- ^ pCreateInfo+                                              ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkShaderModule -- ^ pShaderModule+                                                                   -> IO VkResult++##else+vkCreateShaderModuleUnsafe ::+                           VkDevice -- ^ device+                                    ->+                             Ptr VkShaderModuleCreateInfo -- ^ pCreateInfo+                                                          ->+                               Ptr VkAllocationCallbacks -- ^ pAllocator+                                                         -> Ptr VkShaderModule -- ^ pShaderModule+                                                                               -> IO VkResult+vkCreateShaderModuleUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateShaderModule)++{-# NOINLINE vkCreateShaderModuleUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+-- > VkResult vkCreateShaderModule+-- >     ( VkDevice device+-- >     , const VkShaderModuleCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkShaderModule* pShaderModule+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateShaderModule vkCreateShaderModule registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateShaderModule <- vkGetDeviceProc @VkCreateShaderModule vkDevice+--+-- or less efficient:+--+-- > myCreateShaderModule <- vkGetProc @VkCreateShaderModule+--+-- __Note:__ @vkCreateShaderModuleUnsafe@ and @vkCreateShaderModuleSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateShaderModule@ is an alias+--           of @vkCreateShaderModuleUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateShaderModuleSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCreateShaderModule"+               vkCreateShaderModuleSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkShaderModuleCreateInfo -- ^ pCreateInfo+                                              ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkShaderModule -- ^ pShaderModule+                                                                   -> IO VkResult++##else+vkCreateShaderModuleSafe ::+                         VkDevice -- ^ device+                                  ->+                           Ptr VkShaderModuleCreateInfo -- ^ pCreateInfo+                                                        ->+                             Ptr VkAllocationCallbacks -- ^ pAllocator+                                                       -> Ptr VkShaderModule -- ^ pShaderModule+                                                                             -> IO VkResult+vkCreateShaderModuleSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateShaderModule)++{-# NOINLINE vkCreateShaderModuleSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+-- > VkResult vkCreateShaderModule+-- >     ( VkDevice device+-- >     , const VkShaderModuleCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkShaderModule* pShaderModule+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateShaderModule vkCreateShaderModule registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateShaderModule <- vkGetDeviceProc @VkCreateShaderModule vkDevice+--+-- or less efficient:+--+-- > myCreateShaderModule <- vkGetProc @VkCreateShaderModule+--+-- __Note:__ @vkCreateShaderModuleUnsafe@ and @vkCreateShaderModuleSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateShaderModule@ is an alias+--           of @vkCreateShaderModuleUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateShaderModuleSafe@.+--+vkCreateShaderModule ::+                     VkDevice -- ^ device+                              ->+                       Ptr VkShaderModuleCreateInfo -- ^ pCreateInfo+                                                    ->+                         Ptr VkAllocationCallbacks -- ^ pAllocator+                                                   -> Ptr VkShaderModule -- ^ pShaderModule+                                                                         -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkCreateShaderModule = vkCreateShaderModuleUnsafe+##else+vkCreateShaderModule = vkCreateShaderModuleSafe++##endif+{-# INLINE vkCreateShaderModule #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+--   > VkResult vkCreateShaderModule+--   >     ( VkDevice device+--   >     , const VkShaderModuleCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkShaderModule* pShaderModule+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateShaderModule vkCreateShaderModule registry at www.khronos.org>+type HS_vkCreateShaderModule =+     VkDevice -- ^ device+              ->+       Ptr VkShaderModuleCreateInfo -- ^ pCreateInfo+                                    ->+         Ptr VkAllocationCallbacks -- ^ pAllocator+                                   -> Ptr VkShaderModule -- ^ pShaderModule+                                                         -> IO VkResult++type PFN_vkCreateShaderModule = FunPtr HS_vkCreateShaderModule++foreign import ccall unsafe "dynamic"+               unwrapVkCreateShaderModuleUnsafe ::+               PFN_vkCreateShaderModule -> HS_vkCreateShaderModule++foreign import ccall safe "dynamic" unwrapVkCreateShaderModuleSafe+               :: PFN_vkCreateShaderModule -> HS_vkCreateShaderModule++instance VulkanProc "vkCreateShaderModule" where+    type VkProcType "vkCreateShaderModule" = HS_vkCreateShaderModule+    vkProcSymbol = _VkCreateShaderModule++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateShaderModuleUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateShaderModuleSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkDestroyShaderModule :: CString++pattern VkDestroyShaderModule <- (is_VkDestroyShaderModule -> True)+  where+    VkDestroyShaderModule = _VkDestroyShaderModule++{-# INLINE _VkDestroyShaderModule #-}++_VkDestroyShaderModule :: CString+_VkDestroyShaderModule = Ptr "vkDestroyShaderModule\NUL"##++{-# INLINE is_VkDestroyShaderModule #-}++is_VkDestroyShaderModule :: CString -> Bool+is_VkDestroyShaderModule+  = (EQ ==) . cmpCStrings _VkDestroyShaderModule++type VkDestroyShaderModule = "vkDestroyShaderModule"++-- |+-- > void vkDestroyShaderModule+-- >     ( VkDevice device+-- >     , VkShaderModule shaderModule+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyShaderModule vkDestroyShaderModule registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyShaderModule <- vkGetDeviceProc @VkDestroyShaderModule vkDevice+--+-- or less efficient:+--+-- > myDestroyShaderModule <- vkGetProc @VkDestroyShaderModule+--+-- __Note:__ @vkDestroyShaderModuleUnsafe@ and @vkDestroyShaderModuleSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyShaderModule@ is an alias+--           of @vkDestroyShaderModuleUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyShaderModuleSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkDestroyShaderModule"+               vkDestroyShaderModuleUnsafe ::+               VkDevice -- ^ device+                        -> VkShaderModule -- ^ shaderModule+                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                       -> IO ()++##else+vkDestroyShaderModuleUnsafe ::+                            VkDevice -- ^ device+                                     -> VkShaderModule -- ^ shaderModule+                                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                                    -> IO ()+vkDestroyShaderModuleUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyShaderModule)++{-# NOINLINE vkDestroyShaderModuleUnsafe #-}+##endif++-- |+-- > void vkDestroyShaderModule+-- >     ( VkDevice device+-- >     , VkShaderModule shaderModule+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyShaderModule vkDestroyShaderModule registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyShaderModule <- vkGetDeviceProc @VkDestroyShaderModule vkDevice+--+-- or less efficient:+--+-- > myDestroyShaderModule <- vkGetProc @VkDestroyShaderModule+--+-- __Note:__ @vkDestroyShaderModuleUnsafe@ and @vkDestroyShaderModuleSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyShaderModule@ is an alias+--           of @vkDestroyShaderModuleUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyShaderModuleSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkDestroyShaderModule"+               vkDestroyShaderModuleSafe ::+               VkDevice -- ^ device+                        -> VkShaderModule -- ^ shaderModule+                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                       -> IO ()++##else+vkDestroyShaderModuleSafe ::+                          VkDevice -- ^ device+                                   -> VkShaderModule -- ^ shaderModule+                                                     -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                                  -> IO ()+vkDestroyShaderModuleSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyShaderModule)++{-# NOINLINE vkDestroyShaderModuleSafe #-}+##endif++-- |+-- > void vkDestroyShaderModule+-- >     ( VkDevice device+-- >     , VkShaderModule shaderModule+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyShaderModule vkDestroyShaderModule registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyShaderModule <- vkGetDeviceProc @VkDestroyShaderModule vkDevice+--+-- or less efficient:+--+-- > myDestroyShaderModule <- vkGetProc @VkDestroyShaderModule+--+-- __Note:__ @vkDestroyShaderModuleUnsafe@ and @vkDestroyShaderModuleSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyShaderModule@ is an alias+--           of @vkDestroyShaderModuleUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyShaderModuleSafe@.+--+vkDestroyShaderModule ::+                      VkDevice -- ^ device+                               -> VkShaderModule -- ^ shaderModule+                                                 -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                              -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkDestroyShaderModule = vkDestroyShaderModuleUnsafe+##else+vkDestroyShaderModule = vkDestroyShaderModuleSafe++##endif+{-# INLINE vkDestroyShaderModule #-}++-- | > void vkDestroyShaderModule+--   >     ( VkDevice device+--   >     , VkShaderModule shaderModule+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyShaderModule vkDestroyShaderModule registry at www.khronos.org>+type HS_vkDestroyShaderModule =+     VkDevice -- ^ device+              -> VkShaderModule -- ^ shaderModule+                                -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                             -> IO ()++type PFN_vkDestroyShaderModule = FunPtr HS_vkDestroyShaderModule++foreign import ccall unsafe "dynamic"+               unwrapVkDestroyShaderModuleUnsafe ::+               PFN_vkDestroyShaderModule -> HS_vkDestroyShaderModule++foreign import ccall safe "dynamic" unwrapVkDestroyShaderModuleSafe+               :: PFN_vkDestroyShaderModule -> HS_vkDestroyShaderModule++instance VulkanProc "vkDestroyShaderModule" where+    type VkProcType "vkDestroyShaderModule" = HS_vkDestroyShaderModule+    vkProcSymbol = _VkDestroyShaderModule++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDestroyShaderModuleUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroyShaderModuleSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCreatePipelineCache :: CString++pattern VkCreatePipelineCache <- (is_VkCreatePipelineCache -> True)+  where+    VkCreatePipelineCache = _VkCreatePipelineCache++{-# INLINE _VkCreatePipelineCache #-}++_VkCreatePipelineCache :: CString+_VkCreatePipelineCache = Ptr "vkCreatePipelineCache\NUL"##++{-# INLINE is_VkCreatePipelineCache #-}++is_VkCreatePipelineCache :: CString -> Bool+is_VkCreatePipelineCache+  = (EQ ==) . cmpCStrings _VkCreatePipelineCache++type VkCreatePipelineCache = "vkCreatePipelineCache"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreatePipelineCache+-- >     ( VkDevice device+-- >     , const VkPipelineCacheCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkPipelineCache* pPipelineCache+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreatePipelineCache vkCreatePipelineCache registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreatePipelineCache <- vkGetDeviceProc @VkCreatePipelineCache vkDevice+--+-- or less efficient:+--+-- > myCreatePipelineCache <- vkGetProc @VkCreatePipelineCache+--+-- __Note:__ @vkCreatePipelineCacheUnsafe@ and @vkCreatePipelineCacheSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreatePipelineCache@ is an alias+--           of @vkCreatePipelineCacheUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreatePipelineCacheSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCreatePipelineCache"+               vkCreatePipelineCacheUnsafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkPipelineCacheCreateInfo -- ^ pCreateInfo+                                               ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkPipelineCache -- ^ pPipelineCache+                                                                    -> IO VkResult++##else+vkCreatePipelineCacheUnsafe ::+                            VkDevice -- ^ device+                                     ->+                              Ptr VkPipelineCacheCreateInfo -- ^ pCreateInfo+                                                            ->+                                Ptr VkAllocationCallbacks -- ^ pAllocator+                                                          -> Ptr VkPipelineCache -- ^ pPipelineCache+                                                                                 -> IO VkResult+vkCreatePipelineCacheUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreatePipelineCache)++{-# NOINLINE vkCreatePipelineCacheUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreatePipelineCache+-- >     ( VkDevice device+-- >     , const VkPipelineCacheCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkPipelineCache* pPipelineCache+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreatePipelineCache vkCreatePipelineCache registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreatePipelineCache <- vkGetDeviceProc @VkCreatePipelineCache vkDevice+--+-- or less efficient:+--+-- > myCreatePipelineCache <- vkGetProc @VkCreatePipelineCache+--+-- __Note:__ @vkCreatePipelineCacheUnsafe@ and @vkCreatePipelineCacheSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreatePipelineCache@ is an alias+--           of @vkCreatePipelineCacheUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreatePipelineCacheSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCreatePipelineCache"+               vkCreatePipelineCacheSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkPipelineCacheCreateInfo -- ^ pCreateInfo+                                               ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkPipelineCache -- ^ pPipelineCache+                                                                    -> IO VkResult++##else+vkCreatePipelineCacheSafe ::+                          VkDevice -- ^ device+                                   ->+                            Ptr VkPipelineCacheCreateInfo -- ^ pCreateInfo+                                                          ->+                              Ptr VkAllocationCallbacks -- ^ pAllocator+                                                        -> Ptr VkPipelineCache -- ^ pPipelineCache+                                                                               -> IO VkResult+vkCreatePipelineCacheSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCreatePipelineCache)++{-# NOINLINE vkCreatePipelineCacheSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreatePipelineCache+-- >     ( VkDevice device+-- >     , const VkPipelineCacheCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkPipelineCache* pPipelineCache+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreatePipelineCache vkCreatePipelineCache registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreatePipelineCache <- vkGetDeviceProc @VkCreatePipelineCache vkDevice+--+-- or less efficient:+--+-- > myCreatePipelineCache <- vkGetProc @VkCreatePipelineCache+--+-- __Note:__ @vkCreatePipelineCacheUnsafe@ and @vkCreatePipelineCacheSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreatePipelineCache@ is an alias+--           of @vkCreatePipelineCacheUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreatePipelineCacheSafe@.+--+vkCreatePipelineCache ::+                      VkDevice -- ^ device+                               ->+                        Ptr VkPipelineCacheCreateInfo -- ^ pCreateInfo+                                                      ->+                          Ptr VkAllocationCallbacks -- ^ pAllocator+                                                    -> Ptr VkPipelineCache -- ^ pPipelineCache+                                                                           -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkCreatePipelineCache = vkCreatePipelineCacheUnsafe+##else+vkCreatePipelineCache = vkCreatePipelineCacheSafe++##endif+{-# INLINE vkCreatePipelineCache #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreatePipelineCache+--   >     ( VkDevice device+--   >     , const VkPipelineCacheCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkPipelineCache* pPipelineCache+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreatePipelineCache vkCreatePipelineCache registry at www.khronos.org>+type HS_vkCreatePipelineCache =+     VkDevice -- ^ device+              ->+       Ptr VkPipelineCacheCreateInfo -- ^ pCreateInfo+                                     ->+         Ptr VkAllocationCallbacks -- ^ pAllocator+                                   -> Ptr VkPipelineCache -- ^ pPipelineCache+                                                          -> IO VkResult++type PFN_vkCreatePipelineCache = FunPtr HS_vkCreatePipelineCache++foreign import ccall unsafe "dynamic"+               unwrapVkCreatePipelineCacheUnsafe ::+               PFN_vkCreatePipelineCache -> HS_vkCreatePipelineCache++foreign import ccall safe "dynamic" unwrapVkCreatePipelineCacheSafe+               :: PFN_vkCreatePipelineCache -> HS_vkCreatePipelineCache++instance VulkanProc "vkCreatePipelineCache" where+    type VkProcType "vkCreatePipelineCache" = HS_vkCreatePipelineCache+    vkProcSymbol = _VkCreatePipelineCache++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreatePipelineCacheUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreatePipelineCacheSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkDestroyPipelineCache :: CString++pattern VkDestroyPipelineCache <-+        (is_VkDestroyPipelineCache -> True)+  where+    VkDestroyPipelineCache = _VkDestroyPipelineCache++{-# INLINE _VkDestroyPipelineCache #-}++_VkDestroyPipelineCache :: CString+_VkDestroyPipelineCache = Ptr "vkDestroyPipelineCache\NUL"##++{-# INLINE is_VkDestroyPipelineCache #-}++is_VkDestroyPipelineCache :: CString -> Bool+is_VkDestroyPipelineCache+  = (EQ ==) . cmpCStrings _VkDestroyPipelineCache++type VkDestroyPipelineCache = "vkDestroyPipelineCache"++-- |+-- > void vkDestroyPipelineCache+-- >     ( VkDevice device+-- >     , VkPipelineCache pipelineCache+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipelineCache vkDestroyPipelineCache registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyPipelineCache <- vkGetDeviceProc @VkDestroyPipelineCache vkDevice+--+-- or less efficient:+--+-- > myDestroyPipelineCache <- vkGetProc @VkDestroyPipelineCache+--+-- __Note:__ @vkDestroyPipelineCacheUnsafe@ and @vkDestroyPipelineCacheSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyPipelineCache@ is an alias+--           of @vkDestroyPipelineCacheUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyPipelineCacheSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkDestroyPipelineCache"+               vkDestroyPipelineCacheUnsafe ::+               VkDevice -- ^ device+                        -> VkPipelineCache -- ^ pipelineCache+                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                        -> IO ()++##else+vkDestroyPipelineCacheUnsafe ::+                             VkDevice -- ^ device+                                      -> VkPipelineCache -- ^ pipelineCache+                                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                                      -> IO ()+vkDestroyPipelineCacheUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyPipelineCache)++{-# NOINLINE vkDestroyPipelineCacheUnsafe #-}+##endif++-- |+-- > void vkDestroyPipelineCache+-- >     ( VkDevice device+-- >     , VkPipelineCache pipelineCache+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipelineCache vkDestroyPipelineCache registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyPipelineCache <- vkGetDeviceProc @VkDestroyPipelineCache vkDevice+--+-- or less efficient:+--+-- > myDestroyPipelineCache <- vkGetProc @VkDestroyPipelineCache+--+-- __Note:__ @vkDestroyPipelineCacheUnsafe@ and @vkDestroyPipelineCacheSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyPipelineCache@ is an alias+--           of @vkDestroyPipelineCacheUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyPipelineCacheSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkDestroyPipelineCache"+               vkDestroyPipelineCacheSafe ::+               VkDevice -- ^ device+                        -> VkPipelineCache -- ^ pipelineCache+                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                        -> IO ()++##else+vkDestroyPipelineCacheSafe ::+                           VkDevice -- ^ device+                                    -> VkPipelineCache -- ^ pipelineCache+                                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                                    -> IO ()+vkDestroyPipelineCacheSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyPipelineCache)++{-# NOINLINE vkDestroyPipelineCacheSafe #-}+##endif++-- |+-- > void vkDestroyPipelineCache+-- >     ( VkDevice device+-- >     , VkPipelineCache pipelineCache+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipelineCache vkDestroyPipelineCache registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyPipelineCache <- vkGetDeviceProc @VkDestroyPipelineCache vkDevice+--+-- or less efficient:+--+-- > myDestroyPipelineCache <- vkGetProc @VkDestroyPipelineCache+--+-- __Note:__ @vkDestroyPipelineCacheUnsafe@ and @vkDestroyPipelineCacheSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyPipelineCache@ is an alias+--           of @vkDestroyPipelineCacheUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyPipelineCacheSafe@.+--+vkDestroyPipelineCache ::+                       VkDevice -- ^ device+                                -> VkPipelineCache -- ^ pipelineCache+                                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                                -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkDestroyPipelineCache = vkDestroyPipelineCacheUnsafe+##else+vkDestroyPipelineCache = vkDestroyPipelineCacheSafe++##endif+{-# INLINE vkDestroyPipelineCache #-}++-- | > void vkDestroyPipelineCache+--   >     ( VkDevice device+--   >     , VkPipelineCache pipelineCache+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipelineCache vkDestroyPipelineCache registry at www.khronos.org>+type HS_vkDestroyPipelineCache =+     VkDevice -- ^ device+              -> VkPipelineCache -- ^ pipelineCache+                                 -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                              -> IO ()++type PFN_vkDestroyPipelineCache = FunPtr HS_vkDestroyPipelineCache++foreign import ccall unsafe "dynamic"+               unwrapVkDestroyPipelineCacheUnsafe ::+               PFN_vkDestroyPipelineCache -> HS_vkDestroyPipelineCache++foreign import ccall safe "dynamic"+               unwrapVkDestroyPipelineCacheSafe ::+               PFN_vkDestroyPipelineCache -> HS_vkDestroyPipelineCache++instance VulkanProc "vkDestroyPipelineCache" where+    type VkProcType "vkDestroyPipelineCache" =+         HS_vkDestroyPipelineCache+    vkProcSymbol = _VkDestroyPipelineCache++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDestroyPipelineCacheUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroyPipelineCacheSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetPipelineCacheData :: CString++pattern VkGetPipelineCacheData <-+        (is_VkGetPipelineCacheData -> True)+  where+    VkGetPipelineCacheData = _VkGetPipelineCacheData++{-# INLINE _VkGetPipelineCacheData #-}++_VkGetPipelineCacheData :: CString+_VkGetPipelineCacheData = Ptr "vkGetPipelineCacheData\NUL"##++{-# INLINE is_VkGetPipelineCacheData #-}++is_VkGetPipelineCacheData :: CString -> Bool+is_VkGetPipelineCacheData+  = (EQ ==) . cmpCStrings _VkGetPipelineCacheData++type VkGetPipelineCacheData = "vkGetPipelineCacheData"++-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetPipelineCacheData+-- >     ( VkDevice device+-- >     , VkPipelineCache pipelineCache+-- >     , size_t* pDataSize+-- >     , void* pData+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPipelineCacheData vkGetPipelineCacheData registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPipelineCacheData <- vkGetDeviceProc @VkGetPipelineCacheData vkDevice+--+-- or less efficient:+--+-- > myGetPipelineCacheData <- vkGetProc @VkGetPipelineCacheData+--+-- __Note:__ @vkGetPipelineCacheDataUnsafe@ and @vkGetPipelineCacheDataSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPipelineCacheData@ is an alias+--           of @vkGetPipelineCacheDataUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPipelineCacheDataSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkGetPipelineCacheData"+               vkGetPipelineCacheDataUnsafe ::+               VkDevice -- ^ device+                        -> VkPipelineCache -- ^ pipelineCache+                                           -> Ptr CSize -- ^ pDataSize+                                                        -> Ptr Void -- ^ pData+                                                                    -> IO VkResult++##else+vkGetPipelineCacheDataUnsafe ::+                             VkDevice -- ^ device+                                      -> VkPipelineCache -- ^ pipelineCache+                                                         -> Ptr CSize -- ^ pDataSize+                                                                      -> Ptr Void -- ^ pData+                                                                                  -> IO VkResult+vkGetPipelineCacheDataUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkGetPipelineCacheData)++{-# NOINLINE vkGetPipelineCacheDataUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetPipelineCacheData+-- >     ( VkDevice device+-- >     , VkPipelineCache pipelineCache+-- >     , size_t* pDataSize+-- >     , void* pData+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPipelineCacheData vkGetPipelineCacheData registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPipelineCacheData <- vkGetDeviceProc @VkGetPipelineCacheData vkDevice+--+-- or less efficient:+--+-- > myGetPipelineCacheData <- vkGetProc @VkGetPipelineCacheData+--+-- __Note:__ @vkGetPipelineCacheDataUnsafe@ and @vkGetPipelineCacheDataSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPipelineCacheData@ is an alias+--           of @vkGetPipelineCacheDataUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPipelineCacheDataSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkGetPipelineCacheData"+               vkGetPipelineCacheDataSafe ::+               VkDevice -- ^ device+                        -> VkPipelineCache -- ^ pipelineCache+                                           -> Ptr CSize -- ^ pDataSize+                                                        -> Ptr Void -- ^ pData+                                                                    -> IO VkResult++##else+vkGetPipelineCacheDataSafe ::+                           VkDevice -- ^ device+                                    -> VkPipelineCache -- ^ pipelineCache+                                                       -> Ptr CSize -- ^ pDataSize+                                                                    -> Ptr Void -- ^ pData+                                                                                -> IO VkResult+vkGetPipelineCacheDataSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkGetPipelineCacheData)++{-# NOINLINE vkGetPipelineCacheDataSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetPipelineCacheData+-- >     ( VkDevice device+-- >     , VkPipelineCache pipelineCache+-- >     , size_t* pDataSize+-- >     , void* pData+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPipelineCacheData vkGetPipelineCacheData registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPipelineCacheData <- vkGetDeviceProc @VkGetPipelineCacheData vkDevice+--+-- or less efficient:+--+-- > myGetPipelineCacheData <- vkGetProc @VkGetPipelineCacheData+--+-- __Note:__ @vkGetPipelineCacheDataUnsafe@ and @vkGetPipelineCacheDataSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPipelineCacheData@ is an alias+--           of @vkGetPipelineCacheDataUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPipelineCacheDataSafe@.+--+vkGetPipelineCacheData ::+                       VkDevice -- ^ device+                                -> VkPipelineCache -- ^ pipelineCache+                                                   -> Ptr CSize -- ^ pDataSize+                                                                -> Ptr Void -- ^ pData+                                                                            -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkGetPipelineCacheData = vkGetPipelineCacheDataUnsafe+##else+vkGetPipelineCacheData = vkGetPipelineCacheDataSafe++##endif+{-# INLINE vkGetPipelineCacheData #-}++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkGetPipelineCacheData+--   >     ( VkDevice device+--   >     , VkPipelineCache pipelineCache+--   >     , size_t* pDataSize+--   >     , void* pData+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPipelineCacheData vkGetPipelineCacheData registry at www.khronos.org>+type HS_vkGetPipelineCacheData =+     VkDevice -- ^ device+              -> VkPipelineCache -- ^ pipelineCache+                                 -> Ptr CSize -- ^ pDataSize+                                              -> Ptr Void -- ^ pData+                                                          -> IO VkResult++type PFN_vkGetPipelineCacheData = FunPtr HS_vkGetPipelineCacheData++foreign import ccall unsafe "dynamic"+               unwrapVkGetPipelineCacheDataUnsafe ::+               PFN_vkGetPipelineCacheData -> HS_vkGetPipelineCacheData++foreign import ccall safe "dynamic"+               unwrapVkGetPipelineCacheDataSafe ::+               PFN_vkGetPipelineCacheData -> HS_vkGetPipelineCacheData++instance VulkanProc "vkGetPipelineCacheData" where+    type VkProcType "vkGetPipelineCacheData" =+         HS_vkGetPipelineCacheData+    vkProcSymbol = _VkGetPipelineCacheData++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetPipelineCacheDataUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetPipelineCacheDataSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkMergePipelineCaches :: CString++pattern VkMergePipelineCaches <- (is_VkMergePipelineCaches -> True)+  where+    VkMergePipelineCaches = _VkMergePipelineCaches++{-# INLINE _VkMergePipelineCaches #-}++_VkMergePipelineCaches :: CString+_VkMergePipelineCaches = Ptr "vkMergePipelineCaches\NUL"##++{-# INLINE is_VkMergePipelineCaches #-}++is_VkMergePipelineCaches :: CString -> Bool+is_VkMergePipelineCaches+  = (EQ ==) . cmpCStrings _VkMergePipelineCaches++type VkMergePipelineCaches = "vkMergePipelineCaches"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkMergePipelineCaches+-- >     ( VkDevice device+-- >     , VkPipelineCache dstCache+-- >     , uint32_t srcCacheCount+-- >     , const VkPipelineCache* pSrcCaches+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkMergePipelineCaches vkMergePipelineCaches registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myMergePipelineCaches <- vkGetDeviceProc @VkMergePipelineCaches vkDevice+--+-- or less efficient:+--+-- > myMergePipelineCaches <- vkGetProc @VkMergePipelineCaches+--+-- __Note:__ @vkMergePipelineCachesUnsafe@ and @vkMergePipelineCachesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkMergePipelineCaches@ is an alias+--           of @vkMergePipelineCachesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkMergePipelineCachesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkMergePipelineCaches"+               vkMergePipelineCachesUnsafe ::+               VkDevice -- ^ device+                        ->+                 VkPipelineCache -- ^ dstCache+                                 -> Word32 -- ^ srcCacheCount+                                           -> Ptr VkPipelineCache -- ^ pSrcCaches+                                                                  -> IO VkResult++##else+vkMergePipelineCachesUnsafe ::+                            VkDevice -- ^ device+                                     ->+                              VkPipelineCache -- ^ dstCache+                                              -> Word32 -- ^ srcCacheCount+                                                        -> Ptr VkPipelineCache -- ^ pSrcCaches+                                                                               -> IO VkResult+vkMergePipelineCachesUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkMergePipelineCaches)++{-# NOINLINE vkMergePipelineCachesUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkMergePipelineCaches+-- >     ( VkDevice device+-- >     , VkPipelineCache dstCache+-- >     , uint32_t srcCacheCount+-- >     , const VkPipelineCache* pSrcCaches+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkMergePipelineCaches vkMergePipelineCaches registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myMergePipelineCaches <- vkGetDeviceProc @VkMergePipelineCaches vkDevice+--+-- or less efficient:+--+-- > myMergePipelineCaches <- vkGetProc @VkMergePipelineCaches+--+-- __Note:__ @vkMergePipelineCachesUnsafe@ and @vkMergePipelineCachesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkMergePipelineCaches@ is an alias+--           of @vkMergePipelineCachesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkMergePipelineCachesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkMergePipelineCaches"+               vkMergePipelineCachesSafe ::+               VkDevice -- ^ device+                        ->+                 VkPipelineCache -- ^ dstCache+                                 -> Word32 -- ^ srcCacheCount+                                           -> Ptr VkPipelineCache -- ^ pSrcCaches+                                                                  -> IO VkResult++##else+vkMergePipelineCachesSafe ::+                          VkDevice -- ^ device+                                   ->+                            VkPipelineCache -- ^ dstCache+                                            -> Word32 -- ^ srcCacheCount+                                                      -> Ptr VkPipelineCache -- ^ pSrcCaches+                                                                             -> IO VkResult+vkMergePipelineCachesSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkMergePipelineCaches)++{-# NOINLINE vkMergePipelineCachesSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkMergePipelineCaches+-- >     ( VkDevice device+-- >     , VkPipelineCache dstCache+-- >     , uint32_t srcCacheCount+-- >     , const VkPipelineCache* pSrcCaches+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkMergePipelineCaches vkMergePipelineCaches registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myMergePipelineCaches <- vkGetDeviceProc @VkMergePipelineCaches vkDevice+--+-- or less efficient:+--+-- > myMergePipelineCaches <- vkGetProc @VkMergePipelineCaches+--+-- __Note:__ @vkMergePipelineCachesUnsafe@ and @vkMergePipelineCachesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkMergePipelineCaches@ is an alias+--           of @vkMergePipelineCachesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkMergePipelineCachesSafe@.+--+vkMergePipelineCaches ::+                      VkDevice -- ^ device+                               ->+                        VkPipelineCache -- ^ dstCache+                                        -> Word32 -- ^ srcCacheCount+                                                  -> Ptr VkPipelineCache -- ^ pSrcCaches+                                                                         -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkMergePipelineCaches = vkMergePipelineCachesUnsafe+##else+vkMergePipelineCaches = vkMergePipelineCachesSafe++##endif+{-# INLINE vkMergePipelineCaches #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkMergePipelineCaches+--   >     ( VkDevice device+--   >     , VkPipelineCache dstCache+--   >     , uint32_t srcCacheCount+--   >     , const VkPipelineCache* pSrcCaches+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkMergePipelineCaches vkMergePipelineCaches registry at www.khronos.org>+type HS_vkMergePipelineCaches =+     VkDevice -- ^ device+              ->+       VkPipelineCache -- ^ dstCache+                       -> Word32 -- ^ srcCacheCount+                                 -> Ptr VkPipelineCache -- ^ pSrcCaches+                                                        -> IO VkResult++type PFN_vkMergePipelineCaches = FunPtr HS_vkMergePipelineCaches++foreign import ccall unsafe "dynamic"+               unwrapVkMergePipelineCachesUnsafe ::+               PFN_vkMergePipelineCaches -> HS_vkMergePipelineCaches++foreign import ccall safe "dynamic" unwrapVkMergePipelineCachesSafe+               :: PFN_vkMergePipelineCaches -> HS_vkMergePipelineCaches++instance VulkanProc "vkMergePipelineCaches" where+    type VkProcType "vkMergePipelineCaches" = HS_vkMergePipelineCaches+    vkProcSymbol = _VkMergePipelineCaches++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkMergePipelineCachesUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkMergePipelineCachesSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCreateGraphicsPipelines :: CString++pattern VkCreateGraphicsPipelines <-+        (is_VkCreateGraphicsPipelines -> True)+  where+    VkCreateGraphicsPipelines = _VkCreateGraphicsPipelines++{-# INLINE _VkCreateGraphicsPipelines #-}++_VkCreateGraphicsPipelines :: CString+_VkCreateGraphicsPipelines = Ptr "vkCreateGraphicsPipelines\NUL"##++{-# INLINE is_VkCreateGraphicsPipelines #-}++is_VkCreateGraphicsPipelines :: CString -> Bool+is_VkCreateGraphicsPipelines+  = (EQ ==) . cmpCStrings _VkCreateGraphicsPipelines++type VkCreateGraphicsPipelines = "vkCreateGraphicsPipelines"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+-- > VkResult vkCreateGraphicsPipelines+-- >     ( VkDevice device+-- >     , VkPipelineCache pipelineCache+-- >     , uint32_t createInfoCount+-- >     , const VkGraphicsPipelineCreateInfo* pCreateInfos+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkPipeline* pPipelines+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateGraphicsPipelines vkCreateGraphicsPipelines registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateGraphicsPipelines <- vkGetDeviceProc @VkCreateGraphicsPipelines vkDevice+--+-- or less efficient:+--+-- > myCreateGraphicsPipelines <- vkGetProc @VkCreateGraphicsPipelines+--+-- __Note:__ @vkCreateGraphicsPipelinesUnsafe@ and @vkCreateGraphicsPipelinesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateGraphicsPipelines@ is an alias+--           of @vkCreateGraphicsPipelinesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateGraphicsPipelinesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCreateGraphicsPipelines"+               vkCreateGraphicsPipelinesUnsafe ::+               VkDevice -- ^ device+                        ->+                 VkPipelineCache -- ^ pipelineCache+                                 ->+                   Word32 -- ^ createInfoCount+                          ->+                     Ptr VkGraphicsPipelineCreateInfo -- ^ pCreateInfos+                                                      ->+                       Ptr VkAllocationCallbacks -- ^ pAllocator+                                                 -> Ptr VkPipeline -- ^ pPipelines+                                                                   -> IO VkResult++##else+vkCreateGraphicsPipelinesUnsafe ::+                                VkDevice -- ^ device+                                         ->+                                  VkPipelineCache -- ^ pipelineCache+                                                  ->+                                    Word32 -- ^ createInfoCount+                                           ->+                                      Ptr VkGraphicsPipelineCreateInfo -- ^ pCreateInfos+                                                                       ->+                                        Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                  -> Ptr VkPipeline -- ^ pPipelines+                                                                                    -> IO VkResult+vkCreateGraphicsPipelinesUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkCreateGraphicsPipelines)++{-# NOINLINE vkCreateGraphicsPipelinesUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+-- > VkResult vkCreateGraphicsPipelines+-- >     ( VkDevice device+-- >     , VkPipelineCache pipelineCache+-- >     , uint32_t createInfoCount+-- >     , const VkGraphicsPipelineCreateInfo* pCreateInfos+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkPipeline* pPipelines+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateGraphicsPipelines vkCreateGraphicsPipelines registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateGraphicsPipelines <- vkGetDeviceProc @VkCreateGraphicsPipelines vkDevice+--+-- or less efficient:+--+-- > myCreateGraphicsPipelines <- vkGetProc @VkCreateGraphicsPipelines+--+-- __Note:__ @vkCreateGraphicsPipelinesUnsafe@ and @vkCreateGraphicsPipelinesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateGraphicsPipelines@ is an alias+--           of @vkCreateGraphicsPipelinesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateGraphicsPipelinesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCreateGraphicsPipelines"+               vkCreateGraphicsPipelinesSafe ::+               VkDevice -- ^ device+                        ->+                 VkPipelineCache -- ^ pipelineCache+                                 ->+                   Word32 -- ^ createInfoCount+                          ->+                     Ptr VkGraphicsPipelineCreateInfo -- ^ pCreateInfos+                                                      ->+                       Ptr VkAllocationCallbacks -- ^ pAllocator+                                                 -> Ptr VkPipeline -- ^ pPipelines+                                                                   -> IO VkResult++##else+vkCreateGraphicsPipelinesSafe ::+                              VkDevice -- ^ device+                                       ->+                                VkPipelineCache -- ^ pipelineCache+                                                ->+                                  Word32 -- ^ createInfoCount+                                         ->+                                    Ptr VkGraphicsPipelineCreateInfo -- ^ pCreateInfos+                                                                     ->+                                      Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                -> Ptr VkPipeline -- ^ pPipelines+                                                                                  -> IO VkResult+vkCreateGraphicsPipelinesSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateGraphicsPipelines)++{-# NOINLINE vkCreateGraphicsPipelinesSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+-- > VkResult vkCreateGraphicsPipelines+-- >     ( VkDevice device+-- >     , VkPipelineCache pipelineCache+-- >     , uint32_t createInfoCount+-- >     , const VkGraphicsPipelineCreateInfo* pCreateInfos+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkPipeline* pPipelines+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateGraphicsPipelines vkCreateGraphicsPipelines registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateGraphicsPipelines <- vkGetDeviceProc @VkCreateGraphicsPipelines vkDevice+--+-- or less efficient:+--+-- > myCreateGraphicsPipelines <- vkGetProc @VkCreateGraphicsPipelines+--+-- __Note:__ @vkCreateGraphicsPipelinesUnsafe@ and @vkCreateGraphicsPipelinesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateGraphicsPipelines@ is an alias+--           of @vkCreateGraphicsPipelinesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateGraphicsPipelinesSafe@.+--+vkCreateGraphicsPipelines ::+                          VkDevice -- ^ device+                                   ->+                            VkPipelineCache -- ^ pipelineCache+                                            ->+                              Word32 -- ^ createInfoCount+                                     ->+                                Ptr VkGraphicsPipelineCreateInfo -- ^ pCreateInfos+                                                                 ->+                                  Ptr VkAllocationCallbacks -- ^ pAllocator+                                                            -> Ptr VkPipeline -- ^ pPipelines+                                                                              -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkCreateGraphicsPipelines = vkCreateGraphicsPipelinesUnsafe+##else+vkCreateGraphicsPipelines = vkCreateGraphicsPipelinesSafe++##endif+{-# INLINE vkCreateGraphicsPipelines #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+--   > VkResult vkCreateGraphicsPipelines+--   >     ( VkDevice device+--   >     , VkPipelineCache pipelineCache+--   >     , uint32_t createInfoCount+--   >     , const VkGraphicsPipelineCreateInfo* pCreateInfos+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkPipeline* pPipelines+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateGraphicsPipelines vkCreateGraphicsPipelines registry at www.khronos.org>+type HS_vkCreateGraphicsPipelines =+     VkDevice -- ^ device+              ->+       VkPipelineCache -- ^ pipelineCache+                       ->+         Word32 -- ^ createInfoCount+                ->+           Ptr VkGraphicsPipelineCreateInfo -- ^ pCreateInfos+                                            ->+             Ptr VkAllocationCallbacks -- ^ pAllocator+                                       -> Ptr VkPipeline -- ^ pPipelines+                                                         -> IO VkResult++type PFN_vkCreateGraphicsPipelines =+     FunPtr HS_vkCreateGraphicsPipelines++foreign import ccall unsafe "dynamic"+               unwrapVkCreateGraphicsPipelinesUnsafe ::+               PFN_vkCreateGraphicsPipelines -> HS_vkCreateGraphicsPipelines++foreign import ccall safe "dynamic"+               unwrapVkCreateGraphicsPipelinesSafe ::+               PFN_vkCreateGraphicsPipelines -> HS_vkCreateGraphicsPipelines++instance VulkanProc "vkCreateGraphicsPipelines" where+    type VkProcType "vkCreateGraphicsPipelines" =+         HS_vkCreateGraphicsPipelines+    vkProcSymbol = _VkCreateGraphicsPipelines++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateGraphicsPipelinesUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateGraphicsPipelinesSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCreateComputePipelines :: CString++pattern VkCreateComputePipelines <-+        (is_VkCreateComputePipelines -> True)+  where+    VkCreateComputePipelines = _VkCreateComputePipelines++{-# INLINE _VkCreateComputePipelines #-}++_VkCreateComputePipelines :: CString+_VkCreateComputePipelines = Ptr "vkCreateComputePipelines\NUL"##++{-# INLINE is_VkCreateComputePipelines #-}++is_VkCreateComputePipelines :: CString -> Bool+is_VkCreateComputePipelines+  = (EQ ==) . cmpCStrings _VkCreateComputePipelines++type VkCreateComputePipelines = "vkCreateComputePipelines"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+-- > VkResult vkCreateComputePipelines+-- >     ( VkDevice device+-- >     , VkPipelineCache pipelineCache+-- >     , uint32_t createInfoCount+-- >     , const VkComputePipelineCreateInfo* pCreateInfos+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkPipeline* pPipelines+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateComputePipelines vkCreateComputePipelines registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateComputePipelines <- vkGetDeviceProc @VkCreateComputePipelines vkDevice+--+-- or less efficient:+--+-- > myCreateComputePipelines <- vkGetProc @VkCreateComputePipelines+--+-- __Note:__ @vkCreateComputePipelinesUnsafe@ and @vkCreateComputePipelinesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateComputePipelines@ is an alias+--           of @vkCreateComputePipelinesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateComputePipelinesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCreateComputePipelines"+               vkCreateComputePipelinesUnsafe ::+               VkDevice -- ^ device+                        ->+                 VkPipelineCache -- ^ pipelineCache+                                 ->+                   Word32 -- ^ createInfoCount+                          ->+                     Ptr VkComputePipelineCreateInfo -- ^ pCreateInfos+                                                     ->+                       Ptr VkAllocationCallbacks -- ^ pAllocator+                                                 -> Ptr VkPipeline -- ^ pPipelines+                                                                   -> IO VkResult++##else+vkCreateComputePipelinesUnsafe ::+                               VkDevice -- ^ device+                                        ->+                                 VkPipelineCache -- ^ pipelineCache+                                                 ->+                                   Word32 -- ^ createInfoCount+                                          ->+                                     Ptr VkComputePipelineCreateInfo -- ^ pCreateInfos+                                                                     ->+                                       Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                 -> Ptr VkPipeline -- ^ pPipelines+                                                                                   -> IO VkResult+vkCreateComputePipelinesUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkCreateComputePipelines)++{-# NOINLINE vkCreateComputePipelinesUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+-- > VkResult vkCreateComputePipelines+-- >     ( VkDevice device+-- >     , VkPipelineCache pipelineCache+-- >     , uint32_t createInfoCount+-- >     , const VkComputePipelineCreateInfo* pCreateInfos+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkPipeline* pPipelines+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateComputePipelines vkCreateComputePipelines registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateComputePipelines <- vkGetDeviceProc @VkCreateComputePipelines vkDevice+--+-- or less efficient:+--+-- > myCreateComputePipelines <- vkGetProc @VkCreateComputePipelines+--+-- __Note:__ @vkCreateComputePipelinesUnsafe@ and @vkCreateComputePipelinesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateComputePipelines@ is an alias+--           of @vkCreateComputePipelinesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateComputePipelinesSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCreateComputePipelines"+               vkCreateComputePipelinesSafe ::+               VkDevice -- ^ device+                        ->+                 VkPipelineCache -- ^ pipelineCache+                                 ->+                   Word32 -- ^ createInfoCount+                          ->+                     Ptr VkComputePipelineCreateInfo -- ^ pCreateInfos+                                                     ->+                       Ptr VkAllocationCallbacks -- ^ pAllocator+                                                 -> Ptr VkPipeline -- ^ pPipelines+                                                                   -> IO VkResult++##else+vkCreateComputePipelinesSafe ::+                             VkDevice -- ^ device+                                      ->+                               VkPipelineCache -- ^ pipelineCache+                                               ->+                                 Word32 -- ^ createInfoCount+                                        ->+                                   Ptr VkComputePipelineCreateInfo -- ^ pCreateInfos+                                                                   ->+                                     Ptr VkAllocationCallbacks -- ^ pAllocator+                                                               -> Ptr VkPipeline -- ^ pPipelines+                                                                                 -> IO VkResult+vkCreateComputePipelinesSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateComputePipelines)++{-# NOINLINE vkCreateComputePipelinesSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+-- > VkResult vkCreateComputePipelines+-- >     ( VkDevice device+-- >     , VkPipelineCache pipelineCache+-- >     , uint32_t createInfoCount+-- >     , const VkComputePipelineCreateInfo* pCreateInfos+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkPipeline* pPipelines+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateComputePipelines vkCreateComputePipelines registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateComputePipelines <- vkGetDeviceProc @VkCreateComputePipelines vkDevice+--+-- or less efficient:+--+-- > myCreateComputePipelines <- vkGetProc @VkCreateComputePipelines+--+-- __Note:__ @vkCreateComputePipelinesUnsafe@ and @vkCreateComputePipelinesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateComputePipelines@ is an alias+--           of @vkCreateComputePipelinesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateComputePipelinesSafe@.+--+vkCreateComputePipelines ::+                         VkDevice -- ^ device+                                  ->+                           VkPipelineCache -- ^ pipelineCache+                                           ->+                             Word32 -- ^ createInfoCount+                                    ->+                               Ptr VkComputePipelineCreateInfo -- ^ pCreateInfos+                                                               ->+                                 Ptr VkAllocationCallbacks -- ^ pAllocator+                                                           -> Ptr VkPipeline -- ^ pPipelines+                                                                             -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkCreateComputePipelines = vkCreateComputePipelinesUnsafe+##else+vkCreateComputePipelines = vkCreateComputePipelinesSafe++##endif+{-# INLINE vkCreateComputePipelines #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+--   > VkResult vkCreateComputePipelines+--   >     ( VkDevice device+--   >     , VkPipelineCache pipelineCache+--   >     , uint32_t createInfoCount+--   >     , const VkComputePipelineCreateInfo* pCreateInfos+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkPipeline* pPipelines+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateComputePipelines vkCreateComputePipelines registry at www.khronos.org>+type HS_vkCreateComputePipelines =+     VkDevice -- ^ device+              ->+       VkPipelineCache -- ^ pipelineCache+                       ->+         Word32 -- ^ createInfoCount+                ->+           Ptr VkComputePipelineCreateInfo -- ^ pCreateInfos+                                           ->+             Ptr VkAllocationCallbacks -- ^ pAllocator+                                       -> Ptr VkPipeline -- ^ pPipelines+                                                         -> IO VkResult++type PFN_vkCreateComputePipelines =+     FunPtr HS_vkCreateComputePipelines++foreign import ccall unsafe "dynamic"+               unwrapVkCreateComputePipelinesUnsafe ::+               PFN_vkCreateComputePipelines -> HS_vkCreateComputePipelines++foreign import ccall safe "dynamic"+               unwrapVkCreateComputePipelinesSafe ::+               PFN_vkCreateComputePipelines -> HS_vkCreateComputePipelines++instance VulkanProc "vkCreateComputePipelines" where+    type VkProcType "vkCreateComputePipelines" =+         HS_vkCreateComputePipelines+    vkProcSymbol = _VkCreateComputePipelines++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateComputePipelinesUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateComputePipelinesSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkDestroyPipeline :: CString++pattern VkDestroyPipeline <- (is_VkDestroyPipeline -> True)+  where+    VkDestroyPipeline = _VkDestroyPipeline++{-# INLINE _VkDestroyPipeline #-}++_VkDestroyPipeline :: CString+_VkDestroyPipeline = Ptr "vkDestroyPipeline\NUL"##++{-# INLINE is_VkDestroyPipeline #-}++is_VkDestroyPipeline :: CString -> Bool+is_VkDestroyPipeline = (EQ ==) . cmpCStrings _VkDestroyPipeline++type VkDestroyPipeline = "vkDestroyPipeline"++-- |+-- > void vkDestroyPipeline+-- >     ( VkDevice device+-- >     , VkPipeline pipeline+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipeline vkDestroyPipeline registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyPipeline <- vkGetDeviceProc @VkDestroyPipeline vkDevice+--+-- or less efficient:+--+-- > myDestroyPipeline <- vkGetProc @VkDestroyPipeline+--+-- __Note:__ @vkDestroyPipelineUnsafe@ and @vkDestroyPipelineSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyPipeline@ is an alias+--           of @vkDestroyPipelineUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyPipelineSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkDestroyPipeline"+               vkDestroyPipelineUnsafe ::+               VkDevice -- ^ device+                        -> VkPipeline -- ^ pipeline+                                      -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                   -> IO ()++##else+vkDestroyPipelineUnsafe ::+                        VkDevice -- ^ device+                                 -> VkPipeline -- ^ pipeline+                                               -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                            -> IO ()+vkDestroyPipelineUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyPipeline)++{-# NOINLINE vkDestroyPipelineUnsafe #-}+##endif++-- |+-- > void vkDestroyPipeline+-- >     ( VkDevice device+-- >     , VkPipeline pipeline+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipeline vkDestroyPipeline registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyPipeline <- vkGetDeviceProc @VkDestroyPipeline vkDevice+--+-- or less efficient:+--+-- > myDestroyPipeline <- vkGetProc @VkDestroyPipeline+--+-- __Note:__ @vkDestroyPipelineUnsafe@ and @vkDestroyPipelineSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyPipeline@ is an alias+--           of @vkDestroyPipelineUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyPipelineSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkDestroyPipeline" vkDestroyPipelineSafe+               :: VkDevice -- ^ device+                           -> VkPipeline -- ^ pipeline+                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                      -> IO ()++##else+vkDestroyPipelineSafe ::+                      VkDevice -- ^ device+                               -> VkPipeline -- ^ pipeline+                                             -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                          -> IO ()+vkDestroyPipelineSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyPipeline)++{-# NOINLINE vkDestroyPipelineSafe #-}+##endif++-- |+-- > void vkDestroyPipeline+-- >     ( VkDevice device+-- >     , VkPipeline pipeline+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipeline vkDestroyPipeline registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyPipeline <- vkGetDeviceProc @VkDestroyPipeline vkDevice+--+-- or less efficient:+--+-- > myDestroyPipeline <- vkGetProc @VkDestroyPipeline+--+-- __Note:__ @vkDestroyPipelineUnsafe@ and @vkDestroyPipelineSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyPipeline@ is an alias+--           of @vkDestroyPipelineUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyPipelineSafe@.+--+vkDestroyPipeline ::+                  VkDevice -- ^ device+                           -> VkPipeline -- ^ pipeline+                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                      -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkDestroyPipeline = vkDestroyPipelineUnsafe+##else+vkDestroyPipeline = vkDestroyPipelineSafe++##endif+{-# INLINE vkDestroyPipeline #-}++-- | > void vkDestroyPipeline+--   >     ( VkDevice device+--   >     , VkPipeline pipeline+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipeline vkDestroyPipeline registry at www.khronos.org>+type HS_vkDestroyPipeline =+     VkDevice -- ^ device+              -> VkPipeline -- ^ pipeline+                            -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                         -> IO ()++type PFN_vkDestroyPipeline = FunPtr HS_vkDestroyPipeline++foreign import ccall unsafe "dynamic" unwrapVkDestroyPipelineUnsafe+               :: PFN_vkDestroyPipeline -> HS_vkDestroyPipeline++foreign import ccall safe "dynamic" unwrapVkDestroyPipelineSafe ::+               PFN_vkDestroyPipeline -> HS_vkDestroyPipeline++instance VulkanProc "vkDestroyPipeline" where+    type VkProcType "vkDestroyPipeline" = HS_vkDestroyPipeline+    vkProcSymbol = _VkDestroyPipeline++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDestroyPipelineUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroyPipelineSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCreatePipelineLayout :: CString++pattern VkCreatePipelineLayout <-+        (is_VkCreatePipelineLayout -> True)+  where+    VkCreatePipelineLayout = _VkCreatePipelineLayout++{-# INLINE _VkCreatePipelineLayout #-}++_VkCreatePipelineLayout :: CString+_VkCreatePipelineLayout = Ptr "vkCreatePipelineLayout\NUL"##++{-# INLINE is_VkCreatePipelineLayout #-}++is_VkCreatePipelineLayout :: CString -> Bool+is_VkCreatePipelineLayout+  = (EQ ==) . cmpCStrings _VkCreatePipelineLayout++type VkCreatePipelineLayout = "vkCreatePipelineLayout"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreatePipelineLayout+-- >     ( VkDevice device+-- >     , const VkPipelineLayoutCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkPipelineLayout* pPipelineLayout+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreatePipelineLayout vkCreatePipelineLayout registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreatePipelineLayout <- vkGetDeviceProc @VkCreatePipelineLayout vkDevice+--+-- or less efficient:+--+-- > myCreatePipelineLayout <- vkGetProc @VkCreatePipelineLayout+--+-- __Note:__ @vkCreatePipelineLayoutUnsafe@ and @vkCreatePipelineLayoutSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreatePipelineLayout@ is an alias+--           of @vkCreatePipelineLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreatePipelineLayoutSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCreatePipelineLayout"+               vkCreatePipelineLayoutUnsafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkPipelineLayoutCreateInfo -- ^ pCreateInfo+                                                ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkPipelineLayout -- ^ pPipelineLayout+                                                                     -> IO VkResult++##else+vkCreatePipelineLayoutUnsafe ::+                             VkDevice -- ^ device+                                      ->+                               Ptr VkPipelineLayoutCreateInfo -- ^ pCreateInfo+                                                              ->+                                 Ptr VkAllocationCallbacks -- ^ pAllocator+                                                           -> Ptr VkPipelineLayout -- ^ pPipelineLayout+                                                                                   -> IO VkResult+vkCreatePipelineLayoutUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreatePipelineLayout)++{-# NOINLINE vkCreatePipelineLayoutUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreatePipelineLayout+-- >     ( VkDevice device+-- >     , const VkPipelineLayoutCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkPipelineLayout* pPipelineLayout+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreatePipelineLayout vkCreatePipelineLayout registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreatePipelineLayout <- vkGetDeviceProc @VkCreatePipelineLayout vkDevice+--+-- or less efficient:+--+-- > myCreatePipelineLayout <- vkGetProc @VkCreatePipelineLayout+--+-- __Note:__ @vkCreatePipelineLayoutUnsafe@ and @vkCreatePipelineLayoutSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreatePipelineLayout@ is an alias+--           of @vkCreatePipelineLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreatePipelineLayoutSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCreatePipelineLayout"+               vkCreatePipelineLayoutSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkPipelineLayoutCreateInfo -- ^ pCreateInfo+                                                ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkPipelineLayout -- ^ pPipelineLayout+                                                                     -> IO VkResult++##else+vkCreatePipelineLayoutSafe ::+                           VkDevice -- ^ device+                                    ->+                             Ptr VkPipelineLayoutCreateInfo -- ^ pCreateInfo+                                                            ->+                               Ptr VkAllocationCallbacks -- ^ pAllocator+                                                         -> Ptr VkPipelineLayout -- ^ pPipelineLayout+                                                                                 -> IO VkResult+vkCreatePipelineLayoutSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCreatePipelineLayout)++{-# NOINLINE vkCreatePipelineLayoutSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreatePipelineLayout+-- >     ( VkDevice device+-- >     , const VkPipelineLayoutCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkPipelineLayout* pPipelineLayout+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreatePipelineLayout vkCreatePipelineLayout registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreatePipelineLayout <- vkGetDeviceProc @VkCreatePipelineLayout vkDevice+--+-- or less efficient:+--+-- > myCreatePipelineLayout <- vkGetProc @VkCreatePipelineLayout+--+-- __Note:__ @vkCreatePipelineLayoutUnsafe@ and @vkCreatePipelineLayoutSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreatePipelineLayout@ is an alias+--           of @vkCreatePipelineLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreatePipelineLayoutSafe@.+--+vkCreatePipelineLayout ::+                       VkDevice -- ^ device+                                ->+                         Ptr VkPipelineLayoutCreateInfo -- ^ pCreateInfo+                                                        ->+                           Ptr VkAllocationCallbacks -- ^ pAllocator+                                                     -> Ptr VkPipelineLayout -- ^ pPipelineLayout+                                                                             -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkCreatePipelineLayout = vkCreatePipelineLayoutUnsafe+##else+vkCreatePipelineLayout = vkCreatePipelineLayoutSafe++##endif+{-# INLINE vkCreatePipelineLayout #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreatePipelineLayout+--   >     ( VkDevice device+--   >     , const VkPipelineLayoutCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkPipelineLayout* pPipelineLayout+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreatePipelineLayout vkCreatePipelineLayout registry at www.khronos.org>+type HS_vkCreatePipelineLayout =+     VkDevice -- ^ device+              ->+       Ptr VkPipelineLayoutCreateInfo -- ^ pCreateInfo+                                      ->+         Ptr VkAllocationCallbacks -- ^ pAllocator+                                   -> Ptr VkPipelineLayout -- ^ pPipelineLayout+                                                           -> IO VkResult++type PFN_vkCreatePipelineLayout = FunPtr HS_vkCreatePipelineLayout++foreign import ccall unsafe "dynamic"+               unwrapVkCreatePipelineLayoutUnsafe ::+               PFN_vkCreatePipelineLayout -> HS_vkCreatePipelineLayout++foreign import ccall safe "dynamic"+               unwrapVkCreatePipelineLayoutSafe ::+               PFN_vkCreatePipelineLayout -> HS_vkCreatePipelineLayout++instance VulkanProc "vkCreatePipelineLayout" where+    type VkProcType "vkCreatePipelineLayout" =+         HS_vkCreatePipelineLayout+    vkProcSymbol = _VkCreatePipelineLayout++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreatePipelineLayoutUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreatePipelineLayoutSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkDestroyPipelineLayout :: CString++pattern VkDestroyPipelineLayout <-+        (is_VkDestroyPipelineLayout -> True)+  where+    VkDestroyPipelineLayout = _VkDestroyPipelineLayout++{-# INLINE _VkDestroyPipelineLayout #-}++_VkDestroyPipelineLayout :: CString+_VkDestroyPipelineLayout = Ptr "vkDestroyPipelineLayout\NUL"##++{-# INLINE is_VkDestroyPipelineLayout #-}++is_VkDestroyPipelineLayout :: CString -> Bool+is_VkDestroyPipelineLayout+  = (EQ ==) . cmpCStrings _VkDestroyPipelineLayout++type VkDestroyPipelineLayout = "vkDestroyPipelineLayout"++-- |+-- > void vkDestroyPipelineLayout+-- >     ( VkDevice device+-- >     , VkPipelineLayout pipelineLayout+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipelineLayout vkDestroyPipelineLayout registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyPipelineLayout <- vkGetDeviceProc @VkDestroyPipelineLayout vkDevice+--+-- or less efficient:+--+-- > myDestroyPipelineLayout <- vkGetProc @VkDestroyPipelineLayout+--+-- __Note:__ @vkDestroyPipelineLayoutUnsafe@ and @vkDestroyPipelineLayoutSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyPipelineLayout@ is an alias+--           of @vkDestroyPipelineLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyPipelineLayoutSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkDestroyPipelineLayout"+               vkDestroyPipelineLayoutUnsafe ::+               VkDevice -- ^ device+                        -> VkPipelineLayout -- ^ pipelineLayout+                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                         -> IO ()++##else+vkDestroyPipelineLayoutUnsafe ::+                              VkDevice -- ^ device+                                       -> VkPipelineLayout -- ^ pipelineLayout+                                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                                        -> IO ()+vkDestroyPipelineLayoutUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyPipelineLayout)++{-# NOINLINE vkDestroyPipelineLayoutUnsafe #-}+##endif++-- |+-- > void vkDestroyPipelineLayout+-- >     ( VkDevice device+-- >     , VkPipelineLayout pipelineLayout+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipelineLayout vkDestroyPipelineLayout registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyPipelineLayout <- vkGetDeviceProc @VkDestroyPipelineLayout vkDevice+--+-- or less efficient:+--+-- > myDestroyPipelineLayout <- vkGetProc @VkDestroyPipelineLayout+--+-- __Note:__ @vkDestroyPipelineLayoutUnsafe@ and @vkDestroyPipelineLayoutSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyPipelineLayout@ is an alias+--           of @vkDestroyPipelineLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyPipelineLayoutSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkDestroyPipelineLayout"+               vkDestroyPipelineLayoutSafe ::+               VkDevice -- ^ device+                        -> VkPipelineLayout -- ^ pipelineLayout+                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                         -> IO ()++##else+vkDestroyPipelineLayoutSafe ::+                            VkDevice -- ^ device+                                     -> VkPipelineLayout -- ^ pipelineLayout+                                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                                      -> IO ()+vkDestroyPipelineLayoutSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyPipelineLayout)++{-# NOINLINE vkDestroyPipelineLayoutSafe #-}+##endif++-- |+-- > void vkDestroyPipelineLayout+-- >     ( VkDevice device+-- >     , VkPipelineLayout pipelineLayout+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipelineLayout vkDestroyPipelineLayout registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyPipelineLayout <- vkGetDeviceProc @VkDestroyPipelineLayout vkDevice+--+-- or less efficient:+--+-- > myDestroyPipelineLayout <- vkGetProc @VkDestroyPipelineLayout+--+-- __Note:__ @vkDestroyPipelineLayoutUnsafe@ and @vkDestroyPipelineLayoutSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyPipelineLayout@ is an alias+--           of @vkDestroyPipelineLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyPipelineLayoutSafe@.+--+vkDestroyPipelineLayout ::+                        VkDevice -- ^ device+                                 -> VkPipelineLayout -- ^ pipelineLayout+                                                     -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                                  -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkDestroyPipelineLayout = vkDestroyPipelineLayoutUnsafe+##else+vkDestroyPipelineLayout = vkDestroyPipelineLayoutSafe++##endif+{-# INLINE vkDestroyPipelineLayout #-}++-- | > void vkDestroyPipelineLayout+--   >     ( VkDevice device+--   >     , VkPipelineLayout pipelineLayout+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipelineLayout vkDestroyPipelineLayout registry at www.khronos.org>+type HS_vkDestroyPipelineLayout =+     VkDevice -- ^ device+              -> VkPipelineLayout -- ^ pipelineLayout+                                  -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                               -> IO ()++type PFN_vkDestroyPipelineLayout =+     FunPtr HS_vkDestroyPipelineLayout++foreign import ccall unsafe "dynamic"+               unwrapVkDestroyPipelineLayoutUnsafe ::+               PFN_vkDestroyPipelineLayout -> HS_vkDestroyPipelineLayout++foreign import ccall safe "dynamic"+               unwrapVkDestroyPipelineLayoutSafe ::+               PFN_vkDestroyPipelineLayout -> HS_vkDestroyPipelineLayout++instance VulkanProc "vkDestroyPipelineLayout" where+    type VkProcType "vkDestroyPipelineLayout" =+         HS_vkDestroyPipelineLayout+    vkProcSymbol = _VkDestroyPipelineLayout++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDestroyPipelineLayoutUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroyPipelineLayoutSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCreateSampler :: CString++pattern VkCreateSampler <- (is_VkCreateSampler -> True)+  where+    VkCreateSampler = _VkCreateSampler++{-# INLINE _VkCreateSampler #-}++_VkCreateSampler :: CString+_VkCreateSampler = Ptr "vkCreateSampler\NUL"##++{-# INLINE is_VkCreateSampler #-}++is_VkCreateSampler :: CString -> Bool+is_VkCreateSampler = (EQ ==) . cmpCStrings _VkCreateSampler++type VkCreateSampler = "vkCreateSampler"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS'.+--+-- > VkResult vkCreateSampler+-- >     ( VkDevice device+-- >     , const VkSamplerCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkSampler* pSampler+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSampler vkCreateSampler registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateSampler <- vkGetDeviceProc @VkCreateSampler vkDevice+--+-- or less efficient:+--+-- > myCreateSampler <- vkGetProc @VkCreateSampler+--+-- __Note:__ @vkCreateSamplerUnsafe@ and @vkCreateSamplerSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateSampler@ is an alias+--           of @vkCreateSamplerUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateSamplerSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCreateSampler" vkCreateSamplerUnsafe+               ::+               VkDevice -- ^ device+                        ->+                 Ptr VkSamplerCreateInfo -- ^ pCreateInfo+                                         ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkSampler -- ^ pSampler+                                                              -> IO VkResult++##else+vkCreateSamplerUnsafe ::+                      VkDevice -- ^ device+                               ->+                        Ptr VkSamplerCreateInfo -- ^ pCreateInfo+                                                ->+                          Ptr VkAllocationCallbacks -- ^ pAllocator+                                                    -> Ptr VkSampler -- ^ pSampler+                                                                     -> IO VkResult+vkCreateSamplerUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateSampler)++{-# NOINLINE vkCreateSamplerUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS'.+--+-- > VkResult vkCreateSampler+-- >     ( VkDevice device+-- >     , const VkSamplerCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkSampler* pSampler+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSampler vkCreateSampler registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateSampler <- vkGetDeviceProc @VkCreateSampler vkDevice+--+-- or less efficient:+--+-- > myCreateSampler <- vkGetProc @VkCreateSampler+--+-- __Note:__ @vkCreateSamplerUnsafe@ and @vkCreateSamplerSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateSampler@ is an alias+--           of @vkCreateSamplerUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateSamplerSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCreateSampler" vkCreateSamplerSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkSamplerCreateInfo -- ^ pCreateInfo+                                         ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkSampler -- ^ pSampler+                                                              -> IO VkResult++##else+vkCreateSamplerSafe ::+                    VkDevice -- ^ device+                             ->+                      Ptr VkSamplerCreateInfo -- ^ pCreateInfo+                                              ->+                        Ptr VkAllocationCallbacks -- ^ pAllocator+                                                  -> Ptr VkSampler -- ^ pSampler+                                                                   -> IO VkResult+vkCreateSamplerSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateSampler)++{-# NOINLINE vkCreateSamplerSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS'.+--+-- > VkResult vkCreateSampler+-- >     ( VkDevice device+-- >     , const VkSamplerCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkSampler* pSampler+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSampler vkCreateSampler registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateSampler <- vkGetDeviceProc @VkCreateSampler vkDevice+--+-- or less efficient:+--+-- > myCreateSampler <- vkGetProc @VkCreateSampler+--+-- __Note:__ @vkCreateSamplerUnsafe@ and @vkCreateSamplerSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateSampler@ is an alias+--           of @vkCreateSamplerUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateSamplerSafe@.+--+vkCreateSampler ::+                VkDevice -- ^ device+                         ->+                  Ptr VkSamplerCreateInfo -- ^ pCreateInfo+                                          ->+                    Ptr VkAllocationCallbacks -- ^ pAllocator+                                              -> Ptr VkSampler -- ^ pSampler+                                                               -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkCreateSampler = vkCreateSamplerUnsafe+##else+vkCreateSampler = vkCreateSamplerSafe++##endif+{-# INLINE vkCreateSampler #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS'.+--+--   > VkResult vkCreateSampler+--   >     ( VkDevice device+--   >     , const VkSamplerCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkSampler* pSampler+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSampler vkCreateSampler registry at www.khronos.org>+type HS_vkCreateSampler =+     VkDevice -- ^ device+              ->+       Ptr VkSamplerCreateInfo -- ^ pCreateInfo+                               ->+         Ptr VkAllocationCallbacks -- ^ pAllocator+                                   -> Ptr VkSampler -- ^ pSampler+                                                    -> IO VkResult++type PFN_vkCreateSampler = FunPtr HS_vkCreateSampler++foreign import ccall unsafe "dynamic" unwrapVkCreateSamplerUnsafe+               :: PFN_vkCreateSampler -> HS_vkCreateSampler++foreign import ccall safe "dynamic" unwrapVkCreateSamplerSafe ::+               PFN_vkCreateSampler -> HS_vkCreateSampler++instance VulkanProc "vkCreateSampler" where+    type VkProcType "vkCreateSampler" = HS_vkCreateSampler+    vkProcSymbol = _VkCreateSampler++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateSamplerUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateSamplerSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkDestroySampler :: CString++pattern VkDestroySampler <- (is_VkDestroySampler -> True)+  where+    VkDestroySampler = _VkDestroySampler++{-# INLINE _VkDestroySampler #-}++_VkDestroySampler :: CString+_VkDestroySampler = Ptr "vkDestroySampler\NUL"##++{-# INLINE is_VkDestroySampler #-}++is_VkDestroySampler :: CString -> Bool+is_VkDestroySampler = (EQ ==) . cmpCStrings _VkDestroySampler++type VkDestroySampler = "vkDestroySampler"++-- |+-- > void vkDestroySampler+-- >     ( VkDevice device+-- >     , VkSampler sampler+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySampler vkDestroySampler registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroySampler <- vkGetDeviceProc @VkDestroySampler vkDevice+--+-- or less efficient:+--+-- > myDestroySampler <- vkGetProc @VkDestroySampler+--+-- __Note:__ @vkDestroySamplerUnsafe@ and @vkDestroySamplerSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroySampler@ is an alias+--           of @vkDestroySamplerUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroySamplerSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkDestroySampler"+               vkDestroySamplerUnsafe ::+               VkDevice -- ^ device+                        -> VkSampler -- ^ sampler+                                     -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                  -> IO ()++##else+vkDestroySamplerUnsafe ::+                       VkDevice -- ^ device+                                -> VkSampler -- ^ sampler+                                             -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                          -> IO ()+vkDestroySamplerUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroySampler)++{-# NOINLINE vkDestroySamplerUnsafe #-}+##endif++-- |+-- > void vkDestroySampler+-- >     ( VkDevice device+-- >     , VkSampler sampler+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySampler vkDestroySampler registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroySampler <- vkGetDeviceProc @VkDestroySampler vkDevice+--+-- or less efficient:+--+-- > myDestroySampler <- vkGetProc @VkDestroySampler+--+-- __Note:__ @vkDestroySamplerUnsafe@ and @vkDestroySamplerSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroySampler@ is an alias+--           of @vkDestroySamplerUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroySamplerSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkDestroySampler" vkDestroySamplerSafe+               :: VkDevice -- ^ device+                           -> VkSampler -- ^ sampler+                                        -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                     -> IO ()++##else+vkDestroySamplerSafe ::+                     VkDevice -- ^ device+                              -> VkSampler -- ^ sampler+                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                        -> IO ()+vkDestroySamplerSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroySampler)++{-# NOINLINE vkDestroySamplerSafe #-}+##endif++-- |+-- > void vkDestroySampler+-- >     ( VkDevice device+-- >     , VkSampler sampler+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySampler vkDestroySampler registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroySampler <- vkGetDeviceProc @VkDestroySampler vkDevice+--+-- or less efficient:+--+-- > myDestroySampler <- vkGetProc @VkDestroySampler+--+-- __Note:__ @vkDestroySamplerUnsafe@ and @vkDestroySamplerSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroySampler@ is an alias+--           of @vkDestroySamplerUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroySamplerSafe@.+--+vkDestroySampler ::+                 VkDevice -- ^ device+                          -> VkSampler -- ^ sampler+                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                    -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkDestroySampler = vkDestroySamplerUnsafe+##else+vkDestroySampler = vkDestroySamplerSafe++##endif+{-# INLINE vkDestroySampler #-}++-- | > void vkDestroySampler+--   >     ( VkDevice device+--   >     , VkSampler sampler+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySampler vkDestroySampler registry at www.khronos.org>+type HS_vkDestroySampler =+     VkDevice -- ^ device+              -> VkSampler -- ^ sampler+                           -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                        -> IO ()++type PFN_vkDestroySampler = FunPtr HS_vkDestroySampler++foreign import ccall unsafe "dynamic" unwrapVkDestroySamplerUnsafe+               :: PFN_vkDestroySampler -> HS_vkDestroySampler++foreign import ccall safe "dynamic" unwrapVkDestroySamplerSafe ::+               PFN_vkDestroySampler -> HS_vkDestroySampler++instance VulkanProc "vkDestroySampler" where+    type VkProcType "vkDestroySampler" = HS_vkDestroySampler+    vkProcSymbol = _VkDestroySampler++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDestroySamplerUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroySamplerSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCreateDescriptorSetLayout :: CString++pattern VkCreateDescriptorSetLayout <-+        (is_VkCreateDescriptorSetLayout -> True)+  where+    VkCreateDescriptorSetLayout = _VkCreateDescriptorSetLayout++{-# INLINE _VkCreateDescriptorSetLayout #-}++_VkCreateDescriptorSetLayout :: CString+_VkCreateDescriptorSetLayout+  = Ptr "vkCreateDescriptorSetLayout\NUL"##++{-# INLINE is_VkCreateDescriptorSetLayout #-}++is_VkCreateDescriptorSetLayout :: CString -> Bool+is_VkCreateDescriptorSetLayout+  = (EQ ==) . cmpCStrings _VkCreateDescriptorSetLayout++type VkCreateDescriptorSetLayout = "vkCreateDescriptorSetLayout"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateDescriptorSetLayout+-- >     ( VkDevice device+-- >     , const VkDescriptorSetLayoutCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkDescriptorSetLayout* pSetLayout+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateDescriptorSetLayout <- vkGetDeviceProc @VkCreateDescriptorSetLayout vkDevice+--+-- or less efficient:+--+-- > myCreateDescriptorSetLayout <- vkGetProc @VkCreateDescriptorSetLayout+--+-- __Note:__ @vkCreateDescriptorSetLayoutUnsafe@ and @vkCreateDescriptorSetLayoutSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateDescriptorSetLayout@ is an alias+--           of @vkCreateDescriptorSetLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateDescriptorSetLayoutSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCreateDescriptorSetLayout"+               vkCreateDescriptorSetLayoutUnsafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+                                                     ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             ->+                     Ptr VkDescriptorSetLayout -- ^ pSetLayout+                                               -> IO VkResult++##else+vkCreateDescriptorSetLayoutUnsafe ::+                                  VkDevice -- ^ device+                                           ->+                                    Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+                                                                        ->+                                      Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                ->+                                        Ptr VkDescriptorSetLayout -- ^ pSetLayout+                                                                  -> IO VkResult+vkCreateDescriptorSetLayoutUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkCreateDescriptorSetLayout)++{-# NOINLINE vkCreateDescriptorSetLayoutUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateDescriptorSetLayout+-- >     ( VkDevice device+-- >     , const VkDescriptorSetLayoutCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkDescriptorSetLayout* pSetLayout+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateDescriptorSetLayout <- vkGetDeviceProc @VkCreateDescriptorSetLayout vkDevice+--+-- or less efficient:+--+-- > myCreateDescriptorSetLayout <- vkGetProc @VkCreateDescriptorSetLayout+--+-- __Note:__ @vkCreateDescriptorSetLayoutUnsafe@ and @vkCreateDescriptorSetLayoutSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateDescriptorSetLayout@ is an alias+--           of @vkCreateDescriptorSetLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateDescriptorSetLayoutSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCreateDescriptorSetLayout"+               vkCreateDescriptorSetLayoutSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+                                                     ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             ->+                     Ptr VkDescriptorSetLayout -- ^ pSetLayout+                                               -> IO VkResult++##else+vkCreateDescriptorSetLayoutSafe ::+                                VkDevice -- ^ device+                                         ->+                                  Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+                                                                      ->+                                    Ptr VkAllocationCallbacks -- ^ pAllocator+                                                              ->+                                      Ptr VkDescriptorSetLayout -- ^ pSetLayout+                                                                -> IO VkResult+vkCreateDescriptorSetLayoutSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkCreateDescriptorSetLayout)++{-# NOINLINE vkCreateDescriptorSetLayoutSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateDescriptorSetLayout+-- >     ( VkDevice device+-- >     , const VkDescriptorSetLayoutCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkDescriptorSetLayout* pSetLayout+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateDescriptorSetLayout <- vkGetDeviceProc @VkCreateDescriptorSetLayout vkDevice+--+-- or less efficient:+--+-- > myCreateDescriptorSetLayout <- vkGetProc @VkCreateDescriptorSetLayout+--+-- __Note:__ @vkCreateDescriptorSetLayoutUnsafe@ and @vkCreateDescriptorSetLayoutSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateDescriptorSetLayout@ is an alias+--           of @vkCreateDescriptorSetLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateDescriptorSetLayoutSafe@.+--+vkCreateDescriptorSetLayout ::+                            VkDevice -- ^ device+                                     ->+                              Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+                                                                  ->+                                Ptr VkAllocationCallbacks -- ^ pAllocator+                                                          ->+                                  Ptr VkDescriptorSetLayout -- ^ pSetLayout+                                                            -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkCreateDescriptorSetLayout = vkCreateDescriptorSetLayoutUnsafe+##else+vkCreateDescriptorSetLayout = vkCreateDescriptorSetLayoutSafe++##endif+{-# INLINE vkCreateDescriptorSetLayout #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateDescriptorSetLayout+--   >     ( VkDevice device+--   >     , const VkDescriptorSetLayoutCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkDescriptorSetLayout* pSetLayout+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout registry at www.khronos.org>+type HS_vkCreateDescriptorSetLayout =+     VkDevice -- ^ device+              ->+       Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+                                           ->+         Ptr VkAllocationCallbacks -- ^ pAllocator+                                   ->+           Ptr VkDescriptorSetLayout -- ^ pSetLayout+                                     -> IO VkResult++type PFN_vkCreateDescriptorSetLayout =+     FunPtr HS_vkCreateDescriptorSetLayout++foreign import ccall unsafe "dynamic"+               unwrapVkCreateDescriptorSetLayoutUnsafe ::+               PFN_vkCreateDescriptorSetLayout -> HS_vkCreateDescriptorSetLayout++foreign import ccall safe "dynamic"+               unwrapVkCreateDescriptorSetLayoutSafe ::+               PFN_vkCreateDescriptorSetLayout -> HS_vkCreateDescriptorSetLayout++instance VulkanProc "vkCreateDescriptorSetLayout" where+    type VkProcType "vkCreateDescriptorSetLayout" =+         HS_vkCreateDescriptorSetLayout+    vkProcSymbol = _VkCreateDescriptorSetLayout++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateDescriptorSetLayoutUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateDescriptorSetLayoutSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkDestroyDescriptorSetLayout :: CString++pattern VkDestroyDescriptorSetLayout <-+        (is_VkDestroyDescriptorSetLayout -> True)+  where+    VkDestroyDescriptorSetLayout = _VkDestroyDescriptorSetLayout++{-# INLINE _VkDestroyDescriptorSetLayout #-}++_VkDestroyDescriptorSetLayout :: CString+_VkDestroyDescriptorSetLayout+  = Ptr "vkDestroyDescriptorSetLayout\NUL"##++{-# INLINE is_VkDestroyDescriptorSetLayout #-}++is_VkDestroyDescriptorSetLayout :: CString -> Bool+is_VkDestroyDescriptorSetLayout+  = (EQ ==) . cmpCStrings _VkDestroyDescriptorSetLayout++type VkDestroyDescriptorSetLayout = "vkDestroyDescriptorSetLayout"++-- |+-- > void vkDestroyDescriptorSetLayout+-- >     ( VkDevice device+-- >     , VkDescriptorSetLayout descriptorSetLayout+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyDescriptorSetLayout <- vkGetDeviceProc @VkDestroyDescriptorSetLayout vkDevice+--+-- or less efficient:+--+-- > myDestroyDescriptorSetLayout <- vkGetProc @VkDestroyDescriptorSetLayout+--+-- __Note:__ @vkDestroyDescriptorSetLayoutUnsafe@ and @vkDestroyDescriptorSetLayoutSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyDescriptorSetLayout@ is an alias+--           of @vkDestroyDescriptorSetLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyDescriptorSetLayoutSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkDestroyDescriptorSetLayout"+               vkDestroyDescriptorSetLayoutUnsafe ::+               VkDevice -- ^ device+                        ->+                 VkDescriptorSetLayout -- ^ descriptorSetLayout+                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                    -> IO ()++##else+vkDestroyDescriptorSetLayoutUnsafe ::+                                   VkDevice -- ^ device+                                            ->+                                     VkDescriptorSetLayout -- ^ descriptorSetLayout+                                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                                        -> IO ()+vkDestroyDescriptorSetLayoutUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkDestroyDescriptorSetLayout)++{-# NOINLINE vkDestroyDescriptorSetLayoutUnsafe #-}+##endif++-- |+-- > void vkDestroyDescriptorSetLayout+-- >     ( VkDevice device+-- >     , VkDescriptorSetLayout descriptorSetLayout+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyDescriptorSetLayout <- vkGetDeviceProc @VkDestroyDescriptorSetLayout vkDevice+--+-- or less efficient:+--+-- > myDestroyDescriptorSetLayout <- vkGetProc @VkDestroyDescriptorSetLayout+--+-- __Note:__ @vkDestroyDescriptorSetLayoutUnsafe@ and @vkDestroyDescriptorSetLayoutSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyDescriptorSetLayout@ is an alias+--           of @vkDestroyDescriptorSetLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyDescriptorSetLayoutSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkDestroyDescriptorSetLayout"+               vkDestroyDescriptorSetLayoutSafe ::+               VkDevice -- ^ device+                        ->+                 VkDescriptorSetLayout -- ^ descriptorSetLayout+                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                    -> IO ()++##else+vkDestroyDescriptorSetLayoutSafe ::+                                 VkDevice -- ^ device+                                          ->+                                   VkDescriptorSetLayout -- ^ descriptorSetLayout+                                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                                      -> IO ()+vkDestroyDescriptorSetLayoutSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkDestroyDescriptorSetLayout)++{-# NOINLINE vkDestroyDescriptorSetLayoutSafe #-}+##endif++-- |+-- > void vkDestroyDescriptorSetLayout+-- >     ( VkDevice device+-- >     , VkDescriptorSetLayout descriptorSetLayout+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyDescriptorSetLayout <- vkGetDeviceProc @VkDestroyDescriptorSetLayout vkDevice+--+-- or less efficient:+--+-- > myDestroyDescriptorSetLayout <- vkGetProc @VkDestroyDescriptorSetLayout+--+-- __Note:__ @vkDestroyDescriptorSetLayoutUnsafe@ and @vkDestroyDescriptorSetLayoutSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyDescriptorSetLayout@ is an alias+--           of @vkDestroyDescriptorSetLayoutUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyDescriptorSetLayoutSafe@.+--+vkDestroyDescriptorSetLayout ::+                             VkDevice -- ^ device+                                      ->+                               VkDescriptorSetLayout -- ^ descriptorSetLayout+                                                     -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                                  -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkDestroyDescriptorSetLayout = vkDestroyDescriptorSetLayoutUnsafe+##else+vkDestroyDescriptorSetLayout = vkDestroyDescriptorSetLayoutSafe++##endif+{-# INLINE vkDestroyDescriptorSetLayout #-}++-- | > void vkDestroyDescriptorSetLayout+--   >     ( VkDevice device+--   >     , VkDescriptorSetLayout descriptorSetLayout+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout registry at www.khronos.org>+type HS_vkDestroyDescriptorSetLayout =+     VkDevice -- ^ device+              ->+       VkDescriptorSetLayout -- ^ descriptorSetLayout+                             -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                          -> IO ()++type PFN_vkDestroyDescriptorSetLayout =+     FunPtr HS_vkDestroyDescriptorSetLayout++foreign import ccall unsafe "dynamic"+               unwrapVkDestroyDescriptorSetLayoutUnsafe ::+               PFN_vkDestroyDescriptorSetLayout -> HS_vkDestroyDescriptorSetLayout++foreign import ccall safe "dynamic"+               unwrapVkDestroyDescriptorSetLayoutSafe ::+               PFN_vkDestroyDescriptorSetLayout -> HS_vkDestroyDescriptorSetLayout++instance VulkanProc "vkDestroyDescriptorSetLayout" where+    type VkProcType "vkDestroyDescriptorSetLayout" =+         HS_vkDestroyDescriptorSetLayout+    vkProcSymbol = _VkDestroyDescriptorSetLayout++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDestroyDescriptorSetLayoutUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroyDescriptorSetLayoutSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCreateDescriptorPool :: CString++pattern VkCreateDescriptorPool <-+        (is_VkCreateDescriptorPool -> True)+  where+    VkCreateDescriptorPool = _VkCreateDescriptorPool++{-# INLINE _VkCreateDescriptorPool #-}++_VkCreateDescriptorPool :: CString+_VkCreateDescriptorPool = Ptr "vkCreateDescriptorPool\NUL"##++{-# INLINE is_VkCreateDescriptorPool #-}++is_VkCreateDescriptorPool :: CString -> Bool+is_VkCreateDescriptorPool+  = (EQ ==) . cmpCStrings _VkCreateDescriptorPool++type VkCreateDescriptorPool = "vkCreateDescriptorPool"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTATION_EXT'.+--+-- > VkResult vkCreateDescriptorPool+-- >     ( VkDevice device+-- >     , const VkDescriptorPoolCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkDescriptorPool* pDescriptorPool+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorPool vkCreateDescriptorPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateDescriptorPool <- vkGetDeviceProc @VkCreateDescriptorPool vkDevice+--+-- or less efficient:+--+-- > myCreateDescriptorPool <- vkGetProc @VkCreateDescriptorPool+--+-- __Note:__ @vkCreateDescriptorPoolUnsafe@ and @vkCreateDescriptorPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateDescriptorPool@ is an alias+--           of @vkCreateDescriptorPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateDescriptorPoolSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCreateDescriptorPool"+               vkCreateDescriptorPoolUnsafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkDescriptorPoolCreateInfo -- ^ pCreateInfo+                                                ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkDescriptorPool -- ^ pDescriptorPool+                                                                     -> IO VkResult++##else+vkCreateDescriptorPoolUnsafe ::+                             VkDevice -- ^ device+                                      ->+                               Ptr VkDescriptorPoolCreateInfo -- ^ pCreateInfo+                                                              ->+                                 Ptr VkAllocationCallbacks -- ^ pAllocator+                                                           -> Ptr VkDescriptorPool -- ^ pDescriptorPool+                                                                                   -> IO VkResult+vkCreateDescriptorPoolUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateDescriptorPool)++{-# NOINLINE vkCreateDescriptorPoolUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTATION_EXT'.+--+-- > VkResult vkCreateDescriptorPool+-- >     ( VkDevice device+-- >     , const VkDescriptorPoolCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkDescriptorPool* pDescriptorPool+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorPool vkCreateDescriptorPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateDescriptorPool <- vkGetDeviceProc @VkCreateDescriptorPool vkDevice+--+-- or less efficient:+--+-- > myCreateDescriptorPool <- vkGetProc @VkCreateDescriptorPool+--+-- __Note:__ @vkCreateDescriptorPoolUnsafe@ and @vkCreateDescriptorPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateDescriptorPool@ is an alias+--           of @vkCreateDescriptorPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateDescriptorPoolSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCreateDescriptorPool"+               vkCreateDescriptorPoolSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkDescriptorPoolCreateInfo -- ^ pCreateInfo+                                                ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkDescriptorPool -- ^ pDescriptorPool+                                                                     -> IO VkResult++##else+vkCreateDescriptorPoolSafe ::+                           VkDevice -- ^ device+                                    ->+                             Ptr VkDescriptorPoolCreateInfo -- ^ pCreateInfo+                                                            ->+                               Ptr VkAllocationCallbacks -- ^ pAllocator+                                                         -> Ptr VkDescriptorPool -- ^ pDescriptorPool+                                                                                 -> IO VkResult+vkCreateDescriptorPoolSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateDescriptorPool)++{-# NOINLINE vkCreateDescriptorPoolSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTATION_EXT'.+--+-- > VkResult vkCreateDescriptorPool+-- >     ( VkDevice device+-- >     , const VkDescriptorPoolCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkDescriptorPool* pDescriptorPool+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorPool vkCreateDescriptorPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateDescriptorPool <- vkGetDeviceProc @VkCreateDescriptorPool vkDevice+--+-- or less efficient:+--+-- > myCreateDescriptorPool <- vkGetProc @VkCreateDescriptorPool+--+-- __Note:__ @vkCreateDescriptorPoolUnsafe@ and @vkCreateDescriptorPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateDescriptorPool@ is an alias+--           of @vkCreateDescriptorPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateDescriptorPoolSafe@.+--+vkCreateDescriptorPool ::+                       VkDevice -- ^ device+                                ->+                         Ptr VkDescriptorPoolCreateInfo -- ^ pCreateInfo+                                                        ->+                           Ptr VkAllocationCallbacks -- ^ pAllocator+                                                     -> Ptr VkDescriptorPool -- ^ pDescriptorPool+                                                                             -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkCreateDescriptorPool = vkCreateDescriptorPoolUnsafe+##else+vkCreateDescriptorPool = vkCreateDescriptorPoolSafe++##endif+{-# INLINE vkCreateDescriptorPool #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTATION_EXT'.+--+--   > VkResult vkCreateDescriptorPool+--   >     ( VkDevice device+--   >     , const VkDescriptorPoolCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkDescriptorPool* pDescriptorPool+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorPool vkCreateDescriptorPool registry at www.khronos.org>+type HS_vkCreateDescriptorPool =+     VkDevice -- ^ device+              ->+       Ptr VkDescriptorPoolCreateInfo -- ^ pCreateInfo+                                      ->+         Ptr VkAllocationCallbacks -- ^ pAllocator+                                   -> Ptr VkDescriptorPool -- ^ pDescriptorPool+                                                           -> IO VkResult++type PFN_vkCreateDescriptorPool = FunPtr HS_vkCreateDescriptorPool++foreign import ccall unsafe "dynamic"+               unwrapVkCreateDescriptorPoolUnsafe ::+               PFN_vkCreateDescriptorPool -> HS_vkCreateDescriptorPool++foreign import ccall safe "dynamic"+               unwrapVkCreateDescriptorPoolSafe ::+               PFN_vkCreateDescriptorPool -> HS_vkCreateDescriptorPool++instance VulkanProc "vkCreateDescriptorPool" where+    type VkProcType "vkCreateDescriptorPool" =+         HS_vkCreateDescriptorPool+    vkProcSymbol = _VkCreateDescriptorPool++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateDescriptorPoolUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateDescriptorPoolSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkDestroyDescriptorPool :: CString++pattern VkDestroyDescriptorPool <-+        (is_VkDestroyDescriptorPool -> True)+  where+    VkDestroyDescriptorPool = _VkDestroyDescriptorPool++{-# INLINE _VkDestroyDescriptorPool #-}++_VkDestroyDescriptorPool :: CString+_VkDestroyDescriptorPool = Ptr "vkDestroyDescriptorPool\NUL"##++{-# INLINE is_VkDestroyDescriptorPool #-}++is_VkDestroyDescriptorPool :: CString -> Bool+is_VkDestroyDescriptorPool+  = (EQ ==) . cmpCStrings _VkDestroyDescriptorPool++type VkDestroyDescriptorPool = "vkDestroyDescriptorPool"++-- |+-- > void vkDestroyDescriptorPool+-- >     ( VkDevice device+-- >     , VkDescriptorPool descriptorPool+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorPool vkDestroyDescriptorPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyDescriptorPool <- vkGetDeviceProc @VkDestroyDescriptorPool vkDevice+--+-- or less efficient:+--+-- > myDestroyDescriptorPool <- vkGetProc @VkDestroyDescriptorPool+--+-- __Note:__ @vkDestroyDescriptorPoolUnsafe@ and @vkDestroyDescriptorPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyDescriptorPool@ is an alias+--           of @vkDestroyDescriptorPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyDescriptorPoolSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkDestroyDescriptorPool"+               vkDestroyDescriptorPoolUnsafe ::+               VkDevice -- ^ device+                        -> VkDescriptorPool -- ^ descriptorPool+                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                         -> IO ()++##else+vkDestroyDescriptorPoolUnsafe ::+                              VkDevice -- ^ device+                                       -> VkDescriptorPool -- ^ descriptorPool+                                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                                        -> IO ()+vkDestroyDescriptorPoolUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyDescriptorPool)++{-# NOINLINE vkDestroyDescriptorPoolUnsafe #-}+##endif++-- |+-- > void vkDestroyDescriptorPool+-- >     ( VkDevice device+-- >     , VkDescriptorPool descriptorPool+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorPool vkDestroyDescriptorPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyDescriptorPool <- vkGetDeviceProc @VkDestroyDescriptorPool vkDevice+--+-- or less efficient:+--+-- > myDestroyDescriptorPool <- vkGetProc @VkDestroyDescriptorPool+--+-- __Note:__ @vkDestroyDescriptorPoolUnsafe@ and @vkDestroyDescriptorPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyDescriptorPool@ is an alias+--           of @vkDestroyDescriptorPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyDescriptorPoolSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkDestroyDescriptorPool"+               vkDestroyDescriptorPoolSafe ::+               VkDevice -- ^ device+                        -> VkDescriptorPool -- ^ descriptorPool+                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                         -> IO ()++##else+vkDestroyDescriptorPoolSafe ::+                            VkDevice -- ^ device+                                     -> VkDescriptorPool -- ^ descriptorPool+                                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                                      -> IO ()+vkDestroyDescriptorPoolSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyDescriptorPool)++{-# NOINLINE vkDestroyDescriptorPoolSafe #-}+##endif++-- |+-- > void vkDestroyDescriptorPool+-- >     ( VkDevice device+-- >     , VkDescriptorPool descriptorPool+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorPool vkDestroyDescriptorPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyDescriptorPool <- vkGetDeviceProc @VkDestroyDescriptorPool vkDevice+--+-- or less efficient:+--+-- > myDestroyDescriptorPool <- vkGetProc @VkDestroyDescriptorPool+--+-- __Note:__ @vkDestroyDescriptorPoolUnsafe@ and @vkDestroyDescriptorPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyDescriptorPool@ is an alias+--           of @vkDestroyDescriptorPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyDescriptorPoolSafe@.+--+vkDestroyDescriptorPool ::+                        VkDevice -- ^ device+                                 -> VkDescriptorPool -- ^ descriptorPool+                                                     -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                                  -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkDestroyDescriptorPool = vkDestroyDescriptorPoolUnsafe+##else+vkDestroyDescriptorPool = vkDestroyDescriptorPoolSafe++##endif+{-# INLINE vkDestroyDescriptorPool #-}++-- | > void vkDestroyDescriptorPool+--   >     ( VkDevice device+--   >     , VkDescriptorPool descriptorPool+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorPool vkDestroyDescriptorPool registry at www.khronos.org>+type HS_vkDestroyDescriptorPool =+     VkDevice -- ^ device+              -> VkDescriptorPool -- ^ descriptorPool+                                  -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                               -> IO ()++type PFN_vkDestroyDescriptorPool =+     FunPtr HS_vkDestroyDescriptorPool++foreign import ccall unsafe "dynamic"+               unwrapVkDestroyDescriptorPoolUnsafe ::+               PFN_vkDestroyDescriptorPool -> HS_vkDestroyDescriptorPool++foreign import ccall safe "dynamic"+               unwrapVkDestroyDescriptorPoolSafe ::+               PFN_vkDestroyDescriptorPool -> HS_vkDestroyDescriptorPool++instance VulkanProc "vkDestroyDescriptorPool" where+    type VkProcType "vkDestroyDescriptorPool" =+         HS_vkDestroyDescriptorPool+    vkProcSymbol = _VkDestroyDescriptorPool++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDestroyDescriptorPoolUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroyDescriptorPoolSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkResetDescriptorPool :: CString++pattern VkResetDescriptorPool <- (is_VkResetDescriptorPool -> True)+  where+    VkResetDescriptorPool = _VkResetDescriptorPool++{-# INLINE _VkResetDescriptorPool #-}++_VkResetDescriptorPool :: CString+_VkResetDescriptorPool = Ptr "vkResetDescriptorPool\NUL"##++{-# INLINE is_VkResetDescriptorPool #-}++is_VkResetDescriptorPool :: CString -> Bool+is_VkResetDescriptorPool+  = (EQ ==) . cmpCStrings _VkResetDescriptorPool++type VkResetDescriptorPool = "vkResetDescriptorPool"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetDescriptorPool+-- >     ( VkDevice device+-- >     , VkDescriptorPool descriptorPool+-- >     , VkDescriptorPoolResetFlags flags+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetDescriptorPool vkResetDescriptorPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myResetDescriptorPool <- vkGetDeviceProc @VkResetDescriptorPool vkDevice+--+-- or less efficient:+--+-- > myResetDescriptorPool <- vkGetProc @VkResetDescriptorPool+--+-- __Note:__ @vkResetDescriptorPoolUnsafe@ and @vkResetDescriptorPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkResetDescriptorPool@ is an alias+--           of @vkResetDescriptorPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkResetDescriptorPoolSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkResetDescriptorPool"+               vkResetDescriptorPoolUnsafe ::+               VkDevice -- ^ device+                        ->+                 VkDescriptorPool -- ^ descriptorPool+                                  -> VkDescriptorPoolResetFlags -- ^ flags+                                                                -> IO VkResult++##else+vkResetDescriptorPoolUnsafe ::+                            VkDevice -- ^ device+                                     ->+                              VkDescriptorPool -- ^ descriptorPool+                                               -> VkDescriptorPoolResetFlags -- ^ flags+                                                                             -> IO VkResult+vkResetDescriptorPoolUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkResetDescriptorPool)++{-# NOINLINE vkResetDescriptorPoolUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetDescriptorPool+-- >     ( VkDevice device+-- >     , VkDescriptorPool descriptorPool+-- >     , VkDescriptorPoolResetFlags flags+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetDescriptorPool vkResetDescriptorPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myResetDescriptorPool <- vkGetDeviceProc @VkResetDescriptorPool vkDevice+--+-- or less efficient:+--+-- > myResetDescriptorPool <- vkGetProc @VkResetDescriptorPool+--+-- __Note:__ @vkResetDescriptorPoolUnsafe@ and @vkResetDescriptorPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkResetDescriptorPool@ is an alias+--           of @vkResetDescriptorPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkResetDescriptorPoolSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkResetDescriptorPool"+               vkResetDescriptorPoolSafe ::+               VkDevice -- ^ device+                        ->+                 VkDescriptorPool -- ^ descriptorPool+                                  -> VkDescriptorPoolResetFlags -- ^ flags+                                                                -> IO VkResult++##else+vkResetDescriptorPoolSafe ::+                          VkDevice -- ^ device+                                   ->+                            VkDescriptorPool -- ^ descriptorPool+                                             -> VkDescriptorPoolResetFlags -- ^ flags+                                                                           -> IO VkResult+vkResetDescriptorPoolSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkResetDescriptorPool)++{-# NOINLINE vkResetDescriptorPoolSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetDescriptorPool+-- >     ( VkDevice device+-- >     , VkDescriptorPool descriptorPool+-- >     , VkDescriptorPoolResetFlags flags+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetDescriptorPool vkResetDescriptorPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myResetDescriptorPool <- vkGetDeviceProc @VkResetDescriptorPool vkDevice+--+-- or less efficient:+--+-- > myResetDescriptorPool <- vkGetProc @VkResetDescriptorPool+--+-- __Note:__ @vkResetDescriptorPoolUnsafe@ and @vkResetDescriptorPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkResetDescriptorPool@ is an alias+--           of @vkResetDescriptorPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkResetDescriptorPoolSafe@.+--+vkResetDescriptorPool ::+                      VkDevice -- ^ device+                               ->+                        VkDescriptorPool -- ^ descriptorPool+                                         -> VkDescriptorPoolResetFlags -- ^ flags+                                                                       -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkResetDescriptorPool = vkResetDescriptorPoolUnsafe+##else+vkResetDescriptorPool = vkResetDescriptorPoolSafe++##endif+{-# INLINE vkResetDescriptorPool #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkResetDescriptorPool+--   >     ( VkDevice device+--   >     , VkDescriptorPool descriptorPool+--   >     , VkDescriptorPoolResetFlags flags+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetDescriptorPool vkResetDescriptorPool registry at www.khronos.org>+type HS_vkResetDescriptorPool =+     VkDevice -- ^ device+              ->+       VkDescriptorPool -- ^ descriptorPool+                        -> VkDescriptorPoolResetFlags -- ^ flags+                                                      -> IO VkResult++type PFN_vkResetDescriptorPool = FunPtr HS_vkResetDescriptorPool++foreign import ccall unsafe "dynamic"+               unwrapVkResetDescriptorPoolUnsafe ::+               PFN_vkResetDescriptorPool -> HS_vkResetDescriptorPool++foreign import ccall safe "dynamic" unwrapVkResetDescriptorPoolSafe+               :: PFN_vkResetDescriptorPool -> HS_vkResetDescriptorPool++instance VulkanProc "vkResetDescriptorPool" where+    type VkProcType "vkResetDescriptorPool" = HS_vkResetDescriptorPool+    vkProcSymbol = _VkResetDescriptorPool++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkResetDescriptorPoolUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkResetDescriptorPoolSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkAllocateDescriptorSets :: CString++pattern VkAllocateDescriptorSets <-+        (is_VkAllocateDescriptorSets -> True)+  where+    VkAllocateDescriptorSets = _VkAllocateDescriptorSets++{-# INLINE _VkAllocateDescriptorSets #-}++_VkAllocateDescriptorSets :: CString+_VkAllocateDescriptorSets = Ptr "vkAllocateDescriptorSets\NUL"##++{-# INLINE is_VkAllocateDescriptorSets #-}++is_VkAllocateDescriptorSets :: CString -> Bool+is_VkAllocateDescriptorSets+  = (EQ ==) . cmpCStrings _VkAllocateDescriptorSets++type VkAllocateDescriptorSets = "vkAllocateDescriptorSets"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTED_POOL', 'VK_ERROR_OUT_OF_POOL_MEMORY'.+--+-- > VkResult vkAllocateDescriptorSets+-- >     ( VkDevice device+-- >     , const VkDescriptorSetAllocateInfo* pAllocateInfo+-- >     , VkDescriptorSet* pDescriptorSets+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateDescriptorSets vkAllocateDescriptorSets registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myAllocateDescriptorSets <- vkGetDeviceProc @VkAllocateDescriptorSets vkDevice+--+-- or less efficient:+--+-- > myAllocateDescriptorSets <- vkGetProc @VkAllocateDescriptorSets+--+-- __Note:__ @vkAllocateDescriptorSetsUnsafe@ and @vkAllocateDescriptorSetsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkAllocateDescriptorSets@ is an alias+--           of @vkAllocateDescriptorSetsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkAllocateDescriptorSetsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkAllocateDescriptorSets"+               vkAllocateDescriptorSetsUnsafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkDescriptorSetAllocateInfo -- ^ pAllocateInfo+                                                 ->+                   Ptr VkDescriptorSet -- ^ pDescriptorSets+                                       -> IO VkResult++##else+vkAllocateDescriptorSetsUnsafe ::+                               VkDevice -- ^ device+                                        ->+                                 Ptr VkDescriptorSetAllocateInfo -- ^ pAllocateInfo+                                                                 ->+                                   Ptr VkDescriptorSet -- ^ pDescriptorSets+                                                       -> IO VkResult+vkAllocateDescriptorSetsUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkAllocateDescriptorSets)++{-# NOINLINE vkAllocateDescriptorSetsUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTED_POOL', 'VK_ERROR_OUT_OF_POOL_MEMORY'.+--+-- > VkResult vkAllocateDescriptorSets+-- >     ( VkDevice device+-- >     , const VkDescriptorSetAllocateInfo* pAllocateInfo+-- >     , VkDescriptorSet* pDescriptorSets+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateDescriptorSets vkAllocateDescriptorSets registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myAllocateDescriptorSets <- vkGetDeviceProc @VkAllocateDescriptorSets vkDevice+--+-- or less efficient:+--+-- > myAllocateDescriptorSets <- vkGetProc @VkAllocateDescriptorSets+--+-- __Note:__ @vkAllocateDescriptorSetsUnsafe@ and @vkAllocateDescriptorSetsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkAllocateDescriptorSets@ is an alias+--           of @vkAllocateDescriptorSetsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkAllocateDescriptorSetsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkAllocateDescriptorSets"+               vkAllocateDescriptorSetsSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkDescriptorSetAllocateInfo -- ^ pAllocateInfo+                                                 ->+                   Ptr VkDescriptorSet -- ^ pDescriptorSets+                                       -> IO VkResult++##else+vkAllocateDescriptorSetsSafe ::+                             VkDevice -- ^ device+                                      ->+                               Ptr VkDescriptorSetAllocateInfo -- ^ pAllocateInfo+                                                               ->+                                 Ptr VkDescriptorSet -- ^ pDescriptorSets+                                                     -> IO VkResult+vkAllocateDescriptorSetsSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkAllocateDescriptorSets)++{-# NOINLINE vkAllocateDescriptorSetsSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTED_POOL', 'VK_ERROR_OUT_OF_POOL_MEMORY'.+--+-- > VkResult vkAllocateDescriptorSets+-- >     ( VkDevice device+-- >     , const VkDescriptorSetAllocateInfo* pAllocateInfo+-- >     , VkDescriptorSet* pDescriptorSets+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateDescriptorSets vkAllocateDescriptorSets registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myAllocateDescriptorSets <- vkGetDeviceProc @VkAllocateDescriptorSets vkDevice+--+-- or less efficient:+--+-- > myAllocateDescriptorSets <- vkGetProc @VkAllocateDescriptorSets+--+-- __Note:__ @vkAllocateDescriptorSetsUnsafe@ and @vkAllocateDescriptorSetsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkAllocateDescriptorSets@ is an alias+--           of @vkAllocateDescriptorSetsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkAllocateDescriptorSetsSafe@.+--+vkAllocateDescriptorSets ::+                         VkDevice -- ^ device+                                  ->+                           Ptr VkDescriptorSetAllocateInfo -- ^ pAllocateInfo+                                                           ->+                             Ptr VkDescriptorSet -- ^ pDescriptorSets+                                                 -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkAllocateDescriptorSets = vkAllocateDescriptorSetsUnsafe+##else+vkAllocateDescriptorSets = vkAllocateDescriptorSetsSafe++##endif+{-# INLINE vkAllocateDescriptorSets #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTED_POOL', 'VK_ERROR_OUT_OF_POOL_MEMORY'.+--+--   > VkResult vkAllocateDescriptorSets+--   >     ( VkDevice device+--   >     , const VkDescriptorSetAllocateInfo* pAllocateInfo+--   >     , VkDescriptorSet* pDescriptorSets+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateDescriptorSets vkAllocateDescriptorSets registry at www.khronos.org>+type HS_vkAllocateDescriptorSets =+     VkDevice -- ^ device+              ->+       Ptr VkDescriptorSetAllocateInfo -- ^ pAllocateInfo+                                       ->+         Ptr VkDescriptorSet -- ^ pDescriptorSets+                             -> IO VkResult++type PFN_vkAllocateDescriptorSets =+     FunPtr HS_vkAllocateDescriptorSets++foreign import ccall unsafe "dynamic"+               unwrapVkAllocateDescriptorSetsUnsafe ::+               PFN_vkAllocateDescriptorSets -> HS_vkAllocateDescriptorSets++foreign import ccall safe "dynamic"+               unwrapVkAllocateDescriptorSetsSafe ::+               PFN_vkAllocateDescriptorSets -> HS_vkAllocateDescriptorSets++instance VulkanProc "vkAllocateDescriptorSets" where+    type VkProcType "vkAllocateDescriptorSets" =+         HS_vkAllocateDescriptorSets+    vkProcSymbol = _VkAllocateDescriptorSets++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkAllocateDescriptorSetsUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkAllocateDescriptorSetsSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkFreeDescriptorSets :: CString++pattern VkFreeDescriptorSets <- (is_VkFreeDescriptorSets -> True)+  where+    VkFreeDescriptorSets = _VkFreeDescriptorSets++{-# INLINE _VkFreeDescriptorSets #-}++_VkFreeDescriptorSets :: CString+_VkFreeDescriptorSets = Ptr "vkFreeDescriptorSets\NUL"##++{-# INLINE is_VkFreeDescriptorSets #-}++is_VkFreeDescriptorSets :: CString -> Bool+is_VkFreeDescriptorSets+  = (EQ ==) . cmpCStrings _VkFreeDescriptorSets++type VkFreeDescriptorSets = "vkFreeDescriptorSets"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkFreeDescriptorSets+-- >     ( VkDevice device+-- >     , VkDescriptorPool descriptorPool+-- >     , uint32_t descriptorSetCount+-- >     , const VkDescriptorSet* pDescriptorSets+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeDescriptorSets vkFreeDescriptorSets registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myFreeDescriptorSets <- vkGetDeviceProc @VkFreeDescriptorSets vkDevice+--+-- or less efficient:+--+-- > myFreeDescriptorSets <- vkGetProc @VkFreeDescriptorSets+--+-- __Note:__ @vkFreeDescriptorSetsUnsafe@ and @vkFreeDescriptorSetsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkFreeDescriptorSets@ is an alias+--           of @vkFreeDescriptorSetsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkFreeDescriptorSetsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkFreeDescriptorSets"+               vkFreeDescriptorSetsUnsafe ::+               VkDevice -- ^ device+                        ->+                 VkDescriptorPool -- ^ descriptorPool+                                  -> Word32 -- ^ descriptorSetCount+                                            -> Ptr VkDescriptorSet -- ^ pDescriptorSets+                                                                   -> IO VkResult++##else+vkFreeDescriptorSetsUnsafe ::+                           VkDevice -- ^ device+                                    ->+                             VkDescriptorPool -- ^ descriptorPool+                                              -> Word32 -- ^ descriptorSetCount+                                                        -> Ptr VkDescriptorSet -- ^ pDescriptorSets+                                                                               -> IO VkResult+vkFreeDescriptorSetsUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkFreeDescriptorSets)++{-# NOINLINE vkFreeDescriptorSetsUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkFreeDescriptorSets+-- >     ( VkDevice device+-- >     , VkDescriptorPool descriptorPool+-- >     , uint32_t descriptorSetCount+-- >     , const VkDescriptorSet* pDescriptorSets+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeDescriptorSets vkFreeDescriptorSets registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myFreeDescriptorSets <- vkGetDeviceProc @VkFreeDescriptorSets vkDevice+--+-- or less efficient:+--+-- > myFreeDescriptorSets <- vkGetProc @VkFreeDescriptorSets+--+-- __Note:__ @vkFreeDescriptorSetsUnsafe@ and @vkFreeDescriptorSetsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkFreeDescriptorSets@ is an alias+--           of @vkFreeDescriptorSetsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkFreeDescriptorSetsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkFreeDescriptorSets"+               vkFreeDescriptorSetsSafe ::+               VkDevice -- ^ device+                        ->+                 VkDescriptorPool -- ^ descriptorPool+                                  -> Word32 -- ^ descriptorSetCount+                                            -> Ptr VkDescriptorSet -- ^ pDescriptorSets+                                                                   -> IO VkResult++##else+vkFreeDescriptorSetsSafe ::+                         VkDevice -- ^ device+                                  ->+                           VkDescriptorPool -- ^ descriptorPool+                                            -> Word32 -- ^ descriptorSetCount+                                                      -> Ptr VkDescriptorSet -- ^ pDescriptorSets+                                                                             -> IO VkResult+vkFreeDescriptorSetsSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkFreeDescriptorSets)++{-# NOINLINE vkFreeDescriptorSetsSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkFreeDescriptorSets+-- >     ( VkDevice device+-- >     , VkDescriptorPool descriptorPool+-- >     , uint32_t descriptorSetCount+-- >     , const VkDescriptorSet* pDescriptorSets+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeDescriptorSets vkFreeDescriptorSets registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myFreeDescriptorSets <- vkGetDeviceProc @VkFreeDescriptorSets vkDevice+--+-- or less efficient:+--+-- > myFreeDescriptorSets <- vkGetProc @VkFreeDescriptorSets+--+-- __Note:__ @vkFreeDescriptorSetsUnsafe@ and @vkFreeDescriptorSetsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkFreeDescriptorSets@ is an alias+--           of @vkFreeDescriptorSetsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkFreeDescriptorSetsSafe@.+--+vkFreeDescriptorSets ::+                     VkDevice -- ^ device+                              ->+                       VkDescriptorPool -- ^ descriptorPool+                                        -> Word32 -- ^ descriptorSetCount+                                                  -> Ptr VkDescriptorSet -- ^ pDescriptorSets+                                                                         -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkFreeDescriptorSets = vkFreeDescriptorSetsUnsafe+##else+vkFreeDescriptorSets = vkFreeDescriptorSetsSafe++##endif+{-# INLINE vkFreeDescriptorSets #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkFreeDescriptorSets+--   >     ( VkDevice device+--   >     , VkDescriptorPool descriptorPool+--   >     , uint32_t descriptorSetCount+--   >     , const VkDescriptorSet* pDescriptorSets+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeDescriptorSets vkFreeDescriptorSets registry at www.khronos.org>+type HS_vkFreeDescriptorSets =+     VkDevice -- ^ device+              ->+       VkDescriptorPool -- ^ descriptorPool+                        -> Word32 -- ^ descriptorSetCount+                                  -> Ptr VkDescriptorSet -- ^ pDescriptorSets+                                                         -> IO VkResult++type PFN_vkFreeDescriptorSets = FunPtr HS_vkFreeDescriptorSets++foreign import ccall unsafe "dynamic"+               unwrapVkFreeDescriptorSetsUnsafe ::+               PFN_vkFreeDescriptorSets -> HS_vkFreeDescriptorSets++foreign import ccall safe "dynamic" unwrapVkFreeDescriptorSetsSafe+               :: PFN_vkFreeDescriptorSets -> HS_vkFreeDescriptorSets++instance VulkanProc "vkFreeDescriptorSets" where+    type VkProcType "vkFreeDescriptorSets" = HS_vkFreeDescriptorSets+    vkProcSymbol = _VkFreeDescriptorSets++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkFreeDescriptorSetsUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkFreeDescriptorSetsSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkUpdateDescriptorSets :: CString++pattern VkUpdateDescriptorSets <-+        (is_VkUpdateDescriptorSets -> True)+  where+    VkUpdateDescriptorSets = _VkUpdateDescriptorSets++{-# INLINE _VkUpdateDescriptorSets #-}++_VkUpdateDescriptorSets :: CString+_VkUpdateDescriptorSets = Ptr "vkUpdateDescriptorSets\NUL"##++{-# INLINE is_VkUpdateDescriptorSets #-}++is_VkUpdateDescriptorSets :: CString -> Bool+is_VkUpdateDescriptorSets+  = (EQ ==) . cmpCStrings _VkUpdateDescriptorSets++type VkUpdateDescriptorSets = "vkUpdateDescriptorSets"++-- |+-- > void vkUpdateDescriptorSets+-- >     ( VkDevice device+-- >     , uint32_t descriptorWriteCount+-- >     , const VkWriteDescriptorSet* pDescriptorWrites+-- >     , uint32_t descriptorCopyCount+-- >     , const VkCopyDescriptorSet* pDescriptorCopies+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUpdateDescriptorSets vkUpdateDescriptorSets registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myUpdateDescriptorSets <- vkGetDeviceProc @VkUpdateDescriptorSets vkDevice+--+-- or less efficient:+--+-- > myUpdateDescriptorSets <- vkGetProc @VkUpdateDescriptorSets+--+-- __Note:__ @vkUpdateDescriptorSetsUnsafe@ and @vkUpdateDescriptorSetsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkUpdateDescriptorSets@ is an alias+--           of @vkUpdateDescriptorSetsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkUpdateDescriptorSetsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkUpdateDescriptorSets"+               vkUpdateDescriptorSetsUnsafe ::+               VkDevice -- ^ device+                        ->+                 Word32 -- ^ descriptorWriteCount+                        ->+                   Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites+                                            ->+                     Word32 -- ^ descriptorCopyCount+                            -> Ptr VkCopyDescriptorSet -- ^ pDescriptorCopies+                                                       -> IO ()++##else+vkUpdateDescriptorSetsUnsafe ::+                             VkDevice -- ^ device+                                      ->+                               Word32 -- ^ descriptorWriteCount+                                      ->+                                 Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites+                                                          ->+                                   Word32 -- ^ descriptorCopyCount+                                          -> Ptr VkCopyDescriptorSet -- ^ pDescriptorCopies+                                                                     -> IO ()+vkUpdateDescriptorSetsUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkUpdateDescriptorSets)++{-# NOINLINE vkUpdateDescriptorSetsUnsafe #-}+##endif++-- |+-- > void vkUpdateDescriptorSets+-- >     ( VkDevice device+-- >     , uint32_t descriptorWriteCount+-- >     , const VkWriteDescriptorSet* pDescriptorWrites+-- >     , uint32_t descriptorCopyCount+-- >     , const VkCopyDescriptorSet* pDescriptorCopies+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUpdateDescriptorSets vkUpdateDescriptorSets registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myUpdateDescriptorSets <- vkGetDeviceProc @VkUpdateDescriptorSets vkDevice+--+-- or less efficient:+--+-- > myUpdateDescriptorSets <- vkGetProc @VkUpdateDescriptorSets+--+-- __Note:__ @vkUpdateDescriptorSetsUnsafe@ and @vkUpdateDescriptorSetsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkUpdateDescriptorSets@ is an alias+--           of @vkUpdateDescriptorSetsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkUpdateDescriptorSetsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkUpdateDescriptorSets"+               vkUpdateDescriptorSetsSafe ::+               VkDevice -- ^ device+                        ->+                 Word32 -- ^ descriptorWriteCount+                        ->+                   Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites+                                            ->+                     Word32 -- ^ descriptorCopyCount+                            -> Ptr VkCopyDescriptorSet -- ^ pDescriptorCopies+                                                       -> IO ()++##else+vkUpdateDescriptorSetsSafe ::+                           VkDevice -- ^ device+                                    ->+                             Word32 -- ^ descriptorWriteCount+                                    ->+                               Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites+                                                        ->+                                 Word32 -- ^ descriptorCopyCount+                                        -> Ptr VkCopyDescriptorSet -- ^ pDescriptorCopies+                                                                   -> IO ()+vkUpdateDescriptorSetsSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkUpdateDescriptorSets)++{-# NOINLINE vkUpdateDescriptorSetsSafe #-}+##endif++-- |+-- > void vkUpdateDescriptorSets+-- >     ( VkDevice device+-- >     , uint32_t descriptorWriteCount+-- >     , const VkWriteDescriptorSet* pDescriptorWrites+-- >     , uint32_t descriptorCopyCount+-- >     , const VkCopyDescriptorSet* pDescriptorCopies+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUpdateDescriptorSets vkUpdateDescriptorSets registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myUpdateDescriptorSets <- vkGetDeviceProc @VkUpdateDescriptorSets vkDevice+--+-- or less efficient:+--+-- > myUpdateDescriptorSets <- vkGetProc @VkUpdateDescriptorSets+--+-- __Note:__ @vkUpdateDescriptorSetsUnsafe@ and @vkUpdateDescriptorSetsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkUpdateDescriptorSets@ is an alias+--           of @vkUpdateDescriptorSetsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkUpdateDescriptorSetsSafe@.+--+vkUpdateDescriptorSets ::+                       VkDevice -- ^ device+                                ->+                         Word32 -- ^ descriptorWriteCount+                                ->+                           Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites+                                                    ->+                             Word32 -- ^ descriptorCopyCount+                                    -> Ptr VkCopyDescriptorSet -- ^ pDescriptorCopies+                                                               -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkUpdateDescriptorSets = vkUpdateDescriptorSetsUnsafe+##else+vkUpdateDescriptorSets = vkUpdateDescriptorSetsSafe++##endif+{-# INLINE vkUpdateDescriptorSets #-}++-- | > void vkUpdateDescriptorSets+--   >     ( VkDevice device+--   >     , uint32_t descriptorWriteCount+--   >     , const VkWriteDescriptorSet* pDescriptorWrites+--   >     , uint32_t descriptorCopyCount+--   >     , const VkCopyDescriptorSet* pDescriptorCopies+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUpdateDescriptorSets vkUpdateDescriptorSets registry at www.khronos.org>+type HS_vkUpdateDescriptorSets =+     VkDevice -- ^ device+              ->+       Word32 -- ^ descriptorWriteCount+              ->+         Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites+                                  ->+           Word32 -- ^ descriptorCopyCount+                  -> Ptr VkCopyDescriptorSet -- ^ pDescriptorCopies+                                             -> IO ()++type PFN_vkUpdateDescriptorSets = FunPtr HS_vkUpdateDescriptorSets++foreign import ccall unsafe "dynamic"+               unwrapVkUpdateDescriptorSetsUnsafe ::+               PFN_vkUpdateDescriptorSets -> HS_vkUpdateDescriptorSets++foreign import ccall safe "dynamic"+               unwrapVkUpdateDescriptorSetsSafe ::+               PFN_vkUpdateDescriptorSets -> HS_vkUpdateDescriptorSets++instance VulkanProc "vkUpdateDescriptorSets" where+    type VkProcType "vkUpdateDescriptorSets" =+         HS_vkUpdateDescriptorSets+    vkProcSymbol = _VkUpdateDescriptorSets++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkUpdateDescriptorSetsUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkUpdateDescriptorSetsSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCreateFramebuffer :: CString++pattern VkCreateFramebuffer <- (is_VkCreateFramebuffer -> True)+  where+    VkCreateFramebuffer = _VkCreateFramebuffer++{-# INLINE _VkCreateFramebuffer #-}++_VkCreateFramebuffer :: CString+_VkCreateFramebuffer = Ptr "vkCreateFramebuffer\NUL"##++{-# INLINE is_VkCreateFramebuffer #-}++is_VkCreateFramebuffer :: CString -> Bool+is_VkCreateFramebuffer = (EQ ==) . cmpCStrings _VkCreateFramebuffer++type VkCreateFramebuffer = "vkCreateFramebuffer"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateFramebuffer+-- >     ( VkDevice device+-- >     , const VkFramebufferCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkFramebuffer* pFramebuffer+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateFramebuffer vkCreateFramebuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateFramebuffer <- vkGetDeviceProc @VkCreateFramebuffer vkDevice+--+-- or less efficient:+--+-- > myCreateFramebuffer <- vkGetProc @VkCreateFramebuffer+--+-- __Note:__ @vkCreateFramebufferUnsafe@ and @vkCreateFramebufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateFramebuffer@ is an alias+--           of @vkCreateFramebufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateFramebufferSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCreateFramebuffer"+               vkCreateFramebufferUnsafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkFramebufferCreateInfo -- ^ pCreateInfo+                                             ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkFramebuffer -- ^ pFramebuffer+                                                                  -> IO VkResult++##else+vkCreateFramebufferUnsafe ::+                          VkDevice -- ^ device+                                   ->+                            Ptr VkFramebufferCreateInfo -- ^ pCreateInfo+                                                        ->+                              Ptr VkAllocationCallbacks -- ^ pAllocator+                                                        -> Ptr VkFramebuffer -- ^ pFramebuffer+                                                                             -> IO VkResult+vkCreateFramebufferUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateFramebuffer)++{-# NOINLINE vkCreateFramebufferUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateFramebuffer+-- >     ( VkDevice device+-- >     , const VkFramebufferCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkFramebuffer* pFramebuffer+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateFramebuffer vkCreateFramebuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateFramebuffer <- vkGetDeviceProc @VkCreateFramebuffer vkDevice+--+-- or less efficient:+--+-- > myCreateFramebuffer <- vkGetProc @VkCreateFramebuffer+--+-- __Note:__ @vkCreateFramebufferUnsafe@ and @vkCreateFramebufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateFramebuffer@ is an alias+--           of @vkCreateFramebufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateFramebufferSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCreateFramebuffer"+               vkCreateFramebufferSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkFramebufferCreateInfo -- ^ pCreateInfo+                                             ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkFramebuffer -- ^ pFramebuffer+                                                                  -> IO VkResult++##else+vkCreateFramebufferSafe ::+                        VkDevice -- ^ device+                                 ->+                          Ptr VkFramebufferCreateInfo -- ^ pCreateInfo+                                                      ->+                            Ptr VkAllocationCallbacks -- ^ pAllocator+                                                      -> Ptr VkFramebuffer -- ^ pFramebuffer+                                                                           -> IO VkResult+vkCreateFramebufferSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateFramebuffer)++{-# NOINLINE vkCreateFramebufferSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateFramebuffer+-- >     ( VkDevice device+-- >     , const VkFramebufferCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkFramebuffer* pFramebuffer+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateFramebuffer vkCreateFramebuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateFramebuffer <- vkGetDeviceProc @VkCreateFramebuffer vkDevice+--+-- or less efficient:+--+-- > myCreateFramebuffer <- vkGetProc @VkCreateFramebuffer+--+-- __Note:__ @vkCreateFramebufferUnsafe@ and @vkCreateFramebufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateFramebuffer@ is an alias+--           of @vkCreateFramebufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateFramebufferSafe@.+--+vkCreateFramebuffer ::+                    VkDevice -- ^ device+                             ->+                      Ptr VkFramebufferCreateInfo -- ^ pCreateInfo+                                                  ->+                        Ptr VkAllocationCallbacks -- ^ pAllocator+                                                  -> Ptr VkFramebuffer -- ^ pFramebuffer+                                                                       -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkCreateFramebuffer = vkCreateFramebufferUnsafe+##else+vkCreateFramebuffer = vkCreateFramebufferSafe++##endif+{-# INLINE vkCreateFramebuffer #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateFramebuffer+--   >     ( VkDevice device+--   >     , const VkFramebufferCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkFramebuffer* pFramebuffer+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateFramebuffer vkCreateFramebuffer registry at www.khronos.org>+type HS_vkCreateFramebuffer =+     VkDevice -- ^ device+              ->+       Ptr VkFramebufferCreateInfo -- ^ pCreateInfo+                                   ->+         Ptr VkAllocationCallbacks -- ^ pAllocator+                                   -> Ptr VkFramebuffer -- ^ pFramebuffer+                                                        -> IO VkResult++type PFN_vkCreateFramebuffer = FunPtr HS_vkCreateFramebuffer++foreign import ccall unsafe "dynamic"+               unwrapVkCreateFramebufferUnsafe ::+               PFN_vkCreateFramebuffer -> HS_vkCreateFramebuffer++foreign import ccall safe "dynamic" unwrapVkCreateFramebufferSafe+               :: PFN_vkCreateFramebuffer -> HS_vkCreateFramebuffer++instance VulkanProc "vkCreateFramebuffer" where+    type VkProcType "vkCreateFramebuffer" = HS_vkCreateFramebuffer+    vkProcSymbol = _VkCreateFramebuffer++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateFramebufferUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateFramebufferSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkDestroyFramebuffer :: CString++pattern VkDestroyFramebuffer <- (is_VkDestroyFramebuffer -> True)+  where+    VkDestroyFramebuffer = _VkDestroyFramebuffer++{-# INLINE _VkDestroyFramebuffer #-}++_VkDestroyFramebuffer :: CString+_VkDestroyFramebuffer = Ptr "vkDestroyFramebuffer\NUL"##++{-# INLINE is_VkDestroyFramebuffer #-}++is_VkDestroyFramebuffer :: CString -> Bool+is_VkDestroyFramebuffer+  = (EQ ==) . cmpCStrings _VkDestroyFramebuffer++type VkDestroyFramebuffer = "vkDestroyFramebuffer"++-- |+-- > void vkDestroyFramebuffer+-- >     ( VkDevice device+-- >     , VkFramebuffer framebuffer+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyFramebuffer vkDestroyFramebuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyFramebuffer <- vkGetDeviceProc @VkDestroyFramebuffer vkDevice+--+-- or less efficient:+--+-- > myDestroyFramebuffer <- vkGetProc @VkDestroyFramebuffer+--+-- __Note:__ @vkDestroyFramebufferUnsafe@ and @vkDestroyFramebufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyFramebuffer@ is an alias+--           of @vkDestroyFramebufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyFramebufferSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkDestroyFramebuffer"+               vkDestroyFramebufferUnsafe ::+               VkDevice -- ^ device+                        -> VkFramebuffer -- ^ framebuffer+                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                      -> IO ()++##else+vkDestroyFramebufferUnsafe ::+                           VkDevice -- ^ device+                                    -> VkFramebuffer -- ^ framebuffer+                                                     -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                                  -> IO ()+vkDestroyFramebufferUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyFramebuffer)++{-# NOINLINE vkDestroyFramebufferUnsafe #-}+##endif++-- |+-- > void vkDestroyFramebuffer+-- >     ( VkDevice device+-- >     , VkFramebuffer framebuffer+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyFramebuffer vkDestroyFramebuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyFramebuffer <- vkGetDeviceProc @VkDestroyFramebuffer vkDevice+--+-- or less efficient:+--+-- > myDestroyFramebuffer <- vkGetProc @VkDestroyFramebuffer+--+-- __Note:__ @vkDestroyFramebufferUnsafe@ and @vkDestroyFramebufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyFramebuffer@ is an alias+--           of @vkDestroyFramebufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyFramebufferSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkDestroyFramebuffer"+               vkDestroyFramebufferSafe ::+               VkDevice -- ^ device+                        -> VkFramebuffer -- ^ framebuffer+                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                      -> IO ()++##else+vkDestroyFramebufferSafe ::+                         VkDevice -- ^ device+                                  -> VkFramebuffer -- ^ framebuffer+                                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                                -> IO ()+vkDestroyFramebufferSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyFramebuffer)++{-# NOINLINE vkDestroyFramebufferSafe #-}+##endif++-- |+-- > void vkDestroyFramebuffer+-- >     ( VkDevice device+-- >     , VkFramebuffer framebuffer+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyFramebuffer vkDestroyFramebuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyFramebuffer <- vkGetDeviceProc @VkDestroyFramebuffer vkDevice+--+-- or less efficient:+--+-- > myDestroyFramebuffer <- vkGetProc @VkDestroyFramebuffer+--+-- __Note:__ @vkDestroyFramebufferUnsafe@ and @vkDestroyFramebufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyFramebuffer@ is an alias+--           of @vkDestroyFramebufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyFramebufferSafe@.+--+vkDestroyFramebuffer ::+                     VkDevice -- ^ device+                              -> VkFramebuffer -- ^ framebuffer+                                               -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                            -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkDestroyFramebuffer = vkDestroyFramebufferUnsafe+##else+vkDestroyFramebuffer = vkDestroyFramebufferSafe++##endif+{-# INLINE vkDestroyFramebuffer #-}++-- | > void vkDestroyFramebuffer+--   >     ( VkDevice device+--   >     , VkFramebuffer framebuffer+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyFramebuffer vkDestroyFramebuffer registry at www.khronos.org>+type HS_vkDestroyFramebuffer =+     VkDevice -- ^ device+              -> VkFramebuffer -- ^ framebuffer+                               -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                            -> IO ()++type PFN_vkDestroyFramebuffer = FunPtr HS_vkDestroyFramebuffer++foreign import ccall unsafe "dynamic"+               unwrapVkDestroyFramebufferUnsafe ::+               PFN_vkDestroyFramebuffer -> HS_vkDestroyFramebuffer++foreign import ccall safe "dynamic" unwrapVkDestroyFramebufferSafe+               :: PFN_vkDestroyFramebuffer -> HS_vkDestroyFramebuffer++instance VulkanProc "vkDestroyFramebuffer" where+    type VkProcType "vkDestroyFramebuffer" = HS_vkDestroyFramebuffer+    vkProcSymbol = _VkDestroyFramebuffer++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDestroyFramebufferUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroyFramebufferSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCreateRenderPass :: CString++pattern VkCreateRenderPass <- (is_VkCreateRenderPass -> True)+  where+    VkCreateRenderPass = _VkCreateRenderPass++{-# INLINE _VkCreateRenderPass #-}++_VkCreateRenderPass :: CString+_VkCreateRenderPass = Ptr "vkCreateRenderPass\NUL"##++{-# INLINE is_VkCreateRenderPass #-}++is_VkCreateRenderPass :: CString -> Bool+is_VkCreateRenderPass = (EQ ==) . cmpCStrings _VkCreateRenderPass++type VkCreateRenderPass = "vkCreateRenderPass"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateRenderPass+-- >     ( VkDevice device+-- >     , const VkRenderPassCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkRenderPass* pRenderPass+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateRenderPass vkCreateRenderPass registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateRenderPass <- vkGetDeviceProc @VkCreateRenderPass vkDevice+--+-- or less efficient:+--+-- > myCreateRenderPass <- vkGetProc @VkCreateRenderPass+--+-- __Note:__ @vkCreateRenderPassUnsafe@ and @vkCreateRenderPassSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateRenderPass@ is an alias+--           of @vkCreateRenderPassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateRenderPassSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCreateRenderPass"+               vkCreateRenderPassUnsafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkRenderPassCreateInfo -- ^ pCreateInfo+                                            ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkRenderPass -- ^ pRenderPass+                                                                 -> IO VkResult++##else+vkCreateRenderPassUnsafe ::+                         VkDevice -- ^ device+                                  ->+                           Ptr VkRenderPassCreateInfo -- ^ pCreateInfo+                                                      ->+                             Ptr VkAllocationCallbacks -- ^ pAllocator+                                                       -> Ptr VkRenderPass -- ^ pRenderPass+                                                                           -> IO VkResult+vkCreateRenderPassUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateRenderPass)++{-# NOINLINE vkCreateRenderPassUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateRenderPass+-- >     ( VkDevice device+-- >     , const VkRenderPassCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkRenderPass* pRenderPass+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateRenderPass vkCreateRenderPass registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateRenderPass <- vkGetDeviceProc @VkCreateRenderPass vkDevice+--+-- or less efficient:+--+-- > myCreateRenderPass <- vkGetProc @VkCreateRenderPass+--+-- __Note:__ @vkCreateRenderPassUnsafe@ and @vkCreateRenderPassSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateRenderPass@ is an alias+--           of @vkCreateRenderPassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateRenderPassSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCreateRenderPass"+               vkCreateRenderPassSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkRenderPassCreateInfo -- ^ pCreateInfo+                                            ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkRenderPass -- ^ pRenderPass+                                                                 -> IO VkResult++##else+vkCreateRenderPassSafe ::+                       VkDevice -- ^ device+                                ->+                         Ptr VkRenderPassCreateInfo -- ^ pCreateInfo+                                                    ->+                           Ptr VkAllocationCallbacks -- ^ pAllocator+                                                     -> Ptr VkRenderPass -- ^ pRenderPass+                                                                         -> IO VkResult+vkCreateRenderPassSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateRenderPass)++{-# NOINLINE vkCreateRenderPassSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateRenderPass+-- >     ( VkDevice device+-- >     , const VkRenderPassCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkRenderPass* pRenderPass+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateRenderPass vkCreateRenderPass registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateRenderPass <- vkGetDeviceProc @VkCreateRenderPass vkDevice+--+-- or less efficient:+--+-- > myCreateRenderPass <- vkGetProc @VkCreateRenderPass+--+-- __Note:__ @vkCreateRenderPassUnsafe@ and @vkCreateRenderPassSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateRenderPass@ is an alias+--           of @vkCreateRenderPassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateRenderPassSafe@.+--+vkCreateRenderPass ::+                   VkDevice -- ^ device+                            ->+                     Ptr VkRenderPassCreateInfo -- ^ pCreateInfo+                                                ->+                       Ptr VkAllocationCallbacks -- ^ pAllocator+                                                 -> Ptr VkRenderPass -- ^ pRenderPass+                                                                     -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkCreateRenderPass = vkCreateRenderPassUnsafe+##else+vkCreateRenderPass = vkCreateRenderPassSafe++##endif+{-# INLINE vkCreateRenderPass #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateRenderPass+--   >     ( VkDevice device+--   >     , const VkRenderPassCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkRenderPass* pRenderPass+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateRenderPass vkCreateRenderPass registry at www.khronos.org>+type HS_vkCreateRenderPass =+     VkDevice -- ^ device+              ->+       Ptr VkRenderPassCreateInfo -- ^ pCreateInfo+                                  ->+         Ptr VkAllocationCallbacks -- ^ pAllocator+                                   -> Ptr VkRenderPass -- ^ pRenderPass+                                                       -> IO VkResult++type PFN_vkCreateRenderPass = FunPtr HS_vkCreateRenderPass++foreign import ccall unsafe "dynamic"+               unwrapVkCreateRenderPassUnsafe ::+               PFN_vkCreateRenderPass -> HS_vkCreateRenderPass++foreign import ccall safe "dynamic" unwrapVkCreateRenderPassSafe ::+               PFN_vkCreateRenderPass -> HS_vkCreateRenderPass++instance VulkanProc "vkCreateRenderPass" where+    type VkProcType "vkCreateRenderPass" = HS_vkCreateRenderPass+    vkProcSymbol = _VkCreateRenderPass++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateRenderPassUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateRenderPassSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkDestroyRenderPass :: CString++pattern VkDestroyRenderPass <- (is_VkDestroyRenderPass -> True)+  where+    VkDestroyRenderPass = _VkDestroyRenderPass++{-# INLINE _VkDestroyRenderPass #-}++_VkDestroyRenderPass :: CString+_VkDestroyRenderPass = Ptr "vkDestroyRenderPass\NUL"##++{-# INLINE is_VkDestroyRenderPass #-}++is_VkDestroyRenderPass :: CString -> Bool+is_VkDestroyRenderPass = (EQ ==) . cmpCStrings _VkDestroyRenderPass++type VkDestroyRenderPass = "vkDestroyRenderPass"++-- |+-- > void vkDestroyRenderPass+-- >     ( VkDevice device+-- >     , VkRenderPass renderPass+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyRenderPass vkDestroyRenderPass registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyRenderPass <- vkGetDeviceProc @VkDestroyRenderPass vkDevice+--+-- or less efficient:+--+-- > myDestroyRenderPass <- vkGetProc @VkDestroyRenderPass+--+-- __Note:__ @vkDestroyRenderPassUnsafe@ and @vkDestroyRenderPassSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyRenderPass@ is an alias+--           of @vkDestroyRenderPassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyRenderPassSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkDestroyRenderPass"+               vkDestroyRenderPassUnsafe ::+               VkDevice -- ^ device+                        -> VkRenderPass -- ^ renderPass+                                        -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                     -> IO ()++##else+vkDestroyRenderPassUnsafe ::+                          VkDevice -- ^ device+                                   -> VkRenderPass -- ^ renderPass+                                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                                -> IO ()+vkDestroyRenderPassUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyRenderPass)++{-# NOINLINE vkDestroyRenderPassUnsafe #-}+##endif++-- |+-- > void vkDestroyRenderPass+-- >     ( VkDevice device+-- >     , VkRenderPass renderPass+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyRenderPass vkDestroyRenderPass registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyRenderPass <- vkGetDeviceProc @VkDestroyRenderPass vkDevice+--+-- or less efficient:+--+-- > myDestroyRenderPass <- vkGetProc @VkDestroyRenderPass+--+-- __Note:__ @vkDestroyRenderPassUnsafe@ and @vkDestroyRenderPassSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyRenderPass@ is an alias+--           of @vkDestroyRenderPassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyRenderPassSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkDestroyRenderPass"+               vkDestroyRenderPassSafe ::+               VkDevice -- ^ device+                        -> VkRenderPass -- ^ renderPass+                                        -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                     -> IO ()++##else+vkDestroyRenderPassSafe ::+                        VkDevice -- ^ device+                                 -> VkRenderPass -- ^ renderPass+                                                 -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                              -> IO ()+vkDestroyRenderPassSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyRenderPass)++{-# NOINLINE vkDestroyRenderPassSafe #-}+##endif++-- |+-- > void vkDestroyRenderPass+-- >     ( VkDevice device+-- >     , VkRenderPass renderPass+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyRenderPass vkDestroyRenderPass registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyRenderPass <- vkGetDeviceProc @VkDestroyRenderPass vkDevice+--+-- or less efficient:+--+-- > myDestroyRenderPass <- vkGetProc @VkDestroyRenderPass+--+-- __Note:__ @vkDestroyRenderPassUnsafe@ and @vkDestroyRenderPassSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyRenderPass@ is an alias+--           of @vkDestroyRenderPassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyRenderPassSafe@.+--+vkDestroyRenderPass ::+                    VkDevice -- ^ device+                             -> VkRenderPass -- ^ renderPass+                                             -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                          -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkDestroyRenderPass = vkDestroyRenderPassUnsafe+##else+vkDestroyRenderPass = vkDestroyRenderPassSafe++##endif+{-# INLINE vkDestroyRenderPass #-}++-- | > void vkDestroyRenderPass+--   >     ( VkDevice device+--   >     , VkRenderPass renderPass+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyRenderPass vkDestroyRenderPass registry at www.khronos.org>+type HS_vkDestroyRenderPass =+     VkDevice -- ^ device+              -> VkRenderPass -- ^ renderPass+                              -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                           -> IO ()++type PFN_vkDestroyRenderPass = FunPtr HS_vkDestroyRenderPass++foreign import ccall unsafe "dynamic"+               unwrapVkDestroyRenderPassUnsafe ::+               PFN_vkDestroyRenderPass -> HS_vkDestroyRenderPass++foreign import ccall safe "dynamic" unwrapVkDestroyRenderPassSafe+               :: PFN_vkDestroyRenderPass -> HS_vkDestroyRenderPass++instance VulkanProc "vkDestroyRenderPass" where+    type VkProcType "vkDestroyRenderPass" = HS_vkDestroyRenderPass+    vkProcSymbol = _VkDestroyRenderPass++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDestroyRenderPassUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroyRenderPassSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetRenderAreaGranularity :: CString++pattern VkGetRenderAreaGranularity <-+        (is_VkGetRenderAreaGranularity -> True)+  where+    VkGetRenderAreaGranularity = _VkGetRenderAreaGranularity++{-# INLINE _VkGetRenderAreaGranularity #-}++_VkGetRenderAreaGranularity :: CString+_VkGetRenderAreaGranularity = Ptr "vkGetRenderAreaGranularity\NUL"##++{-# INLINE is_VkGetRenderAreaGranularity #-}++is_VkGetRenderAreaGranularity :: CString -> Bool+is_VkGetRenderAreaGranularity+  = (EQ ==) . cmpCStrings _VkGetRenderAreaGranularity++type VkGetRenderAreaGranularity = "vkGetRenderAreaGranularity"++-- |+-- > void vkGetRenderAreaGranularity+-- >     ( VkDevice device+-- >     , VkRenderPass renderPass+-- >     , VkExtent2D* pGranularity+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetRenderAreaGranularity vkGetRenderAreaGranularity registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetRenderAreaGranularity <- vkGetDeviceProc @VkGetRenderAreaGranularity vkDevice+--+-- or less efficient:+--+-- > myGetRenderAreaGranularity <- vkGetProc @VkGetRenderAreaGranularity+--+-- __Note:__ @vkGetRenderAreaGranularityUnsafe@ and @vkGetRenderAreaGranularitySafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetRenderAreaGranularity@ is an alias+--           of @vkGetRenderAreaGranularityUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetRenderAreaGranularitySafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkGetRenderAreaGranularity"+               vkGetRenderAreaGranularityUnsafe ::+               VkDevice -- ^ device+                        -> VkRenderPass -- ^ renderPass+                                        -> Ptr VkExtent2D -- ^ pGranularity+                                                          -> IO ()++##else+vkGetRenderAreaGranularityUnsafe ::+                                 VkDevice -- ^ device+                                          -> VkRenderPass -- ^ renderPass+                                                          -> Ptr VkExtent2D -- ^ pGranularity+                                                                            -> IO ()+vkGetRenderAreaGranularityUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetRenderAreaGranularity)++{-# NOINLINE vkGetRenderAreaGranularityUnsafe #-}+##endif++-- |+-- > void vkGetRenderAreaGranularity+-- >     ( VkDevice device+-- >     , VkRenderPass renderPass+-- >     , VkExtent2D* pGranularity+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetRenderAreaGranularity vkGetRenderAreaGranularity registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetRenderAreaGranularity <- vkGetDeviceProc @VkGetRenderAreaGranularity vkDevice+--+-- or less efficient:+--+-- > myGetRenderAreaGranularity <- vkGetProc @VkGetRenderAreaGranularity+--+-- __Note:__ @vkGetRenderAreaGranularityUnsafe@ and @vkGetRenderAreaGranularitySafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetRenderAreaGranularity@ is an alias+--           of @vkGetRenderAreaGranularityUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetRenderAreaGranularitySafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkGetRenderAreaGranularity"+               vkGetRenderAreaGranularitySafe ::+               VkDevice -- ^ device+                        -> VkRenderPass -- ^ renderPass+                                        -> Ptr VkExtent2D -- ^ pGranularity+                                                          -> IO ()++##else+vkGetRenderAreaGranularitySafe ::+                               VkDevice -- ^ device+                                        -> VkRenderPass -- ^ renderPass+                                                        -> Ptr VkExtent2D -- ^ pGranularity+                                                                          -> IO ()+vkGetRenderAreaGranularitySafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetRenderAreaGranularity)++{-# NOINLINE vkGetRenderAreaGranularitySafe #-}+##endif++-- |+-- > void vkGetRenderAreaGranularity+-- >     ( VkDevice device+-- >     , VkRenderPass renderPass+-- >     , VkExtent2D* pGranularity+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetRenderAreaGranularity vkGetRenderAreaGranularity registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetRenderAreaGranularity <- vkGetDeviceProc @VkGetRenderAreaGranularity vkDevice+--+-- or less efficient:+--+-- > myGetRenderAreaGranularity <- vkGetProc @VkGetRenderAreaGranularity+--+-- __Note:__ @vkGetRenderAreaGranularityUnsafe@ and @vkGetRenderAreaGranularitySafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetRenderAreaGranularity@ is an alias+--           of @vkGetRenderAreaGranularityUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetRenderAreaGranularitySafe@.+--+vkGetRenderAreaGranularity ::+                           VkDevice -- ^ device+                                    -> VkRenderPass -- ^ renderPass+                                                    -> Ptr VkExtent2D -- ^ pGranularity+                                                                      -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkGetRenderAreaGranularity = vkGetRenderAreaGranularityUnsafe+##else+vkGetRenderAreaGranularity = vkGetRenderAreaGranularitySafe++##endif+{-# INLINE vkGetRenderAreaGranularity #-}++-- | > void vkGetRenderAreaGranularity+--   >     ( VkDevice device+--   >     , VkRenderPass renderPass+--   >     , VkExtent2D* pGranularity+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetRenderAreaGranularity vkGetRenderAreaGranularity registry at www.khronos.org>+type HS_vkGetRenderAreaGranularity =+     VkDevice -- ^ device+              -> VkRenderPass -- ^ renderPass+                              -> Ptr VkExtent2D -- ^ pGranularity+                                                -> IO ()++type PFN_vkGetRenderAreaGranularity =+     FunPtr HS_vkGetRenderAreaGranularity++foreign import ccall unsafe "dynamic"+               unwrapVkGetRenderAreaGranularityUnsafe ::+               PFN_vkGetRenderAreaGranularity -> HS_vkGetRenderAreaGranularity++foreign import ccall safe "dynamic"+               unwrapVkGetRenderAreaGranularitySafe ::+               PFN_vkGetRenderAreaGranularity -> HS_vkGetRenderAreaGranularity++instance VulkanProc "vkGetRenderAreaGranularity" where+    type VkProcType "vkGetRenderAreaGranularity" =+         HS_vkGetRenderAreaGranularity+    vkProcSymbol = _VkGetRenderAreaGranularity++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetRenderAreaGranularityUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetRenderAreaGranularitySafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCreateCommandPool :: CString++pattern VkCreateCommandPool <- (is_VkCreateCommandPool -> True)+  where+    VkCreateCommandPool = _VkCreateCommandPool++{-# INLINE _VkCreateCommandPool #-}++_VkCreateCommandPool :: CString+_VkCreateCommandPool = Ptr "vkCreateCommandPool\NUL"##++{-# INLINE is_VkCreateCommandPool #-}++is_VkCreateCommandPool :: CString -> Bool+is_VkCreateCommandPool = (EQ ==) . cmpCStrings _VkCreateCommandPool++type VkCreateCommandPool = "vkCreateCommandPool"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateCommandPool+-- >     ( VkDevice device+-- >     , const VkCommandPoolCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkCommandPool* pCommandPool+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateCommandPool vkCreateCommandPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateCommandPool <- vkGetDeviceProc @VkCreateCommandPool vkDevice+--+-- or less efficient:+--+-- > myCreateCommandPool <- vkGetProc @VkCreateCommandPool+--+-- __Note:__ @vkCreateCommandPoolUnsafe@ and @vkCreateCommandPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateCommandPool@ is an alias+--           of @vkCreateCommandPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateCommandPoolSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCreateCommandPool"+               vkCreateCommandPoolUnsafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkCommandPoolCreateInfo -- ^ pCreateInfo+                                             ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkCommandPool -- ^ pCommandPool+                                                                  -> IO VkResult++##else+vkCreateCommandPoolUnsafe ::+                          VkDevice -- ^ device+                                   ->+                            Ptr VkCommandPoolCreateInfo -- ^ pCreateInfo+                                                        ->+                              Ptr VkAllocationCallbacks -- ^ pAllocator+                                                        -> Ptr VkCommandPool -- ^ pCommandPool+                                                                             -> IO VkResult+vkCreateCommandPoolUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateCommandPool)++{-# NOINLINE vkCreateCommandPoolUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateCommandPool+-- >     ( VkDevice device+-- >     , const VkCommandPoolCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkCommandPool* pCommandPool+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateCommandPool vkCreateCommandPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateCommandPool <- vkGetDeviceProc @VkCreateCommandPool vkDevice+--+-- or less efficient:+--+-- > myCreateCommandPool <- vkGetProc @VkCreateCommandPool+--+-- __Note:__ @vkCreateCommandPoolUnsafe@ and @vkCreateCommandPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateCommandPool@ is an alias+--           of @vkCreateCommandPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateCommandPoolSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCreateCommandPool"+               vkCreateCommandPoolSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkCommandPoolCreateInfo -- ^ pCreateInfo+                                             ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkCommandPool -- ^ pCommandPool+                                                                  -> IO VkResult++##else+vkCreateCommandPoolSafe ::+                        VkDevice -- ^ device+                                 ->+                          Ptr VkCommandPoolCreateInfo -- ^ pCreateInfo+                                                      ->+                            Ptr VkAllocationCallbacks -- ^ pAllocator+                                                      -> Ptr VkCommandPool -- ^ pCommandPool+                                                                           -> IO VkResult+vkCreateCommandPoolSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCreateCommandPool)++{-# NOINLINE vkCreateCommandPoolSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateCommandPool+-- >     ( VkDevice device+-- >     , const VkCommandPoolCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkCommandPool* pCommandPool+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateCommandPool vkCreateCommandPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateCommandPool <- vkGetDeviceProc @VkCreateCommandPool vkDevice+--+-- or less efficient:+--+-- > myCreateCommandPool <- vkGetProc @VkCreateCommandPool+--+-- __Note:__ @vkCreateCommandPoolUnsafe@ and @vkCreateCommandPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateCommandPool@ is an alias+--           of @vkCreateCommandPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateCommandPoolSafe@.+--+vkCreateCommandPool ::+                    VkDevice -- ^ device+                             ->+                      Ptr VkCommandPoolCreateInfo -- ^ pCreateInfo+                                                  ->+                        Ptr VkAllocationCallbacks -- ^ pAllocator+                                                  -> Ptr VkCommandPool -- ^ pCommandPool+                                                                       -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkCreateCommandPool = vkCreateCommandPoolUnsafe+##else+vkCreateCommandPool = vkCreateCommandPoolSafe++##endif+{-# INLINE vkCreateCommandPool #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateCommandPool+--   >     ( VkDevice device+--   >     , const VkCommandPoolCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkCommandPool* pCommandPool+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateCommandPool vkCreateCommandPool registry at www.khronos.org>+type HS_vkCreateCommandPool =+     VkDevice -- ^ device+              ->+       Ptr VkCommandPoolCreateInfo -- ^ pCreateInfo+                                   ->+         Ptr VkAllocationCallbacks -- ^ pAllocator+                                   -> Ptr VkCommandPool -- ^ pCommandPool+                                                        -> IO VkResult++type PFN_vkCreateCommandPool = FunPtr HS_vkCreateCommandPool++foreign import ccall unsafe "dynamic"+               unwrapVkCreateCommandPoolUnsafe ::+               PFN_vkCreateCommandPool -> HS_vkCreateCommandPool++foreign import ccall safe "dynamic" unwrapVkCreateCommandPoolSafe+               :: PFN_vkCreateCommandPool -> HS_vkCreateCommandPool++instance VulkanProc "vkCreateCommandPool" where+    type VkProcType "vkCreateCommandPool" = HS_vkCreateCommandPool+    vkProcSymbol = _VkCreateCommandPool++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateCommandPoolUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateCommandPoolSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkDestroyCommandPool :: CString++pattern VkDestroyCommandPool <- (is_VkDestroyCommandPool -> True)+  where+    VkDestroyCommandPool = _VkDestroyCommandPool++{-# INLINE _VkDestroyCommandPool #-}++_VkDestroyCommandPool :: CString+_VkDestroyCommandPool = Ptr "vkDestroyCommandPool\NUL"##++{-# INLINE is_VkDestroyCommandPool #-}++is_VkDestroyCommandPool :: CString -> Bool+is_VkDestroyCommandPool+  = (EQ ==) . cmpCStrings _VkDestroyCommandPool++type VkDestroyCommandPool = "vkDestroyCommandPool"++-- |+-- > void vkDestroyCommandPool+-- >     ( VkDevice device+-- >     , VkCommandPool commandPool+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyCommandPool vkDestroyCommandPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyCommandPool <- vkGetDeviceProc @VkDestroyCommandPool vkDevice+--+-- or less efficient:+--+-- > myDestroyCommandPool <- vkGetProc @VkDestroyCommandPool+--+-- __Note:__ @vkDestroyCommandPoolUnsafe@ and @vkDestroyCommandPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyCommandPool@ is an alias+--           of @vkDestroyCommandPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyCommandPoolSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkDestroyCommandPool"+               vkDestroyCommandPoolUnsafe ::+               VkDevice -- ^ device+                        -> VkCommandPool -- ^ commandPool+                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                      -> IO ()++##else+vkDestroyCommandPoolUnsafe ::+                           VkDevice -- ^ device+                                    -> VkCommandPool -- ^ commandPool+                                                     -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                                  -> IO ()+vkDestroyCommandPoolUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroyCommandPool)++{-# NOINLINE vkDestroyCommandPoolUnsafe #-}+##endif++-- |+-- > void vkDestroyCommandPool+-- >     ( VkDevice device+-- >     , VkCommandPool commandPool+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyCommandPool vkDestroyCommandPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyCommandPool <- vkGetDeviceProc @VkDestroyCommandPool vkDevice+--+-- or less efficient:+--+-- > myDestroyCommandPool <- vkGetProc @VkDestroyCommandPool+--+-- __Note:__ @vkDestroyCommandPoolUnsafe@ and @vkDestroyCommandPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyCommandPool@ is an alias+--           of @vkDestroyCommandPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyCommandPoolSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkDestroyCommandPool"+               vkDestroyCommandPoolSafe ::+               VkDevice -- ^ device+                        -> VkCommandPool -- ^ commandPool+                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                      -> IO ()++##else+vkDestroyCommandPoolSafe ::+                         VkDevice -- ^ device+                                  -> VkCommandPool -- ^ commandPool+                                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                                -> IO ()+vkDestroyCommandPoolSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkDestroyCommandPool)++{-# NOINLINE vkDestroyCommandPoolSafe #-}+##endif++-- |+-- > void vkDestroyCommandPool+-- >     ( VkDevice device+-- >     , VkCommandPool commandPool+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyCommandPool vkDestroyCommandPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyCommandPool <- vkGetDeviceProc @VkDestroyCommandPool vkDevice+--+-- or less efficient:+--+-- > myDestroyCommandPool <- vkGetProc @VkDestroyCommandPool+--+-- __Note:__ @vkDestroyCommandPoolUnsafe@ and @vkDestroyCommandPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyCommandPool@ is an alias+--           of @vkDestroyCommandPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyCommandPoolSafe@.+--+vkDestroyCommandPool ::+                     VkDevice -- ^ device+                              -> VkCommandPool -- ^ commandPool+                                               -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                            -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkDestroyCommandPool = vkDestroyCommandPoolUnsafe+##else+vkDestroyCommandPool = vkDestroyCommandPoolSafe++##endif+{-# INLINE vkDestroyCommandPool #-}++-- | > void vkDestroyCommandPool+--   >     ( VkDevice device+--   >     , VkCommandPool commandPool+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyCommandPool vkDestroyCommandPool registry at www.khronos.org>+type HS_vkDestroyCommandPool =+     VkDevice -- ^ device+              -> VkCommandPool -- ^ commandPool+                               -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                            -> IO ()++type PFN_vkDestroyCommandPool = FunPtr HS_vkDestroyCommandPool++foreign import ccall unsafe "dynamic"+               unwrapVkDestroyCommandPoolUnsafe ::+               PFN_vkDestroyCommandPool -> HS_vkDestroyCommandPool++foreign import ccall safe "dynamic" unwrapVkDestroyCommandPoolSafe+               :: PFN_vkDestroyCommandPool -> HS_vkDestroyCommandPool++instance VulkanProc "vkDestroyCommandPool" where+    type VkProcType "vkDestroyCommandPool" = HS_vkDestroyCommandPool+    vkProcSymbol = _VkDestroyCommandPool++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDestroyCommandPoolUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroyCommandPoolSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkResetCommandPool :: CString++pattern VkResetCommandPool <- (is_VkResetCommandPool -> True)+  where+    VkResetCommandPool = _VkResetCommandPool++{-# INLINE _VkResetCommandPool #-}++_VkResetCommandPool :: CString+_VkResetCommandPool = Ptr "vkResetCommandPool\NUL"##++{-# INLINE is_VkResetCommandPool #-}++is_VkResetCommandPool :: CString -> Bool+is_VkResetCommandPool = (EQ ==) . cmpCStrings _VkResetCommandPool++type VkResetCommandPool = "vkResetCommandPool"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetCommandPool+-- >     ( VkDevice device+-- >     , VkCommandPool commandPool+-- >     , VkCommandPoolResetFlags flags+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetCommandPool vkResetCommandPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myResetCommandPool <- vkGetDeviceProc @VkResetCommandPool vkDevice+--+-- or less efficient:+--+-- > myResetCommandPool <- vkGetProc @VkResetCommandPool+--+-- __Note:__ @vkResetCommandPoolUnsafe@ and @vkResetCommandPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkResetCommandPool@ is an alias+--           of @vkResetCommandPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkResetCommandPoolSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkResetCommandPool"+               vkResetCommandPoolUnsafe ::+               VkDevice -- ^ device+                        -> VkCommandPool -- ^ commandPool+                                         -> VkCommandPoolResetFlags -- ^ flags+                                                                    -> IO VkResult++##else+vkResetCommandPoolUnsafe ::+                         VkDevice -- ^ device+                                  -> VkCommandPool -- ^ commandPool+                                                   -> VkCommandPoolResetFlags -- ^ flags+                                                                              -> IO VkResult+vkResetCommandPoolUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkResetCommandPool)++{-# NOINLINE vkResetCommandPoolUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetCommandPool+-- >     ( VkDevice device+-- >     , VkCommandPool commandPool+-- >     , VkCommandPoolResetFlags flags+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetCommandPool vkResetCommandPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myResetCommandPool <- vkGetDeviceProc @VkResetCommandPool vkDevice+--+-- or less efficient:+--+-- > myResetCommandPool <- vkGetProc @VkResetCommandPool+--+-- __Note:__ @vkResetCommandPoolUnsafe@ and @vkResetCommandPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkResetCommandPool@ is an alias+--           of @vkResetCommandPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkResetCommandPoolSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkResetCommandPool"+               vkResetCommandPoolSafe ::+               VkDevice -- ^ device+                        -> VkCommandPool -- ^ commandPool+                                         -> VkCommandPoolResetFlags -- ^ flags+                                                                    -> IO VkResult++##else+vkResetCommandPoolSafe ::+                       VkDevice -- ^ device+                                -> VkCommandPool -- ^ commandPool+                                                 -> VkCommandPoolResetFlags -- ^ flags+                                                                            -> IO VkResult+vkResetCommandPoolSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkResetCommandPool)++{-# NOINLINE vkResetCommandPoolSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetCommandPool+-- >     ( VkDevice device+-- >     , VkCommandPool commandPool+-- >     , VkCommandPoolResetFlags flags+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetCommandPool vkResetCommandPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myResetCommandPool <- vkGetDeviceProc @VkResetCommandPool vkDevice+--+-- or less efficient:+--+-- > myResetCommandPool <- vkGetProc @VkResetCommandPool+--+-- __Note:__ @vkResetCommandPoolUnsafe@ and @vkResetCommandPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkResetCommandPool@ is an alias+--           of @vkResetCommandPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkResetCommandPoolSafe@.+--+vkResetCommandPool ::+                   VkDevice -- ^ device+                            -> VkCommandPool -- ^ commandPool+                                             -> VkCommandPoolResetFlags -- ^ flags+                                                                        -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkResetCommandPool = vkResetCommandPoolUnsafe+##else+vkResetCommandPool = vkResetCommandPoolSafe++##endif+{-# INLINE vkResetCommandPool #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkResetCommandPool+--   >     ( VkDevice device+--   >     , VkCommandPool commandPool+--   >     , VkCommandPoolResetFlags flags+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetCommandPool vkResetCommandPool registry at www.khronos.org>+type HS_vkResetCommandPool =+     VkDevice -- ^ device+              -> VkCommandPool -- ^ commandPool+                               -> VkCommandPoolResetFlags -- ^ flags+                                                          -> IO VkResult++type PFN_vkResetCommandPool = FunPtr HS_vkResetCommandPool++foreign import ccall unsafe "dynamic"+               unwrapVkResetCommandPoolUnsafe ::+               PFN_vkResetCommandPool -> HS_vkResetCommandPool++foreign import ccall safe "dynamic" unwrapVkResetCommandPoolSafe ::+               PFN_vkResetCommandPool -> HS_vkResetCommandPool++instance VulkanProc "vkResetCommandPool" where+    type VkProcType "vkResetCommandPool" = HS_vkResetCommandPool+    vkProcSymbol = _VkResetCommandPool++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkResetCommandPoolUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkResetCommandPoolSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkAllocateCommandBuffers :: CString++pattern VkAllocateCommandBuffers <-+        (is_VkAllocateCommandBuffers -> True)+  where+    VkAllocateCommandBuffers = _VkAllocateCommandBuffers++{-# INLINE _VkAllocateCommandBuffers #-}++_VkAllocateCommandBuffers :: CString+_VkAllocateCommandBuffers = Ptr "vkAllocateCommandBuffers\NUL"##++{-# INLINE is_VkAllocateCommandBuffers #-}++is_VkAllocateCommandBuffers :: CString -> Bool+is_VkAllocateCommandBuffers+  = (EQ ==) . cmpCStrings _VkAllocateCommandBuffers++type VkAllocateCommandBuffers = "vkAllocateCommandBuffers"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkAllocateCommandBuffers+-- >     ( VkDevice device+-- >     , const VkCommandBufferAllocateInfo* pAllocateInfo+-- >     , VkCommandBuffer* pCommandBuffers+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateCommandBuffers vkAllocateCommandBuffers registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myAllocateCommandBuffers <- vkGetDeviceProc @VkAllocateCommandBuffers vkDevice+--+-- or less efficient:+--+-- > myAllocateCommandBuffers <- vkGetProc @VkAllocateCommandBuffers+--+-- __Note:__ @vkAllocateCommandBuffersUnsafe@ and @vkAllocateCommandBuffersSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkAllocateCommandBuffers@ is an alias+--           of @vkAllocateCommandBuffersUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkAllocateCommandBuffersSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkAllocateCommandBuffers"+               vkAllocateCommandBuffersUnsafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkCommandBufferAllocateInfo -- ^ pAllocateInfo+                                                 ->+                   Ptr VkCommandBuffer -- ^ pCommandBuffers+                                       -> IO VkResult++##else+vkAllocateCommandBuffersUnsafe ::+                               VkDevice -- ^ device+                                        ->+                                 Ptr VkCommandBufferAllocateInfo -- ^ pAllocateInfo+                                                                 ->+                                   Ptr VkCommandBuffer -- ^ pCommandBuffers+                                                       -> IO VkResult+vkAllocateCommandBuffersUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkAllocateCommandBuffers)++{-# NOINLINE vkAllocateCommandBuffersUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkAllocateCommandBuffers+-- >     ( VkDevice device+-- >     , const VkCommandBufferAllocateInfo* pAllocateInfo+-- >     , VkCommandBuffer* pCommandBuffers+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateCommandBuffers vkAllocateCommandBuffers registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myAllocateCommandBuffers <- vkGetDeviceProc @VkAllocateCommandBuffers vkDevice+--+-- or less efficient:+--+-- > myAllocateCommandBuffers <- vkGetProc @VkAllocateCommandBuffers+--+-- __Note:__ @vkAllocateCommandBuffersUnsafe@ and @vkAllocateCommandBuffersSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkAllocateCommandBuffers@ is an alias+--           of @vkAllocateCommandBuffersUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkAllocateCommandBuffersSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkAllocateCommandBuffers"+               vkAllocateCommandBuffersSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkCommandBufferAllocateInfo -- ^ pAllocateInfo+                                                 ->+                   Ptr VkCommandBuffer -- ^ pCommandBuffers+                                       -> IO VkResult++##else+vkAllocateCommandBuffersSafe ::+                             VkDevice -- ^ device+                                      ->+                               Ptr VkCommandBufferAllocateInfo -- ^ pAllocateInfo+                                                               ->+                                 Ptr VkCommandBuffer -- ^ pCommandBuffers+                                                     -> IO VkResult+vkAllocateCommandBuffersSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkAllocateCommandBuffers)++{-# NOINLINE vkAllocateCommandBuffersSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkAllocateCommandBuffers+-- >     ( VkDevice device+-- >     , const VkCommandBufferAllocateInfo* pAllocateInfo+-- >     , VkCommandBuffer* pCommandBuffers+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateCommandBuffers vkAllocateCommandBuffers registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myAllocateCommandBuffers <- vkGetDeviceProc @VkAllocateCommandBuffers vkDevice+--+-- or less efficient:+--+-- > myAllocateCommandBuffers <- vkGetProc @VkAllocateCommandBuffers+--+-- __Note:__ @vkAllocateCommandBuffersUnsafe@ and @vkAllocateCommandBuffersSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkAllocateCommandBuffers@ is an alias+--           of @vkAllocateCommandBuffersUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkAllocateCommandBuffersSafe@.+--+vkAllocateCommandBuffers ::+                         VkDevice -- ^ device+                                  ->+                           Ptr VkCommandBufferAllocateInfo -- ^ pAllocateInfo+                                                           ->+                             Ptr VkCommandBuffer -- ^ pCommandBuffers+                                                 -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkAllocateCommandBuffers = vkAllocateCommandBuffersUnsafe+##else+vkAllocateCommandBuffers = vkAllocateCommandBuffersSafe++##endif+{-# INLINE vkAllocateCommandBuffers #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkAllocateCommandBuffers+--   >     ( VkDevice device+--   >     , const VkCommandBufferAllocateInfo* pAllocateInfo+--   >     , VkCommandBuffer* pCommandBuffers+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateCommandBuffers vkAllocateCommandBuffers registry at www.khronos.org>+type HS_vkAllocateCommandBuffers =+     VkDevice -- ^ device+              ->+       Ptr VkCommandBufferAllocateInfo -- ^ pAllocateInfo+                                       ->+         Ptr VkCommandBuffer -- ^ pCommandBuffers+                             -> IO VkResult++type PFN_vkAllocateCommandBuffers =+     FunPtr HS_vkAllocateCommandBuffers++foreign import ccall unsafe "dynamic"+               unwrapVkAllocateCommandBuffersUnsafe ::+               PFN_vkAllocateCommandBuffers -> HS_vkAllocateCommandBuffers++foreign import ccall safe "dynamic"+               unwrapVkAllocateCommandBuffersSafe ::+               PFN_vkAllocateCommandBuffers -> HS_vkAllocateCommandBuffers++instance VulkanProc "vkAllocateCommandBuffers" where+    type VkProcType "vkAllocateCommandBuffers" =+         HS_vkAllocateCommandBuffers+    vkProcSymbol = _VkAllocateCommandBuffers++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkAllocateCommandBuffersUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkAllocateCommandBuffersSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkFreeCommandBuffers :: CString++pattern VkFreeCommandBuffers <- (is_VkFreeCommandBuffers -> True)+  where+    VkFreeCommandBuffers = _VkFreeCommandBuffers++{-# INLINE _VkFreeCommandBuffers #-}++_VkFreeCommandBuffers :: CString+_VkFreeCommandBuffers = Ptr "vkFreeCommandBuffers\NUL"##++{-# INLINE is_VkFreeCommandBuffers #-}++is_VkFreeCommandBuffers :: CString -> Bool+is_VkFreeCommandBuffers+  = (EQ ==) . cmpCStrings _VkFreeCommandBuffers++type VkFreeCommandBuffers = "vkFreeCommandBuffers"++-- |+-- > void vkFreeCommandBuffers+-- >     ( VkDevice device+-- >     , VkCommandPool commandPool+-- >     , uint32_t commandBufferCount+-- >     , const VkCommandBuffer* pCommandBuffers+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeCommandBuffers vkFreeCommandBuffers registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myFreeCommandBuffers <- vkGetDeviceProc @VkFreeCommandBuffers vkDevice+--+-- or less efficient:+--+-- > myFreeCommandBuffers <- vkGetProc @VkFreeCommandBuffers+--+-- __Note:__ @vkFreeCommandBuffersUnsafe@ and @vkFreeCommandBuffersSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkFreeCommandBuffers@ is an alias+--           of @vkFreeCommandBuffersUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkFreeCommandBuffersSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkFreeCommandBuffers"+               vkFreeCommandBuffersUnsafe ::+               VkDevice -- ^ device+                        -> VkCommandPool -- ^ commandPool+                                         -> Word32 -- ^ commandBufferCount+                                                   -> Ptr VkCommandBuffer -- ^ pCommandBuffers+                                                                          -> IO ()++##else+vkFreeCommandBuffersUnsafe ::+                           VkDevice -- ^ device+                                    -> VkCommandPool -- ^ commandPool+                                                     -> Word32 -- ^ commandBufferCount+                                                               -> Ptr VkCommandBuffer -- ^ pCommandBuffers+                                                                                      -> IO ()+vkFreeCommandBuffersUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkFreeCommandBuffers)++{-# NOINLINE vkFreeCommandBuffersUnsafe #-}+##endif++-- |+-- > void vkFreeCommandBuffers+-- >     ( VkDevice device+-- >     , VkCommandPool commandPool+-- >     , uint32_t commandBufferCount+-- >     , const VkCommandBuffer* pCommandBuffers+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeCommandBuffers vkFreeCommandBuffers registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myFreeCommandBuffers <- vkGetDeviceProc @VkFreeCommandBuffers vkDevice+--+-- or less efficient:+--+-- > myFreeCommandBuffers <- vkGetProc @VkFreeCommandBuffers+--+-- __Note:__ @vkFreeCommandBuffersUnsafe@ and @vkFreeCommandBuffersSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkFreeCommandBuffers@ is an alias+--           of @vkFreeCommandBuffersUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkFreeCommandBuffersSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkFreeCommandBuffers"+               vkFreeCommandBuffersSafe ::+               VkDevice -- ^ device+                        -> VkCommandPool -- ^ commandPool+                                         -> Word32 -- ^ commandBufferCount+                                                   -> Ptr VkCommandBuffer -- ^ pCommandBuffers+                                                                          -> IO ()++##else+vkFreeCommandBuffersSafe ::+                         VkDevice -- ^ device+                                  -> VkCommandPool -- ^ commandPool+                                                   -> Word32 -- ^ commandBufferCount+                                                             -> Ptr VkCommandBuffer -- ^ pCommandBuffers+                                                                                    -> IO ()+vkFreeCommandBuffersSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkFreeCommandBuffers)++{-# NOINLINE vkFreeCommandBuffersSafe #-}+##endif++-- |+-- > void vkFreeCommandBuffers+-- >     ( VkDevice device+-- >     , VkCommandPool commandPool+-- >     , uint32_t commandBufferCount+-- >     , const VkCommandBuffer* pCommandBuffers+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeCommandBuffers vkFreeCommandBuffers registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myFreeCommandBuffers <- vkGetDeviceProc @VkFreeCommandBuffers vkDevice+--+-- or less efficient:+--+-- > myFreeCommandBuffers <- vkGetProc @VkFreeCommandBuffers+--+-- __Note:__ @vkFreeCommandBuffersUnsafe@ and @vkFreeCommandBuffersSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkFreeCommandBuffers@ is an alias+--           of @vkFreeCommandBuffersUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkFreeCommandBuffersSafe@.+--+vkFreeCommandBuffers ::+                     VkDevice -- ^ device+                              -> VkCommandPool -- ^ commandPool+                                               -> Word32 -- ^ commandBufferCount+                                                         -> Ptr VkCommandBuffer -- ^ pCommandBuffers+                                                                                -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkFreeCommandBuffers = vkFreeCommandBuffersUnsafe+##else+vkFreeCommandBuffers = vkFreeCommandBuffersSafe++##endif+{-# INLINE vkFreeCommandBuffers #-}++-- | > void vkFreeCommandBuffers+--   >     ( VkDevice device+--   >     , VkCommandPool commandPool+--   >     , uint32_t commandBufferCount+--   >     , const VkCommandBuffer* pCommandBuffers+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeCommandBuffers vkFreeCommandBuffers registry at www.khronos.org>+type HS_vkFreeCommandBuffers =+     VkDevice -- ^ device+              -> VkCommandPool -- ^ commandPool+                               -> Word32 -- ^ commandBufferCount+                                         -> Ptr VkCommandBuffer -- ^ pCommandBuffers+                                                                -> IO ()++type PFN_vkFreeCommandBuffers = FunPtr HS_vkFreeCommandBuffers++foreign import ccall unsafe "dynamic"+               unwrapVkFreeCommandBuffersUnsafe ::+               PFN_vkFreeCommandBuffers -> HS_vkFreeCommandBuffers++foreign import ccall safe "dynamic" unwrapVkFreeCommandBuffersSafe+               :: PFN_vkFreeCommandBuffers -> HS_vkFreeCommandBuffers++instance VulkanProc "vkFreeCommandBuffers" where+    type VkProcType "vkFreeCommandBuffers" = HS_vkFreeCommandBuffers+    vkProcSymbol = _VkFreeCommandBuffers++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkFreeCommandBuffersUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkFreeCommandBuffersSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkBeginCommandBuffer :: CString++pattern VkBeginCommandBuffer <- (is_VkBeginCommandBuffer -> True)+  where+    VkBeginCommandBuffer = _VkBeginCommandBuffer++{-# INLINE _VkBeginCommandBuffer #-}++_VkBeginCommandBuffer :: CString+_VkBeginCommandBuffer = Ptr "vkBeginCommandBuffer\NUL"##++{-# INLINE is_VkBeginCommandBuffer #-}++is_VkBeginCommandBuffer :: CString -> Bool+is_VkBeginCommandBuffer+  = (EQ ==) . cmpCStrings _VkBeginCommandBuffer++type VkBeginCommandBuffer = "vkBeginCommandBuffer"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBeginCommandBuffer+-- >     ( VkCommandBuffer commandBuffer+-- >     , const VkCommandBufferBeginInfo* pBeginInfo+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBeginCommandBuffer vkBeginCommandBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myBeginCommandBuffer <- vkGetInstanceProc @VkBeginCommandBuffer vkInstance+--+-- or less efficient:+--+-- > myBeginCommandBuffer <- vkGetProc @VkBeginCommandBuffer+--+-- __Note:__ @vkBeginCommandBufferUnsafe@ and @vkBeginCommandBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkBeginCommandBuffer@ is an alias+--           of @vkBeginCommandBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkBeginCommandBufferSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkBeginCommandBuffer"+               vkBeginCommandBufferUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Ptr VkCommandBufferBeginInfo -- ^ pBeginInfo+                                                               -> IO VkResult++##else+vkBeginCommandBufferUnsafe ::+                           VkCommandBuffer -- ^ commandBuffer+                                           -> Ptr VkCommandBufferBeginInfo -- ^ pBeginInfo+                                                                           -> IO VkResult+vkBeginCommandBufferUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkBeginCommandBuffer)++{-# NOINLINE vkBeginCommandBufferUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBeginCommandBuffer+-- >     ( VkCommandBuffer commandBuffer+-- >     , const VkCommandBufferBeginInfo* pBeginInfo+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBeginCommandBuffer vkBeginCommandBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myBeginCommandBuffer <- vkGetInstanceProc @VkBeginCommandBuffer vkInstance+--+-- or less efficient:+--+-- > myBeginCommandBuffer <- vkGetProc @VkBeginCommandBuffer+--+-- __Note:__ @vkBeginCommandBufferUnsafe@ and @vkBeginCommandBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkBeginCommandBuffer@ is an alias+--           of @vkBeginCommandBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkBeginCommandBufferSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkBeginCommandBuffer"+               vkBeginCommandBufferSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Ptr VkCommandBufferBeginInfo -- ^ pBeginInfo+                                                               -> IO VkResult++##else+vkBeginCommandBufferSafe ::+                         VkCommandBuffer -- ^ commandBuffer+                                         -> Ptr VkCommandBufferBeginInfo -- ^ pBeginInfo+                                                                         -> IO VkResult+vkBeginCommandBufferSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkBeginCommandBuffer)++{-# NOINLINE vkBeginCommandBufferSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBeginCommandBuffer+-- >     ( VkCommandBuffer commandBuffer+-- >     , const VkCommandBufferBeginInfo* pBeginInfo+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBeginCommandBuffer vkBeginCommandBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myBeginCommandBuffer <- vkGetInstanceProc @VkBeginCommandBuffer vkInstance+--+-- or less efficient:+--+-- > myBeginCommandBuffer <- vkGetProc @VkBeginCommandBuffer+--+-- __Note:__ @vkBeginCommandBufferUnsafe@ and @vkBeginCommandBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkBeginCommandBuffer@ is an alias+--           of @vkBeginCommandBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkBeginCommandBufferSafe@.+--+vkBeginCommandBuffer ::+                     VkCommandBuffer -- ^ commandBuffer+                                     -> Ptr VkCommandBufferBeginInfo -- ^ pBeginInfo+                                                                     -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkBeginCommandBuffer = vkBeginCommandBufferUnsafe+##else+vkBeginCommandBuffer = vkBeginCommandBufferSafe++##endif+{-# INLINE vkBeginCommandBuffer #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkBeginCommandBuffer+--   >     ( VkCommandBuffer commandBuffer+--   >     , const VkCommandBufferBeginInfo* pBeginInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBeginCommandBuffer vkBeginCommandBuffer registry at www.khronos.org>+type HS_vkBeginCommandBuffer =+     VkCommandBuffer -- ^ commandBuffer+                     -> Ptr VkCommandBufferBeginInfo -- ^ pBeginInfo+                                                     -> IO VkResult++type PFN_vkBeginCommandBuffer = FunPtr HS_vkBeginCommandBuffer++foreign import ccall unsafe "dynamic"+               unwrapVkBeginCommandBufferUnsafe ::+               PFN_vkBeginCommandBuffer -> HS_vkBeginCommandBuffer++foreign import ccall safe "dynamic" unwrapVkBeginCommandBufferSafe+               :: PFN_vkBeginCommandBuffer -> HS_vkBeginCommandBuffer++instance VulkanProc "vkBeginCommandBuffer" where+    type VkProcType "vkBeginCommandBuffer" = HS_vkBeginCommandBuffer+    vkProcSymbol = _VkBeginCommandBuffer++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkBeginCommandBufferUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkBeginCommandBufferSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkEndCommandBuffer :: CString++pattern VkEndCommandBuffer <- (is_VkEndCommandBuffer -> True)+  where+    VkEndCommandBuffer = _VkEndCommandBuffer++{-# INLINE _VkEndCommandBuffer #-}++_VkEndCommandBuffer :: CString+_VkEndCommandBuffer = Ptr "vkEndCommandBuffer\NUL"##++{-# INLINE is_VkEndCommandBuffer #-}++is_VkEndCommandBuffer :: CString -> Bool+is_VkEndCommandBuffer = (EQ ==) . cmpCStrings _VkEndCommandBuffer++type VkEndCommandBuffer = "vkEndCommandBuffer"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkEndCommandBuffer+-- >     ( VkCommandBuffer commandBuffer+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEndCommandBuffer vkEndCommandBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEndCommandBuffer <- vkGetInstanceProc @VkEndCommandBuffer vkInstance+--+-- or less efficient:+--+-- > myEndCommandBuffer <- vkGetProc @VkEndCommandBuffer+--+-- __Note:__ @vkEndCommandBufferUnsafe@ and @vkEndCommandBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkEndCommandBuffer@ is an alias+--           of @vkEndCommandBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkEndCommandBufferSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkEndCommandBuffer"+               vkEndCommandBufferUnsafe :: VkCommandBuffer -- ^ commandBuffer+                                                           -> IO VkResult++##else+vkEndCommandBufferUnsafe :: VkCommandBuffer -- ^ commandBuffer+                                            -> IO VkResult+vkEndCommandBufferUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkEndCommandBuffer)++{-# NOINLINE vkEndCommandBufferUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkEndCommandBuffer+-- >     ( VkCommandBuffer commandBuffer+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEndCommandBuffer vkEndCommandBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEndCommandBuffer <- vkGetInstanceProc @VkEndCommandBuffer vkInstance+--+-- or less efficient:+--+-- > myEndCommandBuffer <- vkGetProc @VkEndCommandBuffer+--+-- __Note:__ @vkEndCommandBufferUnsafe@ and @vkEndCommandBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkEndCommandBuffer@ is an alias+--           of @vkEndCommandBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkEndCommandBufferSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkEndCommandBuffer"+               vkEndCommandBufferSafe :: VkCommandBuffer -- ^ commandBuffer+                                                         -> IO VkResult++##else+vkEndCommandBufferSafe :: VkCommandBuffer -- ^ commandBuffer+                                          -> IO VkResult+vkEndCommandBufferSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkEndCommandBuffer)++{-# NOINLINE vkEndCommandBufferSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkEndCommandBuffer+-- >     ( VkCommandBuffer commandBuffer+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEndCommandBuffer vkEndCommandBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEndCommandBuffer <- vkGetInstanceProc @VkEndCommandBuffer vkInstance+--+-- or less efficient:+--+-- > myEndCommandBuffer <- vkGetProc @VkEndCommandBuffer+--+-- __Note:__ @vkEndCommandBufferUnsafe@ and @vkEndCommandBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkEndCommandBuffer@ is an alias+--           of @vkEndCommandBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkEndCommandBufferSafe@.+--+vkEndCommandBuffer :: VkCommandBuffer -- ^ commandBuffer+                                      -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkEndCommandBuffer = vkEndCommandBufferUnsafe+##else+vkEndCommandBuffer = vkEndCommandBufferSafe++##endif+{-# INLINE vkEndCommandBuffer #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkEndCommandBuffer+--   >     ( VkCommandBuffer commandBuffer+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEndCommandBuffer vkEndCommandBuffer registry at www.khronos.org>+type HS_vkEndCommandBuffer = VkCommandBuffer -- ^ commandBuffer+                                             -> IO VkResult++type PFN_vkEndCommandBuffer = FunPtr HS_vkEndCommandBuffer++foreign import ccall unsafe "dynamic"+               unwrapVkEndCommandBufferUnsafe ::+               PFN_vkEndCommandBuffer -> HS_vkEndCommandBuffer++foreign import ccall safe "dynamic" unwrapVkEndCommandBufferSafe ::+               PFN_vkEndCommandBuffer -> HS_vkEndCommandBuffer++instance VulkanProc "vkEndCommandBuffer" where+    type VkProcType "vkEndCommandBuffer" = HS_vkEndCommandBuffer+    vkProcSymbol = _VkEndCommandBuffer++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkEndCommandBufferUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkEndCommandBufferSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkResetCommandBuffer :: CString++pattern VkResetCommandBuffer <- (is_VkResetCommandBuffer -> True)+  where+    VkResetCommandBuffer = _VkResetCommandBuffer++{-# INLINE _VkResetCommandBuffer #-}++_VkResetCommandBuffer :: CString+_VkResetCommandBuffer = Ptr "vkResetCommandBuffer\NUL"##++{-# INLINE is_VkResetCommandBuffer #-}++is_VkResetCommandBuffer :: CString -> Bool+is_VkResetCommandBuffer+  = (EQ ==) . cmpCStrings _VkResetCommandBuffer++type VkResetCommandBuffer = "vkResetCommandBuffer"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetCommandBuffer+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkCommandBufferResetFlags flags+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetCommandBuffer vkResetCommandBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myResetCommandBuffer <- vkGetInstanceProc @VkResetCommandBuffer vkInstance+--+-- or less efficient:+--+-- > myResetCommandBuffer <- vkGetProc @VkResetCommandBuffer+--+-- __Note:__ @vkResetCommandBufferUnsafe@ and @vkResetCommandBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkResetCommandBuffer@ is an alias+--           of @vkResetCommandBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkResetCommandBufferSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkResetCommandBuffer"+               vkResetCommandBufferUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkCommandBufferResetFlags -- ^ flags+                                                            -> IO VkResult++##else+vkResetCommandBufferUnsafe ::+                           VkCommandBuffer -- ^ commandBuffer+                                           -> VkCommandBufferResetFlags -- ^ flags+                                                                        -> IO VkResult+vkResetCommandBufferUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkResetCommandBuffer)++{-# NOINLINE vkResetCommandBufferUnsafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetCommandBuffer+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkCommandBufferResetFlags flags+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetCommandBuffer vkResetCommandBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myResetCommandBuffer <- vkGetInstanceProc @VkResetCommandBuffer vkInstance+--+-- or less efficient:+--+-- > myResetCommandBuffer <- vkGetProc @VkResetCommandBuffer+--+-- __Note:__ @vkResetCommandBufferUnsafe@ and @vkResetCommandBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkResetCommandBuffer@ is an alias+--           of @vkResetCommandBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkResetCommandBufferSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkResetCommandBuffer"+               vkResetCommandBufferSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkCommandBufferResetFlags -- ^ flags+                                                            -> IO VkResult++##else+vkResetCommandBufferSafe ::+                         VkCommandBuffer -- ^ commandBuffer+                                         -> VkCommandBufferResetFlags -- ^ flags+                                                                      -> IO VkResult+vkResetCommandBufferSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkResetCommandBuffer)++{-# NOINLINE vkResetCommandBufferSafe #-}+##endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetCommandBuffer+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkCommandBufferResetFlags flags+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetCommandBuffer vkResetCommandBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myResetCommandBuffer <- vkGetInstanceProc @VkResetCommandBuffer vkInstance+--+-- or less efficient:+--+-- > myResetCommandBuffer <- vkGetProc @VkResetCommandBuffer+--+-- __Note:__ @vkResetCommandBufferUnsafe@ and @vkResetCommandBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkResetCommandBuffer@ is an alias+--           of @vkResetCommandBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkResetCommandBufferSafe@.+--+vkResetCommandBuffer ::+                     VkCommandBuffer -- ^ commandBuffer+                                     -> VkCommandBufferResetFlags -- ^ flags+                                                                  -> IO VkResult+##ifdef UNSAFE_FFI_DEFAULT+vkResetCommandBuffer = vkResetCommandBufferUnsafe+##else+vkResetCommandBuffer = vkResetCommandBufferSafe++##endif+{-# INLINE vkResetCommandBuffer #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkResetCommandBuffer+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkCommandBufferResetFlags flags+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetCommandBuffer vkResetCommandBuffer registry at www.khronos.org>+type HS_vkResetCommandBuffer =+     VkCommandBuffer -- ^ commandBuffer+                     -> VkCommandBufferResetFlags -- ^ flags+                                                  -> IO VkResult++type PFN_vkResetCommandBuffer = FunPtr HS_vkResetCommandBuffer++foreign import ccall unsafe "dynamic"+               unwrapVkResetCommandBufferUnsafe ::+               PFN_vkResetCommandBuffer -> HS_vkResetCommandBuffer++foreign import ccall safe "dynamic" unwrapVkResetCommandBufferSafe+               :: PFN_vkResetCommandBuffer -> HS_vkResetCommandBuffer++instance VulkanProc "vkResetCommandBuffer" where+    type VkProcType "vkResetCommandBuffer" = HS_vkResetCommandBuffer+    vkProcSymbol = _VkResetCommandBuffer++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkResetCommandBufferUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkResetCommandBufferSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdBindPipeline :: CString++pattern VkCmdBindPipeline <- (is_VkCmdBindPipeline -> True)+  where+    VkCmdBindPipeline = _VkCmdBindPipeline++{-# INLINE _VkCmdBindPipeline #-}++_VkCmdBindPipeline :: CString+_VkCmdBindPipeline = Ptr "vkCmdBindPipeline\NUL"##++{-# INLINE is_VkCmdBindPipeline #-}++is_VkCmdBindPipeline :: CString -> Bool+is_VkCmdBindPipeline = (EQ ==) . cmpCStrings _VkCmdBindPipeline++type VkCmdBindPipeline = "vkCmdBindPipeline"++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindPipeline+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkPipelineBindPoint pipelineBindPoint+-- >     , VkPipeline pipeline+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindPipeline vkCmdBindPipeline registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBindPipeline <- vkGetInstanceProc @VkCmdBindPipeline vkInstance+--+-- or less efficient:+--+-- > myCmdBindPipeline <- vkGetProc @VkCmdBindPipeline+--+-- __Note:__ @vkCmdBindPipelineUnsafe@ and @vkCmdBindPipelineSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdBindPipeline@ is an alias+--           of @vkCmdBindPipelineUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdBindPipelineSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdBindPipeline"+               vkCmdBindPipelineUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkPipelineBindPoint -- ^ pipelineBindPoint+                                                      -> VkPipeline -- ^ pipeline+                                                                    -> IO ()++##else+vkCmdBindPipelineUnsafe ::+                        VkCommandBuffer -- ^ commandBuffer+                                        -> VkPipelineBindPoint -- ^ pipelineBindPoint+                                                               -> VkPipeline -- ^ pipeline+                                                                             -> IO ()+vkCmdBindPipelineUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdBindPipeline)++{-# NOINLINE vkCmdBindPipelineUnsafe #-}+##endif++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindPipeline+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkPipelineBindPoint pipelineBindPoint+-- >     , VkPipeline pipeline+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindPipeline vkCmdBindPipeline registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBindPipeline <- vkGetInstanceProc @VkCmdBindPipeline vkInstance+--+-- or less efficient:+--+-- > myCmdBindPipeline <- vkGetProc @VkCmdBindPipeline+--+-- __Note:__ @vkCmdBindPipelineUnsafe@ and @vkCmdBindPipelineSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdBindPipeline@ is an alias+--           of @vkCmdBindPipelineUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdBindPipelineSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdBindPipeline" vkCmdBindPipelineSafe+               :: VkCommandBuffer -- ^ commandBuffer+                                  -> VkPipelineBindPoint -- ^ pipelineBindPoint+                                                         -> VkPipeline -- ^ pipeline+                                                                       -> IO ()++##else+vkCmdBindPipelineSafe ::+                      VkCommandBuffer -- ^ commandBuffer+                                      -> VkPipelineBindPoint -- ^ pipelineBindPoint+                                                             -> VkPipeline -- ^ pipeline+                                                                           -> IO ()+vkCmdBindPipelineSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdBindPipeline)++{-# NOINLINE vkCmdBindPipelineSafe #-}+##endif++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindPipeline+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkPipelineBindPoint pipelineBindPoint+-- >     , VkPipeline pipeline+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindPipeline vkCmdBindPipeline registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBindPipeline <- vkGetInstanceProc @VkCmdBindPipeline vkInstance+--+-- or less efficient:+--+-- > myCmdBindPipeline <- vkGetProc @VkCmdBindPipeline+--+-- __Note:__ @vkCmdBindPipelineUnsafe@ and @vkCmdBindPipelineSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdBindPipeline@ is an alias+--           of @vkCmdBindPipelineUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdBindPipelineSafe@.+--+vkCmdBindPipeline ::+                  VkCommandBuffer -- ^ commandBuffer+                                  -> VkPipelineBindPoint -- ^ pipelineBindPoint+                                                         -> VkPipeline -- ^ pipeline+                                                                       -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdBindPipeline = vkCmdBindPipelineUnsafe+##else+vkCmdBindPipeline = vkCmdBindPipelineSafe++##endif+{-# INLINE vkCmdBindPipeline #-}++-- | Queues: 'graphics', 'compute'.+--+--   Renderpass: @both@+--+--   > void vkCmdBindPipeline+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkPipelineBindPoint pipelineBindPoint+--   >     , VkPipeline pipeline+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindPipeline vkCmdBindPipeline registry at www.khronos.org>+type HS_vkCmdBindPipeline =+     VkCommandBuffer -- ^ commandBuffer+                     -> VkPipelineBindPoint -- ^ pipelineBindPoint+                                            -> VkPipeline -- ^ pipeline+                                                          -> IO ()++type PFN_vkCmdBindPipeline = FunPtr HS_vkCmdBindPipeline++foreign import ccall unsafe "dynamic" unwrapVkCmdBindPipelineUnsafe+               :: PFN_vkCmdBindPipeline -> HS_vkCmdBindPipeline++foreign import ccall safe "dynamic" unwrapVkCmdBindPipelineSafe ::+               PFN_vkCmdBindPipeline -> HS_vkCmdBindPipeline++instance VulkanProc "vkCmdBindPipeline" where+    type VkProcType "vkCmdBindPipeline" = HS_vkCmdBindPipeline+    vkProcSymbol = _VkCmdBindPipeline++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdBindPipelineUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdBindPipelineSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdSetViewport :: CString++pattern VkCmdSetViewport <- (is_VkCmdSetViewport -> True)+  where+    VkCmdSetViewport = _VkCmdSetViewport++{-# INLINE _VkCmdSetViewport #-}++_VkCmdSetViewport :: CString+_VkCmdSetViewport = Ptr "vkCmdSetViewport\NUL"##++{-# INLINE is_VkCmdSetViewport #-}++is_VkCmdSetViewport :: CString -> Bool+is_VkCmdSetViewport = (EQ ==) . cmpCStrings _VkCmdSetViewport++type VkCmdSetViewport = "vkCmdSetViewport"++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetViewport+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t firstViewport+-- >     , uint32_t viewportCount+-- >     , const VkViewport* pViewports+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetViewport vkCmdSetViewport registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetViewport <- vkGetInstanceProc @VkCmdSetViewport vkInstance+--+-- or less efficient:+--+-- > myCmdSetViewport <- vkGetProc @VkCmdSetViewport+--+-- __Note:__ @vkCmdSetViewportUnsafe@ and @vkCmdSetViewportSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetViewport@ is an alias+--           of @vkCmdSetViewportUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetViewportSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdSetViewport"+               vkCmdSetViewportUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Word32 -- ^ firstViewport+                                         -> Word32 -- ^ viewportCount+                                                   -> Ptr VkViewport -- ^ pViewports+                                                                     -> IO ()++##else+vkCmdSetViewportUnsafe ::+                       VkCommandBuffer -- ^ commandBuffer+                                       -> Word32 -- ^ firstViewport+                                                 -> Word32 -- ^ viewportCount+                                                           -> Ptr VkViewport -- ^ pViewports+                                                                             -> IO ()+vkCmdSetViewportUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdSetViewport)++{-# NOINLINE vkCmdSetViewportUnsafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetViewport+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t firstViewport+-- >     , uint32_t viewportCount+-- >     , const VkViewport* pViewports+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetViewport vkCmdSetViewport registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetViewport <- vkGetInstanceProc @VkCmdSetViewport vkInstance+--+-- or less efficient:+--+-- > myCmdSetViewport <- vkGetProc @VkCmdSetViewport+--+-- __Note:__ @vkCmdSetViewportUnsafe@ and @vkCmdSetViewportSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetViewport@ is an alias+--           of @vkCmdSetViewportUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetViewportSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdSetViewport" vkCmdSetViewportSafe+               :: VkCommandBuffer -- ^ commandBuffer+                                  -> Word32 -- ^ firstViewport+                                            -> Word32 -- ^ viewportCount+                                                      -> Ptr VkViewport -- ^ pViewports+                                                                        -> IO ()++##else+vkCmdSetViewportSafe ::+                     VkCommandBuffer -- ^ commandBuffer+                                     -> Word32 -- ^ firstViewport+                                               -> Word32 -- ^ viewportCount+                                                         -> Ptr VkViewport -- ^ pViewports+                                                                           -> IO ()+vkCmdSetViewportSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdSetViewport)++{-# NOINLINE vkCmdSetViewportSafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetViewport+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t firstViewport+-- >     , uint32_t viewportCount+-- >     , const VkViewport* pViewports+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetViewport vkCmdSetViewport registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetViewport <- vkGetInstanceProc @VkCmdSetViewport vkInstance+--+-- or less efficient:+--+-- > myCmdSetViewport <- vkGetProc @VkCmdSetViewport+--+-- __Note:__ @vkCmdSetViewportUnsafe@ and @vkCmdSetViewportSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetViewport@ is an alias+--           of @vkCmdSetViewportUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetViewportSafe@.+--+vkCmdSetViewport ::+                 VkCommandBuffer -- ^ commandBuffer+                                 -> Word32 -- ^ firstViewport+                                           -> Word32 -- ^ viewportCount+                                                     -> Ptr VkViewport -- ^ pViewports+                                                                       -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdSetViewport = vkCmdSetViewportUnsafe+##else+vkCmdSetViewport = vkCmdSetViewportSafe++##endif+{-# INLINE vkCmdSetViewport #-}++-- | Queues: 'graphics'.+--+--   Renderpass: @both@+--+--   > void vkCmdSetViewport+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t firstViewport+--   >     , uint32_t viewportCount+--   >     , const VkViewport* pViewports+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetViewport vkCmdSetViewport registry at www.khronos.org>+type HS_vkCmdSetViewport =+     VkCommandBuffer -- ^ commandBuffer+                     -> Word32 -- ^ firstViewport+                               -> Word32 -- ^ viewportCount+                                         -> Ptr VkViewport -- ^ pViewports+                                                           -> IO ()++type PFN_vkCmdSetViewport = FunPtr HS_vkCmdSetViewport++foreign import ccall unsafe "dynamic" unwrapVkCmdSetViewportUnsafe+               :: PFN_vkCmdSetViewport -> HS_vkCmdSetViewport++foreign import ccall safe "dynamic" unwrapVkCmdSetViewportSafe ::+               PFN_vkCmdSetViewport -> HS_vkCmdSetViewport++instance VulkanProc "vkCmdSetViewport" where+    type VkProcType "vkCmdSetViewport" = HS_vkCmdSetViewport+    vkProcSymbol = _VkCmdSetViewport++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdSetViewportUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdSetViewportSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdSetScissor :: CString++pattern VkCmdSetScissor <- (is_VkCmdSetScissor -> True)+  where+    VkCmdSetScissor = _VkCmdSetScissor++{-# INLINE _VkCmdSetScissor #-}++_VkCmdSetScissor :: CString+_VkCmdSetScissor = Ptr "vkCmdSetScissor\NUL"##++{-# INLINE is_VkCmdSetScissor #-}++is_VkCmdSetScissor :: CString -> Bool+is_VkCmdSetScissor = (EQ ==) . cmpCStrings _VkCmdSetScissor++type VkCmdSetScissor = "vkCmdSetScissor"++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetScissor+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t firstScissor+-- >     , uint32_t scissorCount+-- >     , const VkRect2D* pScissors+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetScissor vkCmdSetScissor registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetScissor <- vkGetInstanceProc @VkCmdSetScissor vkInstance+--+-- or less efficient:+--+-- > myCmdSetScissor <- vkGetProc @VkCmdSetScissor+--+-- __Note:__ @vkCmdSetScissorUnsafe@ and @vkCmdSetScissorSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetScissor@ is an alias+--           of @vkCmdSetScissorUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetScissorSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdSetScissor" vkCmdSetScissorUnsafe+               :: VkCommandBuffer -- ^ commandBuffer+                                  -> Word32 -- ^ firstScissor+                                            -> Word32 -- ^ scissorCount+                                                      -> Ptr VkRect2D -- ^ pScissors+                                                                      -> IO ()++##else+vkCmdSetScissorUnsafe ::+                      VkCommandBuffer -- ^ commandBuffer+                                      -> Word32 -- ^ firstScissor+                                                -> Word32 -- ^ scissorCount+                                                          -> Ptr VkRect2D -- ^ pScissors+                                                                          -> IO ()+vkCmdSetScissorUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdSetScissor)++{-# NOINLINE vkCmdSetScissorUnsafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetScissor+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t firstScissor+-- >     , uint32_t scissorCount+-- >     , const VkRect2D* pScissors+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetScissor vkCmdSetScissor registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetScissor <- vkGetInstanceProc @VkCmdSetScissor vkInstance+--+-- or less efficient:+--+-- > myCmdSetScissor <- vkGetProc @VkCmdSetScissor+--+-- __Note:__ @vkCmdSetScissorUnsafe@ and @vkCmdSetScissorSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetScissor@ is an alias+--           of @vkCmdSetScissorUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetScissorSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdSetScissor" vkCmdSetScissorSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Word32 -- ^ firstScissor+                                         -> Word32 -- ^ scissorCount+                                                   -> Ptr VkRect2D -- ^ pScissors+                                                                   -> IO ()++##else+vkCmdSetScissorSafe ::+                    VkCommandBuffer -- ^ commandBuffer+                                    -> Word32 -- ^ firstScissor+                                              -> Word32 -- ^ scissorCount+                                                        -> Ptr VkRect2D -- ^ pScissors+                                                                        -> IO ()+vkCmdSetScissorSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdSetScissor)++{-# NOINLINE vkCmdSetScissorSafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetScissor+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t firstScissor+-- >     , uint32_t scissorCount+-- >     , const VkRect2D* pScissors+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetScissor vkCmdSetScissor registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetScissor <- vkGetInstanceProc @VkCmdSetScissor vkInstance+--+-- or less efficient:+--+-- > myCmdSetScissor <- vkGetProc @VkCmdSetScissor+--+-- __Note:__ @vkCmdSetScissorUnsafe@ and @vkCmdSetScissorSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetScissor@ is an alias+--           of @vkCmdSetScissorUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetScissorSafe@.+--+vkCmdSetScissor ::+                VkCommandBuffer -- ^ commandBuffer+                                -> Word32 -- ^ firstScissor+                                          -> Word32 -- ^ scissorCount+                                                    -> Ptr VkRect2D -- ^ pScissors+                                                                    -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdSetScissor = vkCmdSetScissorUnsafe+##else+vkCmdSetScissor = vkCmdSetScissorSafe++##endif+{-# INLINE vkCmdSetScissor #-}++-- | Queues: 'graphics'.+--+--   Renderpass: @both@+--+--   > void vkCmdSetScissor+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t firstScissor+--   >     , uint32_t scissorCount+--   >     , const VkRect2D* pScissors+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetScissor vkCmdSetScissor registry at www.khronos.org>+type HS_vkCmdSetScissor =+     VkCommandBuffer -- ^ commandBuffer+                     -> Word32 -- ^ firstScissor+                               -> Word32 -- ^ scissorCount+                                         -> Ptr VkRect2D -- ^ pScissors+                                                         -> IO ()++type PFN_vkCmdSetScissor = FunPtr HS_vkCmdSetScissor++foreign import ccall unsafe "dynamic" unwrapVkCmdSetScissorUnsafe+               :: PFN_vkCmdSetScissor -> HS_vkCmdSetScissor++foreign import ccall safe "dynamic" unwrapVkCmdSetScissorSafe ::+               PFN_vkCmdSetScissor -> HS_vkCmdSetScissor++instance VulkanProc "vkCmdSetScissor" where+    type VkProcType "vkCmdSetScissor" = HS_vkCmdSetScissor+    vkProcSymbol = _VkCmdSetScissor++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdSetScissorUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdSetScissorSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdSetLineWidth :: CString++pattern VkCmdSetLineWidth <- (is_VkCmdSetLineWidth -> True)+  where+    VkCmdSetLineWidth = _VkCmdSetLineWidth++{-# INLINE _VkCmdSetLineWidth #-}++_VkCmdSetLineWidth :: CString+_VkCmdSetLineWidth = Ptr "vkCmdSetLineWidth\NUL"##++{-# INLINE is_VkCmdSetLineWidth #-}++is_VkCmdSetLineWidth :: CString -> Bool+is_VkCmdSetLineWidth = (EQ ==) . cmpCStrings _VkCmdSetLineWidth++type VkCmdSetLineWidth = "vkCmdSetLineWidth"++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetLineWidth+-- >     ( VkCommandBuffer commandBuffer+-- >     , float lineWidth+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetLineWidth vkCmdSetLineWidth registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetLineWidth <- vkGetInstanceProc @VkCmdSetLineWidth vkInstance+--+-- or less efficient:+--+-- > myCmdSetLineWidth <- vkGetProc @VkCmdSetLineWidth+--+-- __Note:__ @vkCmdSetLineWidthUnsafe@ and @vkCmdSetLineWidthSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetLineWidth@ is an alias+--           of @vkCmdSetLineWidthUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetLineWidthSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdSetLineWidth"+               vkCmdSetLineWidthUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> #{type float} -> IO ()++##else+vkCmdSetLineWidthUnsafe ::+                        VkCommandBuffer -- ^ commandBuffer+                                        -> #{type float} -> IO ()+vkCmdSetLineWidthUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdSetLineWidth)++{-# NOINLINE vkCmdSetLineWidthUnsafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetLineWidth+-- >     ( VkCommandBuffer commandBuffer+-- >     , float lineWidth+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetLineWidth vkCmdSetLineWidth registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetLineWidth <- vkGetInstanceProc @VkCmdSetLineWidth vkInstance+--+-- or less efficient:+--+-- > myCmdSetLineWidth <- vkGetProc @VkCmdSetLineWidth+--+-- __Note:__ @vkCmdSetLineWidthUnsafe@ and @vkCmdSetLineWidthSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetLineWidth@ is an alias+--           of @vkCmdSetLineWidthUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetLineWidthSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdSetLineWidth" vkCmdSetLineWidthSafe+               :: VkCommandBuffer -- ^ commandBuffer+                                  -> #{type float} -> IO ()++##else+vkCmdSetLineWidthSafe ::+                      VkCommandBuffer -- ^ commandBuffer+                                      -> #{type float} -> IO ()+vkCmdSetLineWidthSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdSetLineWidth)++{-# NOINLINE vkCmdSetLineWidthSafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetLineWidth+-- >     ( VkCommandBuffer commandBuffer+-- >     , float lineWidth+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetLineWidth vkCmdSetLineWidth registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetLineWidth <- vkGetInstanceProc @VkCmdSetLineWidth vkInstance+--+-- or less efficient:+--+-- > myCmdSetLineWidth <- vkGetProc @VkCmdSetLineWidth+--+-- __Note:__ @vkCmdSetLineWidthUnsafe@ and @vkCmdSetLineWidthSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetLineWidth@ is an alias+--           of @vkCmdSetLineWidthUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetLineWidthSafe@.+--+vkCmdSetLineWidth ::+                  VkCommandBuffer -- ^ commandBuffer+                                  -> #{type float} -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdSetLineWidth = vkCmdSetLineWidthUnsafe+##else+vkCmdSetLineWidth = vkCmdSetLineWidthSafe++##endif+{-# INLINE vkCmdSetLineWidth #-}++-- | Queues: 'graphics'.+--+--   Renderpass: @both@+--+--   > void vkCmdSetLineWidth+--   >     ( VkCommandBuffer commandBuffer+--   >     , float lineWidth+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetLineWidth vkCmdSetLineWidth registry at www.khronos.org>+type HS_vkCmdSetLineWidth =+     VkCommandBuffer -- ^ commandBuffer+                     -> #{type float} -> IO ()++type PFN_vkCmdSetLineWidth = FunPtr HS_vkCmdSetLineWidth++foreign import ccall unsafe "dynamic" unwrapVkCmdSetLineWidthUnsafe+               :: PFN_vkCmdSetLineWidth -> HS_vkCmdSetLineWidth++foreign import ccall safe "dynamic" unwrapVkCmdSetLineWidthSafe ::+               PFN_vkCmdSetLineWidth -> HS_vkCmdSetLineWidth++instance VulkanProc "vkCmdSetLineWidth" where+    type VkProcType "vkCmdSetLineWidth" = HS_vkCmdSetLineWidth+    vkProcSymbol = _VkCmdSetLineWidth++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdSetLineWidthUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdSetLineWidthSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdSetDepthBias :: CString++pattern VkCmdSetDepthBias <- (is_VkCmdSetDepthBias -> True)+  where+    VkCmdSetDepthBias = _VkCmdSetDepthBias++{-# INLINE _VkCmdSetDepthBias #-}++_VkCmdSetDepthBias :: CString+_VkCmdSetDepthBias = Ptr "vkCmdSetDepthBias\NUL"##++{-# INLINE is_VkCmdSetDepthBias #-}++is_VkCmdSetDepthBias :: CString -> Bool+is_VkCmdSetDepthBias = (EQ ==) . cmpCStrings _VkCmdSetDepthBias++type VkCmdSetDepthBias = "vkCmdSetDepthBias"++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetDepthBias+-- >     ( VkCommandBuffer commandBuffer+-- >     , float depthBiasConstantFactor+-- >     , float depthBiasClamp+-- >     , float depthBiasSlopeFactor+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDepthBias vkCmdSetDepthBias registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetDepthBias <- vkGetInstanceProc @VkCmdSetDepthBias vkInstance+--+-- or less efficient:+--+-- > myCmdSetDepthBias <- vkGetProc @VkCmdSetDepthBias+--+-- __Note:__ @vkCmdSetDepthBiasUnsafe@ and @vkCmdSetDepthBiasSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetDepthBias@ is an alias+--           of @vkCmdSetDepthBiasUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetDepthBiasSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdSetDepthBias"+               vkCmdSetDepthBiasUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 #{type float} ->+                   #{type float} -> #{type float} -> IO ()++##else+vkCmdSetDepthBiasUnsafe ::+                        VkCommandBuffer -- ^ commandBuffer+                                        ->+                          #{type float} ->+                            #{type float} -> #{type float} -> IO ()+vkCmdSetDepthBiasUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdSetDepthBias)++{-# NOINLINE vkCmdSetDepthBiasUnsafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetDepthBias+-- >     ( VkCommandBuffer commandBuffer+-- >     , float depthBiasConstantFactor+-- >     , float depthBiasClamp+-- >     , float depthBiasSlopeFactor+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDepthBias vkCmdSetDepthBias registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetDepthBias <- vkGetInstanceProc @VkCmdSetDepthBias vkInstance+--+-- or less efficient:+--+-- > myCmdSetDepthBias <- vkGetProc @VkCmdSetDepthBias+--+-- __Note:__ @vkCmdSetDepthBiasUnsafe@ and @vkCmdSetDepthBiasSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetDepthBias@ is an alias+--           of @vkCmdSetDepthBiasUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetDepthBiasSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdSetDepthBias" vkCmdSetDepthBiasSafe+               ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 #{type float} ->+                   #{type float} -> #{type float} -> IO ()++##else+vkCmdSetDepthBiasSafe ::+                      VkCommandBuffer -- ^ commandBuffer+                                      ->+                        #{type float} ->+                          #{type float} -> #{type float} -> IO ()+vkCmdSetDepthBiasSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdSetDepthBias)++{-# NOINLINE vkCmdSetDepthBiasSafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetDepthBias+-- >     ( VkCommandBuffer commandBuffer+-- >     , float depthBiasConstantFactor+-- >     , float depthBiasClamp+-- >     , float depthBiasSlopeFactor+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDepthBias vkCmdSetDepthBias registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetDepthBias <- vkGetInstanceProc @VkCmdSetDepthBias vkInstance+--+-- or less efficient:+--+-- > myCmdSetDepthBias <- vkGetProc @VkCmdSetDepthBias+--+-- __Note:__ @vkCmdSetDepthBiasUnsafe@ and @vkCmdSetDepthBiasSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetDepthBias@ is an alias+--           of @vkCmdSetDepthBiasUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetDepthBiasSafe@.+--+vkCmdSetDepthBias ::+                  VkCommandBuffer -- ^ commandBuffer+                                  ->+                    #{type float} ->+                      #{type float} -> #{type float} -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdSetDepthBias = vkCmdSetDepthBiasUnsafe+##else+vkCmdSetDepthBias = vkCmdSetDepthBiasSafe++##endif+{-# INLINE vkCmdSetDepthBias #-}++-- | Queues: 'graphics'.+--+--   Renderpass: @both@+--+--   > void vkCmdSetDepthBias+--   >     ( VkCommandBuffer commandBuffer+--   >     , float depthBiasConstantFactor+--   >     , float depthBiasClamp+--   >     , float depthBiasSlopeFactor+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDepthBias vkCmdSetDepthBias registry at www.khronos.org>+type HS_vkCmdSetDepthBias =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       #{type float} ->+         #{type float} -> #{type float} -> IO ()++type PFN_vkCmdSetDepthBias = FunPtr HS_vkCmdSetDepthBias++foreign import ccall unsafe "dynamic" unwrapVkCmdSetDepthBiasUnsafe+               :: PFN_vkCmdSetDepthBias -> HS_vkCmdSetDepthBias++foreign import ccall safe "dynamic" unwrapVkCmdSetDepthBiasSafe ::+               PFN_vkCmdSetDepthBias -> HS_vkCmdSetDepthBias++instance VulkanProc "vkCmdSetDepthBias" where+    type VkProcType "vkCmdSetDepthBias" = HS_vkCmdSetDepthBias+    vkProcSymbol = _VkCmdSetDepthBias++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdSetDepthBiasUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdSetDepthBiasSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdSetBlendConstants :: CString++pattern VkCmdSetBlendConstants <-+        (is_VkCmdSetBlendConstants -> True)+  where+    VkCmdSetBlendConstants = _VkCmdSetBlendConstants++{-# INLINE _VkCmdSetBlendConstants #-}++_VkCmdSetBlendConstants :: CString+_VkCmdSetBlendConstants = Ptr "vkCmdSetBlendConstants\NUL"##++{-# INLINE is_VkCmdSetBlendConstants #-}++is_VkCmdSetBlendConstants :: CString -> Bool+is_VkCmdSetBlendConstants+  = (EQ ==) . cmpCStrings _VkCmdSetBlendConstants++type VkCmdSetBlendConstants = "vkCmdSetBlendConstants"++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetBlendConstants+-- >     ( VkCommandBuffer commandBuffer+-- >     , const float blendConstants[4]+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetBlendConstants vkCmdSetBlendConstants registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetBlendConstants <- vkGetInstanceProc @VkCmdSetBlendConstants vkInstance+--+-- or less efficient:+--+-- > myCmdSetBlendConstants <- vkGetProc @VkCmdSetBlendConstants+--+-- __Note:__ @vkCmdSetBlendConstantsUnsafe@ and @vkCmdSetBlendConstantsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetBlendConstants@ is an alias+--           of @vkCmdSetBlendConstantsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetBlendConstantsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdSetBlendConstants"+               vkCmdSetBlendConstantsUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Ptr #{type float} -- ^ blendConstants+                                                                -> IO ()++##else+vkCmdSetBlendConstantsUnsafe ::+                             VkCommandBuffer -- ^ commandBuffer+                                             -> Ptr #{type float} -- ^ blendConstants+                                                                              -> IO ()+vkCmdSetBlendConstantsUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdSetBlendConstants)++{-# NOINLINE vkCmdSetBlendConstantsUnsafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetBlendConstants+-- >     ( VkCommandBuffer commandBuffer+-- >     , const float blendConstants[4]+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetBlendConstants vkCmdSetBlendConstants registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetBlendConstants <- vkGetInstanceProc @VkCmdSetBlendConstants vkInstance+--+-- or less efficient:+--+-- > myCmdSetBlendConstants <- vkGetProc @VkCmdSetBlendConstants+--+-- __Note:__ @vkCmdSetBlendConstantsUnsafe@ and @vkCmdSetBlendConstantsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetBlendConstants@ is an alias+--           of @vkCmdSetBlendConstantsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetBlendConstantsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdSetBlendConstants"+               vkCmdSetBlendConstantsSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Ptr #{type float} -- ^ blendConstants+                                                                -> IO ()++##else+vkCmdSetBlendConstantsSafe ::+                           VkCommandBuffer -- ^ commandBuffer+                                           -> Ptr #{type float} -- ^ blendConstants+                                                                            -> IO ()+vkCmdSetBlendConstantsSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdSetBlendConstants)++{-# NOINLINE vkCmdSetBlendConstantsSafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetBlendConstants+-- >     ( VkCommandBuffer commandBuffer+-- >     , const float blendConstants[4]+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetBlendConstants vkCmdSetBlendConstants registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetBlendConstants <- vkGetInstanceProc @VkCmdSetBlendConstants vkInstance+--+-- or less efficient:+--+-- > myCmdSetBlendConstants <- vkGetProc @VkCmdSetBlendConstants+--+-- __Note:__ @vkCmdSetBlendConstantsUnsafe@ and @vkCmdSetBlendConstantsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetBlendConstants@ is an alias+--           of @vkCmdSetBlendConstantsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetBlendConstantsSafe@.+--+vkCmdSetBlendConstants ::+                       VkCommandBuffer -- ^ commandBuffer+                                       -> Ptr #{type float} -- ^ blendConstants+                                                                        -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdSetBlendConstants = vkCmdSetBlendConstantsUnsafe+##else+vkCmdSetBlendConstants = vkCmdSetBlendConstantsSafe++##endif+{-# INLINE vkCmdSetBlendConstants #-}++-- | Queues: 'graphics'.+--+--   Renderpass: @both@+--+--   > void vkCmdSetBlendConstants+--   >     ( VkCommandBuffer commandBuffer+--   >     , const float blendConstants[4]+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetBlendConstants vkCmdSetBlendConstants registry at www.khronos.org>+type HS_vkCmdSetBlendConstants =+     VkCommandBuffer -- ^ commandBuffer+                     -> Ptr #{type float} -- ^ blendConstants+                                                      -> IO ()++type PFN_vkCmdSetBlendConstants = FunPtr HS_vkCmdSetBlendConstants++foreign import ccall unsafe "dynamic"+               unwrapVkCmdSetBlendConstantsUnsafe ::+               PFN_vkCmdSetBlendConstants -> HS_vkCmdSetBlendConstants++foreign import ccall safe "dynamic"+               unwrapVkCmdSetBlendConstantsSafe ::+               PFN_vkCmdSetBlendConstants -> HS_vkCmdSetBlendConstants++instance VulkanProc "vkCmdSetBlendConstants" where+    type VkProcType "vkCmdSetBlendConstants" =+         HS_vkCmdSetBlendConstants+    vkProcSymbol = _VkCmdSetBlendConstants++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdSetBlendConstantsUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdSetBlendConstantsSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdSetDepthBounds :: CString++pattern VkCmdSetDepthBounds <- (is_VkCmdSetDepthBounds -> True)+  where+    VkCmdSetDepthBounds = _VkCmdSetDepthBounds++{-# INLINE _VkCmdSetDepthBounds #-}++_VkCmdSetDepthBounds :: CString+_VkCmdSetDepthBounds = Ptr "vkCmdSetDepthBounds\NUL"##++{-# INLINE is_VkCmdSetDepthBounds #-}++is_VkCmdSetDepthBounds :: CString -> Bool+is_VkCmdSetDepthBounds = (EQ ==) . cmpCStrings _VkCmdSetDepthBounds++type VkCmdSetDepthBounds = "vkCmdSetDepthBounds"++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetDepthBounds+-- >     ( VkCommandBuffer commandBuffer+-- >     , float minDepthBounds+-- >     , float maxDepthBounds+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDepthBounds vkCmdSetDepthBounds registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetDepthBounds <- vkGetInstanceProc @VkCmdSetDepthBounds vkInstance+--+-- or less efficient:+--+-- > myCmdSetDepthBounds <- vkGetProc @VkCmdSetDepthBounds+--+-- __Note:__ @vkCmdSetDepthBoundsUnsafe@ and @vkCmdSetDepthBoundsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetDepthBounds@ is an alias+--           of @vkCmdSetDepthBoundsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetDepthBoundsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdSetDepthBounds"+               vkCmdSetDepthBoundsUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 #{type float} -> #{type float} -> IO ()++##else+vkCmdSetDepthBoundsUnsafe ::+                          VkCommandBuffer -- ^ commandBuffer+                                          ->+                            #{type float} -> #{type float} -> IO ()+vkCmdSetDepthBoundsUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdSetDepthBounds)++{-# NOINLINE vkCmdSetDepthBoundsUnsafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetDepthBounds+-- >     ( VkCommandBuffer commandBuffer+-- >     , float minDepthBounds+-- >     , float maxDepthBounds+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDepthBounds vkCmdSetDepthBounds registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetDepthBounds <- vkGetInstanceProc @VkCmdSetDepthBounds vkInstance+--+-- or less efficient:+--+-- > myCmdSetDepthBounds <- vkGetProc @VkCmdSetDepthBounds+--+-- __Note:__ @vkCmdSetDepthBoundsUnsafe@ and @vkCmdSetDepthBoundsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetDepthBounds@ is an alias+--           of @vkCmdSetDepthBoundsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetDepthBoundsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdSetDepthBounds"+               vkCmdSetDepthBoundsSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 #{type float} -> #{type float} -> IO ()++##else+vkCmdSetDepthBoundsSafe ::+                        VkCommandBuffer -- ^ commandBuffer+                                        ->+                          #{type float} -> #{type float} -> IO ()+vkCmdSetDepthBoundsSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdSetDepthBounds)++{-# NOINLINE vkCmdSetDepthBoundsSafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetDepthBounds+-- >     ( VkCommandBuffer commandBuffer+-- >     , float minDepthBounds+-- >     , float maxDepthBounds+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDepthBounds vkCmdSetDepthBounds registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetDepthBounds <- vkGetInstanceProc @VkCmdSetDepthBounds vkInstance+--+-- or less efficient:+--+-- > myCmdSetDepthBounds <- vkGetProc @VkCmdSetDepthBounds+--+-- __Note:__ @vkCmdSetDepthBoundsUnsafe@ and @vkCmdSetDepthBoundsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetDepthBounds@ is an alias+--           of @vkCmdSetDepthBoundsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetDepthBoundsSafe@.+--+vkCmdSetDepthBounds ::+                    VkCommandBuffer -- ^ commandBuffer+                                    ->+                      #{type float} -> #{type float} -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdSetDepthBounds = vkCmdSetDepthBoundsUnsafe+##else+vkCmdSetDepthBounds = vkCmdSetDepthBoundsSafe++##endif+{-# INLINE vkCmdSetDepthBounds #-}++-- | Queues: 'graphics'.+--+--   Renderpass: @both@+--+--   > void vkCmdSetDepthBounds+--   >     ( VkCommandBuffer commandBuffer+--   >     , float minDepthBounds+--   >     , float maxDepthBounds+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDepthBounds vkCmdSetDepthBounds registry at www.khronos.org>+type HS_vkCmdSetDepthBounds =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       #{type float} -> #{type float} -> IO ()++type PFN_vkCmdSetDepthBounds = FunPtr HS_vkCmdSetDepthBounds++foreign import ccall unsafe "dynamic"+               unwrapVkCmdSetDepthBoundsUnsafe ::+               PFN_vkCmdSetDepthBounds -> HS_vkCmdSetDepthBounds++foreign import ccall safe "dynamic" unwrapVkCmdSetDepthBoundsSafe+               :: PFN_vkCmdSetDepthBounds -> HS_vkCmdSetDepthBounds++instance VulkanProc "vkCmdSetDepthBounds" where+    type VkProcType "vkCmdSetDepthBounds" = HS_vkCmdSetDepthBounds+    vkProcSymbol = _VkCmdSetDepthBounds++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdSetDepthBoundsUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdSetDepthBoundsSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdSetStencilCompareMask :: CString++pattern VkCmdSetStencilCompareMask <-+        (is_VkCmdSetStencilCompareMask -> True)+  where+    VkCmdSetStencilCompareMask = _VkCmdSetStencilCompareMask++{-# INLINE _VkCmdSetStencilCompareMask #-}++_VkCmdSetStencilCompareMask :: CString+_VkCmdSetStencilCompareMask = Ptr "vkCmdSetStencilCompareMask\NUL"##++{-# INLINE is_VkCmdSetStencilCompareMask #-}++is_VkCmdSetStencilCompareMask :: CString -> Bool+is_VkCmdSetStencilCompareMask+  = (EQ ==) . cmpCStrings _VkCmdSetStencilCompareMask++type VkCmdSetStencilCompareMask = "vkCmdSetStencilCompareMask"++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetStencilCompareMask+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkStencilFaceFlags faceMask+-- >     , uint32_t compareMask+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetStencilCompareMask <- vkGetInstanceProc @VkCmdSetStencilCompareMask vkInstance+--+-- or less efficient:+--+-- > myCmdSetStencilCompareMask <- vkGetProc @VkCmdSetStencilCompareMask+--+-- __Note:__ @vkCmdSetStencilCompareMaskUnsafe@ and @vkCmdSetStencilCompareMaskSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetStencilCompareMask@ is an alias+--           of @vkCmdSetStencilCompareMaskUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetStencilCompareMaskSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdSetStencilCompareMask"+               vkCmdSetStencilCompareMaskUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkStencilFaceFlags -- ^ faceMask+                                                     -> Word32 -- ^ compareMask+                                                               -> IO ()++##else+vkCmdSetStencilCompareMaskUnsafe ::+                                 VkCommandBuffer -- ^ commandBuffer+                                                 -> VkStencilFaceFlags -- ^ faceMask+                                                                       -> Word32 -- ^ compareMask+                                                                                 -> IO ()+vkCmdSetStencilCompareMaskUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkCmdSetStencilCompareMask)++{-# NOINLINE vkCmdSetStencilCompareMaskUnsafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetStencilCompareMask+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkStencilFaceFlags faceMask+-- >     , uint32_t compareMask+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetStencilCompareMask <- vkGetInstanceProc @VkCmdSetStencilCompareMask vkInstance+--+-- or less efficient:+--+-- > myCmdSetStencilCompareMask <- vkGetProc @VkCmdSetStencilCompareMask+--+-- __Note:__ @vkCmdSetStencilCompareMaskUnsafe@ and @vkCmdSetStencilCompareMaskSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetStencilCompareMask@ is an alias+--           of @vkCmdSetStencilCompareMaskUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetStencilCompareMaskSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdSetStencilCompareMask"+               vkCmdSetStencilCompareMaskSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkStencilFaceFlags -- ^ faceMask+                                                     -> Word32 -- ^ compareMask+                                                               -> IO ()++##else+vkCmdSetStencilCompareMaskSafe ::+                               VkCommandBuffer -- ^ commandBuffer+                                               -> VkStencilFaceFlags -- ^ faceMask+                                                                     -> Word32 -- ^ compareMask+                                                                               -> IO ()+vkCmdSetStencilCompareMaskSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkCmdSetStencilCompareMask)++{-# NOINLINE vkCmdSetStencilCompareMaskSafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetStencilCompareMask+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkStencilFaceFlags faceMask+-- >     , uint32_t compareMask+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetStencilCompareMask <- vkGetInstanceProc @VkCmdSetStencilCompareMask vkInstance+--+-- or less efficient:+--+-- > myCmdSetStencilCompareMask <- vkGetProc @VkCmdSetStencilCompareMask+--+-- __Note:__ @vkCmdSetStencilCompareMaskUnsafe@ and @vkCmdSetStencilCompareMaskSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetStencilCompareMask@ is an alias+--           of @vkCmdSetStencilCompareMaskUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetStencilCompareMaskSafe@.+--+vkCmdSetStencilCompareMask ::+                           VkCommandBuffer -- ^ commandBuffer+                                           -> VkStencilFaceFlags -- ^ faceMask+                                                                 -> Word32 -- ^ compareMask+                                                                           -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdSetStencilCompareMask = vkCmdSetStencilCompareMaskUnsafe+##else+vkCmdSetStencilCompareMask = vkCmdSetStencilCompareMaskSafe++##endif+{-# INLINE vkCmdSetStencilCompareMask #-}++-- | Queues: 'graphics'.+--+--   Renderpass: @both@+--+--   > void vkCmdSetStencilCompareMask+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkStencilFaceFlags faceMask+--   >     , uint32_t compareMask+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask registry at www.khronos.org>+type HS_vkCmdSetStencilCompareMask =+     VkCommandBuffer -- ^ commandBuffer+                     -> VkStencilFaceFlags -- ^ faceMask+                                           -> Word32 -- ^ compareMask+                                                     -> IO ()++type PFN_vkCmdSetStencilCompareMask =+     FunPtr HS_vkCmdSetStencilCompareMask++foreign import ccall unsafe "dynamic"+               unwrapVkCmdSetStencilCompareMaskUnsafe ::+               PFN_vkCmdSetStencilCompareMask -> HS_vkCmdSetStencilCompareMask++foreign import ccall safe "dynamic"+               unwrapVkCmdSetStencilCompareMaskSafe ::+               PFN_vkCmdSetStencilCompareMask -> HS_vkCmdSetStencilCompareMask++instance VulkanProc "vkCmdSetStencilCompareMask" where+    type VkProcType "vkCmdSetStencilCompareMask" =+         HS_vkCmdSetStencilCompareMask+    vkProcSymbol = _VkCmdSetStencilCompareMask++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdSetStencilCompareMaskUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdSetStencilCompareMaskSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdSetStencilWriteMask :: CString++pattern VkCmdSetStencilWriteMask <-+        (is_VkCmdSetStencilWriteMask -> True)+  where+    VkCmdSetStencilWriteMask = _VkCmdSetStencilWriteMask++{-# INLINE _VkCmdSetStencilWriteMask #-}++_VkCmdSetStencilWriteMask :: CString+_VkCmdSetStencilWriteMask = Ptr "vkCmdSetStencilWriteMask\NUL"##++{-# INLINE is_VkCmdSetStencilWriteMask #-}++is_VkCmdSetStencilWriteMask :: CString -> Bool+is_VkCmdSetStencilWriteMask+  = (EQ ==) . cmpCStrings _VkCmdSetStencilWriteMask++type VkCmdSetStencilWriteMask = "vkCmdSetStencilWriteMask"++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetStencilWriteMask+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkStencilFaceFlags faceMask+-- >     , uint32_t writeMask+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetStencilWriteMask <- vkGetInstanceProc @VkCmdSetStencilWriteMask vkInstance+--+-- or less efficient:+--+-- > myCmdSetStencilWriteMask <- vkGetProc @VkCmdSetStencilWriteMask+--+-- __Note:__ @vkCmdSetStencilWriteMaskUnsafe@ and @vkCmdSetStencilWriteMaskSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetStencilWriteMask@ is an alias+--           of @vkCmdSetStencilWriteMaskUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetStencilWriteMaskSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdSetStencilWriteMask"+               vkCmdSetStencilWriteMaskUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkStencilFaceFlags -- ^ faceMask+                                                     -> Word32 -- ^ writeMask+                                                               -> IO ()++##else+vkCmdSetStencilWriteMaskUnsafe ::+                               VkCommandBuffer -- ^ commandBuffer+                                               -> VkStencilFaceFlags -- ^ faceMask+                                                                     -> Word32 -- ^ writeMask+                                                                               -> IO ()+vkCmdSetStencilWriteMaskUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkCmdSetStencilWriteMask)++{-# NOINLINE vkCmdSetStencilWriteMaskUnsafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetStencilWriteMask+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkStencilFaceFlags faceMask+-- >     , uint32_t writeMask+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetStencilWriteMask <- vkGetInstanceProc @VkCmdSetStencilWriteMask vkInstance+--+-- or less efficient:+--+-- > myCmdSetStencilWriteMask <- vkGetProc @VkCmdSetStencilWriteMask+--+-- __Note:__ @vkCmdSetStencilWriteMaskUnsafe@ and @vkCmdSetStencilWriteMaskSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetStencilWriteMask@ is an alias+--           of @vkCmdSetStencilWriteMaskUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetStencilWriteMaskSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdSetStencilWriteMask"+               vkCmdSetStencilWriteMaskSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkStencilFaceFlags -- ^ faceMask+                                                     -> Word32 -- ^ writeMask+                                                               -> IO ()++##else+vkCmdSetStencilWriteMaskSafe ::+                             VkCommandBuffer -- ^ commandBuffer+                                             -> VkStencilFaceFlags -- ^ faceMask+                                                                   -> Word32 -- ^ writeMask+                                                                             -> IO ()+vkCmdSetStencilWriteMaskSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdSetStencilWriteMask)++{-# NOINLINE vkCmdSetStencilWriteMaskSafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetStencilWriteMask+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkStencilFaceFlags faceMask+-- >     , uint32_t writeMask+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetStencilWriteMask <- vkGetInstanceProc @VkCmdSetStencilWriteMask vkInstance+--+-- or less efficient:+--+-- > myCmdSetStencilWriteMask <- vkGetProc @VkCmdSetStencilWriteMask+--+-- __Note:__ @vkCmdSetStencilWriteMaskUnsafe@ and @vkCmdSetStencilWriteMaskSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetStencilWriteMask@ is an alias+--           of @vkCmdSetStencilWriteMaskUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetStencilWriteMaskSafe@.+--+vkCmdSetStencilWriteMask ::+                         VkCommandBuffer -- ^ commandBuffer+                                         -> VkStencilFaceFlags -- ^ faceMask+                                                               -> Word32 -- ^ writeMask+                                                                         -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdSetStencilWriteMask = vkCmdSetStencilWriteMaskUnsafe+##else+vkCmdSetStencilWriteMask = vkCmdSetStencilWriteMaskSafe++##endif+{-# INLINE vkCmdSetStencilWriteMask #-}++-- | Queues: 'graphics'.+--+--   Renderpass: @both@+--+--   > void vkCmdSetStencilWriteMask+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkStencilFaceFlags faceMask+--   >     , uint32_t writeMask+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask registry at www.khronos.org>+type HS_vkCmdSetStencilWriteMask =+     VkCommandBuffer -- ^ commandBuffer+                     -> VkStencilFaceFlags -- ^ faceMask+                                           -> Word32 -- ^ writeMask+                                                     -> IO ()++type PFN_vkCmdSetStencilWriteMask =+     FunPtr HS_vkCmdSetStencilWriteMask++foreign import ccall unsafe "dynamic"+               unwrapVkCmdSetStencilWriteMaskUnsafe ::+               PFN_vkCmdSetStencilWriteMask -> HS_vkCmdSetStencilWriteMask++foreign import ccall safe "dynamic"+               unwrapVkCmdSetStencilWriteMaskSafe ::+               PFN_vkCmdSetStencilWriteMask -> HS_vkCmdSetStencilWriteMask++instance VulkanProc "vkCmdSetStencilWriteMask" where+    type VkProcType "vkCmdSetStencilWriteMask" =+         HS_vkCmdSetStencilWriteMask+    vkProcSymbol = _VkCmdSetStencilWriteMask++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdSetStencilWriteMaskUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdSetStencilWriteMaskSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdSetStencilReference :: CString++pattern VkCmdSetStencilReference <-+        (is_VkCmdSetStencilReference -> True)+  where+    VkCmdSetStencilReference = _VkCmdSetStencilReference++{-# INLINE _VkCmdSetStencilReference #-}++_VkCmdSetStencilReference :: CString+_VkCmdSetStencilReference = Ptr "vkCmdSetStencilReference\NUL"##++{-# INLINE is_VkCmdSetStencilReference #-}++is_VkCmdSetStencilReference :: CString -> Bool+is_VkCmdSetStencilReference+  = (EQ ==) . cmpCStrings _VkCmdSetStencilReference++type VkCmdSetStencilReference = "vkCmdSetStencilReference"++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetStencilReference+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkStencilFaceFlags faceMask+-- >     , uint32_t reference+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilReference vkCmdSetStencilReference registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetStencilReference <- vkGetInstanceProc @VkCmdSetStencilReference vkInstance+--+-- or less efficient:+--+-- > myCmdSetStencilReference <- vkGetProc @VkCmdSetStencilReference+--+-- __Note:__ @vkCmdSetStencilReferenceUnsafe@ and @vkCmdSetStencilReferenceSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetStencilReference@ is an alias+--           of @vkCmdSetStencilReferenceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetStencilReferenceSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdSetStencilReference"+               vkCmdSetStencilReferenceUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkStencilFaceFlags -- ^ faceMask+                                                     -> Word32 -- ^ reference+                                                               -> IO ()++##else+vkCmdSetStencilReferenceUnsafe ::+                               VkCommandBuffer -- ^ commandBuffer+                                               -> VkStencilFaceFlags -- ^ faceMask+                                                                     -> Word32 -- ^ reference+                                                                               -> IO ()+vkCmdSetStencilReferenceUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkCmdSetStencilReference)++{-# NOINLINE vkCmdSetStencilReferenceUnsafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetStencilReference+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkStencilFaceFlags faceMask+-- >     , uint32_t reference+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilReference vkCmdSetStencilReference registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetStencilReference <- vkGetInstanceProc @VkCmdSetStencilReference vkInstance+--+-- or less efficient:+--+-- > myCmdSetStencilReference <- vkGetProc @VkCmdSetStencilReference+--+-- __Note:__ @vkCmdSetStencilReferenceUnsafe@ and @vkCmdSetStencilReferenceSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetStencilReference@ is an alias+--           of @vkCmdSetStencilReferenceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetStencilReferenceSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdSetStencilReference"+               vkCmdSetStencilReferenceSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkStencilFaceFlags -- ^ faceMask+                                                     -> Word32 -- ^ reference+                                                               -> IO ()++##else+vkCmdSetStencilReferenceSafe ::+                             VkCommandBuffer -- ^ commandBuffer+                                             -> VkStencilFaceFlags -- ^ faceMask+                                                                   -> Word32 -- ^ reference+                                                                             -> IO ()+vkCmdSetStencilReferenceSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdSetStencilReference)++{-# NOINLINE vkCmdSetStencilReferenceSafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetStencilReference+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkStencilFaceFlags faceMask+-- >     , uint32_t reference+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilReference vkCmdSetStencilReference registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetStencilReference <- vkGetInstanceProc @VkCmdSetStencilReference vkInstance+--+-- or less efficient:+--+-- > myCmdSetStencilReference <- vkGetProc @VkCmdSetStencilReference+--+-- __Note:__ @vkCmdSetStencilReferenceUnsafe@ and @vkCmdSetStencilReferenceSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetStencilReference@ is an alias+--           of @vkCmdSetStencilReferenceUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetStencilReferenceSafe@.+--+vkCmdSetStencilReference ::+                         VkCommandBuffer -- ^ commandBuffer+                                         -> VkStencilFaceFlags -- ^ faceMask+                                                               -> Word32 -- ^ reference+                                                                         -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdSetStencilReference = vkCmdSetStencilReferenceUnsafe+##else+vkCmdSetStencilReference = vkCmdSetStencilReferenceSafe++##endif+{-# INLINE vkCmdSetStencilReference #-}++-- | Queues: 'graphics'.+--+--   Renderpass: @both@+--+--   > void vkCmdSetStencilReference+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkStencilFaceFlags faceMask+--   >     , uint32_t reference+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilReference vkCmdSetStencilReference registry at www.khronos.org>+type HS_vkCmdSetStencilReference =+     VkCommandBuffer -- ^ commandBuffer+                     -> VkStencilFaceFlags -- ^ faceMask+                                           -> Word32 -- ^ reference+                                                     -> IO ()++type PFN_vkCmdSetStencilReference =+     FunPtr HS_vkCmdSetStencilReference++foreign import ccall unsafe "dynamic"+               unwrapVkCmdSetStencilReferenceUnsafe ::+               PFN_vkCmdSetStencilReference -> HS_vkCmdSetStencilReference++foreign import ccall safe "dynamic"+               unwrapVkCmdSetStencilReferenceSafe ::+               PFN_vkCmdSetStencilReference -> HS_vkCmdSetStencilReference++instance VulkanProc "vkCmdSetStencilReference" where+    type VkProcType "vkCmdSetStencilReference" =+         HS_vkCmdSetStencilReference+    vkProcSymbol = _VkCmdSetStencilReference++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdSetStencilReferenceUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdSetStencilReferenceSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdBindDescriptorSets :: CString++pattern VkCmdBindDescriptorSets <-+        (is_VkCmdBindDescriptorSets -> True)+  where+    VkCmdBindDescriptorSets = _VkCmdBindDescriptorSets++{-# INLINE _VkCmdBindDescriptorSets #-}++_VkCmdBindDescriptorSets :: CString+_VkCmdBindDescriptorSets = Ptr "vkCmdBindDescriptorSets\NUL"##++{-# INLINE is_VkCmdBindDescriptorSets #-}++is_VkCmdBindDescriptorSets :: CString -> Bool+is_VkCmdBindDescriptorSets+  = (EQ ==) . cmpCStrings _VkCmdBindDescriptorSets++type VkCmdBindDescriptorSets = "vkCmdBindDescriptorSets"++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindDescriptorSets+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkPipelineBindPoint pipelineBindPoint+-- >     , VkPipelineLayout layout+-- >     , uint32_t firstSet+-- >     , uint32_t descriptorSetCount+-- >     , const VkDescriptorSet* pDescriptorSets+-- >     , uint32_t dynamicOffsetCount+-- >     , const uint32_t* pDynamicOffsets+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindDescriptorSets vkCmdBindDescriptorSets registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBindDescriptorSets <- vkGetInstanceProc @VkCmdBindDescriptorSets vkInstance+--+-- or less efficient:+--+-- > myCmdBindDescriptorSets <- vkGetProc @VkCmdBindDescriptorSets+--+-- __Note:__ @vkCmdBindDescriptorSetsUnsafe@ and @vkCmdBindDescriptorSetsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdBindDescriptorSets@ is an alias+--           of @vkCmdBindDescriptorSetsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdBindDescriptorSetsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdBindDescriptorSets"+               vkCmdBindDescriptorSetsUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkPipelineBindPoint -- ^ pipelineBindPoint+                                     ->+                   VkPipelineLayout -- ^ layout+                                    ->+                     Word32 -- ^ firstSet+                            ->+                       Word32 -- ^ descriptorSetCount+                              -> Ptr VkDescriptorSet -- ^ pDescriptorSets+                                                     -> Word32 -- ^ dynamicOffsetCount+                                                               -> Ptr Word32 -- ^ pDynamicOffsets+                                                                             -> IO ()++##else+vkCmdBindDescriptorSetsUnsafe ::+                              VkCommandBuffer -- ^ commandBuffer+                                              ->+                                VkPipelineBindPoint -- ^ pipelineBindPoint+                                                    ->+                                  VkPipelineLayout -- ^ layout+                                                   ->+                                    Word32 -- ^ firstSet+                                           ->+                                      Word32 -- ^ descriptorSetCount+                                             -> Ptr VkDescriptorSet -- ^ pDescriptorSets+                                                                    -> Word32 -- ^ dynamicOffsetCount+                                                                              -> Ptr Word32 -- ^ pDynamicOffsets+                                                                                            -> IO ()+vkCmdBindDescriptorSetsUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdBindDescriptorSets)++{-# NOINLINE vkCmdBindDescriptorSetsUnsafe #-}+##endif++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindDescriptorSets+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkPipelineBindPoint pipelineBindPoint+-- >     , VkPipelineLayout layout+-- >     , uint32_t firstSet+-- >     , uint32_t descriptorSetCount+-- >     , const VkDescriptorSet* pDescriptorSets+-- >     , uint32_t dynamicOffsetCount+-- >     , const uint32_t* pDynamicOffsets+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindDescriptorSets vkCmdBindDescriptorSets registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBindDescriptorSets <- vkGetInstanceProc @VkCmdBindDescriptorSets vkInstance+--+-- or less efficient:+--+-- > myCmdBindDescriptorSets <- vkGetProc @VkCmdBindDescriptorSets+--+-- __Note:__ @vkCmdBindDescriptorSetsUnsafe@ and @vkCmdBindDescriptorSetsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdBindDescriptorSets@ is an alias+--           of @vkCmdBindDescriptorSetsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdBindDescriptorSetsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdBindDescriptorSets"+               vkCmdBindDescriptorSetsSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkPipelineBindPoint -- ^ pipelineBindPoint+                                     ->+                   VkPipelineLayout -- ^ layout+                                    ->+                     Word32 -- ^ firstSet+                            ->+                       Word32 -- ^ descriptorSetCount+                              -> Ptr VkDescriptorSet -- ^ pDescriptorSets+                                                     -> Word32 -- ^ dynamicOffsetCount+                                                               -> Ptr Word32 -- ^ pDynamicOffsets+                                                                             -> IO ()++##else+vkCmdBindDescriptorSetsSafe ::+                            VkCommandBuffer -- ^ commandBuffer+                                            ->+                              VkPipelineBindPoint -- ^ pipelineBindPoint+                                                  ->+                                VkPipelineLayout -- ^ layout+                                                 ->+                                  Word32 -- ^ firstSet+                                         ->+                                    Word32 -- ^ descriptorSetCount+                                           -> Ptr VkDescriptorSet -- ^ pDescriptorSets+                                                                  -> Word32 -- ^ dynamicOffsetCount+                                                                            -> Ptr Word32 -- ^ pDynamicOffsets+                                                                                          -> IO ()+vkCmdBindDescriptorSetsSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdBindDescriptorSets)++{-# NOINLINE vkCmdBindDescriptorSetsSafe #-}+##endif++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindDescriptorSets+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkPipelineBindPoint pipelineBindPoint+-- >     , VkPipelineLayout layout+-- >     , uint32_t firstSet+-- >     , uint32_t descriptorSetCount+-- >     , const VkDescriptorSet* pDescriptorSets+-- >     , uint32_t dynamicOffsetCount+-- >     , const uint32_t* pDynamicOffsets+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindDescriptorSets vkCmdBindDescriptorSets registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBindDescriptorSets <- vkGetInstanceProc @VkCmdBindDescriptorSets vkInstance+--+-- or less efficient:+--+-- > myCmdBindDescriptorSets <- vkGetProc @VkCmdBindDescriptorSets+--+-- __Note:__ @vkCmdBindDescriptorSetsUnsafe@ and @vkCmdBindDescriptorSetsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdBindDescriptorSets@ is an alias+--           of @vkCmdBindDescriptorSetsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdBindDescriptorSetsSafe@.+--+vkCmdBindDescriptorSets ::+                        VkCommandBuffer -- ^ commandBuffer+                                        ->+                          VkPipelineBindPoint -- ^ pipelineBindPoint+                                              ->+                            VkPipelineLayout -- ^ layout+                                             ->+                              Word32 -- ^ firstSet+                                     ->+                                Word32 -- ^ descriptorSetCount+                                       -> Ptr VkDescriptorSet -- ^ pDescriptorSets+                                                              -> Word32 -- ^ dynamicOffsetCount+                                                                        -> Ptr Word32 -- ^ pDynamicOffsets+                                                                                      -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdBindDescriptorSets = vkCmdBindDescriptorSetsUnsafe+##else+vkCmdBindDescriptorSets = vkCmdBindDescriptorSetsSafe++##endif+{-# INLINE vkCmdBindDescriptorSets #-}++-- | Queues: 'graphics', 'compute'.+--+--   Renderpass: @both@+--+--   > void vkCmdBindDescriptorSets+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkPipelineBindPoint pipelineBindPoint+--   >     , VkPipelineLayout layout+--   >     , uint32_t firstSet+--   >     , uint32_t descriptorSetCount+--   >     , const VkDescriptorSet* pDescriptorSets+--   >     , uint32_t dynamicOffsetCount+--   >     , const uint32_t* pDynamicOffsets+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindDescriptorSets vkCmdBindDescriptorSets registry at www.khronos.org>+type HS_vkCmdBindDescriptorSets =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       VkPipelineBindPoint -- ^ pipelineBindPoint+                           ->+         VkPipelineLayout -- ^ layout+                          ->+           Word32 -- ^ firstSet+                  ->+             Word32 -- ^ descriptorSetCount+                    -> Ptr VkDescriptorSet -- ^ pDescriptorSets+                                           -> Word32 -- ^ dynamicOffsetCount+                                                     -> Ptr Word32 -- ^ pDynamicOffsets+                                                                   -> IO ()++type PFN_vkCmdBindDescriptorSets =+     FunPtr HS_vkCmdBindDescriptorSets++foreign import ccall unsafe "dynamic"+               unwrapVkCmdBindDescriptorSetsUnsafe ::+               PFN_vkCmdBindDescriptorSets -> HS_vkCmdBindDescriptorSets++foreign import ccall safe "dynamic"+               unwrapVkCmdBindDescriptorSetsSafe ::+               PFN_vkCmdBindDescriptorSets -> HS_vkCmdBindDescriptorSets++instance VulkanProc "vkCmdBindDescriptorSets" where+    type VkProcType "vkCmdBindDescriptorSets" =+         HS_vkCmdBindDescriptorSets+    vkProcSymbol = _VkCmdBindDescriptorSets++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdBindDescriptorSetsUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdBindDescriptorSetsSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdBindIndexBuffer :: CString++pattern VkCmdBindIndexBuffer <- (is_VkCmdBindIndexBuffer -> True)+  where+    VkCmdBindIndexBuffer = _VkCmdBindIndexBuffer++{-# INLINE _VkCmdBindIndexBuffer #-}++_VkCmdBindIndexBuffer :: CString+_VkCmdBindIndexBuffer = Ptr "vkCmdBindIndexBuffer\NUL"##++{-# INLINE is_VkCmdBindIndexBuffer #-}++is_VkCmdBindIndexBuffer :: CString -> Bool+is_VkCmdBindIndexBuffer+  = (EQ ==) . cmpCStrings _VkCmdBindIndexBuffer++type VkCmdBindIndexBuffer = "vkCmdBindIndexBuffer"++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindIndexBuffer+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkBuffer buffer+-- >     , VkDeviceSize offset+-- >     , VkIndexType indexType+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindIndexBuffer vkCmdBindIndexBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBindIndexBuffer <- vkGetInstanceProc @VkCmdBindIndexBuffer vkInstance+--+-- or less efficient:+--+-- > myCmdBindIndexBuffer <- vkGetProc @VkCmdBindIndexBuffer+--+-- __Note:__ @vkCmdBindIndexBufferUnsafe@ and @vkCmdBindIndexBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdBindIndexBuffer@ is an alias+--           of @vkCmdBindIndexBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdBindIndexBufferSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdBindIndexBuffer"+               vkCmdBindIndexBufferUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkBuffer -- ^ buffer+                                           -> VkDeviceSize -- ^ offset+                                                           -> VkIndexType -- ^ indexType+                                                                          -> IO ()++##else+vkCmdBindIndexBufferUnsafe ::+                           VkCommandBuffer -- ^ commandBuffer+                                           -> VkBuffer -- ^ buffer+                                                       -> VkDeviceSize -- ^ offset+                                                                       -> VkIndexType -- ^ indexType+                                                                                      -> IO ()+vkCmdBindIndexBufferUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdBindIndexBuffer)++{-# NOINLINE vkCmdBindIndexBufferUnsafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindIndexBuffer+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkBuffer buffer+-- >     , VkDeviceSize offset+-- >     , VkIndexType indexType+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindIndexBuffer vkCmdBindIndexBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBindIndexBuffer <- vkGetInstanceProc @VkCmdBindIndexBuffer vkInstance+--+-- or less efficient:+--+-- > myCmdBindIndexBuffer <- vkGetProc @VkCmdBindIndexBuffer+--+-- __Note:__ @vkCmdBindIndexBufferUnsafe@ and @vkCmdBindIndexBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdBindIndexBuffer@ is an alias+--           of @vkCmdBindIndexBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdBindIndexBufferSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdBindIndexBuffer"+               vkCmdBindIndexBufferSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkBuffer -- ^ buffer+                                           -> VkDeviceSize -- ^ offset+                                                           -> VkIndexType -- ^ indexType+                                                                          -> IO ()++##else+vkCmdBindIndexBufferSafe ::+                         VkCommandBuffer -- ^ commandBuffer+                                         -> VkBuffer -- ^ buffer+                                                     -> VkDeviceSize -- ^ offset+                                                                     -> VkIndexType -- ^ indexType+                                                                                    -> IO ()+vkCmdBindIndexBufferSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdBindIndexBuffer)++{-# NOINLINE vkCmdBindIndexBufferSafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindIndexBuffer+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkBuffer buffer+-- >     , VkDeviceSize offset+-- >     , VkIndexType indexType+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindIndexBuffer vkCmdBindIndexBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBindIndexBuffer <- vkGetInstanceProc @VkCmdBindIndexBuffer vkInstance+--+-- or less efficient:+--+-- > myCmdBindIndexBuffer <- vkGetProc @VkCmdBindIndexBuffer+--+-- __Note:__ @vkCmdBindIndexBufferUnsafe@ and @vkCmdBindIndexBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdBindIndexBuffer@ is an alias+--           of @vkCmdBindIndexBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdBindIndexBufferSafe@.+--+vkCmdBindIndexBuffer ::+                     VkCommandBuffer -- ^ commandBuffer+                                     -> VkBuffer -- ^ buffer+                                                 -> VkDeviceSize -- ^ offset+                                                                 -> VkIndexType -- ^ indexType+                                                                                -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdBindIndexBuffer = vkCmdBindIndexBufferUnsafe+##else+vkCmdBindIndexBuffer = vkCmdBindIndexBufferSafe++##endif+{-# INLINE vkCmdBindIndexBuffer #-}++-- | Queues: 'graphics'.+--+--   Renderpass: @both@+--+--   > void vkCmdBindIndexBuffer+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer buffer+--   >     , VkDeviceSize offset+--   >     , VkIndexType indexType+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindIndexBuffer vkCmdBindIndexBuffer registry at www.khronos.org>+type HS_vkCmdBindIndexBuffer =+     VkCommandBuffer -- ^ commandBuffer+                     -> VkBuffer -- ^ buffer+                                 -> VkDeviceSize -- ^ offset+                                                 -> VkIndexType -- ^ indexType+                                                                -> IO ()++type PFN_vkCmdBindIndexBuffer = FunPtr HS_vkCmdBindIndexBuffer++foreign import ccall unsafe "dynamic"+               unwrapVkCmdBindIndexBufferUnsafe ::+               PFN_vkCmdBindIndexBuffer -> HS_vkCmdBindIndexBuffer++foreign import ccall safe "dynamic" unwrapVkCmdBindIndexBufferSafe+               :: PFN_vkCmdBindIndexBuffer -> HS_vkCmdBindIndexBuffer++instance VulkanProc "vkCmdBindIndexBuffer" where+    type VkProcType "vkCmdBindIndexBuffer" = HS_vkCmdBindIndexBuffer+    vkProcSymbol = _VkCmdBindIndexBuffer++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdBindIndexBufferUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdBindIndexBufferSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdBindVertexBuffers :: CString++pattern VkCmdBindVertexBuffers <-+        (is_VkCmdBindVertexBuffers -> True)+  where+    VkCmdBindVertexBuffers = _VkCmdBindVertexBuffers++{-# INLINE _VkCmdBindVertexBuffers #-}++_VkCmdBindVertexBuffers :: CString+_VkCmdBindVertexBuffers = Ptr "vkCmdBindVertexBuffers\NUL"##++{-# INLINE is_VkCmdBindVertexBuffers #-}++is_VkCmdBindVertexBuffers :: CString -> Bool+is_VkCmdBindVertexBuffers+  = (EQ ==) . cmpCStrings _VkCmdBindVertexBuffers++type VkCmdBindVertexBuffers = "vkCmdBindVertexBuffers"++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindVertexBuffers+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t firstBinding+-- >     , uint32_t bindingCount+-- >     , const VkBuffer* pBuffers+-- >     , const VkDeviceSize* pOffsets+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindVertexBuffers vkCmdBindVertexBuffers registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBindVertexBuffers <- vkGetInstanceProc @VkCmdBindVertexBuffers vkInstance+--+-- or less efficient:+--+-- > myCmdBindVertexBuffers <- vkGetProc @VkCmdBindVertexBuffers+--+-- __Note:__ @vkCmdBindVertexBuffersUnsafe@ and @vkCmdBindVertexBuffersSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdBindVertexBuffers@ is an alias+--           of @vkCmdBindVertexBuffersUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdBindVertexBuffersSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdBindVertexBuffers"+               vkCmdBindVertexBuffersUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Word32 -- ^ firstBinding+                        -> Word32 -- ^ bindingCount+                                  -> Ptr VkBuffer -- ^ pBuffers+                                                  -> Ptr VkDeviceSize -- ^ pOffsets+                                                                      -> IO ()++##else+vkCmdBindVertexBuffersUnsafe ::+                             VkCommandBuffer -- ^ commandBuffer+                                             ->+                               Word32 -- ^ firstBinding+                                      -> Word32 -- ^ bindingCount+                                                -> Ptr VkBuffer -- ^ pBuffers+                                                                -> Ptr VkDeviceSize -- ^ pOffsets+                                                                                    -> IO ()+vkCmdBindVertexBuffersUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdBindVertexBuffers)++{-# NOINLINE vkCmdBindVertexBuffersUnsafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindVertexBuffers+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t firstBinding+-- >     , uint32_t bindingCount+-- >     , const VkBuffer* pBuffers+-- >     , const VkDeviceSize* pOffsets+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindVertexBuffers vkCmdBindVertexBuffers registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBindVertexBuffers <- vkGetInstanceProc @VkCmdBindVertexBuffers vkInstance+--+-- or less efficient:+--+-- > myCmdBindVertexBuffers <- vkGetProc @VkCmdBindVertexBuffers+--+-- __Note:__ @vkCmdBindVertexBuffersUnsafe@ and @vkCmdBindVertexBuffersSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdBindVertexBuffers@ is an alias+--           of @vkCmdBindVertexBuffersUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdBindVertexBuffersSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdBindVertexBuffers"+               vkCmdBindVertexBuffersSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Word32 -- ^ firstBinding+                        -> Word32 -- ^ bindingCount+                                  -> Ptr VkBuffer -- ^ pBuffers+                                                  -> Ptr VkDeviceSize -- ^ pOffsets+                                                                      -> IO ()++##else+vkCmdBindVertexBuffersSafe ::+                           VkCommandBuffer -- ^ commandBuffer+                                           ->+                             Word32 -- ^ firstBinding+                                    -> Word32 -- ^ bindingCount+                                              -> Ptr VkBuffer -- ^ pBuffers+                                                              -> Ptr VkDeviceSize -- ^ pOffsets+                                                                                  -> IO ()+vkCmdBindVertexBuffersSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdBindVertexBuffers)++{-# NOINLINE vkCmdBindVertexBuffersSafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindVertexBuffers+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t firstBinding+-- >     , uint32_t bindingCount+-- >     , const VkBuffer* pBuffers+-- >     , const VkDeviceSize* pOffsets+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindVertexBuffers vkCmdBindVertexBuffers registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBindVertexBuffers <- vkGetInstanceProc @VkCmdBindVertexBuffers vkInstance+--+-- or less efficient:+--+-- > myCmdBindVertexBuffers <- vkGetProc @VkCmdBindVertexBuffers+--+-- __Note:__ @vkCmdBindVertexBuffersUnsafe@ and @vkCmdBindVertexBuffersSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdBindVertexBuffers@ is an alias+--           of @vkCmdBindVertexBuffersUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdBindVertexBuffersSafe@.+--+vkCmdBindVertexBuffers ::+                       VkCommandBuffer -- ^ commandBuffer+                                       ->+                         Word32 -- ^ firstBinding+                                -> Word32 -- ^ bindingCount+                                          -> Ptr VkBuffer -- ^ pBuffers+                                                          -> Ptr VkDeviceSize -- ^ pOffsets+                                                                              -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdBindVertexBuffers = vkCmdBindVertexBuffersUnsafe+##else+vkCmdBindVertexBuffers = vkCmdBindVertexBuffersSafe++##endif+{-# INLINE vkCmdBindVertexBuffers #-}++-- | Queues: 'graphics'.+--+--   Renderpass: @both@+--+--   > void vkCmdBindVertexBuffers+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t firstBinding+--   >     , uint32_t bindingCount+--   >     , const VkBuffer* pBuffers+--   >     , const VkDeviceSize* pOffsets+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindVertexBuffers vkCmdBindVertexBuffers registry at www.khronos.org>+type HS_vkCmdBindVertexBuffers =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       Word32 -- ^ firstBinding+              -> Word32 -- ^ bindingCount+                        -> Ptr VkBuffer -- ^ pBuffers+                                        -> Ptr VkDeviceSize -- ^ pOffsets+                                                            -> IO ()++type PFN_vkCmdBindVertexBuffers = FunPtr HS_vkCmdBindVertexBuffers++foreign import ccall unsafe "dynamic"+               unwrapVkCmdBindVertexBuffersUnsafe ::+               PFN_vkCmdBindVertexBuffers -> HS_vkCmdBindVertexBuffers++foreign import ccall safe "dynamic"+               unwrapVkCmdBindVertexBuffersSafe ::+               PFN_vkCmdBindVertexBuffers -> HS_vkCmdBindVertexBuffers++instance VulkanProc "vkCmdBindVertexBuffers" where+    type VkProcType "vkCmdBindVertexBuffers" =+         HS_vkCmdBindVertexBuffers+    vkProcSymbol = _VkCmdBindVertexBuffers++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdBindVertexBuffersUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdBindVertexBuffersSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdDraw :: CString++pattern VkCmdDraw <- (is_VkCmdDraw -> True)+  where+    VkCmdDraw = _VkCmdDraw++{-# INLINE _VkCmdDraw #-}++_VkCmdDraw :: CString+_VkCmdDraw = Ptr "vkCmdDraw\NUL"##++{-# INLINE is_VkCmdDraw #-}++is_VkCmdDraw :: CString -> Bool+is_VkCmdDraw = (EQ ==) . cmpCStrings _VkCmdDraw++type VkCmdDraw = "vkCmdDraw"++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDraw+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t vertexCount+-- >     , uint32_t instanceCount+-- >     , uint32_t firstVertex+-- >     , uint32_t firstInstance+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDraw vkCmdDraw registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDraw <- vkGetInstanceProc @VkCmdDraw vkInstance+--+-- or less efficient:+--+-- > myCmdDraw <- vkGetProc @VkCmdDraw+--+-- __Note:__ @vkCmdDrawUnsafe@ and @vkCmdDrawSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdDraw@ is an alias+--           of @vkCmdDrawUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdDrawSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdDraw" vkCmdDrawUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Word32 -- ^ vertexCount+                                         -> Word32 -- ^ instanceCount+                                                   -> Word32 -- ^ firstVertex+                                                             -> Word32 -- ^ firstInstance+                                                                       -> IO ()++##else+vkCmdDrawUnsafe ::+                VkCommandBuffer -- ^ commandBuffer+                                -> Word32 -- ^ vertexCount+                                          -> Word32 -- ^ instanceCount+                                                    -> Word32 -- ^ firstVertex+                                                              -> Word32 -- ^ firstInstance+                                                                        -> IO ()+vkCmdDrawUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdDraw)++{-# NOINLINE vkCmdDrawUnsafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDraw+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t vertexCount+-- >     , uint32_t instanceCount+-- >     , uint32_t firstVertex+-- >     , uint32_t firstInstance+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDraw vkCmdDraw registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDraw <- vkGetInstanceProc @VkCmdDraw vkInstance+--+-- or less efficient:+--+-- > myCmdDraw <- vkGetProc @VkCmdDraw+--+-- __Note:__ @vkCmdDrawUnsafe@ and @vkCmdDrawSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdDraw@ is an alias+--           of @vkCmdDrawUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdDrawSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdDraw" vkCmdDrawSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Word32 -- ^ vertexCount+                                         -> Word32 -- ^ instanceCount+                                                   -> Word32 -- ^ firstVertex+                                                             -> Word32 -- ^ firstInstance+                                                                       -> IO ()++##else+vkCmdDrawSafe ::+              VkCommandBuffer -- ^ commandBuffer+                              -> Word32 -- ^ vertexCount+                                        -> Word32 -- ^ instanceCount+                                                  -> Word32 -- ^ firstVertex+                                                            -> Word32 -- ^ firstInstance+                                                                      -> IO ()+vkCmdDrawSafe = unsafeDupablePerformIO (vkGetProcSafe @VkCmdDraw)++{-# NOINLINE vkCmdDrawSafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDraw+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t vertexCount+-- >     , uint32_t instanceCount+-- >     , uint32_t firstVertex+-- >     , uint32_t firstInstance+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDraw vkCmdDraw registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDraw <- vkGetInstanceProc @VkCmdDraw vkInstance+--+-- or less efficient:+--+-- > myCmdDraw <- vkGetProc @VkCmdDraw+--+-- __Note:__ @vkCmdDrawUnsafe@ and @vkCmdDrawSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdDraw@ is an alias+--           of @vkCmdDrawUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdDrawSafe@.+--+vkCmdDraw ::+          VkCommandBuffer -- ^ commandBuffer+                          -> Word32 -- ^ vertexCount+                                    -> Word32 -- ^ instanceCount+                                              -> Word32 -- ^ firstVertex+                                                        -> Word32 -- ^ firstInstance+                                                                  -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdDraw = vkCmdDrawUnsafe+##else+vkCmdDraw = vkCmdDrawSafe++##endif+{-# INLINE vkCmdDraw #-}++-- | Queues: 'graphics'.+--+--   Renderpass: @inside@+--+--   Pipeline: @graphics@+--+--   > void vkCmdDraw+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t vertexCount+--   >     , uint32_t instanceCount+--   >     , uint32_t firstVertex+--   >     , uint32_t firstInstance+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDraw vkCmdDraw registry at www.khronos.org>+type HS_vkCmdDraw =+     VkCommandBuffer -- ^ commandBuffer+                     -> Word32 -- ^ vertexCount+                               -> Word32 -- ^ instanceCount+                                         -> Word32 -- ^ firstVertex+                                                   -> Word32 -- ^ firstInstance+                                                             -> IO ()++type PFN_vkCmdDraw = FunPtr HS_vkCmdDraw++foreign import ccall unsafe "dynamic" unwrapVkCmdDrawUnsafe ::+               PFN_vkCmdDraw -> HS_vkCmdDraw++foreign import ccall safe "dynamic" unwrapVkCmdDrawSafe ::+               PFN_vkCmdDraw -> HS_vkCmdDraw++instance VulkanProc "vkCmdDraw" where+    type VkProcType "vkCmdDraw" = HS_vkCmdDraw+    vkProcSymbol = _VkCmdDraw++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdDrawUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdDrawSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdDrawIndexed :: CString++pattern VkCmdDrawIndexed <- (is_VkCmdDrawIndexed -> True)+  where+    VkCmdDrawIndexed = _VkCmdDrawIndexed++{-# INLINE _VkCmdDrawIndexed #-}++_VkCmdDrawIndexed :: CString+_VkCmdDrawIndexed = Ptr "vkCmdDrawIndexed\NUL"##++{-# INLINE is_VkCmdDrawIndexed #-}++is_VkCmdDrawIndexed :: CString -> Bool+is_VkCmdDrawIndexed = (EQ ==) . cmpCStrings _VkCmdDrawIndexed++type VkCmdDrawIndexed = "vkCmdDrawIndexed"++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDrawIndexed+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t indexCount+-- >     , uint32_t instanceCount+-- >     , uint32_t firstIndex+-- >     , int32_t vertexOffset+-- >     , uint32_t firstInstance+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexed vkCmdDrawIndexed registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDrawIndexed <- vkGetInstanceProc @VkCmdDrawIndexed vkInstance+--+-- or less efficient:+--+-- > myCmdDrawIndexed <- vkGetProc @VkCmdDrawIndexed+--+-- __Note:__ @vkCmdDrawIndexedUnsafe@ and @vkCmdDrawIndexedSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdDrawIndexed@ is an alias+--           of @vkCmdDrawIndexedUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdDrawIndexedSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdDrawIndexed"+               vkCmdDrawIndexedUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Word32 -- ^ indexCount+                        -> Word32 -- ^ instanceCount+                                  -> Word32 -- ^ firstIndex+                                            -> Int32 -- ^ vertexOffset+                                                     -> Word32 -- ^ firstInstance+                                                               -> IO ()++##else+vkCmdDrawIndexedUnsafe ::+                       VkCommandBuffer -- ^ commandBuffer+                                       ->+                         Word32 -- ^ indexCount+                                -> Word32 -- ^ instanceCount+                                          -> Word32 -- ^ firstIndex+                                                    -> Int32 -- ^ vertexOffset+                                                             -> Word32 -- ^ firstInstance+                                                                       -> IO ()+vkCmdDrawIndexedUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdDrawIndexed)++{-# NOINLINE vkCmdDrawIndexedUnsafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDrawIndexed+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t indexCount+-- >     , uint32_t instanceCount+-- >     , uint32_t firstIndex+-- >     , int32_t vertexOffset+-- >     , uint32_t firstInstance+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexed vkCmdDrawIndexed registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDrawIndexed <- vkGetInstanceProc @VkCmdDrawIndexed vkInstance+--+-- or less efficient:+--+-- > myCmdDrawIndexed <- vkGetProc @VkCmdDrawIndexed+--+-- __Note:__ @vkCmdDrawIndexedUnsafe@ and @vkCmdDrawIndexedSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdDrawIndexed@ is an alias+--           of @vkCmdDrawIndexedUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdDrawIndexedSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdDrawIndexed" vkCmdDrawIndexedSafe+               ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Word32 -- ^ indexCount+                        -> Word32 -- ^ instanceCount+                                  -> Word32 -- ^ firstIndex+                                            -> Int32 -- ^ vertexOffset+                                                     -> Word32 -- ^ firstInstance+                                                               -> IO ()++##else+vkCmdDrawIndexedSafe ::+                     VkCommandBuffer -- ^ commandBuffer+                                     ->+                       Word32 -- ^ indexCount+                              -> Word32 -- ^ instanceCount+                                        -> Word32 -- ^ firstIndex+                                                  -> Int32 -- ^ vertexOffset+                                                           -> Word32 -- ^ firstInstance+                                                                     -> IO ()+vkCmdDrawIndexedSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdDrawIndexed)++{-# NOINLINE vkCmdDrawIndexedSafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDrawIndexed+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t indexCount+-- >     , uint32_t instanceCount+-- >     , uint32_t firstIndex+-- >     , int32_t vertexOffset+-- >     , uint32_t firstInstance+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexed vkCmdDrawIndexed registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDrawIndexed <- vkGetInstanceProc @VkCmdDrawIndexed vkInstance+--+-- or less efficient:+--+-- > myCmdDrawIndexed <- vkGetProc @VkCmdDrawIndexed+--+-- __Note:__ @vkCmdDrawIndexedUnsafe@ and @vkCmdDrawIndexedSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdDrawIndexed@ is an alias+--           of @vkCmdDrawIndexedUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdDrawIndexedSafe@.+--+vkCmdDrawIndexed ::+                 VkCommandBuffer -- ^ commandBuffer+                                 ->+                   Word32 -- ^ indexCount+                          -> Word32 -- ^ instanceCount+                                    -> Word32 -- ^ firstIndex+                                              -> Int32 -- ^ vertexOffset+                                                       -> Word32 -- ^ firstInstance+                                                                 -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdDrawIndexed = vkCmdDrawIndexedUnsafe+##else+vkCmdDrawIndexed = vkCmdDrawIndexedSafe++##endif+{-# INLINE vkCmdDrawIndexed #-}++-- | Queues: 'graphics'.+--+--   Renderpass: @inside@+--+--   Pipeline: @graphics@+--+--   > void vkCmdDrawIndexed+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t indexCount+--   >     , uint32_t instanceCount+--   >     , uint32_t firstIndex+--   >     , int32_t vertexOffset+--   >     , uint32_t firstInstance+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexed vkCmdDrawIndexed registry at www.khronos.org>+type HS_vkCmdDrawIndexed =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       Word32 -- ^ indexCount+              -> Word32 -- ^ instanceCount+                        -> Word32 -- ^ firstIndex+                                  -> Int32 -- ^ vertexOffset+                                           -> Word32 -- ^ firstInstance+                                                     -> IO ()++type PFN_vkCmdDrawIndexed = FunPtr HS_vkCmdDrawIndexed++foreign import ccall unsafe "dynamic" unwrapVkCmdDrawIndexedUnsafe+               :: PFN_vkCmdDrawIndexed -> HS_vkCmdDrawIndexed++foreign import ccall safe "dynamic" unwrapVkCmdDrawIndexedSafe ::+               PFN_vkCmdDrawIndexed -> HS_vkCmdDrawIndexed++instance VulkanProc "vkCmdDrawIndexed" where+    type VkProcType "vkCmdDrawIndexed" = HS_vkCmdDrawIndexed+    vkProcSymbol = _VkCmdDrawIndexed++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdDrawIndexedUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdDrawIndexedSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdDrawIndirect :: CString++pattern VkCmdDrawIndirect <- (is_VkCmdDrawIndirect -> True)+  where+    VkCmdDrawIndirect = _VkCmdDrawIndirect++{-# INLINE _VkCmdDrawIndirect #-}++_VkCmdDrawIndirect :: CString+_VkCmdDrawIndirect = Ptr "vkCmdDrawIndirect\NUL"##++{-# INLINE is_VkCmdDrawIndirect #-}++is_VkCmdDrawIndirect :: CString -> Bool+is_VkCmdDrawIndirect = (EQ ==) . cmpCStrings _VkCmdDrawIndirect++type VkCmdDrawIndirect = "vkCmdDrawIndirect"++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDrawIndirect+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkBuffer buffer+-- >     , VkDeviceSize offset+-- >     , uint32_t drawCount+-- >     , uint32_t stride+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndirect vkCmdDrawIndirect registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDrawIndirect <- vkGetInstanceProc @VkCmdDrawIndirect vkInstance+--+-- or less efficient:+--+-- > myCmdDrawIndirect <- vkGetProc @VkCmdDrawIndirect+--+-- __Note:__ @vkCmdDrawIndirectUnsafe@ and @vkCmdDrawIndirectSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdDrawIndirect@ is an alias+--           of @vkCmdDrawIndirectUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdDrawIndirectSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdDrawIndirect"+               vkCmdDrawIndirectUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkBuffer -- ^ buffer+                          -> VkDeviceSize -- ^ offset+                                          -> Word32 -- ^ drawCount+                                                    -> Word32 -- ^ stride+                                                              -> IO ()++##else+vkCmdDrawIndirectUnsafe ::+                        VkCommandBuffer -- ^ commandBuffer+                                        ->+                          VkBuffer -- ^ buffer+                                   -> VkDeviceSize -- ^ offset+                                                   -> Word32 -- ^ drawCount+                                                             -> Word32 -- ^ stride+                                                                       -> IO ()+vkCmdDrawIndirectUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdDrawIndirect)++{-# NOINLINE vkCmdDrawIndirectUnsafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDrawIndirect+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkBuffer buffer+-- >     , VkDeviceSize offset+-- >     , uint32_t drawCount+-- >     , uint32_t stride+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndirect vkCmdDrawIndirect registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDrawIndirect <- vkGetInstanceProc @VkCmdDrawIndirect vkInstance+--+-- or less efficient:+--+-- > myCmdDrawIndirect <- vkGetProc @VkCmdDrawIndirect+--+-- __Note:__ @vkCmdDrawIndirectUnsafe@ and @vkCmdDrawIndirectSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdDrawIndirect@ is an alias+--           of @vkCmdDrawIndirectUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdDrawIndirectSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdDrawIndirect" vkCmdDrawIndirectSafe+               ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkBuffer -- ^ buffer+                          -> VkDeviceSize -- ^ offset+                                          -> Word32 -- ^ drawCount+                                                    -> Word32 -- ^ stride+                                                              -> IO ()++##else+vkCmdDrawIndirectSafe ::+                      VkCommandBuffer -- ^ commandBuffer+                                      ->+                        VkBuffer -- ^ buffer+                                 -> VkDeviceSize -- ^ offset+                                                 -> Word32 -- ^ drawCount+                                                           -> Word32 -- ^ stride+                                                                     -> IO ()+vkCmdDrawIndirectSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdDrawIndirect)++{-# NOINLINE vkCmdDrawIndirectSafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDrawIndirect+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkBuffer buffer+-- >     , VkDeviceSize offset+-- >     , uint32_t drawCount+-- >     , uint32_t stride+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndirect vkCmdDrawIndirect registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDrawIndirect <- vkGetInstanceProc @VkCmdDrawIndirect vkInstance+--+-- or less efficient:+--+-- > myCmdDrawIndirect <- vkGetProc @VkCmdDrawIndirect+--+-- __Note:__ @vkCmdDrawIndirectUnsafe@ and @vkCmdDrawIndirectSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdDrawIndirect@ is an alias+--           of @vkCmdDrawIndirectUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdDrawIndirectSafe@.+--+vkCmdDrawIndirect ::+                  VkCommandBuffer -- ^ commandBuffer+                                  ->+                    VkBuffer -- ^ buffer+                             -> VkDeviceSize -- ^ offset+                                             -> Word32 -- ^ drawCount+                                                       -> Word32 -- ^ stride+                                                                 -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdDrawIndirect = vkCmdDrawIndirectUnsafe+##else+vkCmdDrawIndirect = vkCmdDrawIndirectSafe++##endif+{-# INLINE vkCmdDrawIndirect #-}++-- | Queues: 'graphics'.+--+--   Renderpass: @inside@+--+--   Pipeline: @graphics@+--+--   > void vkCmdDrawIndirect+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer buffer+--   >     , VkDeviceSize offset+--   >     , uint32_t drawCount+--   >     , uint32_t stride+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndirect vkCmdDrawIndirect registry at www.khronos.org>+type HS_vkCmdDrawIndirect =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       VkBuffer -- ^ buffer+                -> VkDeviceSize -- ^ offset+                                -> Word32 -- ^ drawCount+                                          -> Word32 -- ^ stride+                                                    -> IO ()++type PFN_vkCmdDrawIndirect = FunPtr HS_vkCmdDrawIndirect++foreign import ccall unsafe "dynamic" unwrapVkCmdDrawIndirectUnsafe+               :: PFN_vkCmdDrawIndirect -> HS_vkCmdDrawIndirect++foreign import ccall safe "dynamic" unwrapVkCmdDrawIndirectSafe ::+               PFN_vkCmdDrawIndirect -> HS_vkCmdDrawIndirect++instance VulkanProc "vkCmdDrawIndirect" where+    type VkProcType "vkCmdDrawIndirect" = HS_vkCmdDrawIndirect+    vkProcSymbol = _VkCmdDrawIndirect++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdDrawIndirectUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdDrawIndirectSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdDrawIndexedIndirect :: CString++pattern VkCmdDrawIndexedIndirect <-+        (is_VkCmdDrawIndexedIndirect -> True)+  where+    VkCmdDrawIndexedIndirect = _VkCmdDrawIndexedIndirect++{-# INLINE _VkCmdDrawIndexedIndirect #-}++_VkCmdDrawIndexedIndirect :: CString+_VkCmdDrawIndexedIndirect = Ptr "vkCmdDrawIndexedIndirect\NUL"##++{-# INLINE is_VkCmdDrawIndexedIndirect #-}++is_VkCmdDrawIndexedIndirect :: CString -> Bool+is_VkCmdDrawIndexedIndirect+  = (EQ ==) . cmpCStrings _VkCmdDrawIndexedIndirect++type VkCmdDrawIndexedIndirect = "vkCmdDrawIndexedIndirect"++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDrawIndexedIndirect+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkBuffer buffer+-- >     , VkDeviceSize offset+-- >     , uint32_t drawCount+-- >     , uint32_t stride+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDrawIndexedIndirect <- vkGetInstanceProc @VkCmdDrawIndexedIndirect vkInstance+--+-- or less efficient:+--+-- > myCmdDrawIndexedIndirect <- vkGetProc @VkCmdDrawIndexedIndirect+--+-- __Note:__ @vkCmdDrawIndexedIndirectUnsafe@ and @vkCmdDrawIndexedIndirectSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdDrawIndexedIndirect@ is an alias+--           of @vkCmdDrawIndexedIndirectUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdDrawIndexedIndirectSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdDrawIndexedIndirect"+               vkCmdDrawIndexedIndirectUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkBuffer -- ^ buffer+                          -> VkDeviceSize -- ^ offset+                                          -> Word32 -- ^ drawCount+                                                    -> Word32 -- ^ stride+                                                              -> IO ()++##else+vkCmdDrawIndexedIndirectUnsafe ::+                               VkCommandBuffer -- ^ commandBuffer+                                               ->+                                 VkBuffer -- ^ buffer+                                          -> VkDeviceSize -- ^ offset+                                                          -> Word32 -- ^ drawCount+                                                                    -> Word32 -- ^ stride+                                                                              -> IO ()+vkCmdDrawIndexedIndirectUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkCmdDrawIndexedIndirect)++{-# NOINLINE vkCmdDrawIndexedIndirectUnsafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDrawIndexedIndirect+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkBuffer buffer+-- >     , VkDeviceSize offset+-- >     , uint32_t drawCount+-- >     , uint32_t stride+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDrawIndexedIndirect <- vkGetInstanceProc @VkCmdDrawIndexedIndirect vkInstance+--+-- or less efficient:+--+-- > myCmdDrawIndexedIndirect <- vkGetProc @VkCmdDrawIndexedIndirect+--+-- __Note:__ @vkCmdDrawIndexedIndirectUnsafe@ and @vkCmdDrawIndexedIndirectSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdDrawIndexedIndirect@ is an alias+--           of @vkCmdDrawIndexedIndirectUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdDrawIndexedIndirectSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdDrawIndexedIndirect"+               vkCmdDrawIndexedIndirectSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkBuffer -- ^ buffer+                          -> VkDeviceSize -- ^ offset+                                          -> Word32 -- ^ drawCount+                                                    -> Word32 -- ^ stride+                                                              -> IO ()++##else+vkCmdDrawIndexedIndirectSafe ::+                             VkCommandBuffer -- ^ commandBuffer+                                             ->+                               VkBuffer -- ^ buffer+                                        -> VkDeviceSize -- ^ offset+                                                        -> Word32 -- ^ drawCount+                                                                  -> Word32 -- ^ stride+                                                                            -> IO ()+vkCmdDrawIndexedIndirectSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdDrawIndexedIndirect)++{-# NOINLINE vkCmdDrawIndexedIndirectSafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDrawIndexedIndirect+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkBuffer buffer+-- >     , VkDeviceSize offset+-- >     , uint32_t drawCount+-- >     , uint32_t stride+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDrawIndexedIndirect <- vkGetInstanceProc @VkCmdDrawIndexedIndirect vkInstance+--+-- or less efficient:+--+-- > myCmdDrawIndexedIndirect <- vkGetProc @VkCmdDrawIndexedIndirect+--+-- __Note:__ @vkCmdDrawIndexedIndirectUnsafe@ and @vkCmdDrawIndexedIndirectSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdDrawIndexedIndirect@ is an alias+--           of @vkCmdDrawIndexedIndirectUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdDrawIndexedIndirectSafe@.+--+vkCmdDrawIndexedIndirect ::+                         VkCommandBuffer -- ^ commandBuffer+                                         ->+                           VkBuffer -- ^ buffer+                                    -> VkDeviceSize -- ^ offset+                                                    -> Word32 -- ^ drawCount+                                                              -> Word32 -- ^ stride+                                                                        -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdDrawIndexedIndirect = vkCmdDrawIndexedIndirectUnsafe+##else+vkCmdDrawIndexedIndirect = vkCmdDrawIndexedIndirectSafe++##endif+{-# INLINE vkCmdDrawIndexedIndirect #-}++-- | Queues: 'graphics'.+--+--   Renderpass: @inside@+--+--   Pipeline: @graphics@+--+--   > void vkCmdDrawIndexedIndirect+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer buffer+--   >     , VkDeviceSize offset+--   >     , uint32_t drawCount+--   >     , uint32_t stride+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect registry at www.khronos.org>+type HS_vkCmdDrawIndexedIndirect =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       VkBuffer -- ^ buffer+                -> VkDeviceSize -- ^ offset+                                -> Word32 -- ^ drawCount+                                          -> Word32 -- ^ stride+                                                    -> IO ()++type PFN_vkCmdDrawIndexedIndirect =+     FunPtr HS_vkCmdDrawIndexedIndirect++foreign import ccall unsafe "dynamic"+               unwrapVkCmdDrawIndexedIndirectUnsafe ::+               PFN_vkCmdDrawIndexedIndirect -> HS_vkCmdDrawIndexedIndirect++foreign import ccall safe "dynamic"+               unwrapVkCmdDrawIndexedIndirectSafe ::+               PFN_vkCmdDrawIndexedIndirect -> HS_vkCmdDrawIndexedIndirect++instance VulkanProc "vkCmdDrawIndexedIndirect" where+    type VkProcType "vkCmdDrawIndexedIndirect" =+         HS_vkCmdDrawIndexedIndirect+    vkProcSymbol = _VkCmdDrawIndexedIndirect++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdDrawIndexedIndirectUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdDrawIndexedIndirectSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdDispatch :: CString++pattern VkCmdDispatch <- (is_VkCmdDispatch -> True)+  where+    VkCmdDispatch = _VkCmdDispatch++{-# INLINE _VkCmdDispatch #-}++_VkCmdDispatch :: CString+_VkCmdDispatch = Ptr "vkCmdDispatch\NUL"##++{-# INLINE is_VkCmdDispatch #-}++is_VkCmdDispatch :: CString -> Bool+is_VkCmdDispatch = (EQ ==) . cmpCStrings _VkCmdDispatch++type VkCmdDispatch = "vkCmdDispatch"++-- |+-- Queues: 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @compute@+--+-- > void vkCmdDispatch+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t groupCountX+-- >     , uint32_t groupCountY+-- >     , uint32_t groupCountZ+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatch vkCmdDispatch registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDispatch <- vkGetInstanceProc @VkCmdDispatch vkInstance+--+-- or less efficient:+--+-- > myCmdDispatch <- vkGetProc @VkCmdDispatch+--+-- __Note:__ @vkCmdDispatchUnsafe@ and @vkCmdDispatchSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdDispatch@ is an alias+--           of @vkCmdDispatchUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdDispatchSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdDispatch" vkCmdDispatchUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Word32 -- ^ groupCountX+                                         -> Word32 -- ^ groupCountY+                                                   -> Word32 -- ^ groupCountZ+                                                             -> IO ()++##else+vkCmdDispatchUnsafe ::+                    VkCommandBuffer -- ^ commandBuffer+                                    -> Word32 -- ^ groupCountX+                                              -> Word32 -- ^ groupCountY+                                                        -> Word32 -- ^ groupCountZ+                                                                  -> IO ()+vkCmdDispatchUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdDispatch)++{-# NOINLINE vkCmdDispatchUnsafe #-}+##endif++-- |+-- Queues: 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @compute@+--+-- > void vkCmdDispatch+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t groupCountX+-- >     , uint32_t groupCountY+-- >     , uint32_t groupCountZ+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatch vkCmdDispatch registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDispatch <- vkGetInstanceProc @VkCmdDispatch vkInstance+--+-- or less efficient:+--+-- > myCmdDispatch <- vkGetProc @VkCmdDispatch+--+-- __Note:__ @vkCmdDispatchUnsafe@ and @vkCmdDispatchSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdDispatch@ is an alias+--           of @vkCmdDispatchUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdDispatchSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdDispatch" vkCmdDispatchSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Word32 -- ^ groupCountX+                                         -> Word32 -- ^ groupCountY+                                                   -> Word32 -- ^ groupCountZ+                                                             -> IO ()++##else+vkCmdDispatchSafe ::+                  VkCommandBuffer -- ^ commandBuffer+                                  -> Word32 -- ^ groupCountX+                                            -> Word32 -- ^ groupCountY+                                                      -> Word32 -- ^ groupCountZ+                                                                -> IO ()+vkCmdDispatchSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdDispatch)++{-# NOINLINE vkCmdDispatchSafe #-}+##endif++-- |+-- Queues: 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @compute@+--+-- > void vkCmdDispatch+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t groupCountX+-- >     , uint32_t groupCountY+-- >     , uint32_t groupCountZ+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatch vkCmdDispatch registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDispatch <- vkGetInstanceProc @VkCmdDispatch vkInstance+--+-- or less efficient:+--+-- > myCmdDispatch <- vkGetProc @VkCmdDispatch+--+-- __Note:__ @vkCmdDispatchUnsafe@ and @vkCmdDispatchSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdDispatch@ is an alias+--           of @vkCmdDispatchUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdDispatchSafe@.+--+vkCmdDispatch ::+              VkCommandBuffer -- ^ commandBuffer+                              -> Word32 -- ^ groupCountX+                                        -> Word32 -- ^ groupCountY+                                                  -> Word32 -- ^ groupCountZ+                                                            -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdDispatch = vkCmdDispatchUnsafe+##else+vkCmdDispatch = vkCmdDispatchSafe++##endif+{-# INLINE vkCmdDispatch #-}++-- | Queues: 'compute'.+--+--   Renderpass: @outside@+--+--   Pipeline: @compute@+--+--   > void vkCmdDispatch+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t groupCountX+--   >     , uint32_t groupCountY+--   >     , uint32_t groupCountZ+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatch vkCmdDispatch registry at www.khronos.org>+type HS_vkCmdDispatch =+     VkCommandBuffer -- ^ commandBuffer+                     -> Word32 -- ^ groupCountX+                               -> Word32 -- ^ groupCountY+                                         -> Word32 -- ^ groupCountZ+                                                   -> IO ()++type PFN_vkCmdDispatch = FunPtr HS_vkCmdDispatch++foreign import ccall unsafe "dynamic" unwrapVkCmdDispatchUnsafe ::+               PFN_vkCmdDispatch -> HS_vkCmdDispatch++foreign import ccall safe "dynamic" unwrapVkCmdDispatchSafe ::+               PFN_vkCmdDispatch -> HS_vkCmdDispatch++instance VulkanProc "vkCmdDispatch" where+    type VkProcType "vkCmdDispatch" = HS_vkCmdDispatch+    vkProcSymbol = _VkCmdDispatch++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdDispatchUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdDispatchSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdDispatchIndirect :: CString++pattern VkCmdDispatchIndirect <- (is_VkCmdDispatchIndirect -> True)+  where+    VkCmdDispatchIndirect = _VkCmdDispatchIndirect++{-# INLINE _VkCmdDispatchIndirect #-}++_VkCmdDispatchIndirect :: CString+_VkCmdDispatchIndirect = Ptr "vkCmdDispatchIndirect\NUL"##++{-# INLINE is_VkCmdDispatchIndirect #-}++is_VkCmdDispatchIndirect :: CString -> Bool+is_VkCmdDispatchIndirect+  = (EQ ==) . cmpCStrings _VkCmdDispatchIndirect++type VkCmdDispatchIndirect = "vkCmdDispatchIndirect"++-- |+-- Queues: 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @compute@+--+-- > void vkCmdDispatchIndirect+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkBuffer buffer+-- >     , VkDeviceSize offset+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatchIndirect vkCmdDispatchIndirect registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDispatchIndirect <- vkGetInstanceProc @VkCmdDispatchIndirect vkInstance+--+-- or less efficient:+--+-- > myCmdDispatchIndirect <- vkGetProc @VkCmdDispatchIndirect+--+-- __Note:__ @vkCmdDispatchIndirectUnsafe@ and @vkCmdDispatchIndirectSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdDispatchIndirect@ is an alias+--           of @vkCmdDispatchIndirectUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdDispatchIndirectSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdDispatchIndirect"+               vkCmdDispatchIndirectUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkBuffer -- ^ buffer+                                           -> VkDeviceSize -- ^ offset+                                                           -> IO ()++##else+vkCmdDispatchIndirectUnsafe ::+                            VkCommandBuffer -- ^ commandBuffer+                                            -> VkBuffer -- ^ buffer+                                                        -> VkDeviceSize -- ^ offset+                                                                        -> IO ()+vkCmdDispatchIndirectUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdDispatchIndirect)++{-# NOINLINE vkCmdDispatchIndirectUnsafe #-}+##endif++-- |+-- Queues: 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @compute@+--+-- > void vkCmdDispatchIndirect+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkBuffer buffer+-- >     , VkDeviceSize offset+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatchIndirect vkCmdDispatchIndirect registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDispatchIndirect <- vkGetInstanceProc @VkCmdDispatchIndirect vkInstance+--+-- or less efficient:+--+-- > myCmdDispatchIndirect <- vkGetProc @VkCmdDispatchIndirect+--+-- __Note:__ @vkCmdDispatchIndirectUnsafe@ and @vkCmdDispatchIndirectSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdDispatchIndirect@ is an alias+--           of @vkCmdDispatchIndirectUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdDispatchIndirectSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdDispatchIndirect"+               vkCmdDispatchIndirectSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkBuffer -- ^ buffer+                                           -> VkDeviceSize -- ^ offset+                                                           -> IO ()++##else+vkCmdDispatchIndirectSafe ::+                          VkCommandBuffer -- ^ commandBuffer+                                          -> VkBuffer -- ^ buffer+                                                      -> VkDeviceSize -- ^ offset+                                                                      -> IO ()+vkCmdDispatchIndirectSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdDispatchIndirect)++{-# NOINLINE vkCmdDispatchIndirectSafe #-}+##endif++-- |+-- Queues: 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @compute@+--+-- > void vkCmdDispatchIndirect+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkBuffer buffer+-- >     , VkDeviceSize offset+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatchIndirect vkCmdDispatchIndirect registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDispatchIndirect <- vkGetInstanceProc @VkCmdDispatchIndirect vkInstance+--+-- or less efficient:+--+-- > myCmdDispatchIndirect <- vkGetProc @VkCmdDispatchIndirect+--+-- __Note:__ @vkCmdDispatchIndirectUnsafe@ and @vkCmdDispatchIndirectSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdDispatchIndirect@ is an alias+--           of @vkCmdDispatchIndirectUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdDispatchIndirectSafe@.+--+vkCmdDispatchIndirect ::+                      VkCommandBuffer -- ^ commandBuffer+                                      -> VkBuffer -- ^ buffer+                                                  -> VkDeviceSize -- ^ offset+                                                                  -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdDispatchIndirect = vkCmdDispatchIndirectUnsafe+##else+vkCmdDispatchIndirect = vkCmdDispatchIndirectSafe++##endif+{-# INLINE vkCmdDispatchIndirect #-}++-- | Queues: 'compute'.+--+--   Renderpass: @outside@+--+--   Pipeline: @compute@+--+--   > void vkCmdDispatchIndirect+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer buffer+--   >     , VkDeviceSize offset+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatchIndirect vkCmdDispatchIndirect registry at www.khronos.org>+type HS_vkCmdDispatchIndirect =+     VkCommandBuffer -- ^ commandBuffer+                     -> VkBuffer -- ^ buffer+                                 -> VkDeviceSize -- ^ offset+                                                 -> IO ()++type PFN_vkCmdDispatchIndirect = FunPtr HS_vkCmdDispatchIndirect++foreign import ccall unsafe "dynamic"+               unwrapVkCmdDispatchIndirectUnsafe ::+               PFN_vkCmdDispatchIndirect -> HS_vkCmdDispatchIndirect++foreign import ccall safe "dynamic" unwrapVkCmdDispatchIndirectSafe+               :: PFN_vkCmdDispatchIndirect -> HS_vkCmdDispatchIndirect++instance VulkanProc "vkCmdDispatchIndirect" where+    type VkProcType "vkCmdDispatchIndirect" = HS_vkCmdDispatchIndirect+    vkProcSymbol = _VkCmdDispatchIndirect++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdDispatchIndirectUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdDispatchIndirectSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdCopyBuffer :: CString++pattern VkCmdCopyBuffer <- (is_VkCmdCopyBuffer -> True)+  where+    VkCmdCopyBuffer = _VkCmdCopyBuffer++{-# INLINE _VkCmdCopyBuffer #-}++_VkCmdCopyBuffer :: CString+_VkCmdCopyBuffer = Ptr "vkCmdCopyBuffer\NUL"##++{-# INLINE is_VkCmdCopyBuffer #-}++is_VkCmdCopyBuffer :: CString -> Bool+is_VkCmdCopyBuffer = (EQ ==) . cmpCStrings _VkCmdCopyBuffer++type VkCmdCopyBuffer = "vkCmdCopyBuffer"++-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyBuffer+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkBuffer srcBuffer+-- >     , VkBuffer dstBuffer+-- >     , uint32_t regionCount+-- >     , const VkBufferCopy* pRegions+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyBuffer vkCmdCopyBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdCopyBuffer <- vkGetInstanceProc @VkCmdCopyBuffer vkInstance+--+-- or less efficient:+--+-- > myCmdCopyBuffer <- vkGetProc @VkCmdCopyBuffer+--+-- __Note:__ @vkCmdCopyBufferUnsafe@ and @vkCmdCopyBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdCopyBuffer@ is an alias+--           of @vkCmdCopyBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdCopyBufferSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdCopyBuffer" vkCmdCopyBufferUnsafe+               ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkBuffer -- ^ srcBuffer+                          -> VkBuffer -- ^ dstBuffer+                                      -> Word32 -- ^ regionCount+                                                -> Ptr VkBufferCopy -- ^ pRegions+                                                                    -> IO ()++##else+vkCmdCopyBufferUnsafe ::+                      VkCommandBuffer -- ^ commandBuffer+                                      ->+                        VkBuffer -- ^ srcBuffer+                                 -> VkBuffer -- ^ dstBuffer+                                             -> Word32 -- ^ regionCount+                                                       -> Ptr VkBufferCopy -- ^ pRegions+                                                                           -> IO ()+vkCmdCopyBufferUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdCopyBuffer)++{-# NOINLINE vkCmdCopyBufferUnsafe #-}+##endif++-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyBuffer+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkBuffer srcBuffer+-- >     , VkBuffer dstBuffer+-- >     , uint32_t regionCount+-- >     , const VkBufferCopy* pRegions+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyBuffer vkCmdCopyBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdCopyBuffer <- vkGetInstanceProc @VkCmdCopyBuffer vkInstance+--+-- or less efficient:+--+-- > myCmdCopyBuffer <- vkGetProc @VkCmdCopyBuffer+--+-- __Note:__ @vkCmdCopyBufferUnsafe@ and @vkCmdCopyBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdCopyBuffer@ is an alias+--           of @vkCmdCopyBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdCopyBufferSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdCopyBuffer" vkCmdCopyBufferSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkBuffer -- ^ srcBuffer+                          -> VkBuffer -- ^ dstBuffer+                                      -> Word32 -- ^ regionCount+                                                -> Ptr VkBufferCopy -- ^ pRegions+                                                                    -> IO ()++##else+vkCmdCopyBufferSafe ::+                    VkCommandBuffer -- ^ commandBuffer+                                    ->+                      VkBuffer -- ^ srcBuffer+                               -> VkBuffer -- ^ dstBuffer+                                           -> Word32 -- ^ regionCount+                                                     -> Ptr VkBufferCopy -- ^ pRegions+                                                                         -> IO ()+vkCmdCopyBufferSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdCopyBuffer)++{-# NOINLINE vkCmdCopyBufferSafe #-}+##endif++-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyBuffer+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkBuffer srcBuffer+-- >     , VkBuffer dstBuffer+-- >     , uint32_t regionCount+-- >     , const VkBufferCopy* pRegions+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyBuffer vkCmdCopyBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdCopyBuffer <- vkGetInstanceProc @VkCmdCopyBuffer vkInstance+--+-- or less efficient:+--+-- > myCmdCopyBuffer <- vkGetProc @VkCmdCopyBuffer+--+-- __Note:__ @vkCmdCopyBufferUnsafe@ and @vkCmdCopyBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdCopyBuffer@ is an alias+--           of @vkCmdCopyBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdCopyBufferSafe@.+--+vkCmdCopyBuffer ::+                VkCommandBuffer -- ^ commandBuffer+                                ->+                  VkBuffer -- ^ srcBuffer+                           -> VkBuffer -- ^ dstBuffer+                                       -> Word32 -- ^ regionCount+                                                 -> Ptr VkBufferCopy -- ^ pRegions+                                                                     -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdCopyBuffer = vkCmdCopyBufferUnsafe+##else+vkCmdCopyBuffer = vkCmdCopyBufferSafe++##endif+{-# INLINE vkCmdCopyBuffer #-}++-- | Queues: 'transfer', 'graphics', 'compute'.+--+--   Renderpass: @outside@+--+--   Pipeline: @transfer@+--+--   > void vkCmdCopyBuffer+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer srcBuffer+--   >     , VkBuffer dstBuffer+--   >     , uint32_t regionCount+--   >     , const VkBufferCopy* pRegions+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyBuffer vkCmdCopyBuffer registry at www.khronos.org>+type HS_vkCmdCopyBuffer =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       VkBuffer -- ^ srcBuffer+                -> VkBuffer -- ^ dstBuffer+                            -> Word32 -- ^ regionCount+                                      -> Ptr VkBufferCopy -- ^ pRegions+                                                          -> IO ()++type PFN_vkCmdCopyBuffer = FunPtr HS_vkCmdCopyBuffer++foreign import ccall unsafe "dynamic" unwrapVkCmdCopyBufferUnsafe+               :: PFN_vkCmdCopyBuffer -> HS_vkCmdCopyBuffer++foreign import ccall safe "dynamic" unwrapVkCmdCopyBufferSafe ::+               PFN_vkCmdCopyBuffer -> HS_vkCmdCopyBuffer++instance VulkanProc "vkCmdCopyBuffer" where+    type VkProcType "vkCmdCopyBuffer" = HS_vkCmdCopyBuffer+    vkProcSymbol = _VkCmdCopyBuffer++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdCopyBufferUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdCopyBufferSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdCopyImage :: CString++pattern VkCmdCopyImage <- (is_VkCmdCopyImage -> True)+  where+    VkCmdCopyImage = _VkCmdCopyImage++{-# INLINE _VkCmdCopyImage #-}++_VkCmdCopyImage :: CString+_VkCmdCopyImage = Ptr "vkCmdCopyImage\NUL"##++{-# INLINE is_VkCmdCopyImage #-}++is_VkCmdCopyImage :: CString -> Bool+is_VkCmdCopyImage = (EQ ==) . cmpCStrings _VkCmdCopyImage++type VkCmdCopyImage = "vkCmdCopyImage"++-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyImage+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkImage srcImage+-- >     , VkImageLayout srcImageLayout+-- >     , VkImage dstImage+-- >     , VkImageLayout dstImageLayout+-- >     , uint32_t regionCount+-- >     , const VkImageCopy* pRegions+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyImage vkCmdCopyImage registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdCopyImage <- vkGetInstanceProc @VkCmdCopyImage vkInstance+--+-- or less efficient:+--+-- > myCmdCopyImage <- vkGetProc @VkCmdCopyImage+--+-- __Note:__ @vkCmdCopyImageUnsafe@ and @vkCmdCopyImageSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdCopyImage@ is an alias+--           of @vkCmdCopyImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdCopyImageSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdCopyImage" vkCmdCopyImageUnsafe+               ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkImage -- ^ srcImage+                         ->+                   VkImageLayout -- ^ srcImageLayout+                                 ->+                     VkImage -- ^ dstImage+                             -> VkImageLayout -- ^ dstImageLayout+                                              -> Word32 -- ^ regionCount+                                                        -> Ptr VkImageCopy -- ^ pRegions+                                                                           -> IO ()++##else+vkCmdCopyImageUnsafe ::+                     VkCommandBuffer -- ^ commandBuffer+                                     ->+                       VkImage -- ^ srcImage+                               ->+                         VkImageLayout -- ^ srcImageLayout+                                       ->+                           VkImage -- ^ dstImage+                                   -> VkImageLayout -- ^ dstImageLayout+                                                    -> Word32 -- ^ regionCount+                                                              -> Ptr VkImageCopy -- ^ pRegions+                                                                                 -> IO ()+vkCmdCopyImageUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdCopyImage)++{-# NOINLINE vkCmdCopyImageUnsafe #-}+##endif++-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyImage+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkImage srcImage+-- >     , VkImageLayout srcImageLayout+-- >     , VkImage dstImage+-- >     , VkImageLayout dstImageLayout+-- >     , uint32_t regionCount+-- >     , const VkImageCopy* pRegions+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyImage vkCmdCopyImage registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdCopyImage <- vkGetInstanceProc @VkCmdCopyImage vkInstance+--+-- or less efficient:+--+-- > myCmdCopyImage <- vkGetProc @VkCmdCopyImage+--+-- __Note:__ @vkCmdCopyImageUnsafe@ and @vkCmdCopyImageSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdCopyImage@ is an alias+--           of @vkCmdCopyImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdCopyImageSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdCopyImage" vkCmdCopyImageSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkImage -- ^ srcImage+                         ->+                   VkImageLayout -- ^ srcImageLayout+                                 ->+                     VkImage -- ^ dstImage+                             -> VkImageLayout -- ^ dstImageLayout+                                              -> Word32 -- ^ regionCount+                                                        -> Ptr VkImageCopy -- ^ pRegions+                                                                           -> IO ()++##else+vkCmdCopyImageSafe ::+                   VkCommandBuffer -- ^ commandBuffer+                                   ->+                     VkImage -- ^ srcImage+                             ->+                       VkImageLayout -- ^ srcImageLayout+                                     ->+                         VkImage -- ^ dstImage+                                 -> VkImageLayout -- ^ dstImageLayout+                                                  -> Word32 -- ^ regionCount+                                                            -> Ptr VkImageCopy -- ^ pRegions+                                                                               -> IO ()+vkCmdCopyImageSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdCopyImage)++{-# NOINLINE vkCmdCopyImageSafe #-}+##endif++-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyImage+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkImage srcImage+-- >     , VkImageLayout srcImageLayout+-- >     , VkImage dstImage+-- >     , VkImageLayout dstImageLayout+-- >     , uint32_t regionCount+-- >     , const VkImageCopy* pRegions+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyImage vkCmdCopyImage registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdCopyImage <- vkGetInstanceProc @VkCmdCopyImage vkInstance+--+-- or less efficient:+--+-- > myCmdCopyImage <- vkGetProc @VkCmdCopyImage+--+-- __Note:__ @vkCmdCopyImageUnsafe@ and @vkCmdCopyImageSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdCopyImage@ is an alias+--           of @vkCmdCopyImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdCopyImageSafe@.+--+vkCmdCopyImage ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkImage -- ^ srcImage+                         ->+                   VkImageLayout -- ^ srcImageLayout+                                 ->+                     VkImage -- ^ dstImage+                             -> VkImageLayout -- ^ dstImageLayout+                                              -> Word32 -- ^ regionCount+                                                        -> Ptr VkImageCopy -- ^ pRegions+                                                                           -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdCopyImage = vkCmdCopyImageUnsafe+##else+vkCmdCopyImage = vkCmdCopyImageSafe++##endif+{-# INLINE vkCmdCopyImage #-}++-- | Queues: 'transfer', 'graphics', 'compute'.+--+--   Renderpass: @outside@+--+--   Pipeline: @transfer@+--+--   > void vkCmdCopyImage+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkImage srcImage+--   >     , VkImageLayout srcImageLayout+--   >     , VkImage dstImage+--   >     , VkImageLayout dstImageLayout+--   >     , uint32_t regionCount+--   >     , const VkImageCopy* pRegions+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyImage vkCmdCopyImage registry at www.khronos.org>+type HS_vkCmdCopyImage =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       VkImage -- ^ srcImage+               ->+         VkImageLayout -- ^ srcImageLayout+                       ->+           VkImage -- ^ dstImage+                   -> VkImageLayout -- ^ dstImageLayout+                                    -> Word32 -- ^ regionCount+                                              -> Ptr VkImageCopy -- ^ pRegions+                                                                 -> IO ()++type PFN_vkCmdCopyImage = FunPtr HS_vkCmdCopyImage++foreign import ccall unsafe "dynamic" unwrapVkCmdCopyImageUnsafe ::+               PFN_vkCmdCopyImage -> HS_vkCmdCopyImage++foreign import ccall safe "dynamic" unwrapVkCmdCopyImageSafe ::+               PFN_vkCmdCopyImage -> HS_vkCmdCopyImage++instance VulkanProc "vkCmdCopyImage" where+    type VkProcType "vkCmdCopyImage" = HS_vkCmdCopyImage+    vkProcSymbol = _VkCmdCopyImage++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdCopyImageUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdCopyImageSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdBlitImage :: CString++pattern VkCmdBlitImage <- (is_VkCmdBlitImage -> True)+  where+    VkCmdBlitImage = _VkCmdBlitImage++{-# INLINE _VkCmdBlitImage #-}++_VkCmdBlitImage :: CString+_VkCmdBlitImage = Ptr "vkCmdBlitImage\NUL"##++{-# INLINE is_VkCmdBlitImage #-}++is_VkCmdBlitImage :: CString -> Bool+is_VkCmdBlitImage = (EQ ==) . cmpCStrings _VkCmdBlitImage++type VkCmdBlitImage = "vkCmdBlitImage"++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdBlitImage+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkImage srcImage+-- >     , VkImageLayout srcImageLayout+-- >     , VkImage dstImage+-- >     , VkImageLayout dstImageLayout+-- >     , uint32_t regionCount+-- >     , const VkImageBlit* pRegions+-- >     , VkFilter filter+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBlitImage vkCmdBlitImage registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBlitImage <- vkGetInstanceProc @VkCmdBlitImage vkInstance+--+-- or less efficient:+--+-- > myCmdBlitImage <- vkGetProc @VkCmdBlitImage+--+-- __Note:__ @vkCmdBlitImageUnsafe@ and @vkCmdBlitImageSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdBlitImage@ is an alias+--           of @vkCmdBlitImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdBlitImageSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdBlitImage" vkCmdBlitImageUnsafe+               ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkImage -- ^ srcImage+                         ->+                   VkImageLayout -- ^ srcImageLayout+                                 ->+                     VkImage -- ^ dstImage+                             ->+                       VkImageLayout -- ^ dstImageLayout+                                     -> Word32 -- ^ regionCount+                                               -> Ptr VkImageBlit -- ^ pRegions+                                                                  -> VkFilter -- ^ filter+                                                                              -> IO ()++##else+vkCmdBlitImageUnsafe ::+                     VkCommandBuffer -- ^ commandBuffer+                                     ->+                       VkImage -- ^ srcImage+                               ->+                         VkImageLayout -- ^ srcImageLayout+                                       ->+                           VkImage -- ^ dstImage+                                   ->+                             VkImageLayout -- ^ dstImageLayout+                                           -> Word32 -- ^ regionCount+                                                     -> Ptr VkImageBlit -- ^ pRegions+                                                                        -> VkFilter -- ^ filter+                                                                                    -> IO ()+vkCmdBlitImageUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdBlitImage)++{-# NOINLINE vkCmdBlitImageUnsafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdBlitImage+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkImage srcImage+-- >     , VkImageLayout srcImageLayout+-- >     , VkImage dstImage+-- >     , VkImageLayout dstImageLayout+-- >     , uint32_t regionCount+-- >     , const VkImageBlit* pRegions+-- >     , VkFilter filter+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBlitImage vkCmdBlitImage registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBlitImage <- vkGetInstanceProc @VkCmdBlitImage vkInstance+--+-- or less efficient:+--+-- > myCmdBlitImage <- vkGetProc @VkCmdBlitImage+--+-- __Note:__ @vkCmdBlitImageUnsafe@ and @vkCmdBlitImageSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdBlitImage@ is an alias+--           of @vkCmdBlitImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdBlitImageSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdBlitImage" vkCmdBlitImageSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkImage -- ^ srcImage+                         ->+                   VkImageLayout -- ^ srcImageLayout+                                 ->+                     VkImage -- ^ dstImage+                             ->+                       VkImageLayout -- ^ dstImageLayout+                                     -> Word32 -- ^ regionCount+                                               -> Ptr VkImageBlit -- ^ pRegions+                                                                  -> VkFilter -- ^ filter+                                                                              -> IO ()++##else+vkCmdBlitImageSafe ::+                   VkCommandBuffer -- ^ commandBuffer+                                   ->+                     VkImage -- ^ srcImage+                             ->+                       VkImageLayout -- ^ srcImageLayout+                                     ->+                         VkImage -- ^ dstImage+                                 ->+                           VkImageLayout -- ^ dstImageLayout+                                         -> Word32 -- ^ regionCount+                                                   -> Ptr VkImageBlit -- ^ pRegions+                                                                      -> VkFilter -- ^ filter+                                                                                  -> IO ()+vkCmdBlitImageSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdBlitImage)++{-# NOINLINE vkCmdBlitImageSafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdBlitImage+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkImage srcImage+-- >     , VkImageLayout srcImageLayout+-- >     , VkImage dstImage+-- >     , VkImageLayout dstImageLayout+-- >     , uint32_t regionCount+-- >     , const VkImageBlit* pRegions+-- >     , VkFilter filter+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBlitImage vkCmdBlitImage registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBlitImage <- vkGetInstanceProc @VkCmdBlitImage vkInstance+--+-- or less efficient:+--+-- > myCmdBlitImage <- vkGetProc @VkCmdBlitImage+--+-- __Note:__ @vkCmdBlitImageUnsafe@ and @vkCmdBlitImageSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdBlitImage@ is an alias+--           of @vkCmdBlitImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdBlitImageSafe@.+--+vkCmdBlitImage ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkImage -- ^ srcImage+                         ->+                   VkImageLayout -- ^ srcImageLayout+                                 ->+                     VkImage -- ^ dstImage+                             ->+                       VkImageLayout -- ^ dstImageLayout+                                     -> Word32 -- ^ regionCount+                                               -> Ptr VkImageBlit -- ^ pRegions+                                                                  -> VkFilter -- ^ filter+                                                                              -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdBlitImage = vkCmdBlitImageUnsafe+##else+vkCmdBlitImage = vkCmdBlitImageSafe++##endif+{-# INLINE vkCmdBlitImage #-}++-- | Queues: 'graphics'.+--+--   Renderpass: @outside@+--+--   Pipeline: @transfer@+--+--   > void vkCmdBlitImage+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkImage srcImage+--   >     , VkImageLayout srcImageLayout+--   >     , VkImage dstImage+--   >     , VkImageLayout dstImageLayout+--   >     , uint32_t regionCount+--   >     , const VkImageBlit* pRegions+--   >     , VkFilter filter+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBlitImage vkCmdBlitImage registry at www.khronos.org>+type HS_vkCmdBlitImage =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       VkImage -- ^ srcImage+               ->+         VkImageLayout -- ^ srcImageLayout+                       ->+           VkImage -- ^ dstImage+                   ->+             VkImageLayout -- ^ dstImageLayout+                           -> Word32 -- ^ regionCount+                                     -> Ptr VkImageBlit -- ^ pRegions+                                                        -> VkFilter -- ^ filter+                                                                    -> IO ()++type PFN_vkCmdBlitImage = FunPtr HS_vkCmdBlitImage++foreign import ccall unsafe "dynamic" unwrapVkCmdBlitImageUnsafe ::+               PFN_vkCmdBlitImage -> HS_vkCmdBlitImage++foreign import ccall safe "dynamic" unwrapVkCmdBlitImageSafe ::+               PFN_vkCmdBlitImage -> HS_vkCmdBlitImage++instance VulkanProc "vkCmdBlitImage" where+    type VkProcType "vkCmdBlitImage" = HS_vkCmdBlitImage+    vkProcSymbol = _VkCmdBlitImage++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdBlitImageUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdBlitImageSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdCopyBufferToImage :: CString++pattern VkCmdCopyBufferToImage <-+        (is_VkCmdCopyBufferToImage -> True)+  where+    VkCmdCopyBufferToImage = _VkCmdCopyBufferToImage++{-# INLINE _VkCmdCopyBufferToImage #-}++_VkCmdCopyBufferToImage :: CString+_VkCmdCopyBufferToImage = Ptr "vkCmdCopyBufferToImage\NUL"##++{-# INLINE is_VkCmdCopyBufferToImage #-}++is_VkCmdCopyBufferToImage :: CString -> Bool+is_VkCmdCopyBufferToImage+  = (EQ ==) . cmpCStrings _VkCmdCopyBufferToImage++type VkCmdCopyBufferToImage = "vkCmdCopyBufferToImage"++-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyBufferToImage+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkBuffer srcBuffer+-- >     , VkImage dstImage+-- >     , VkImageLayout dstImageLayout+-- >     , uint32_t regionCount+-- >     , const VkBufferImageCopy* pRegions+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyBufferToImage vkCmdCopyBufferToImage registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdCopyBufferToImage <- vkGetInstanceProc @VkCmdCopyBufferToImage vkInstance+--+-- or less efficient:+--+-- > myCmdCopyBufferToImage <- vkGetProc @VkCmdCopyBufferToImage+--+-- __Note:__ @vkCmdCopyBufferToImageUnsafe@ and @vkCmdCopyBufferToImageSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdCopyBufferToImage@ is an alias+--           of @vkCmdCopyBufferToImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdCopyBufferToImageSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdCopyBufferToImage"+               vkCmdCopyBufferToImageUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkBuffer -- ^ srcBuffer+                          ->+                   VkImage -- ^ dstImage+                           ->+                     VkImageLayout -- ^ dstImageLayout+                                   -> Word32 -- ^ regionCount+                                             -> Ptr VkBufferImageCopy -- ^ pRegions+                                                                      -> IO ()++##else+vkCmdCopyBufferToImageUnsafe ::+                             VkCommandBuffer -- ^ commandBuffer+                                             ->+                               VkBuffer -- ^ srcBuffer+                                        ->+                                 VkImage -- ^ dstImage+                                         ->+                                   VkImageLayout -- ^ dstImageLayout+                                                 -> Word32 -- ^ regionCount+                                                           -> Ptr VkBufferImageCopy -- ^ pRegions+                                                                                    -> IO ()+vkCmdCopyBufferToImageUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdCopyBufferToImage)++{-# NOINLINE vkCmdCopyBufferToImageUnsafe #-}+##endif++-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyBufferToImage+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkBuffer srcBuffer+-- >     , VkImage dstImage+-- >     , VkImageLayout dstImageLayout+-- >     , uint32_t regionCount+-- >     , const VkBufferImageCopy* pRegions+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyBufferToImage vkCmdCopyBufferToImage registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdCopyBufferToImage <- vkGetInstanceProc @VkCmdCopyBufferToImage vkInstance+--+-- or less efficient:+--+-- > myCmdCopyBufferToImage <- vkGetProc @VkCmdCopyBufferToImage+--+-- __Note:__ @vkCmdCopyBufferToImageUnsafe@ and @vkCmdCopyBufferToImageSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdCopyBufferToImage@ is an alias+--           of @vkCmdCopyBufferToImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdCopyBufferToImageSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdCopyBufferToImage"+               vkCmdCopyBufferToImageSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkBuffer -- ^ srcBuffer+                          ->+                   VkImage -- ^ dstImage+                           ->+                     VkImageLayout -- ^ dstImageLayout+                                   -> Word32 -- ^ regionCount+                                             -> Ptr VkBufferImageCopy -- ^ pRegions+                                                                      -> IO ()++##else+vkCmdCopyBufferToImageSafe ::+                           VkCommandBuffer -- ^ commandBuffer+                                           ->+                             VkBuffer -- ^ srcBuffer+                                      ->+                               VkImage -- ^ dstImage+                                       ->+                                 VkImageLayout -- ^ dstImageLayout+                                               -> Word32 -- ^ regionCount+                                                         -> Ptr VkBufferImageCopy -- ^ pRegions+                                                                                  -> IO ()+vkCmdCopyBufferToImageSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdCopyBufferToImage)++{-# NOINLINE vkCmdCopyBufferToImageSafe #-}+##endif++-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyBufferToImage+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkBuffer srcBuffer+-- >     , VkImage dstImage+-- >     , VkImageLayout dstImageLayout+-- >     , uint32_t regionCount+-- >     , const VkBufferImageCopy* pRegions+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyBufferToImage vkCmdCopyBufferToImage registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdCopyBufferToImage <- vkGetInstanceProc @VkCmdCopyBufferToImage vkInstance+--+-- or less efficient:+--+-- > myCmdCopyBufferToImage <- vkGetProc @VkCmdCopyBufferToImage+--+-- __Note:__ @vkCmdCopyBufferToImageUnsafe@ and @vkCmdCopyBufferToImageSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdCopyBufferToImage@ is an alias+--           of @vkCmdCopyBufferToImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdCopyBufferToImageSafe@.+--+vkCmdCopyBufferToImage ::+                       VkCommandBuffer -- ^ commandBuffer+                                       ->+                         VkBuffer -- ^ srcBuffer+                                  ->+                           VkImage -- ^ dstImage+                                   ->+                             VkImageLayout -- ^ dstImageLayout+                                           -> Word32 -- ^ regionCount+                                                     -> Ptr VkBufferImageCopy -- ^ pRegions+                                                                              -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdCopyBufferToImage = vkCmdCopyBufferToImageUnsafe+##else+vkCmdCopyBufferToImage = vkCmdCopyBufferToImageSafe++##endif+{-# INLINE vkCmdCopyBufferToImage #-}++-- | Queues: 'transfer', 'graphics', 'compute'.+--+--   Renderpass: @outside@+--+--   Pipeline: @transfer@+--+--   > void vkCmdCopyBufferToImage+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer srcBuffer+--   >     , VkImage dstImage+--   >     , VkImageLayout dstImageLayout+--   >     , uint32_t regionCount+--   >     , const VkBufferImageCopy* pRegions+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyBufferToImage vkCmdCopyBufferToImage registry at www.khronos.org>+type HS_vkCmdCopyBufferToImage =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       VkBuffer -- ^ srcBuffer+                ->+         VkImage -- ^ dstImage+                 ->+           VkImageLayout -- ^ dstImageLayout+                         -> Word32 -- ^ regionCount+                                   -> Ptr VkBufferImageCopy -- ^ pRegions+                                                            -> IO ()++type PFN_vkCmdCopyBufferToImage = FunPtr HS_vkCmdCopyBufferToImage++foreign import ccall unsafe "dynamic"+               unwrapVkCmdCopyBufferToImageUnsafe ::+               PFN_vkCmdCopyBufferToImage -> HS_vkCmdCopyBufferToImage++foreign import ccall safe "dynamic"+               unwrapVkCmdCopyBufferToImageSafe ::+               PFN_vkCmdCopyBufferToImage -> HS_vkCmdCopyBufferToImage++instance VulkanProc "vkCmdCopyBufferToImage" where+    type VkProcType "vkCmdCopyBufferToImage" =+         HS_vkCmdCopyBufferToImage+    vkProcSymbol = _VkCmdCopyBufferToImage++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdCopyBufferToImageUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdCopyBufferToImageSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdCopyImageToBuffer :: CString++pattern VkCmdCopyImageToBuffer <-+        (is_VkCmdCopyImageToBuffer -> True)+  where+    VkCmdCopyImageToBuffer = _VkCmdCopyImageToBuffer++{-# INLINE _VkCmdCopyImageToBuffer #-}++_VkCmdCopyImageToBuffer :: CString+_VkCmdCopyImageToBuffer = Ptr "vkCmdCopyImageToBuffer\NUL"##++{-# INLINE is_VkCmdCopyImageToBuffer #-}++is_VkCmdCopyImageToBuffer :: CString -> Bool+is_VkCmdCopyImageToBuffer+  = (EQ ==) . cmpCStrings _VkCmdCopyImageToBuffer++type VkCmdCopyImageToBuffer = "vkCmdCopyImageToBuffer"++-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyImageToBuffer+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkImage srcImage+-- >     , VkImageLayout srcImageLayout+-- >     , VkBuffer dstBuffer+-- >     , uint32_t regionCount+-- >     , const VkBufferImageCopy* pRegions+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdCopyImageToBuffer <- vkGetInstanceProc @VkCmdCopyImageToBuffer vkInstance+--+-- or less efficient:+--+-- > myCmdCopyImageToBuffer <- vkGetProc @VkCmdCopyImageToBuffer+--+-- __Note:__ @vkCmdCopyImageToBufferUnsafe@ and @vkCmdCopyImageToBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdCopyImageToBuffer@ is an alias+--           of @vkCmdCopyImageToBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdCopyImageToBufferSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdCopyImageToBuffer"+               vkCmdCopyImageToBufferUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkImage -- ^ srcImage+                         ->+                   VkImageLayout -- ^ srcImageLayout+                                 ->+                     VkBuffer -- ^ dstBuffer+                              -> Word32 -- ^ regionCount+                                        -> Ptr VkBufferImageCopy -- ^ pRegions+                                                                 -> IO ()++##else+vkCmdCopyImageToBufferUnsafe ::+                             VkCommandBuffer -- ^ commandBuffer+                                             ->+                               VkImage -- ^ srcImage+                                       ->+                                 VkImageLayout -- ^ srcImageLayout+                                               ->+                                   VkBuffer -- ^ dstBuffer+                                            -> Word32 -- ^ regionCount+                                                      -> Ptr VkBufferImageCopy -- ^ pRegions+                                                                               -> IO ()+vkCmdCopyImageToBufferUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdCopyImageToBuffer)++{-# NOINLINE vkCmdCopyImageToBufferUnsafe #-}+##endif++-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyImageToBuffer+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkImage srcImage+-- >     , VkImageLayout srcImageLayout+-- >     , VkBuffer dstBuffer+-- >     , uint32_t regionCount+-- >     , const VkBufferImageCopy* pRegions+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdCopyImageToBuffer <- vkGetInstanceProc @VkCmdCopyImageToBuffer vkInstance+--+-- or less efficient:+--+-- > myCmdCopyImageToBuffer <- vkGetProc @VkCmdCopyImageToBuffer+--+-- __Note:__ @vkCmdCopyImageToBufferUnsafe@ and @vkCmdCopyImageToBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdCopyImageToBuffer@ is an alias+--           of @vkCmdCopyImageToBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdCopyImageToBufferSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdCopyImageToBuffer"+               vkCmdCopyImageToBufferSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkImage -- ^ srcImage+                         ->+                   VkImageLayout -- ^ srcImageLayout+                                 ->+                     VkBuffer -- ^ dstBuffer+                              -> Word32 -- ^ regionCount+                                        -> Ptr VkBufferImageCopy -- ^ pRegions+                                                                 -> IO ()++##else+vkCmdCopyImageToBufferSafe ::+                           VkCommandBuffer -- ^ commandBuffer+                                           ->+                             VkImage -- ^ srcImage+                                     ->+                               VkImageLayout -- ^ srcImageLayout+                                             ->+                                 VkBuffer -- ^ dstBuffer+                                          -> Word32 -- ^ regionCount+                                                    -> Ptr VkBufferImageCopy -- ^ pRegions+                                                                             -> IO ()+vkCmdCopyImageToBufferSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdCopyImageToBuffer)++{-# NOINLINE vkCmdCopyImageToBufferSafe #-}+##endif++-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyImageToBuffer+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkImage srcImage+-- >     , VkImageLayout srcImageLayout+-- >     , VkBuffer dstBuffer+-- >     , uint32_t regionCount+-- >     , const VkBufferImageCopy* pRegions+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdCopyImageToBuffer <- vkGetInstanceProc @VkCmdCopyImageToBuffer vkInstance+--+-- or less efficient:+--+-- > myCmdCopyImageToBuffer <- vkGetProc @VkCmdCopyImageToBuffer+--+-- __Note:__ @vkCmdCopyImageToBufferUnsafe@ and @vkCmdCopyImageToBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdCopyImageToBuffer@ is an alias+--           of @vkCmdCopyImageToBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdCopyImageToBufferSafe@.+--+vkCmdCopyImageToBuffer ::+                       VkCommandBuffer -- ^ commandBuffer+                                       ->+                         VkImage -- ^ srcImage+                                 ->+                           VkImageLayout -- ^ srcImageLayout+                                         ->+                             VkBuffer -- ^ dstBuffer+                                      -> Word32 -- ^ regionCount+                                                -> Ptr VkBufferImageCopy -- ^ pRegions+                                                                         -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdCopyImageToBuffer = vkCmdCopyImageToBufferUnsafe+##else+vkCmdCopyImageToBuffer = vkCmdCopyImageToBufferSafe++##endif+{-# INLINE vkCmdCopyImageToBuffer #-}++-- | Queues: 'transfer', 'graphics', 'compute'.+--+--   Renderpass: @outside@+--+--   Pipeline: @transfer@+--+--   > void vkCmdCopyImageToBuffer+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkImage srcImage+--   >     , VkImageLayout srcImageLayout+--   >     , VkBuffer dstBuffer+--   >     , uint32_t regionCount+--   >     , const VkBufferImageCopy* pRegions+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer registry at www.khronos.org>+type HS_vkCmdCopyImageToBuffer =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       VkImage -- ^ srcImage+               ->+         VkImageLayout -- ^ srcImageLayout+                       ->+           VkBuffer -- ^ dstBuffer+                    -> Word32 -- ^ regionCount+                              -> Ptr VkBufferImageCopy -- ^ pRegions+                                                       -> IO ()++type PFN_vkCmdCopyImageToBuffer = FunPtr HS_vkCmdCopyImageToBuffer++foreign import ccall unsafe "dynamic"+               unwrapVkCmdCopyImageToBufferUnsafe ::+               PFN_vkCmdCopyImageToBuffer -> HS_vkCmdCopyImageToBuffer++foreign import ccall safe "dynamic"+               unwrapVkCmdCopyImageToBufferSafe ::+               PFN_vkCmdCopyImageToBuffer -> HS_vkCmdCopyImageToBuffer++instance VulkanProc "vkCmdCopyImageToBuffer" where+    type VkProcType "vkCmdCopyImageToBuffer" =+         HS_vkCmdCopyImageToBuffer+    vkProcSymbol = _VkCmdCopyImageToBuffer++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdCopyImageToBufferUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdCopyImageToBufferSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdUpdateBuffer :: CString++pattern VkCmdUpdateBuffer <- (is_VkCmdUpdateBuffer -> True)+  where+    VkCmdUpdateBuffer = _VkCmdUpdateBuffer++{-# INLINE _VkCmdUpdateBuffer #-}++_VkCmdUpdateBuffer :: CString+_VkCmdUpdateBuffer = Ptr "vkCmdUpdateBuffer\NUL"##++{-# INLINE is_VkCmdUpdateBuffer #-}++is_VkCmdUpdateBuffer :: CString -> Bool+is_VkCmdUpdateBuffer = (EQ ==) . cmpCStrings _VkCmdUpdateBuffer++type VkCmdUpdateBuffer = "vkCmdUpdateBuffer"++-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdUpdateBuffer+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkBuffer dstBuffer+-- >     , VkDeviceSize dstOffset+-- >     , VkDeviceSize dataSize+-- >     , const void* pData+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdUpdateBuffer vkCmdUpdateBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdUpdateBuffer <- vkGetInstanceProc @VkCmdUpdateBuffer vkInstance+--+-- or less efficient:+--+-- > myCmdUpdateBuffer <- vkGetProc @VkCmdUpdateBuffer+--+-- __Note:__ @vkCmdUpdateBufferUnsafe@ and @vkCmdUpdateBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdUpdateBuffer@ is an alias+--           of @vkCmdUpdateBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdUpdateBufferSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdUpdateBuffer"+               vkCmdUpdateBufferUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkBuffer -- ^ dstBuffer+                          -> VkDeviceSize -- ^ dstOffset+                                          -> VkDeviceSize -- ^ dataSize+                                                          -> Ptr Void -- ^ pData+                                                                      -> IO ()++##else+vkCmdUpdateBufferUnsafe ::+                        VkCommandBuffer -- ^ commandBuffer+                                        ->+                          VkBuffer -- ^ dstBuffer+                                   -> VkDeviceSize -- ^ dstOffset+                                                   -> VkDeviceSize -- ^ dataSize+                                                                   -> Ptr Void -- ^ pData+                                                                               -> IO ()+vkCmdUpdateBufferUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdUpdateBuffer)++{-# NOINLINE vkCmdUpdateBufferUnsafe #-}+##endif++-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdUpdateBuffer+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkBuffer dstBuffer+-- >     , VkDeviceSize dstOffset+-- >     , VkDeviceSize dataSize+-- >     , const void* pData+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdUpdateBuffer vkCmdUpdateBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdUpdateBuffer <- vkGetInstanceProc @VkCmdUpdateBuffer vkInstance+--+-- or less efficient:+--+-- > myCmdUpdateBuffer <- vkGetProc @VkCmdUpdateBuffer+--+-- __Note:__ @vkCmdUpdateBufferUnsafe@ and @vkCmdUpdateBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdUpdateBuffer@ is an alias+--           of @vkCmdUpdateBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdUpdateBufferSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdUpdateBuffer" vkCmdUpdateBufferSafe+               ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkBuffer -- ^ dstBuffer+                          -> VkDeviceSize -- ^ dstOffset+                                          -> VkDeviceSize -- ^ dataSize+                                                          -> Ptr Void -- ^ pData+                                                                      -> IO ()++##else+vkCmdUpdateBufferSafe ::+                      VkCommandBuffer -- ^ commandBuffer+                                      ->+                        VkBuffer -- ^ dstBuffer+                                 -> VkDeviceSize -- ^ dstOffset+                                                 -> VkDeviceSize -- ^ dataSize+                                                                 -> Ptr Void -- ^ pData+                                                                             -> IO ()+vkCmdUpdateBufferSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdUpdateBuffer)++{-# NOINLINE vkCmdUpdateBufferSafe #-}+##endif++-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdUpdateBuffer+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkBuffer dstBuffer+-- >     , VkDeviceSize dstOffset+-- >     , VkDeviceSize dataSize+-- >     , const void* pData+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdUpdateBuffer vkCmdUpdateBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdUpdateBuffer <- vkGetInstanceProc @VkCmdUpdateBuffer vkInstance+--+-- or less efficient:+--+-- > myCmdUpdateBuffer <- vkGetProc @VkCmdUpdateBuffer+--+-- __Note:__ @vkCmdUpdateBufferUnsafe@ and @vkCmdUpdateBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdUpdateBuffer@ is an alias+--           of @vkCmdUpdateBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdUpdateBufferSafe@.+--+vkCmdUpdateBuffer ::+                  VkCommandBuffer -- ^ commandBuffer+                                  ->+                    VkBuffer -- ^ dstBuffer+                             -> VkDeviceSize -- ^ dstOffset+                                             -> VkDeviceSize -- ^ dataSize+                                                             -> Ptr Void -- ^ pData+                                                                         -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdUpdateBuffer = vkCmdUpdateBufferUnsafe+##else+vkCmdUpdateBuffer = vkCmdUpdateBufferSafe++##endif+{-# INLINE vkCmdUpdateBuffer #-}++-- | Queues: 'transfer', 'graphics', 'compute'.+--+--   Renderpass: @outside@+--+--   Pipeline: @transfer@+--+--   > void vkCmdUpdateBuffer+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer dstBuffer+--   >     , VkDeviceSize dstOffset+--   >     , VkDeviceSize dataSize+--   >     , const void* pData+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdUpdateBuffer vkCmdUpdateBuffer registry at www.khronos.org>+type HS_vkCmdUpdateBuffer =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       VkBuffer -- ^ dstBuffer+                -> VkDeviceSize -- ^ dstOffset+                                -> VkDeviceSize -- ^ dataSize+                                                -> Ptr Void -- ^ pData+                                                            -> IO ()++type PFN_vkCmdUpdateBuffer = FunPtr HS_vkCmdUpdateBuffer++foreign import ccall unsafe "dynamic" unwrapVkCmdUpdateBufferUnsafe+               :: PFN_vkCmdUpdateBuffer -> HS_vkCmdUpdateBuffer++foreign import ccall safe "dynamic" unwrapVkCmdUpdateBufferSafe ::+               PFN_vkCmdUpdateBuffer -> HS_vkCmdUpdateBuffer++instance VulkanProc "vkCmdUpdateBuffer" where+    type VkProcType "vkCmdUpdateBuffer" = HS_vkCmdUpdateBuffer+    vkProcSymbol = _VkCmdUpdateBuffer++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdUpdateBufferUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdUpdateBufferSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdFillBuffer :: CString++pattern VkCmdFillBuffer <- (is_VkCmdFillBuffer -> True)+  where+    VkCmdFillBuffer = _VkCmdFillBuffer++{-# INLINE _VkCmdFillBuffer #-}++_VkCmdFillBuffer :: CString+_VkCmdFillBuffer = Ptr "vkCmdFillBuffer\NUL"##++{-# INLINE is_VkCmdFillBuffer #-}++is_VkCmdFillBuffer :: CString -> Bool+is_VkCmdFillBuffer = (EQ ==) . cmpCStrings _VkCmdFillBuffer++type VkCmdFillBuffer = "vkCmdFillBuffer"++-- |+-- transfer support is only available when VK_KHR_maintenance1 is enabled, as documented in valid usage language in the specification+--+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdFillBuffer+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkBuffer dstBuffer+-- >     , VkDeviceSize dstOffset+-- >     , VkDeviceSize size+-- >     , uint32_t data+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdFillBuffer vkCmdFillBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdFillBuffer <- vkGetInstanceProc @VkCmdFillBuffer vkInstance+--+-- or less efficient:+--+-- > myCmdFillBuffer <- vkGetProc @VkCmdFillBuffer+--+-- __Note:__ @vkCmdFillBufferUnsafe@ and @vkCmdFillBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdFillBuffer@ is an alias+--           of @vkCmdFillBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdFillBufferSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdFillBuffer" vkCmdFillBufferUnsafe+               ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkBuffer -- ^ dstBuffer+                          -> VkDeviceSize -- ^ dstOffset+                                          -> VkDeviceSize -- ^ size+                                                          -> Word32 -- ^ data+                                                                    -> IO ()++##else+vkCmdFillBufferUnsafe ::+                      VkCommandBuffer -- ^ commandBuffer+                                      ->+                        VkBuffer -- ^ dstBuffer+                                 -> VkDeviceSize -- ^ dstOffset+                                                 -> VkDeviceSize -- ^ size+                                                                 -> Word32 -- ^ data+                                                                           -> IO ()+vkCmdFillBufferUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdFillBuffer)++{-# NOINLINE vkCmdFillBufferUnsafe #-}+##endif++-- |+-- transfer support is only available when VK_KHR_maintenance1 is enabled, as documented in valid usage language in the specification+--+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdFillBuffer+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkBuffer dstBuffer+-- >     , VkDeviceSize dstOffset+-- >     , VkDeviceSize size+-- >     , uint32_t data+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdFillBuffer vkCmdFillBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdFillBuffer <- vkGetInstanceProc @VkCmdFillBuffer vkInstance+--+-- or less efficient:+--+-- > myCmdFillBuffer <- vkGetProc @VkCmdFillBuffer+--+-- __Note:__ @vkCmdFillBufferUnsafe@ and @vkCmdFillBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdFillBuffer@ is an alias+--           of @vkCmdFillBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdFillBufferSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdFillBuffer" vkCmdFillBufferSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkBuffer -- ^ dstBuffer+                          -> VkDeviceSize -- ^ dstOffset+                                          -> VkDeviceSize -- ^ size+                                                          -> Word32 -- ^ data+                                                                    -> IO ()++##else+vkCmdFillBufferSafe ::+                    VkCommandBuffer -- ^ commandBuffer+                                    ->+                      VkBuffer -- ^ dstBuffer+                               -> VkDeviceSize -- ^ dstOffset+                                               -> VkDeviceSize -- ^ size+                                                               -> Word32 -- ^ data+                                                                         -> IO ()+vkCmdFillBufferSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdFillBuffer)++{-# NOINLINE vkCmdFillBufferSafe #-}+##endif++-- |+-- transfer support is only available when VK_KHR_maintenance1 is enabled, as documented in valid usage language in the specification+--+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdFillBuffer+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkBuffer dstBuffer+-- >     , VkDeviceSize dstOffset+-- >     , VkDeviceSize size+-- >     , uint32_t data+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdFillBuffer vkCmdFillBuffer registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdFillBuffer <- vkGetInstanceProc @VkCmdFillBuffer vkInstance+--+-- or less efficient:+--+-- > myCmdFillBuffer <- vkGetProc @VkCmdFillBuffer+--+-- __Note:__ @vkCmdFillBufferUnsafe@ and @vkCmdFillBufferSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdFillBuffer@ is an alias+--           of @vkCmdFillBufferUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdFillBufferSafe@.+--+vkCmdFillBuffer ::+                VkCommandBuffer -- ^ commandBuffer+                                ->+                  VkBuffer -- ^ dstBuffer+                           -> VkDeviceSize -- ^ dstOffset+                                           -> VkDeviceSize -- ^ size+                                                           -> Word32 -- ^ data+                                                                     -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdFillBuffer = vkCmdFillBufferUnsafe+##else+vkCmdFillBuffer = vkCmdFillBufferSafe++##endif+{-# INLINE vkCmdFillBuffer #-}++-- | transfer support is only available when VK_KHR_maintenance1 is enabled, as documented in valid usage language in the specification+--+--   Queues: 'transfer', 'graphics', 'compute'.+--+--   Renderpass: @outside@+--+--   Pipeline: @transfer@+--+--   > void vkCmdFillBuffer+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer dstBuffer+--   >     , VkDeviceSize dstOffset+--   >     , VkDeviceSize size+--   >     , uint32_t data+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdFillBuffer vkCmdFillBuffer registry at www.khronos.org>+type HS_vkCmdFillBuffer =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       VkBuffer -- ^ dstBuffer+                -> VkDeviceSize -- ^ dstOffset+                                -> VkDeviceSize -- ^ size+                                                -> Word32 -- ^ data+                                                          -> IO ()++type PFN_vkCmdFillBuffer = FunPtr HS_vkCmdFillBuffer++foreign import ccall unsafe "dynamic" unwrapVkCmdFillBufferUnsafe+               :: PFN_vkCmdFillBuffer -> HS_vkCmdFillBuffer++foreign import ccall safe "dynamic" unwrapVkCmdFillBufferSafe ::+               PFN_vkCmdFillBuffer -> HS_vkCmdFillBuffer++instance VulkanProc "vkCmdFillBuffer" where+    type VkProcType "vkCmdFillBuffer" = HS_vkCmdFillBuffer+    vkProcSymbol = _VkCmdFillBuffer++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdFillBufferUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdFillBufferSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdClearColorImage :: CString++pattern VkCmdClearColorImage <- (is_VkCmdClearColorImage -> True)+  where+    VkCmdClearColorImage = _VkCmdClearColorImage++{-# INLINE _VkCmdClearColorImage #-}++_VkCmdClearColorImage :: CString+_VkCmdClearColorImage = Ptr "vkCmdClearColorImage\NUL"##++{-# INLINE is_VkCmdClearColorImage #-}++is_VkCmdClearColorImage :: CString -> Bool+is_VkCmdClearColorImage+  = (EQ ==) . cmpCStrings _VkCmdClearColorImage++type VkCmdClearColorImage = "vkCmdClearColorImage"++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdClearColorImage+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkImage image+-- >     , VkImageLayout imageLayout+-- >     , const VkClearColorValue* pColor+-- >     , uint32_t rangeCount+-- >     , const VkImageSubresourceRange* pRanges+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearColorImage vkCmdClearColorImage registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdClearColorImage <- vkGetInstanceProc @VkCmdClearColorImage vkInstance+--+-- or less efficient:+--+-- > myCmdClearColorImage <- vkGetProc @VkCmdClearColorImage+--+-- __Note:__ @vkCmdClearColorImageUnsafe@ and @vkCmdClearColorImageSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdClearColorImage@ is an alias+--           of @vkCmdClearColorImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdClearColorImageSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdClearColorImage"+               vkCmdClearColorImageUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkImage -- ^ image+                         ->+                   VkImageLayout -- ^ imageLayout+                                 ->+                     Ptr VkClearColorValue -- ^ pColor+                                           ->+                       Word32 -- ^ rangeCount+                              -> Ptr VkImageSubresourceRange -- ^ pRanges+                                                             -> IO ()++##else+vkCmdClearColorImageUnsafe ::+                           VkCommandBuffer -- ^ commandBuffer+                                           ->+                             VkImage -- ^ image+                                     ->+                               VkImageLayout -- ^ imageLayout+                                             ->+                                 Ptr VkClearColorValue -- ^ pColor+                                                       ->+                                   Word32 -- ^ rangeCount+                                          -> Ptr VkImageSubresourceRange -- ^ pRanges+                                                                         -> IO ()+vkCmdClearColorImageUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdClearColorImage)++{-# NOINLINE vkCmdClearColorImageUnsafe #-}+##endif++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdClearColorImage+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkImage image+-- >     , VkImageLayout imageLayout+-- >     , const VkClearColorValue* pColor+-- >     , uint32_t rangeCount+-- >     , const VkImageSubresourceRange* pRanges+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearColorImage vkCmdClearColorImage registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdClearColorImage <- vkGetInstanceProc @VkCmdClearColorImage vkInstance+--+-- or less efficient:+--+-- > myCmdClearColorImage <- vkGetProc @VkCmdClearColorImage+--+-- __Note:__ @vkCmdClearColorImageUnsafe@ and @vkCmdClearColorImageSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdClearColorImage@ is an alias+--           of @vkCmdClearColorImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdClearColorImageSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdClearColorImage"+               vkCmdClearColorImageSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkImage -- ^ image+                         ->+                   VkImageLayout -- ^ imageLayout+                                 ->+                     Ptr VkClearColorValue -- ^ pColor+                                           ->+                       Word32 -- ^ rangeCount+                              -> Ptr VkImageSubresourceRange -- ^ pRanges+                                                             -> IO ()++##else+vkCmdClearColorImageSafe ::+                         VkCommandBuffer -- ^ commandBuffer+                                         ->+                           VkImage -- ^ image+                                   ->+                             VkImageLayout -- ^ imageLayout+                                           ->+                               Ptr VkClearColorValue -- ^ pColor+                                                     ->+                                 Word32 -- ^ rangeCount+                                        -> Ptr VkImageSubresourceRange -- ^ pRanges+                                                                       -> IO ()+vkCmdClearColorImageSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdClearColorImage)++{-# NOINLINE vkCmdClearColorImageSafe #-}+##endif++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdClearColorImage+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkImage image+-- >     , VkImageLayout imageLayout+-- >     , const VkClearColorValue* pColor+-- >     , uint32_t rangeCount+-- >     , const VkImageSubresourceRange* pRanges+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearColorImage vkCmdClearColorImage registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdClearColorImage <- vkGetInstanceProc @VkCmdClearColorImage vkInstance+--+-- or less efficient:+--+-- > myCmdClearColorImage <- vkGetProc @VkCmdClearColorImage+--+-- __Note:__ @vkCmdClearColorImageUnsafe@ and @vkCmdClearColorImageSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdClearColorImage@ is an alias+--           of @vkCmdClearColorImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdClearColorImageSafe@.+--+vkCmdClearColorImage ::+                     VkCommandBuffer -- ^ commandBuffer+                                     ->+                       VkImage -- ^ image+                               ->+                         VkImageLayout -- ^ imageLayout+                                       ->+                           Ptr VkClearColorValue -- ^ pColor+                                                 ->+                             Word32 -- ^ rangeCount+                                    -> Ptr VkImageSubresourceRange -- ^ pRanges+                                                                   -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdClearColorImage = vkCmdClearColorImageUnsafe+##else+vkCmdClearColorImage = vkCmdClearColorImageSafe++##endif+{-# INLINE vkCmdClearColorImage #-}++-- | Queues: 'graphics', 'compute'.+--+--   Renderpass: @outside@+--+--   Pipeline: @transfer@+--+--   > void vkCmdClearColorImage+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkImage image+--   >     , VkImageLayout imageLayout+--   >     , const VkClearColorValue* pColor+--   >     , uint32_t rangeCount+--   >     , const VkImageSubresourceRange* pRanges+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearColorImage vkCmdClearColorImage registry at www.khronos.org>+type HS_vkCmdClearColorImage =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       VkImage -- ^ image+               ->+         VkImageLayout -- ^ imageLayout+                       ->+           Ptr VkClearColorValue -- ^ pColor+                                 ->+             Word32 -- ^ rangeCount+                    -> Ptr VkImageSubresourceRange -- ^ pRanges+                                                   -> IO ()++type PFN_vkCmdClearColorImage = FunPtr HS_vkCmdClearColorImage++foreign import ccall unsafe "dynamic"+               unwrapVkCmdClearColorImageUnsafe ::+               PFN_vkCmdClearColorImage -> HS_vkCmdClearColorImage++foreign import ccall safe "dynamic" unwrapVkCmdClearColorImageSafe+               :: PFN_vkCmdClearColorImage -> HS_vkCmdClearColorImage++instance VulkanProc "vkCmdClearColorImage" where+    type VkProcType "vkCmdClearColorImage" = HS_vkCmdClearColorImage+    vkProcSymbol = _VkCmdClearColorImage++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdClearColorImageUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdClearColorImageSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdClearDepthStencilImage :: CString++pattern VkCmdClearDepthStencilImage <-+        (is_VkCmdClearDepthStencilImage -> True)+  where+    VkCmdClearDepthStencilImage = _VkCmdClearDepthStencilImage++{-# INLINE _VkCmdClearDepthStencilImage #-}++_VkCmdClearDepthStencilImage :: CString+_VkCmdClearDepthStencilImage+  = Ptr "vkCmdClearDepthStencilImage\NUL"##++{-# INLINE is_VkCmdClearDepthStencilImage #-}++is_VkCmdClearDepthStencilImage :: CString -> Bool+is_VkCmdClearDepthStencilImage+  = (EQ ==) . cmpCStrings _VkCmdClearDepthStencilImage++type VkCmdClearDepthStencilImage = "vkCmdClearDepthStencilImage"++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdClearDepthStencilImage+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkImage image+-- >     , VkImageLayout imageLayout+-- >     , const VkClearDepthStencilValue* pDepthStencil+-- >     , uint32_t rangeCount+-- >     , const VkImageSubresourceRange* pRanges+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdClearDepthStencilImage <- vkGetInstanceProc @VkCmdClearDepthStencilImage vkInstance+--+-- or less efficient:+--+-- > myCmdClearDepthStencilImage <- vkGetProc @VkCmdClearDepthStencilImage+--+-- __Note:__ @vkCmdClearDepthStencilImageUnsafe@ and @vkCmdClearDepthStencilImageSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdClearDepthStencilImage@ is an alias+--           of @vkCmdClearDepthStencilImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdClearDepthStencilImageSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdClearDepthStencilImage"+               vkCmdClearDepthStencilImageUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkImage -- ^ image+                         ->+                   VkImageLayout -- ^ imageLayout+                                 ->+                     Ptr VkClearDepthStencilValue -- ^ pDepthStencil+                                                  ->+                       Word32 -- ^ rangeCount+                              -> Ptr VkImageSubresourceRange -- ^ pRanges+                                                             -> IO ()++##else+vkCmdClearDepthStencilImageUnsafe ::+                                  VkCommandBuffer -- ^ commandBuffer+                                                  ->+                                    VkImage -- ^ image+                                            ->+                                      VkImageLayout -- ^ imageLayout+                                                    ->+                                        Ptr VkClearDepthStencilValue -- ^ pDepthStencil+                                                                     ->+                                          Word32 -- ^ rangeCount+                                                 -> Ptr VkImageSubresourceRange -- ^ pRanges+                                                                                -> IO ()+vkCmdClearDepthStencilImageUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkCmdClearDepthStencilImage)++{-# NOINLINE vkCmdClearDepthStencilImageUnsafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdClearDepthStencilImage+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkImage image+-- >     , VkImageLayout imageLayout+-- >     , const VkClearDepthStencilValue* pDepthStencil+-- >     , uint32_t rangeCount+-- >     , const VkImageSubresourceRange* pRanges+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdClearDepthStencilImage <- vkGetInstanceProc @VkCmdClearDepthStencilImage vkInstance+--+-- or less efficient:+--+-- > myCmdClearDepthStencilImage <- vkGetProc @VkCmdClearDepthStencilImage+--+-- __Note:__ @vkCmdClearDepthStencilImageUnsafe@ and @vkCmdClearDepthStencilImageSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdClearDepthStencilImage@ is an alias+--           of @vkCmdClearDepthStencilImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdClearDepthStencilImageSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdClearDepthStencilImage"+               vkCmdClearDepthStencilImageSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkImage -- ^ image+                         ->+                   VkImageLayout -- ^ imageLayout+                                 ->+                     Ptr VkClearDepthStencilValue -- ^ pDepthStencil+                                                  ->+                       Word32 -- ^ rangeCount+                              -> Ptr VkImageSubresourceRange -- ^ pRanges+                                                             -> IO ()++##else+vkCmdClearDepthStencilImageSafe ::+                                VkCommandBuffer -- ^ commandBuffer+                                                ->+                                  VkImage -- ^ image+                                          ->+                                    VkImageLayout -- ^ imageLayout+                                                  ->+                                      Ptr VkClearDepthStencilValue -- ^ pDepthStencil+                                                                   ->+                                        Word32 -- ^ rangeCount+                                               -> Ptr VkImageSubresourceRange -- ^ pRanges+                                                                              -> IO ()+vkCmdClearDepthStencilImageSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkCmdClearDepthStencilImage)++{-# NOINLINE vkCmdClearDepthStencilImageSafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdClearDepthStencilImage+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkImage image+-- >     , VkImageLayout imageLayout+-- >     , const VkClearDepthStencilValue* pDepthStencil+-- >     , uint32_t rangeCount+-- >     , const VkImageSubresourceRange* pRanges+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdClearDepthStencilImage <- vkGetInstanceProc @VkCmdClearDepthStencilImage vkInstance+--+-- or less efficient:+--+-- > myCmdClearDepthStencilImage <- vkGetProc @VkCmdClearDepthStencilImage+--+-- __Note:__ @vkCmdClearDepthStencilImageUnsafe@ and @vkCmdClearDepthStencilImageSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdClearDepthStencilImage@ is an alias+--           of @vkCmdClearDepthStencilImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdClearDepthStencilImageSafe@.+--+vkCmdClearDepthStencilImage ::+                            VkCommandBuffer -- ^ commandBuffer+                                            ->+                              VkImage -- ^ image+                                      ->+                                VkImageLayout -- ^ imageLayout+                                              ->+                                  Ptr VkClearDepthStencilValue -- ^ pDepthStencil+                                                               ->+                                    Word32 -- ^ rangeCount+                                           -> Ptr VkImageSubresourceRange -- ^ pRanges+                                                                          -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdClearDepthStencilImage = vkCmdClearDepthStencilImageUnsafe+##else+vkCmdClearDepthStencilImage = vkCmdClearDepthStencilImageSafe++##endif+{-# INLINE vkCmdClearDepthStencilImage #-}++-- | Queues: 'graphics'.+--+--   Renderpass: @outside@+--+--   Pipeline: @transfer@+--+--   > void vkCmdClearDepthStencilImage+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkImage image+--   >     , VkImageLayout imageLayout+--   >     , const VkClearDepthStencilValue* pDepthStencil+--   >     , uint32_t rangeCount+--   >     , const VkImageSubresourceRange* pRanges+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage registry at www.khronos.org>+type HS_vkCmdClearDepthStencilImage =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       VkImage -- ^ image+               ->+         VkImageLayout -- ^ imageLayout+                       ->+           Ptr VkClearDepthStencilValue -- ^ pDepthStencil+                                        ->+             Word32 -- ^ rangeCount+                    -> Ptr VkImageSubresourceRange -- ^ pRanges+                                                   -> IO ()++type PFN_vkCmdClearDepthStencilImage =+     FunPtr HS_vkCmdClearDepthStencilImage++foreign import ccall unsafe "dynamic"+               unwrapVkCmdClearDepthStencilImageUnsafe ::+               PFN_vkCmdClearDepthStencilImage -> HS_vkCmdClearDepthStencilImage++foreign import ccall safe "dynamic"+               unwrapVkCmdClearDepthStencilImageSafe ::+               PFN_vkCmdClearDepthStencilImage -> HS_vkCmdClearDepthStencilImage++instance VulkanProc "vkCmdClearDepthStencilImage" where+    type VkProcType "vkCmdClearDepthStencilImage" =+         HS_vkCmdClearDepthStencilImage+    vkProcSymbol = _VkCmdClearDepthStencilImage++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdClearDepthStencilImageUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdClearDepthStencilImageSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdClearAttachments :: CString++pattern VkCmdClearAttachments <- (is_VkCmdClearAttachments -> True)+  where+    VkCmdClearAttachments = _VkCmdClearAttachments++{-# INLINE _VkCmdClearAttachments #-}++_VkCmdClearAttachments :: CString+_VkCmdClearAttachments = Ptr "vkCmdClearAttachments\NUL"##++{-# INLINE is_VkCmdClearAttachments #-}++is_VkCmdClearAttachments :: CString -> Bool+is_VkCmdClearAttachments+  = (EQ ==) . cmpCStrings _VkCmdClearAttachments++type VkCmdClearAttachments = "vkCmdClearAttachments"++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdClearAttachments+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t attachmentCount+-- >     , const VkClearAttachment* pAttachments+-- >     , uint32_t rectCount+-- >     , const VkClearRect* pRects+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearAttachments vkCmdClearAttachments registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdClearAttachments <- vkGetInstanceProc @VkCmdClearAttachments vkInstance+--+-- or less efficient:+--+-- > myCmdClearAttachments <- vkGetProc @VkCmdClearAttachments+--+-- __Note:__ @vkCmdClearAttachmentsUnsafe@ and @vkCmdClearAttachmentsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdClearAttachments@ is an alias+--           of @vkCmdClearAttachmentsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdClearAttachmentsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdClearAttachments"+               vkCmdClearAttachmentsUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Word32 -- ^ attachmentCount+                        ->+                   Ptr VkClearAttachment -- ^ pAttachments+                                         -> Word32 -- ^ rectCount+                                                   -> Ptr VkClearRect -- ^ pRects+                                                                      -> IO ()++##else+vkCmdClearAttachmentsUnsafe ::+                            VkCommandBuffer -- ^ commandBuffer+                                            ->+                              Word32 -- ^ attachmentCount+                                     ->+                                Ptr VkClearAttachment -- ^ pAttachments+                                                      -> Word32 -- ^ rectCount+                                                                -> Ptr VkClearRect -- ^ pRects+                                                                                   -> IO ()+vkCmdClearAttachmentsUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdClearAttachments)++{-# NOINLINE vkCmdClearAttachmentsUnsafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdClearAttachments+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t attachmentCount+-- >     , const VkClearAttachment* pAttachments+-- >     , uint32_t rectCount+-- >     , const VkClearRect* pRects+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearAttachments vkCmdClearAttachments registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdClearAttachments <- vkGetInstanceProc @VkCmdClearAttachments vkInstance+--+-- or less efficient:+--+-- > myCmdClearAttachments <- vkGetProc @VkCmdClearAttachments+--+-- __Note:__ @vkCmdClearAttachmentsUnsafe@ and @vkCmdClearAttachmentsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdClearAttachments@ is an alias+--           of @vkCmdClearAttachmentsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdClearAttachmentsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdClearAttachments"+               vkCmdClearAttachmentsSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Word32 -- ^ attachmentCount+                        ->+                   Ptr VkClearAttachment -- ^ pAttachments+                                         -> Word32 -- ^ rectCount+                                                   -> Ptr VkClearRect -- ^ pRects+                                                                      -> IO ()++##else+vkCmdClearAttachmentsSafe ::+                          VkCommandBuffer -- ^ commandBuffer+                                          ->+                            Word32 -- ^ attachmentCount+                                   ->+                              Ptr VkClearAttachment -- ^ pAttachments+                                                    -> Word32 -- ^ rectCount+                                                              -> Ptr VkClearRect -- ^ pRects+                                                                                 -> IO ()+vkCmdClearAttachmentsSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdClearAttachments)++{-# NOINLINE vkCmdClearAttachmentsSafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdClearAttachments+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t attachmentCount+-- >     , const VkClearAttachment* pAttachments+-- >     , uint32_t rectCount+-- >     , const VkClearRect* pRects+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearAttachments vkCmdClearAttachments registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdClearAttachments <- vkGetInstanceProc @VkCmdClearAttachments vkInstance+--+-- or less efficient:+--+-- > myCmdClearAttachments <- vkGetProc @VkCmdClearAttachments+--+-- __Note:__ @vkCmdClearAttachmentsUnsafe@ and @vkCmdClearAttachmentsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdClearAttachments@ is an alias+--           of @vkCmdClearAttachmentsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdClearAttachmentsSafe@.+--+vkCmdClearAttachments ::+                      VkCommandBuffer -- ^ commandBuffer+                                      ->+                        Word32 -- ^ attachmentCount+                               ->+                          Ptr VkClearAttachment -- ^ pAttachments+                                                -> Word32 -- ^ rectCount+                                                          -> Ptr VkClearRect -- ^ pRects+                                                                             -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdClearAttachments = vkCmdClearAttachmentsUnsafe+##else+vkCmdClearAttachments = vkCmdClearAttachmentsSafe++##endif+{-# INLINE vkCmdClearAttachments #-}++-- | Queues: 'graphics'.+--+--   Renderpass: @inside@+--+--   Pipeline: @graphics@+--+--   > void vkCmdClearAttachments+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t attachmentCount+--   >     , const VkClearAttachment* pAttachments+--   >     , uint32_t rectCount+--   >     , const VkClearRect* pRects+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearAttachments vkCmdClearAttachments registry at www.khronos.org>+type HS_vkCmdClearAttachments =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       Word32 -- ^ attachmentCount+              ->+         Ptr VkClearAttachment -- ^ pAttachments+                               -> Word32 -- ^ rectCount+                                         -> Ptr VkClearRect -- ^ pRects+                                                            -> IO ()++type PFN_vkCmdClearAttachments = FunPtr HS_vkCmdClearAttachments++foreign import ccall unsafe "dynamic"+               unwrapVkCmdClearAttachmentsUnsafe ::+               PFN_vkCmdClearAttachments -> HS_vkCmdClearAttachments++foreign import ccall safe "dynamic" unwrapVkCmdClearAttachmentsSafe+               :: PFN_vkCmdClearAttachments -> HS_vkCmdClearAttachments++instance VulkanProc "vkCmdClearAttachments" where+    type VkProcType "vkCmdClearAttachments" = HS_vkCmdClearAttachments+    vkProcSymbol = _VkCmdClearAttachments++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdClearAttachmentsUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdClearAttachmentsSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdResolveImage :: CString++pattern VkCmdResolveImage <- (is_VkCmdResolveImage -> True)+  where+    VkCmdResolveImage = _VkCmdResolveImage++{-# INLINE _VkCmdResolveImage #-}++_VkCmdResolveImage :: CString+_VkCmdResolveImage = Ptr "vkCmdResolveImage\NUL"##++{-# INLINE is_VkCmdResolveImage #-}++is_VkCmdResolveImage :: CString -> Bool+is_VkCmdResolveImage = (EQ ==) . cmpCStrings _VkCmdResolveImage++type VkCmdResolveImage = "vkCmdResolveImage"++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdResolveImage+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkImage srcImage+-- >     , VkImageLayout srcImageLayout+-- >     , VkImage dstImage+-- >     , VkImageLayout dstImageLayout+-- >     , uint32_t regionCount+-- >     , const VkImageResolve* pRegions+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResolveImage vkCmdResolveImage registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdResolveImage <- vkGetInstanceProc @VkCmdResolveImage vkInstance+--+-- or less efficient:+--+-- > myCmdResolveImage <- vkGetProc @VkCmdResolveImage+--+-- __Note:__ @vkCmdResolveImageUnsafe@ and @vkCmdResolveImageSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdResolveImage@ is an alias+--           of @vkCmdResolveImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdResolveImageSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdResolveImage"+               vkCmdResolveImageUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkImage -- ^ srcImage+                         ->+                   VkImageLayout -- ^ srcImageLayout+                                 ->+                     VkImage -- ^ dstImage+                             -> VkImageLayout -- ^ dstImageLayout+                                              -> Word32 -- ^ regionCount+                                                        -> Ptr VkImageResolve -- ^ pRegions+                                                                              -> IO ()++##else+vkCmdResolveImageUnsafe ::+                        VkCommandBuffer -- ^ commandBuffer+                                        ->+                          VkImage -- ^ srcImage+                                  ->+                            VkImageLayout -- ^ srcImageLayout+                                          ->+                              VkImage -- ^ dstImage+                                      -> VkImageLayout -- ^ dstImageLayout+                                                       -> Word32 -- ^ regionCount+                                                                 -> Ptr VkImageResolve -- ^ pRegions+                                                                                       -> IO ()+vkCmdResolveImageUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdResolveImage)++{-# NOINLINE vkCmdResolveImageUnsafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdResolveImage+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkImage srcImage+-- >     , VkImageLayout srcImageLayout+-- >     , VkImage dstImage+-- >     , VkImageLayout dstImageLayout+-- >     , uint32_t regionCount+-- >     , const VkImageResolve* pRegions+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResolveImage vkCmdResolveImage registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdResolveImage <- vkGetInstanceProc @VkCmdResolveImage vkInstance+--+-- or less efficient:+--+-- > myCmdResolveImage <- vkGetProc @VkCmdResolveImage+--+-- __Note:__ @vkCmdResolveImageUnsafe@ and @vkCmdResolveImageSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdResolveImage@ is an alias+--           of @vkCmdResolveImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdResolveImageSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdResolveImage" vkCmdResolveImageSafe+               ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkImage -- ^ srcImage+                         ->+                   VkImageLayout -- ^ srcImageLayout+                                 ->+                     VkImage -- ^ dstImage+                             -> VkImageLayout -- ^ dstImageLayout+                                              -> Word32 -- ^ regionCount+                                                        -> Ptr VkImageResolve -- ^ pRegions+                                                                              -> IO ()++##else+vkCmdResolveImageSafe ::+                      VkCommandBuffer -- ^ commandBuffer+                                      ->+                        VkImage -- ^ srcImage+                                ->+                          VkImageLayout -- ^ srcImageLayout+                                        ->+                            VkImage -- ^ dstImage+                                    -> VkImageLayout -- ^ dstImageLayout+                                                     -> Word32 -- ^ regionCount+                                                               -> Ptr VkImageResolve -- ^ pRegions+                                                                                     -> IO ()+vkCmdResolveImageSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdResolveImage)++{-# NOINLINE vkCmdResolveImageSafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdResolveImage+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkImage srcImage+-- >     , VkImageLayout srcImageLayout+-- >     , VkImage dstImage+-- >     , VkImageLayout dstImageLayout+-- >     , uint32_t regionCount+-- >     , const VkImageResolve* pRegions+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResolveImage vkCmdResolveImage registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdResolveImage <- vkGetInstanceProc @VkCmdResolveImage vkInstance+--+-- or less efficient:+--+-- > myCmdResolveImage <- vkGetProc @VkCmdResolveImage+--+-- __Note:__ @vkCmdResolveImageUnsafe@ and @vkCmdResolveImageSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdResolveImage@ is an alias+--           of @vkCmdResolveImageUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdResolveImageSafe@.+--+vkCmdResolveImage ::+                  VkCommandBuffer -- ^ commandBuffer+                                  ->+                    VkImage -- ^ srcImage+                            ->+                      VkImageLayout -- ^ srcImageLayout+                                    ->+                        VkImage -- ^ dstImage+                                -> VkImageLayout -- ^ dstImageLayout+                                                 -> Word32 -- ^ regionCount+                                                           -> Ptr VkImageResolve -- ^ pRegions+                                                                                 -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdResolveImage = vkCmdResolveImageUnsafe+##else+vkCmdResolveImage = vkCmdResolveImageSafe++##endif+{-# INLINE vkCmdResolveImage #-}++-- | Queues: 'graphics'.+--+--   Renderpass: @outside@+--+--   Pipeline: @transfer@+--+--   > void vkCmdResolveImage+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkImage srcImage+--   >     , VkImageLayout srcImageLayout+--   >     , VkImage dstImage+--   >     , VkImageLayout dstImageLayout+--   >     , uint32_t regionCount+--   >     , const VkImageResolve* pRegions+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResolveImage vkCmdResolveImage registry at www.khronos.org>+type HS_vkCmdResolveImage =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       VkImage -- ^ srcImage+               ->+         VkImageLayout -- ^ srcImageLayout+                       ->+           VkImage -- ^ dstImage+                   -> VkImageLayout -- ^ dstImageLayout+                                    -> Word32 -- ^ regionCount+                                              -> Ptr VkImageResolve -- ^ pRegions+                                                                    -> IO ()++type PFN_vkCmdResolveImage = FunPtr HS_vkCmdResolveImage++foreign import ccall unsafe "dynamic" unwrapVkCmdResolveImageUnsafe+               :: PFN_vkCmdResolveImage -> HS_vkCmdResolveImage++foreign import ccall safe "dynamic" unwrapVkCmdResolveImageSafe ::+               PFN_vkCmdResolveImage -> HS_vkCmdResolveImage++instance VulkanProc "vkCmdResolveImage" where+    type VkProcType "vkCmdResolveImage" = HS_vkCmdResolveImage+    vkProcSymbol = _VkCmdResolveImage++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdResolveImageUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdResolveImageSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdSetEvent :: CString++pattern VkCmdSetEvent <- (is_VkCmdSetEvent -> True)+  where+    VkCmdSetEvent = _VkCmdSetEvent++{-# INLINE _VkCmdSetEvent #-}++_VkCmdSetEvent :: CString+_VkCmdSetEvent = Ptr "vkCmdSetEvent\NUL"##++{-# INLINE is_VkCmdSetEvent #-}++is_VkCmdSetEvent :: CString -> Bool+is_VkCmdSetEvent = (EQ ==) . cmpCStrings _VkCmdSetEvent++type VkCmdSetEvent = "vkCmdSetEvent"++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdSetEvent+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkEvent event+-- >     , VkPipelineStageFlags stageMask+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetEvent vkCmdSetEvent registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetEvent <- vkGetInstanceProc @VkCmdSetEvent vkInstance+--+-- or less efficient:+--+-- > myCmdSetEvent <- vkGetProc @VkCmdSetEvent+--+-- __Note:__ @vkCmdSetEventUnsafe@ and @vkCmdSetEventSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetEvent@ is an alias+--           of @vkCmdSetEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetEventSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdSetEvent" vkCmdSetEventUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkEvent -- ^ event+                                          -> VkPipelineStageFlags -- ^ stageMask+                                                                  -> IO ()++##else+vkCmdSetEventUnsafe ::+                    VkCommandBuffer -- ^ commandBuffer+                                    -> VkEvent -- ^ event+                                               -> VkPipelineStageFlags -- ^ stageMask+                                                                       -> IO ()+vkCmdSetEventUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdSetEvent)++{-# NOINLINE vkCmdSetEventUnsafe #-}+##endif++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdSetEvent+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkEvent event+-- >     , VkPipelineStageFlags stageMask+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetEvent vkCmdSetEvent registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetEvent <- vkGetInstanceProc @VkCmdSetEvent vkInstance+--+-- or less efficient:+--+-- > myCmdSetEvent <- vkGetProc @VkCmdSetEvent+--+-- __Note:__ @vkCmdSetEventUnsafe@ and @vkCmdSetEventSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetEvent@ is an alias+--           of @vkCmdSetEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetEventSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdSetEvent" vkCmdSetEventSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkEvent -- ^ event+                                          -> VkPipelineStageFlags -- ^ stageMask+                                                                  -> IO ()++##else+vkCmdSetEventSafe ::+                  VkCommandBuffer -- ^ commandBuffer+                                  -> VkEvent -- ^ event+                                             -> VkPipelineStageFlags -- ^ stageMask+                                                                     -> IO ()+vkCmdSetEventSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdSetEvent)++{-# NOINLINE vkCmdSetEventSafe #-}+##endif++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdSetEvent+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkEvent event+-- >     , VkPipelineStageFlags stageMask+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetEvent vkCmdSetEvent registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetEvent <- vkGetInstanceProc @VkCmdSetEvent vkInstance+--+-- or less efficient:+--+-- > myCmdSetEvent <- vkGetProc @VkCmdSetEvent+--+-- __Note:__ @vkCmdSetEventUnsafe@ and @vkCmdSetEventSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetEvent@ is an alias+--           of @vkCmdSetEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetEventSafe@.+--+vkCmdSetEvent ::+              VkCommandBuffer -- ^ commandBuffer+                              -> VkEvent -- ^ event+                                         -> VkPipelineStageFlags -- ^ stageMask+                                                                 -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdSetEvent = vkCmdSetEventUnsafe+##else+vkCmdSetEvent = vkCmdSetEventSafe++##endif+{-# INLINE vkCmdSetEvent #-}++-- | Queues: 'graphics', 'compute'.+--+--   Renderpass: @outside@+--+--   > void vkCmdSetEvent+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkEvent event+--   >     , VkPipelineStageFlags stageMask+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetEvent vkCmdSetEvent registry at www.khronos.org>+type HS_vkCmdSetEvent =+     VkCommandBuffer -- ^ commandBuffer+                     -> VkEvent -- ^ event+                                -> VkPipelineStageFlags -- ^ stageMask+                                                        -> IO ()++type PFN_vkCmdSetEvent = FunPtr HS_vkCmdSetEvent++foreign import ccall unsafe "dynamic" unwrapVkCmdSetEventUnsafe ::+               PFN_vkCmdSetEvent -> HS_vkCmdSetEvent++foreign import ccall safe "dynamic" unwrapVkCmdSetEventSafe ::+               PFN_vkCmdSetEvent -> HS_vkCmdSetEvent++instance VulkanProc "vkCmdSetEvent" where+    type VkProcType "vkCmdSetEvent" = HS_vkCmdSetEvent+    vkProcSymbol = _VkCmdSetEvent++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdSetEventUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdSetEventSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdResetEvent :: CString++pattern VkCmdResetEvent <- (is_VkCmdResetEvent -> True)+  where+    VkCmdResetEvent = _VkCmdResetEvent++{-# INLINE _VkCmdResetEvent #-}++_VkCmdResetEvent :: CString+_VkCmdResetEvent = Ptr "vkCmdResetEvent\NUL"##++{-# INLINE is_VkCmdResetEvent #-}++is_VkCmdResetEvent :: CString -> Bool+is_VkCmdResetEvent = (EQ ==) . cmpCStrings _VkCmdResetEvent++type VkCmdResetEvent = "vkCmdResetEvent"++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdResetEvent+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkEvent event+-- >     , VkPipelineStageFlags stageMask+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResetEvent vkCmdResetEvent registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdResetEvent <- vkGetInstanceProc @VkCmdResetEvent vkInstance+--+-- or less efficient:+--+-- > myCmdResetEvent <- vkGetProc @VkCmdResetEvent+--+-- __Note:__ @vkCmdResetEventUnsafe@ and @vkCmdResetEventSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdResetEvent@ is an alias+--           of @vkCmdResetEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdResetEventSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdResetEvent" vkCmdResetEventUnsafe+               :: VkCommandBuffer -- ^ commandBuffer+                                  -> VkEvent -- ^ event+                                             -> VkPipelineStageFlags -- ^ stageMask+                                                                     -> IO ()++##else+vkCmdResetEventUnsafe ::+                      VkCommandBuffer -- ^ commandBuffer+                                      -> VkEvent -- ^ event+                                                 -> VkPipelineStageFlags -- ^ stageMask+                                                                         -> IO ()+vkCmdResetEventUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdResetEvent)++{-# NOINLINE vkCmdResetEventUnsafe #-}+##endif++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdResetEvent+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkEvent event+-- >     , VkPipelineStageFlags stageMask+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResetEvent vkCmdResetEvent registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdResetEvent <- vkGetInstanceProc @VkCmdResetEvent vkInstance+--+-- or less efficient:+--+-- > myCmdResetEvent <- vkGetProc @VkCmdResetEvent+--+-- __Note:__ @vkCmdResetEventUnsafe@ and @vkCmdResetEventSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdResetEvent@ is an alias+--           of @vkCmdResetEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdResetEventSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdResetEvent" vkCmdResetEventSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkEvent -- ^ event+                                          -> VkPipelineStageFlags -- ^ stageMask+                                                                  -> IO ()++##else+vkCmdResetEventSafe ::+                    VkCommandBuffer -- ^ commandBuffer+                                    -> VkEvent -- ^ event+                                               -> VkPipelineStageFlags -- ^ stageMask+                                                                       -> IO ()+vkCmdResetEventSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdResetEvent)++{-# NOINLINE vkCmdResetEventSafe #-}+##endif++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdResetEvent+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkEvent event+-- >     , VkPipelineStageFlags stageMask+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResetEvent vkCmdResetEvent registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdResetEvent <- vkGetInstanceProc @VkCmdResetEvent vkInstance+--+-- or less efficient:+--+-- > myCmdResetEvent <- vkGetProc @VkCmdResetEvent+--+-- __Note:__ @vkCmdResetEventUnsafe@ and @vkCmdResetEventSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdResetEvent@ is an alias+--           of @vkCmdResetEventUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdResetEventSafe@.+--+vkCmdResetEvent ::+                VkCommandBuffer -- ^ commandBuffer+                                -> VkEvent -- ^ event+                                           -> VkPipelineStageFlags -- ^ stageMask+                                                                   -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdResetEvent = vkCmdResetEventUnsafe+##else+vkCmdResetEvent = vkCmdResetEventSafe++##endif+{-# INLINE vkCmdResetEvent #-}++-- | Queues: 'graphics', 'compute'.+--+--   Renderpass: @outside@+--+--   > void vkCmdResetEvent+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkEvent event+--   >     , VkPipelineStageFlags stageMask+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResetEvent vkCmdResetEvent registry at www.khronos.org>+type HS_vkCmdResetEvent =+     VkCommandBuffer -- ^ commandBuffer+                     -> VkEvent -- ^ event+                                -> VkPipelineStageFlags -- ^ stageMask+                                                        -> IO ()++type PFN_vkCmdResetEvent = FunPtr HS_vkCmdResetEvent++foreign import ccall unsafe "dynamic" unwrapVkCmdResetEventUnsafe+               :: PFN_vkCmdResetEvent -> HS_vkCmdResetEvent++foreign import ccall safe "dynamic" unwrapVkCmdResetEventSafe ::+               PFN_vkCmdResetEvent -> HS_vkCmdResetEvent++instance VulkanProc "vkCmdResetEvent" where+    type VkProcType "vkCmdResetEvent" = HS_vkCmdResetEvent+    vkProcSymbol = _VkCmdResetEvent++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdResetEventUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdResetEventSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdWaitEvents :: CString++pattern VkCmdWaitEvents <- (is_VkCmdWaitEvents -> True)+  where+    VkCmdWaitEvents = _VkCmdWaitEvents++{-# INLINE _VkCmdWaitEvents #-}++_VkCmdWaitEvents :: CString+_VkCmdWaitEvents = Ptr "vkCmdWaitEvents\NUL"##++{-# INLINE is_VkCmdWaitEvents #-}++is_VkCmdWaitEvents :: CString -> Bool+is_VkCmdWaitEvents = (EQ ==) . cmpCStrings _VkCmdWaitEvents++type VkCmdWaitEvents = "vkCmdWaitEvents"++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdWaitEvents+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t eventCount+-- >     , const VkEvent* pEvents+-- >     , VkPipelineStageFlags srcStageMask+-- >     , VkPipelineStageFlags dstStageMask+-- >     , uint32_t memoryBarrierCount+-- >     , const VkMemoryBarrier* pMemoryBarriers+-- >     , uint32_t bufferMemoryBarrierCount+-- >     , const VkBufferMemoryBarrier* pBufferMemoryBarriers+-- >     , uint32_t imageMemoryBarrierCount+-- >     , const VkImageMemoryBarrier* pImageMemoryBarriers+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdWaitEvents vkCmdWaitEvents registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdWaitEvents <- vkGetInstanceProc @VkCmdWaitEvents vkInstance+--+-- or less efficient:+--+-- > myCmdWaitEvents <- vkGetProc @VkCmdWaitEvents+--+-- __Note:__ @vkCmdWaitEventsUnsafe@ and @vkCmdWaitEventsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdWaitEvents@ is an alias+--           of @vkCmdWaitEventsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdWaitEventsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdWaitEvents" vkCmdWaitEventsUnsafe+               ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Word32 -- ^ eventCount+                        ->+                   Ptr VkEvent -- ^ pEvents+                               ->+                     VkPipelineStageFlags -- ^ srcStageMask+                                          ->+                       VkPipelineStageFlags -- ^ dstStageMask+                                            ->+                         Word32 -- ^ memoryBarrierCount+                                ->+                           Ptr VkMemoryBarrier -- ^ pMemoryBarriers+                                               ->+                             Word32 -- ^ bufferMemoryBarrierCount+                                    ->+                               Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers+                                                         ->+                                 Word32 -- ^ imageMemoryBarrierCount+                                        -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers+                                                                    -> IO ()++##else+vkCmdWaitEventsUnsafe ::+                      VkCommandBuffer -- ^ commandBuffer+                                      ->+                        Word32 -- ^ eventCount+                               ->+                          Ptr VkEvent -- ^ pEvents+                                      ->+                            VkPipelineStageFlags -- ^ srcStageMask+                                                 ->+                              VkPipelineStageFlags -- ^ dstStageMask+                                                   ->+                                Word32 -- ^ memoryBarrierCount+                                       ->+                                  Ptr VkMemoryBarrier -- ^ pMemoryBarriers+                                                      ->+                                    Word32 -- ^ bufferMemoryBarrierCount+                                           ->+                                      Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers+                                                                ->+                                        Word32 -- ^ imageMemoryBarrierCount+                                               -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers+                                                                           -> IO ()+vkCmdWaitEventsUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdWaitEvents)++{-# NOINLINE vkCmdWaitEventsUnsafe #-}+##endif++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdWaitEvents+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t eventCount+-- >     , const VkEvent* pEvents+-- >     , VkPipelineStageFlags srcStageMask+-- >     , VkPipelineStageFlags dstStageMask+-- >     , uint32_t memoryBarrierCount+-- >     , const VkMemoryBarrier* pMemoryBarriers+-- >     , uint32_t bufferMemoryBarrierCount+-- >     , const VkBufferMemoryBarrier* pBufferMemoryBarriers+-- >     , uint32_t imageMemoryBarrierCount+-- >     , const VkImageMemoryBarrier* pImageMemoryBarriers+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdWaitEvents vkCmdWaitEvents registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdWaitEvents <- vkGetInstanceProc @VkCmdWaitEvents vkInstance+--+-- or less efficient:+--+-- > myCmdWaitEvents <- vkGetProc @VkCmdWaitEvents+--+-- __Note:__ @vkCmdWaitEventsUnsafe@ and @vkCmdWaitEventsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdWaitEvents@ is an alias+--           of @vkCmdWaitEventsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdWaitEventsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdWaitEvents" vkCmdWaitEventsSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Word32 -- ^ eventCount+                        ->+                   Ptr VkEvent -- ^ pEvents+                               ->+                     VkPipelineStageFlags -- ^ srcStageMask+                                          ->+                       VkPipelineStageFlags -- ^ dstStageMask+                                            ->+                         Word32 -- ^ memoryBarrierCount+                                ->+                           Ptr VkMemoryBarrier -- ^ pMemoryBarriers+                                               ->+                             Word32 -- ^ bufferMemoryBarrierCount+                                    ->+                               Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers+                                                         ->+                                 Word32 -- ^ imageMemoryBarrierCount+                                        -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers+                                                                    -> IO ()++##else+vkCmdWaitEventsSafe ::+                    VkCommandBuffer -- ^ commandBuffer+                                    ->+                      Word32 -- ^ eventCount+                             ->+                        Ptr VkEvent -- ^ pEvents+                                    ->+                          VkPipelineStageFlags -- ^ srcStageMask+                                               ->+                            VkPipelineStageFlags -- ^ dstStageMask+                                                 ->+                              Word32 -- ^ memoryBarrierCount+                                     ->+                                Ptr VkMemoryBarrier -- ^ pMemoryBarriers+                                                    ->+                                  Word32 -- ^ bufferMemoryBarrierCount+                                         ->+                                    Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers+                                                              ->+                                      Word32 -- ^ imageMemoryBarrierCount+                                             -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers+                                                                         -> IO ()+vkCmdWaitEventsSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdWaitEvents)++{-# NOINLINE vkCmdWaitEventsSafe #-}+##endif++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdWaitEvents+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t eventCount+-- >     , const VkEvent* pEvents+-- >     , VkPipelineStageFlags srcStageMask+-- >     , VkPipelineStageFlags dstStageMask+-- >     , uint32_t memoryBarrierCount+-- >     , const VkMemoryBarrier* pMemoryBarriers+-- >     , uint32_t bufferMemoryBarrierCount+-- >     , const VkBufferMemoryBarrier* pBufferMemoryBarriers+-- >     , uint32_t imageMemoryBarrierCount+-- >     , const VkImageMemoryBarrier* pImageMemoryBarriers+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdWaitEvents vkCmdWaitEvents registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdWaitEvents <- vkGetInstanceProc @VkCmdWaitEvents vkInstance+--+-- or less efficient:+--+-- > myCmdWaitEvents <- vkGetProc @VkCmdWaitEvents+--+-- __Note:__ @vkCmdWaitEventsUnsafe@ and @vkCmdWaitEventsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdWaitEvents@ is an alias+--           of @vkCmdWaitEventsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdWaitEventsSafe@.+--+vkCmdWaitEvents ::+                VkCommandBuffer -- ^ commandBuffer+                                ->+                  Word32 -- ^ eventCount+                         ->+                    Ptr VkEvent -- ^ pEvents+                                ->+                      VkPipelineStageFlags -- ^ srcStageMask+                                           ->+                        VkPipelineStageFlags -- ^ dstStageMask+                                             ->+                          Word32 -- ^ memoryBarrierCount+                                 ->+                            Ptr VkMemoryBarrier -- ^ pMemoryBarriers+                                                ->+                              Word32 -- ^ bufferMemoryBarrierCount+                                     ->+                                Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers+                                                          ->+                                  Word32 -- ^ imageMemoryBarrierCount+                                         -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers+                                                                     -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdWaitEvents = vkCmdWaitEventsUnsafe+##else+vkCmdWaitEvents = vkCmdWaitEventsSafe++##endif+{-# INLINE vkCmdWaitEvents #-}++-- | Queues: 'graphics', 'compute'.+--+--   Renderpass: @both@+--+--   > void vkCmdWaitEvents+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t eventCount+--   >     , const VkEvent* pEvents+--   >     , VkPipelineStageFlags srcStageMask+--   >     , VkPipelineStageFlags dstStageMask+--   >     , uint32_t memoryBarrierCount+--   >     , const VkMemoryBarrier* pMemoryBarriers+--   >     , uint32_t bufferMemoryBarrierCount+--   >     , const VkBufferMemoryBarrier* pBufferMemoryBarriers+--   >     , uint32_t imageMemoryBarrierCount+--   >     , const VkImageMemoryBarrier* pImageMemoryBarriers+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdWaitEvents vkCmdWaitEvents registry at www.khronos.org>+type HS_vkCmdWaitEvents =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       Word32 -- ^ eventCount+              ->+         Ptr VkEvent -- ^ pEvents+                     ->+           VkPipelineStageFlags -- ^ srcStageMask+                                ->+             VkPipelineStageFlags -- ^ dstStageMask+                                  ->+               Word32 -- ^ memoryBarrierCount+                      ->+                 Ptr VkMemoryBarrier -- ^ pMemoryBarriers+                                     ->+                   Word32 -- ^ bufferMemoryBarrierCount+                          ->+                     Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers+                                               ->+                       Word32 -- ^ imageMemoryBarrierCount+                              -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers+                                                          -> IO ()++type PFN_vkCmdWaitEvents = FunPtr HS_vkCmdWaitEvents++foreign import ccall unsafe "dynamic" unwrapVkCmdWaitEventsUnsafe+               :: PFN_vkCmdWaitEvents -> HS_vkCmdWaitEvents++foreign import ccall safe "dynamic" unwrapVkCmdWaitEventsSafe ::+               PFN_vkCmdWaitEvents -> HS_vkCmdWaitEvents++instance VulkanProc "vkCmdWaitEvents" where+    type VkProcType "vkCmdWaitEvents" = HS_vkCmdWaitEvents+    vkProcSymbol = _VkCmdWaitEvents++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdWaitEventsUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdWaitEventsSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdPipelineBarrier :: CString++pattern VkCmdPipelineBarrier <- (is_VkCmdPipelineBarrier -> True)+  where+    VkCmdPipelineBarrier = _VkCmdPipelineBarrier++{-# INLINE _VkCmdPipelineBarrier #-}++_VkCmdPipelineBarrier :: CString+_VkCmdPipelineBarrier = Ptr "vkCmdPipelineBarrier\NUL"##++{-# INLINE is_VkCmdPipelineBarrier #-}++is_VkCmdPipelineBarrier :: CString -> Bool+is_VkCmdPipelineBarrier+  = (EQ ==) . cmpCStrings _VkCmdPipelineBarrier++type VkCmdPipelineBarrier = "vkCmdPipelineBarrier"++-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdPipelineBarrier+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkPipelineStageFlags srcStageMask+-- >     , VkPipelineStageFlags dstStageMask+-- >     , VkDependencyFlags dependencyFlags+-- >     , uint32_t memoryBarrierCount+-- >     , const VkMemoryBarrier* pMemoryBarriers+-- >     , uint32_t bufferMemoryBarrierCount+-- >     , const VkBufferMemoryBarrier* pBufferMemoryBarriers+-- >     , uint32_t imageMemoryBarrierCount+-- >     , const VkImageMemoryBarrier* pImageMemoryBarriers+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPipelineBarrier vkCmdPipelineBarrier registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdPipelineBarrier <- vkGetInstanceProc @VkCmdPipelineBarrier vkInstance+--+-- or less efficient:+--+-- > myCmdPipelineBarrier <- vkGetProc @VkCmdPipelineBarrier+--+-- __Note:__ @vkCmdPipelineBarrierUnsafe@ and @vkCmdPipelineBarrierSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdPipelineBarrier@ is an alias+--           of @vkCmdPipelineBarrierUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdPipelineBarrierSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdPipelineBarrier"+               vkCmdPipelineBarrierUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkPipelineStageFlags -- ^ srcStageMask+                                      ->+                   VkPipelineStageFlags -- ^ dstStageMask+                                        ->+                     VkDependencyFlags -- ^ dependencyFlags+                                       ->+                       Word32 -- ^ memoryBarrierCount+                              ->+                         Ptr VkMemoryBarrier -- ^ pMemoryBarriers+                                             ->+                           Word32 -- ^ bufferMemoryBarrierCount+                                  ->+                             Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers+                                                       ->+                               Word32 -- ^ imageMemoryBarrierCount+                                      -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers+                                                                  -> IO ()++##else+vkCmdPipelineBarrierUnsafe ::+                           VkCommandBuffer -- ^ commandBuffer+                                           ->+                             VkPipelineStageFlags -- ^ srcStageMask+                                                  ->+                               VkPipelineStageFlags -- ^ dstStageMask+                                                    ->+                                 VkDependencyFlags -- ^ dependencyFlags+                                                   ->+                                   Word32 -- ^ memoryBarrierCount+                                          ->+                                     Ptr VkMemoryBarrier -- ^ pMemoryBarriers+                                                         ->+                                       Word32 -- ^ bufferMemoryBarrierCount+                                              ->+                                         Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers+                                                                   ->+                                           Word32 -- ^ imageMemoryBarrierCount+                                                  -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers+                                                                              -> IO ()+vkCmdPipelineBarrierUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdPipelineBarrier)++{-# NOINLINE vkCmdPipelineBarrierUnsafe #-}+##endif++-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdPipelineBarrier+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkPipelineStageFlags srcStageMask+-- >     , VkPipelineStageFlags dstStageMask+-- >     , VkDependencyFlags dependencyFlags+-- >     , uint32_t memoryBarrierCount+-- >     , const VkMemoryBarrier* pMemoryBarriers+-- >     , uint32_t bufferMemoryBarrierCount+-- >     , const VkBufferMemoryBarrier* pBufferMemoryBarriers+-- >     , uint32_t imageMemoryBarrierCount+-- >     , const VkImageMemoryBarrier* pImageMemoryBarriers+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPipelineBarrier vkCmdPipelineBarrier registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdPipelineBarrier <- vkGetInstanceProc @VkCmdPipelineBarrier vkInstance+--+-- or less efficient:+--+-- > myCmdPipelineBarrier <- vkGetProc @VkCmdPipelineBarrier+--+-- __Note:__ @vkCmdPipelineBarrierUnsafe@ and @vkCmdPipelineBarrierSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdPipelineBarrier@ is an alias+--           of @vkCmdPipelineBarrierUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdPipelineBarrierSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdPipelineBarrier"+               vkCmdPipelineBarrierSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkPipelineStageFlags -- ^ srcStageMask+                                      ->+                   VkPipelineStageFlags -- ^ dstStageMask+                                        ->+                     VkDependencyFlags -- ^ dependencyFlags+                                       ->+                       Word32 -- ^ memoryBarrierCount+                              ->+                         Ptr VkMemoryBarrier -- ^ pMemoryBarriers+                                             ->+                           Word32 -- ^ bufferMemoryBarrierCount+                                  ->+                             Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers+                                                       ->+                               Word32 -- ^ imageMemoryBarrierCount+                                      -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers+                                                                  -> IO ()++##else+vkCmdPipelineBarrierSafe ::+                         VkCommandBuffer -- ^ commandBuffer+                                         ->+                           VkPipelineStageFlags -- ^ srcStageMask+                                                ->+                             VkPipelineStageFlags -- ^ dstStageMask+                                                  ->+                               VkDependencyFlags -- ^ dependencyFlags+                                                 ->+                                 Word32 -- ^ memoryBarrierCount+                                        ->+                                   Ptr VkMemoryBarrier -- ^ pMemoryBarriers+                                                       ->+                                     Word32 -- ^ bufferMemoryBarrierCount+                                            ->+                                       Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers+                                                                 ->+                                         Word32 -- ^ imageMemoryBarrierCount+                                                -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers+                                                                            -> IO ()+vkCmdPipelineBarrierSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdPipelineBarrier)++{-# NOINLINE vkCmdPipelineBarrierSafe #-}+##endif++-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdPipelineBarrier+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkPipelineStageFlags srcStageMask+-- >     , VkPipelineStageFlags dstStageMask+-- >     , VkDependencyFlags dependencyFlags+-- >     , uint32_t memoryBarrierCount+-- >     , const VkMemoryBarrier* pMemoryBarriers+-- >     , uint32_t bufferMemoryBarrierCount+-- >     , const VkBufferMemoryBarrier* pBufferMemoryBarriers+-- >     , uint32_t imageMemoryBarrierCount+-- >     , const VkImageMemoryBarrier* pImageMemoryBarriers+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPipelineBarrier vkCmdPipelineBarrier registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdPipelineBarrier <- vkGetInstanceProc @VkCmdPipelineBarrier vkInstance+--+-- or less efficient:+--+-- > myCmdPipelineBarrier <- vkGetProc @VkCmdPipelineBarrier+--+-- __Note:__ @vkCmdPipelineBarrierUnsafe@ and @vkCmdPipelineBarrierSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdPipelineBarrier@ is an alias+--           of @vkCmdPipelineBarrierUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdPipelineBarrierSafe@.+--+vkCmdPipelineBarrier ::+                     VkCommandBuffer -- ^ commandBuffer+                                     ->+                       VkPipelineStageFlags -- ^ srcStageMask+                                            ->+                         VkPipelineStageFlags -- ^ dstStageMask+                                              ->+                           VkDependencyFlags -- ^ dependencyFlags+                                             ->+                             Word32 -- ^ memoryBarrierCount+                                    ->+                               Ptr VkMemoryBarrier -- ^ pMemoryBarriers+                                                   ->+                                 Word32 -- ^ bufferMemoryBarrierCount+                                        ->+                                   Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers+                                                             ->+                                     Word32 -- ^ imageMemoryBarrierCount+                                            -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers+                                                                        -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdPipelineBarrier = vkCmdPipelineBarrierUnsafe+##else+vkCmdPipelineBarrier = vkCmdPipelineBarrierSafe++##endif+{-# INLINE vkCmdPipelineBarrier #-}++-- | Queues: 'transfer', 'graphics', 'compute'.+--+--   Renderpass: @both@+--+--   > void vkCmdPipelineBarrier+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkPipelineStageFlags srcStageMask+--   >     , VkPipelineStageFlags dstStageMask+--   >     , VkDependencyFlags dependencyFlags+--   >     , uint32_t memoryBarrierCount+--   >     , const VkMemoryBarrier* pMemoryBarriers+--   >     , uint32_t bufferMemoryBarrierCount+--   >     , const VkBufferMemoryBarrier* pBufferMemoryBarriers+--   >     , uint32_t imageMemoryBarrierCount+--   >     , const VkImageMemoryBarrier* pImageMemoryBarriers+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPipelineBarrier vkCmdPipelineBarrier registry at www.khronos.org>+type HS_vkCmdPipelineBarrier =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       VkPipelineStageFlags -- ^ srcStageMask+                            ->+         VkPipelineStageFlags -- ^ dstStageMask+                              ->+           VkDependencyFlags -- ^ dependencyFlags+                             ->+             Word32 -- ^ memoryBarrierCount+                    ->+               Ptr VkMemoryBarrier -- ^ pMemoryBarriers+                                   ->+                 Word32 -- ^ bufferMemoryBarrierCount+                        ->+                   Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers+                                             ->+                     Word32 -- ^ imageMemoryBarrierCount+                            -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers+                                                        -> IO ()++type PFN_vkCmdPipelineBarrier = FunPtr HS_vkCmdPipelineBarrier++foreign import ccall unsafe "dynamic"+               unwrapVkCmdPipelineBarrierUnsafe ::+               PFN_vkCmdPipelineBarrier -> HS_vkCmdPipelineBarrier++foreign import ccall safe "dynamic" unwrapVkCmdPipelineBarrierSafe+               :: PFN_vkCmdPipelineBarrier -> HS_vkCmdPipelineBarrier++instance VulkanProc "vkCmdPipelineBarrier" where+    type VkProcType "vkCmdPipelineBarrier" = HS_vkCmdPipelineBarrier+    vkProcSymbol = _VkCmdPipelineBarrier++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdPipelineBarrierUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdPipelineBarrierSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdBeginQuery :: CString++pattern VkCmdBeginQuery <- (is_VkCmdBeginQuery -> True)+  where+    VkCmdBeginQuery = _VkCmdBeginQuery++{-# INLINE _VkCmdBeginQuery #-}++_VkCmdBeginQuery :: CString+_VkCmdBeginQuery = Ptr "vkCmdBeginQuery\NUL"##++{-# INLINE is_VkCmdBeginQuery #-}++is_VkCmdBeginQuery :: CString -> Bool+is_VkCmdBeginQuery = (EQ ==) . cmpCStrings _VkCmdBeginQuery++type VkCmdBeginQuery = "vkCmdBeginQuery"++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdBeginQuery+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkQueryPool queryPool+-- >     , uint32_t query+-- >     , VkQueryControlFlags flags+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBeginQuery vkCmdBeginQuery registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBeginQuery <- vkGetInstanceProc @VkCmdBeginQuery vkInstance+--+-- or less efficient:+--+-- > myCmdBeginQuery <- vkGetProc @VkCmdBeginQuery+--+-- __Note:__ @vkCmdBeginQueryUnsafe@ and @vkCmdBeginQuerySafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdBeginQuery@ is an alias+--           of @vkCmdBeginQueryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdBeginQuerySafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdBeginQuery" vkCmdBeginQueryUnsafe+               ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkQueryPool -- ^ queryPool+                             -> Word32 -- ^ query+                                       -> VkQueryControlFlags -- ^ flags+                                                              -> IO ()++##else+vkCmdBeginQueryUnsafe ::+                      VkCommandBuffer -- ^ commandBuffer+                                      ->+                        VkQueryPool -- ^ queryPool+                                    -> Word32 -- ^ query+                                              -> VkQueryControlFlags -- ^ flags+                                                                     -> IO ()+vkCmdBeginQueryUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdBeginQuery)++{-# NOINLINE vkCmdBeginQueryUnsafe #-}+##endif++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdBeginQuery+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkQueryPool queryPool+-- >     , uint32_t query+-- >     , VkQueryControlFlags flags+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBeginQuery vkCmdBeginQuery registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBeginQuery <- vkGetInstanceProc @VkCmdBeginQuery vkInstance+--+-- or less efficient:+--+-- > myCmdBeginQuery <- vkGetProc @VkCmdBeginQuery+--+-- __Note:__ @vkCmdBeginQueryUnsafe@ and @vkCmdBeginQuerySafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdBeginQuery@ is an alias+--           of @vkCmdBeginQueryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdBeginQuerySafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdBeginQuery" vkCmdBeginQuerySafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkQueryPool -- ^ queryPool+                             -> Word32 -- ^ query+                                       -> VkQueryControlFlags -- ^ flags+                                                              -> IO ()++##else+vkCmdBeginQuerySafe ::+                    VkCommandBuffer -- ^ commandBuffer+                                    ->+                      VkQueryPool -- ^ queryPool+                                  -> Word32 -- ^ query+                                            -> VkQueryControlFlags -- ^ flags+                                                                   -> IO ()+vkCmdBeginQuerySafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdBeginQuery)++{-# NOINLINE vkCmdBeginQuerySafe #-}+##endif++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdBeginQuery+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkQueryPool queryPool+-- >     , uint32_t query+-- >     , VkQueryControlFlags flags+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBeginQuery vkCmdBeginQuery registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBeginQuery <- vkGetInstanceProc @VkCmdBeginQuery vkInstance+--+-- or less efficient:+--+-- > myCmdBeginQuery <- vkGetProc @VkCmdBeginQuery+--+-- __Note:__ @vkCmdBeginQueryUnsafe@ and @vkCmdBeginQuerySafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdBeginQuery@ is an alias+--           of @vkCmdBeginQueryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdBeginQuerySafe@.+--+vkCmdBeginQuery ::+                VkCommandBuffer -- ^ commandBuffer+                                ->+                  VkQueryPool -- ^ queryPool+                              -> Word32 -- ^ query+                                        -> VkQueryControlFlags -- ^ flags+                                                               -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdBeginQuery = vkCmdBeginQueryUnsafe+##else+vkCmdBeginQuery = vkCmdBeginQuerySafe++##endif+{-# INLINE vkCmdBeginQuery #-}++-- | Queues: 'graphics', 'compute'.+--+--   Renderpass: @both@+--+--   > void vkCmdBeginQuery+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkQueryPool queryPool+--   >     , uint32_t query+--   >     , VkQueryControlFlags flags+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBeginQuery vkCmdBeginQuery registry at www.khronos.org>+type HS_vkCmdBeginQuery =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       VkQueryPool -- ^ queryPool+                   -> Word32 -- ^ query+                             -> VkQueryControlFlags -- ^ flags+                                                    -> IO ()++type PFN_vkCmdBeginQuery = FunPtr HS_vkCmdBeginQuery++foreign import ccall unsafe "dynamic" unwrapVkCmdBeginQueryUnsafe+               :: PFN_vkCmdBeginQuery -> HS_vkCmdBeginQuery++foreign import ccall safe "dynamic" unwrapVkCmdBeginQuerySafe ::+               PFN_vkCmdBeginQuery -> HS_vkCmdBeginQuery++instance VulkanProc "vkCmdBeginQuery" where+    type VkProcType "vkCmdBeginQuery" = HS_vkCmdBeginQuery+    vkProcSymbol = _VkCmdBeginQuery++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdBeginQueryUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdBeginQuerySafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdEndQuery :: CString++pattern VkCmdEndQuery <- (is_VkCmdEndQuery -> True)+  where+    VkCmdEndQuery = _VkCmdEndQuery++{-# INLINE _VkCmdEndQuery #-}++_VkCmdEndQuery :: CString+_VkCmdEndQuery = Ptr "vkCmdEndQuery\NUL"##++{-# INLINE is_VkCmdEndQuery #-}++is_VkCmdEndQuery :: CString -> Bool+is_VkCmdEndQuery = (EQ ==) . cmpCStrings _VkCmdEndQuery++type VkCmdEndQuery = "vkCmdEndQuery"++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdEndQuery+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkQueryPool queryPool+-- >     , uint32_t query+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdEndQuery vkCmdEndQuery registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdEndQuery <- vkGetInstanceProc @VkCmdEndQuery vkInstance+--+-- or less efficient:+--+-- > myCmdEndQuery <- vkGetProc @VkCmdEndQuery+--+-- __Note:__ @vkCmdEndQueryUnsafe@ and @vkCmdEndQuerySafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdEndQuery@ is an alias+--           of @vkCmdEndQueryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdEndQuerySafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdEndQuery" vkCmdEndQueryUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkQueryPool -- ^ queryPool+                                              -> Word32 -- ^ query+                                                        -> IO ()++##else+vkCmdEndQueryUnsafe ::+                    VkCommandBuffer -- ^ commandBuffer+                                    -> VkQueryPool -- ^ queryPool+                                                   -> Word32 -- ^ query+                                                             -> IO ()+vkCmdEndQueryUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdEndQuery)++{-# NOINLINE vkCmdEndQueryUnsafe #-}+##endif++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdEndQuery+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkQueryPool queryPool+-- >     , uint32_t query+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdEndQuery vkCmdEndQuery registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdEndQuery <- vkGetInstanceProc @VkCmdEndQuery vkInstance+--+-- or less efficient:+--+-- > myCmdEndQuery <- vkGetProc @VkCmdEndQuery+--+-- __Note:__ @vkCmdEndQueryUnsafe@ and @vkCmdEndQuerySafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdEndQuery@ is an alias+--           of @vkCmdEndQueryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdEndQuerySafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdEndQuery" vkCmdEndQuerySafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkQueryPool -- ^ queryPool+                                              -> Word32 -- ^ query+                                                        -> IO ()++##else+vkCmdEndQuerySafe ::+                  VkCommandBuffer -- ^ commandBuffer+                                  -> VkQueryPool -- ^ queryPool+                                                 -> Word32 -- ^ query+                                                           -> IO ()+vkCmdEndQuerySafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdEndQuery)++{-# NOINLINE vkCmdEndQuerySafe #-}+##endif++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdEndQuery+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkQueryPool queryPool+-- >     , uint32_t query+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdEndQuery vkCmdEndQuery registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdEndQuery <- vkGetInstanceProc @VkCmdEndQuery vkInstance+--+-- or less efficient:+--+-- > myCmdEndQuery <- vkGetProc @VkCmdEndQuery+--+-- __Note:__ @vkCmdEndQueryUnsafe@ and @vkCmdEndQuerySafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdEndQuery@ is an alias+--           of @vkCmdEndQueryUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdEndQuerySafe@.+--+vkCmdEndQuery :: VkCommandBuffer -- ^ commandBuffer+                                 -> VkQueryPool -- ^ queryPool+                                                -> Word32 -- ^ query+                                                          -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdEndQuery = vkCmdEndQueryUnsafe+##else+vkCmdEndQuery = vkCmdEndQuerySafe++##endif+{-# INLINE vkCmdEndQuery #-}++-- | Queues: 'graphics', 'compute'.+--+--   Renderpass: @both@+--+--   > void vkCmdEndQuery+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkQueryPool queryPool+--   >     , uint32_t query+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdEndQuery vkCmdEndQuery registry at www.khronos.org>+type HS_vkCmdEndQuery =+     VkCommandBuffer -- ^ commandBuffer+                     -> VkQueryPool -- ^ queryPool+                                    -> Word32 -- ^ query+                                              -> IO ()++type PFN_vkCmdEndQuery = FunPtr HS_vkCmdEndQuery++foreign import ccall unsafe "dynamic" unwrapVkCmdEndQueryUnsafe ::+               PFN_vkCmdEndQuery -> HS_vkCmdEndQuery++foreign import ccall safe "dynamic" unwrapVkCmdEndQuerySafe ::+               PFN_vkCmdEndQuery -> HS_vkCmdEndQuery++instance VulkanProc "vkCmdEndQuery" where+    type VkProcType "vkCmdEndQuery" = HS_vkCmdEndQuery+    vkProcSymbol = _VkCmdEndQuery++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdEndQueryUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdEndQuerySafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdResetQueryPool :: CString++pattern VkCmdResetQueryPool <- (is_VkCmdResetQueryPool -> True)+  where+    VkCmdResetQueryPool = _VkCmdResetQueryPool++{-# INLINE _VkCmdResetQueryPool #-}++_VkCmdResetQueryPool :: CString+_VkCmdResetQueryPool = Ptr "vkCmdResetQueryPool\NUL"##++{-# INLINE is_VkCmdResetQueryPool #-}++is_VkCmdResetQueryPool :: CString -> Bool+is_VkCmdResetQueryPool = (EQ ==) . cmpCStrings _VkCmdResetQueryPool++type VkCmdResetQueryPool = "vkCmdResetQueryPool"++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdResetQueryPool+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkQueryPool queryPool+-- >     , uint32_t firstQuery+-- >     , uint32_t queryCount+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResetQueryPool vkCmdResetQueryPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdResetQueryPool <- vkGetInstanceProc @VkCmdResetQueryPool vkInstance+--+-- or less efficient:+--+-- > myCmdResetQueryPool <- vkGetProc @VkCmdResetQueryPool+--+-- __Note:__ @vkCmdResetQueryPoolUnsafe@ and @vkCmdResetQueryPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdResetQueryPool@ is an alias+--           of @vkCmdResetQueryPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdResetQueryPoolSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdResetQueryPool"+               vkCmdResetQueryPoolUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkQueryPool -- ^ queryPool+                                              -> Word32 -- ^ firstQuery+                                                        -> Word32 -- ^ queryCount+                                                                  -> IO ()++##else+vkCmdResetQueryPoolUnsafe ::+                          VkCommandBuffer -- ^ commandBuffer+                                          -> VkQueryPool -- ^ queryPool+                                                         -> Word32 -- ^ firstQuery+                                                                   -> Word32 -- ^ queryCount+                                                                             -> IO ()+vkCmdResetQueryPoolUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdResetQueryPool)++{-# NOINLINE vkCmdResetQueryPoolUnsafe #-}+##endif++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdResetQueryPool+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkQueryPool queryPool+-- >     , uint32_t firstQuery+-- >     , uint32_t queryCount+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResetQueryPool vkCmdResetQueryPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdResetQueryPool <- vkGetInstanceProc @VkCmdResetQueryPool vkInstance+--+-- or less efficient:+--+-- > myCmdResetQueryPool <- vkGetProc @VkCmdResetQueryPool+--+-- __Note:__ @vkCmdResetQueryPoolUnsafe@ and @vkCmdResetQueryPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdResetQueryPool@ is an alias+--           of @vkCmdResetQueryPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdResetQueryPoolSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdResetQueryPool"+               vkCmdResetQueryPoolSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkQueryPool -- ^ queryPool+                                              -> Word32 -- ^ firstQuery+                                                        -> Word32 -- ^ queryCount+                                                                  -> IO ()++##else+vkCmdResetQueryPoolSafe ::+                        VkCommandBuffer -- ^ commandBuffer+                                        -> VkQueryPool -- ^ queryPool+                                                       -> Word32 -- ^ firstQuery+                                                                 -> Word32 -- ^ queryCount+                                                                           -> IO ()+vkCmdResetQueryPoolSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdResetQueryPool)++{-# NOINLINE vkCmdResetQueryPoolSafe #-}+##endif++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdResetQueryPool+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkQueryPool queryPool+-- >     , uint32_t firstQuery+-- >     , uint32_t queryCount+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResetQueryPool vkCmdResetQueryPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdResetQueryPool <- vkGetInstanceProc @VkCmdResetQueryPool vkInstance+--+-- or less efficient:+--+-- > myCmdResetQueryPool <- vkGetProc @VkCmdResetQueryPool+--+-- __Note:__ @vkCmdResetQueryPoolUnsafe@ and @vkCmdResetQueryPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdResetQueryPool@ is an alias+--           of @vkCmdResetQueryPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdResetQueryPoolSafe@.+--+vkCmdResetQueryPool ::+                    VkCommandBuffer -- ^ commandBuffer+                                    -> VkQueryPool -- ^ queryPool+                                                   -> Word32 -- ^ firstQuery+                                                             -> Word32 -- ^ queryCount+                                                                       -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdResetQueryPool = vkCmdResetQueryPoolUnsafe+##else+vkCmdResetQueryPool = vkCmdResetQueryPoolSafe++##endif+{-# INLINE vkCmdResetQueryPool #-}++-- | Queues: 'graphics', 'compute'.+--+--   Renderpass: @outside@+--+--   > void vkCmdResetQueryPool+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkQueryPool queryPool+--   >     , uint32_t firstQuery+--   >     , uint32_t queryCount+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResetQueryPool vkCmdResetQueryPool registry at www.khronos.org>+type HS_vkCmdResetQueryPool =+     VkCommandBuffer -- ^ commandBuffer+                     -> VkQueryPool -- ^ queryPool+                                    -> Word32 -- ^ firstQuery+                                              -> Word32 -- ^ queryCount+                                                        -> IO ()++type PFN_vkCmdResetQueryPool = FunPtr HS_vkCmdResetQueryPool++foreign import ccall unsafe "dynamic"+               unwrapVkCmdResetQueryPoolUnsafe ::+               PFN_vkCmdResetQueryPool -> HS_vkCmdResetQueryPool++foreign import ccall safe "dynamic" unwrapVkCmdResetQueryPoolSafe+               :: PFN_vkCmdResetQueryPool -> HS_vkCmdResetQueryPool++instance VulkanProc "vkCmdResetQueryPool" where+    type VkProcType "vkCmdResetQueryPool" = HS_vkCmdResetQueryPool+    vkProcSymbol = _VkCmdResetQueryPool++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdResetQueryPoolUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdResetQueryPoolSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdWriteTimestamp :: CString++pattern VkCmdWriteTimestamp <- (is_VkCmdWriteTimestamp -> True)+  where+    VkCmdWriteTimestamp = _VkCmdWriteTimestamp++{-# INLINE _VkCmdWriteTimestamp #-}++_VkCmdWriteTimestamp :: CString+_VkCmdWriteTimestamp = Ptr "vkCmdWriteTimestamp\NUL"##++{-# INLINE is_VkCmdWriteTimestamp #-}++is_VkCmdWriteTimestamp :: CString -> Bool+is_VkCmdWriteTimestamp = (EQ ==) . cmpCStrings _VkCmdWriteTimestamp++type VkCmdWriteTimestamp = "vkCmdWriteTimestamp"++-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- Pipeline: @transfer@+--+-- > void vkCmdWriteTimestamp+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkPipelineStageFlagBits pipelineStage+-- >     , VkQueryPool queryPool+-- >     , uint32_t query+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdWriteTimestamp vkCmdWriteTimestamp registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdWriteTimestamp <- vkGetInstanceProc @VkCmdWriteTimestamp vkInstance+--+-- or less efficient:+--+-- > myCmdWriteTimestamp <- vkGetProc @VkCmdWriteTimestamp+--+-- __Note:__ @vkCmdWriteTimestampUnsafe@ and @vkCmdWriteTimestampSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdWriteTimestamp@ is an alias+--           of @vkCmdWriteTimestampUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdWriteTimestampSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdWriteTimestamp"+               vkCmdWriteTimestampUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkPipelineStageFlagBits -- ^ pipelineStage+                                         -> VkQueryPool -- ^ queryPool+                                                        -> Word32 -- ^ query+                                                                  -> IO ()++##else+vkCmdWriteTimestampUnsafe ::+                          VkCommandBuffer -- ^ commandBuffer+                                          ->+                            VkPipelineStageFlagBits -- ^ pipelineStage+                                                    -> VkQueryPool -- ^ queryPool+                                                                   -> Word32 -- ^ query+                                                                             -> IO ()+vkCmdWriteTimestampUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdWriteTimestamp)++{-# NOINLINE vkCmdWriteTimestampUnsafe #-}+##endif++-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- Pipeline: @transfer@+--+-- > void vkCmdWriteTimestamp+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkPipelineStageFlagBits pipelineStage+-- >     , VkQueryPool queryPool+-- >     , uint32_t query+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdWriteTimestamp vkCmdWriteTimestamp registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdWriteTimestamp <- vkGetInstanceProc @VkCmdWriteTimestamp vkInstance+--+-- or less efficient:+--+-- > myCmdWriteTimestamp <- vkGetProc @VkCmdWriteTimestamp+--+-- __Note:__ @vkCmdWriteTimestampUnsafe@ and @vkCmdWriteTimestampSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdWriteTimestamp@ is an alias+--           of @vkCmdWriteTimestampUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdWriteTimestampSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdWriteTimestamp"+               vkCmdWriteTimestampSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkPipelineStageFlagBits -- ^ pipelineStage+                                         -> VkQueryPool -- ^ queryPool+                                                        -> Word32 -- ^ query+                                                                  -> IO ()++##else+vkCmdWriteTimestampSafe ::+                        VkCommandBuffer -- ^ commandBuffer+                                        ->+                          VkPipelineStageFlagBits -- ^ pipelineStage+                                                  -> VkQueryPool -- ^ queryPool+                                                                 -> Word32 -- ^ query+                                                                           -> IO ()+vkCmdWriteTimestampSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdWriteTimestamp)++{-# NOINLINE vkCmdWriteTimestampSafe #-}+##endif++-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- Pipeline: @transfer@+--+-- > void vkCmdWriteTimestamp+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkPipelineStageFlagBits pipelineStage+-- >     , VkQueryPool queryPool+-- >     , uint32_t query+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdWriteTimestamp vkCmdWriteTimestamp registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdWriteTimestamp <- vkGetInstanceProc @VkCmdWriteTimestamp vkInstance+--+-- or less efficient:+--+-- > myCmdWriteTimestamp <- vkGetProc @VkCmdWriteTimestamp+--+-- __Note:__ @vkCmdWriteTimestampUnsafe@ and @vkCmdWriteTimestampSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdWriteTimestamp@ is an alias+--           of @vkCmdWriteTimestampUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdWriteTimestampSafe@.+--+vkCmdWriteTimestamp ::+                    VkCommandBuffer -- ^ commandBuffer+                                    ->+                      VkPipelineStageFlagBits -- ^ pipelineStage+                                              -> VkQueryPool -- ^ queryPool+                                                             -> Word32 -- ^ query+                                                                       -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdWriteTimestamp = vkCmdWriteTimestampUnsafe+##else+vkCmdWriteTimestamp = vkCmdWriteTimestampSafe++##endif+{-# INLINE vkCmdWriteTimestamp #-}++-- | Queues: 'transfer', 'graphics', 'compute'.+--+--   Renderpass: @both@+--+--   Pipeline: @transfer@+--+--   > void vkCmdWriteTimestamp+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkPipelineStageFlagBits pipelineStage+--   >     , VkQueryPool queryPool+--   >     , uint32_t query+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdWriteTimestamp vkCmdWriteTimestamp registry at www.khronos.org>+type HS_vkCmdWriteTimestamp =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       VkPipelineStageFlagBits -- ^ pipelineStage+                               -> VkQueryPool -- ^ queryPool+                                              -> Word32 -- ^ query+                                                        -> IO ()++type PFN_vkCmdWriteTimestamp = FunPtr HS_vkCmdWriteTimestamp++foreign import ccall unsafe "dynamic"+               unwrapVkCmdWriteTimestampUnsafe ::+               PFN_vkCmdWriteTimestamp -> HS_vkCmdWriteTimestamp++foreign import ccall safe "dynamic" unwrapVkCmdWriteTimestampSafe+               :: PFN_vkCmdWriteTimestamp -> HS_vkCmdWriteTimestamp++instance VulkanProc "vkCmdWriteTimestamp" where+    type VkProcType "vkCmdWriteTimestamp" = HS_vkCmdWriteTimestamp+    vkProcSymbol = _VkCmdWriteTimestamp++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdWriteTimestampUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdWriteTimestampSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdCopyQueryPoolResults :: CString++pattern VkCmdCopyQueryPoolResults <-+        (is_VkCmdCopyQueryPoolResults -> True)+  where+    VkCmdCopyQueryPoolResults = _VkCmdCopyQueryPoolResults++{-# INLINE _VkCmdCopyQueryPoolResults #-}++_VkCmdCopyQueryPoolResults :: CString+_VkCmdCopyQueryPoolResults = Ptr "vkCmdCopyQueryPoolResults\NUL"##++{-# INLINE is_VkCmdCopyQueryPoolResults #-}++is_VkCmdCopyQueryPoolResults :: CString -> Bool+is_VkCmdCopyQueryPoolResults+  = (EQ ==) . cmpCStrings _VkCmdCopyQueryPoolResults++type VkCmdCopyQueryPoolResults = "vkCmdCopyQueryPoolResults"++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyQueryPoolResults+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkQueryPool queryPool+-- >     , uint32_t firstQuery+-- >     , uint32_t queryCount+-- >     , VkBuffer dstBuffer+-- >     , VkDeviceSize dstOffset+-- >     , VkDeviceSize stride+-- >     , VkQueryResultFlags flags+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdCopyQueryPoolResults <- vkGetInstanceProc @VkCmdCopyQueryPoolResults vkInstance+--+-- or less efficient:+--+-- > myCmdCopyQueryPoolResults <- vkGetProc @VkCmdCopyQueryPoolResults+--+-- __Note:__ @vkCmdCopyQueryPoolResultsUnsafe@ and @vkCmdCopyQueryPoolResultsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdCopyQueryPoolResults@ is an alias+--           of @vkCmdCopyQueryPoolResultsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdCopyQueryPoolResultsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdCopyQueryPoolResults"+               vkCmdCopyQueryPoolResultsUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkQueryPool -- ^ queryPool+                             ->+                   Word32 -- ^ firstQuery+                          ->+                     Word32 -- ^ queryCount+                            ->+                       VkBuffer -- ^ dstBuffer+                                ->+                         VkDeviceSize -- ^ dstOffset+                                      -> VkDeviceSize -- ^ stride+                                                      -> VkQueryResultFlags -- ^ flags+                                                                            -> IO ()++##else+vkCmdCopyQueryPoolResultsUnsafe ::+                                VkCommandBuffer -- ^ commandBuffer+                                                ->+                                  VkQueryPool -- ^ queryPool+                                              ->+                                    Word32 -- ^ firstQuery+                                           ->+                                      Word32 -- ^ queryCount+                                             ->+                                        VkBuffer -- ^ dstBuffer+                                                 ->+                                          VkDeviceSize -- ^ dstOffset+                                                       ->+                                            VkDeviceSize -- ^ stride+                                                         -> VkQueryResultFlags -- ^ flags+                                                                               -> IO ()+vkCmdCopyQueryPoolResultsUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkCmdCopyQueryPoolResults)++{-# NOINLINE vkCmdCopyQueryPoolResultsUnsafe #-}+##endif++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyQueryPoolResults+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkQueryPool queryPool+-- >     , uint32_t firstQuery+-- >     , uint32_t queryCount+-- >     , VkBuffer dstBuffer+-- >     , VkDeviceSize dstOffset+-- >     , VkDeviceSize stride+-- >     , VkQueryResultFlags flags+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdCopyQueryPoolResults <- vkGetInstanceProc @VkCmdCopyQueryPoolResults vkInstance+--+-- or less efficient:+--+-- > myCmdCopyQueryPoolResults <- vkGetProc @VkCmdCopyQueryPoolResults+--+-- __Note:__ @vkCmdCopyQueryPoolResultsUnsafe@ and @vkCmdCopyQueryPoolResultsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdCopyQueryPoolResults@ is an alias+--           of @vkCmdCopyQueryPoolResultsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdCopyQueryPoolResultsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdCopyQueryPoolResults"+               vkCmdCopyQueryPoolResultsSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkQueryPool -- ^ queryPool+                             ->+                   Word32 -- ^ firstQuery+                          ->+                     Word32 -- ^ queryCount+                            ->+                       VkBuffer -- ^ dstBuffer+                                ->+                         VkDeviceSize -- ^ dstOffset+                                      -> VkDeviceSize -- ^ stride+                                                      -> VkQueryResultFlags -- ^ flags+                                                                            -> IO ()++##else+vkCmdCopyQueryPoolResultsSafe ::+                              VkCommandBuffer -- ^ commandBuffer+                                              ->+                                VkQueryPool -- ^ queryPool+                                            ->+                                  Word32 -- ^ firstQuery+                                         ->+                                    Word32 -- ^ queryCount+                                           ->+                                      VkBuffer -- ^ dstBuffer+                                               ->+                                        VkDeviceSize -- ^ dstOffset+                                                     -> VkDeviceSize -- ^ stride+                                                                     -> VkQueryResultFlags -- ^ flags+                                                                                           -> IO ()+vkCmdCopyQueryPoolResultsSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdCopyQueryPoolResults)++{-# NOINLINE vkCmdCopyQueryPoolResultsSafe #-}+##endif++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyQueryPoolResults+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkQueryPool queryPool+-- >     , uint32_t firstQuery+-- >     , uint32_t queryCount+-- >     , VkBuffer dstBuffer+-- >     , VkDeviceSize dstOffset+-- >     , VkDeviceSize stride+-- >     , VkQueryResultFlags flags+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdCopyQueryPoolResults <- vkGetInstanceProc @VkCmdCopyQueryPoolResults vkInstance+--+-- or less efficient:+--+-- > myCmdCopyQueryPoolResults <- vkGetProc @VkCmdCopyQueryPoolResults+--+-- __Note:__ @vkCmdCopyQueryPoolResultsUnsafe@ and @vkCmdCopyQueryPoolResultsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdCopyQueryPoolResults@ is an alias+--           of @vkCmdCopyQueryPoolResultsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdCopyQueryPoolResultsSafe@.+--+vkCmdCopyQueryPoolResults ::+                          VkCommandBuffer -- ^ commandBuffer+                                          ->+                            VkQueryPool -- ^ queryPool+                                        ->+                              Word32 -- ^ firstQuery+                                     ->+                                Word32 -- ^ queryCount+                                       ->+                                  VkBuffer -- ^ dstBuffer+                                           ->+                                    VkDeviceSize -- ^ dstOffset+                                                 -> VkDeviceSize -- ^ stride+                                                                 -> VkQueryResultFlags -- ^ flags+                                                                                       -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdCopyQueryPoolResults = vkCmdCopyQueryPoolResultsUnsafe+##else+vkCmdCopyQueryPoolResults = vkCmdCopyQueryPoolResultsSafe++##endif+{-# INLINE vkCmdCopyQueryPoolResults #-}++-- | Queues: 'graphics', 'compute'.+--+--   Renderpass: @outside@+--+--   Pipeline: @transfer@+--+--   > void vkCmdCopyQueryPoolResults+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkQueryPool queryPool+--   >     , uint32_t firstQuery+--   >     , uint32_t queryCount+--   >     , VkBuffer dstBuffer+--   >     , VkDeviceSize dstOffset+--   >     , VkDeviceSize stride+--   >     , VkQueryResultFlags flags+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults registry at www.khronos.org>+type HS_vkCmdCopyQueryPoolResults =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       VkQueryPool -- ^ queryPool+                   ->+         Word32 -- ^ firstQuery+                ->+           Word32 -- ^ queryCount+                  ->+             VkBuffer -- ^ dstBuffer+                      ->+               VkDeviceSize -- ^ dstOffset+                            -> VkDeviceSize -- ^ stride+                                            -> VkQueryResultFlags -- ^ flags+                                                                  -> IO ()++type PFN_vkCmdCopyQueryPoolResults =+     FunPtr HS_vkCmdCopyQueryPoolResults++foreign import ccall unsafe "dynamic"+               unwrapVkCmdCopyQueryPoolResultsUnsafe ::+               PFN_vkCmdCopyQueryPoolResults -> HS_vkCmdCopyQueryPoolResults++foreign import ccall safe "dynamic"+               unwrapVkCmdCopyQueryPoolResultsSafe ::+               PFN_vkCmdCopyQueryPoolResults -> HS_vkCmdCopyQueryPoolResults++instance VulkanProc "vkCmdCopyQueryPoolResults" where+    type VkProcType "vkCmdCopyQueryPoolResults" =+         HS_vkCmdCopyQueryPoolResults+    vkProcSymbol = _VkCmdCopyQueryPoolResults++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdCopyQueryPoolResultsUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdCopyQueryPoolResultsSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdPushConstants :: CString++pattern VkCmdPushConstants <- (is_VkCmdPushConstants -> True)+  where+    VkCmdPushConstants = _VkCmdPushConstants++{-# INLINE _VkCmdPushConstants #-}++_VkCmdPushConstants :: CString+_VkCmdPushConstants = Ptr "vkCmdPushConstants\NUL"##++{-# INLINE is_VkCmdPushConstants #-}++is_VkCmdPushConstants :: CString -> Bool+is_VkCmdPushConstants = (EQ ==) . cmpCStrings _VkCmdPushConstants++type VkCmdPushConstants = "vkCmdPushConstants"++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdPushConstants+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkPipelineLayout layout+-- >     , VkShaderStageFlags stageFlags+-- >     , uint32_t offset+-- >     , uint32_t size+-- >     , const void* pValues+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPushConstants vkCmdPushConstants registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdPushConstants <- vkGetInstanceProc @VkCmdPushConstants vkInstance+--+-- or less efficient:+--+-- > myCmdPushConstants <- vkGetProc @VkCmdPushConstants+--+-- __Note:__ @vkCmdPushConstantsUnsafe@ and @vkCmdPushConstantsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdPushConstants@ is an alias+--           of @vkCmdPushConstantsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdPushConstantsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdPushConstants"+               vkCmdPushConstantsUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkPipelineLayout -- ^ layout+                                  ->+                   VkShaderStageFlags -- ^ stageFlags+                                      -> Word32 -- ^ offset+                                                -> Word32 -- ^ size+                                                          -> Ptr Void -- ^ pValues+                                                                      -> IO ()++##else+vkCmdPushConstantsUnsafe ::+                         VkCommandBuffer -- ^ commandBuffer+                                         ->+                           VkPipelineLayout -- ^ layout+                                            ->+                             VkShaderStageFlags -- ^ stageFlags+                                                -> Word32 -- ^ offset+                                                          -> Word32 -- ^ size+                                                                    -> Ptr Void -- ^ pValues+                                                                                -> IO ()+vkCmdPushConstantsUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdPushConstants)++{-# NOINLINE vkCmdPushConstantsUnsafe #-}+##endif++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdPushConstants+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkPipelineLayout layout+-- >     , VkShaderStageFlags stageFlags+-- >     , uint32_t offset+-- >     , uint32_t size+-- >     , const void* pValues+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPushConstants vkCmdPushConstants registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdPushConstants <- vkGetInstanceProc @VkCmdPushConstants vkInstance+--+-- or less efficient:+--+-- > myCmdPushConstants <- vkGetProc @VkCmdPushConstants+--+-- __Note:__ @vkCmdPushConstantsUnsafe@ and @vkCmdPushConstantsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdPushConstants@ is an alias+--           of @vkCmdPushConstantsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdPushConstantsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdPushConstants"+               vkCmdPushConstantsSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkPipelineLayout -- ^ layout+                                  ->+                   VkShaderStageFlags -- ^ stageFlags+                                      -> Word32 -- ^ offset+                                                -> Word32 -- ^ size+                                                          -> Ptr Void -- ^ pValues+                                                                      -> IO ()++##else+vkCmdPushConstantsSafe ::+                       VkCommandBuffer -- ^ commandBuffer+                                       ->+                         VkPipelineLayout -- ^ layout+                                          ->+                           VkShaderStageFlags -- ^ stageFlags+                                              -> Word32 -- ^ offset+                                                        -> Word32 -- ^ size+                                                                  -> Ptr Void -- ^ pValues+                                                                              -> IO ()+vkCmdPushConstantsSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdPushConstants)++{-# NOINLINE vkCmdPushConstantsSafe #-}+##endif++-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdPushConstants+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkPipelineLayout layout+-- >     , VkShaderStageFlags stageFlags+-- >     , uint32_t offset+-- >     , uint32_t size+-- >     , const void* pValues+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPushConstants vkCmdPushConstants registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdPushConstants <- vkGetInstanceProc @VkCmdPushConstants vkInstance+--+-- or less efficient:+--+-- > myCmdPushConstants <- vkGetProc @VkCmdPushConstants+--+-- __Note:__ @vkCmdPushConstantsUnsafe@ and @vkCmdPushConstantsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdPushConstants@ is an alias+--           of @vkCmdPushConstantsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdPushConstantsSafe@.+--+vkCmdPushConstants ::+                   VkCommandBuffer -- ^ commandBuffer+                                   ->+                     VkPipelineLayout -- ^ layout+                                      ->+                       VkShaderStageFlags -- ^ stageFlags+                                          -> Word32 -- ^ offset+                                                    -> Word32 -- ^ size+                                                              -> Ptr Void -- ^ pValues+                                                                          -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdPushConstants = vkCmdPushConstantsUnsafe+##else+vkCmdPushConstants = vkCmdPushConstantsSafe++##endif+{-# INLINE vkCmdPushConstants #-}++-- | Queues: 'graphics', 'compute'.+--+--   Renderpass: @both@+--+--   > void vkCmdPushConstants+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkPipelineLayout layout+--   >     , VkShaderStageFlags stageFlags+--   >     , uint32_t offset+--   >     , uint32_t size+--   >     , const void* pValues+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPushConstants vkCmdPushConstants registry at www.khronos.org>+type HS_vkCmdPushConstants =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       VkPipelineLayout -- ^ layout+                        ->+         VkShaderStageFlags -- ^ stageFlags+                            -> Word32 -- ^ offset+                                      -> Word32 -- ^ size+                                                -> Ptr Void -- ^ pValues+                                                            -> IO ()++type PFN_vkCmdPushConstants = FunPtr HS_vkCmdPushConstants++foreign import ccall unsafe "dynamic"+               unwrapVkCmdPushConstantsUnsafe ::+               PFN_vkCmdPushConstants -> HS_vkCmdPushConstants++foreign import ccall safe "dynamic" unwrapVkCmdPushConstantsSafe ::+               PFN_vkCmdPushConstants -> HS_vkCmdPushConstants++instance VulkanProc "vkCmdPushConstants" where+    type VkProcType "vkCmdPushConstants" = HS_vkCmdPushConstants+    vkProcSymbol = _VkCmdPushConstants++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdPushConstantsUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdPushConstantsSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdBeginRenderPass :: CString++pattern VkCmdBeginRenderPass <- (is_VkCmdBeginRenderPass -> True)+  where+    VkCmdBeginRenderPass = _VkCmdBeginRenderPass++{-# INLINE _VkCmdBeginRenderPass #-}++_VkCmdBeginRenderPass :: CString+_VkCmdBeginRenderPass = Ptr "vkCmdBeginRenderPass\NUL"##++{-# INLINE is_VkCmdBeginRenderPass #-}++is_VkCmdBeginRenderPass :: CString -> Bool+is_VkCmdBeginRenderPass+  = (EQ ==) . cmpCStrings _VkCmdBeginRenderPass++type VkCmdBeginRenderPass = "vkCmdBeginRenderPass"++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdBeginRenderPass+-- >     ( VkCommandBuffer commandBuffer+-- >     , const VkRenderPassBeginInfo* pRenderPassBegin+-- >     , VkSubpassContents contents+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBeginRenderPass vkCmdBeginRenderPass registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBeginRenderPass <- vkGetInstanceProc @VkCmdBeginRenderPass vkInstance+--+-- or less efficient:+--+-- > myCmdBeginRenderPass <- vkGetProc @VkCmdBeginRenderPass+--+-- __Note:__ @vkCmdBeginRenderPassUnsafe@ and @vkCmdBeginRenderPassSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdBeginRenderPass@ is an alias+--           of @vkCmdBeginRenderPassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdBeginRenderPassSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdBeginRenderPass"+               vkCmdBeginRenderPassUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Ptr VkRenderPassBeginInfo -- ^ pRenderPassBegin+                                           -> VkSubpassContents -- ^ contents+                                                                -> IO ()++##else+vkCmdBeginRenderPassUnsafe ::+                           VkCommandBuffer -- ^ commandBuffer+                                           ->+                             Ptr VkRenderPassBeginInfo -- ^ pRenderPassBegin+                                                       -> VkSubpassContents -- ^ contents+                                                                            -> IO ()+vkCmdBeginRenderPassUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdBeginRenderPass)++{-# NOINLINE vkCmdBeginRenderPassUnsafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdBeginRenderPass+-- >     ( VkCommandBuffer commandBuffer+-- >     , const VkRenderPassBeginInfo* pRenderPassBegin+-- >     , VkSubpassContents contents+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBeginRenderPass vkCmdBeginRenderPass registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBeginRenderPass <- vkGetInstanceProc @VkCmdBeginRenderPass vkInstance+--+-- or less efficient:+--+-- > myCmdBeginRenderPass <- vkGetProc @VkCmdBeginRenderPass+--+-- __Note:__ @vkCmdBeginRenderPassUnsafe@ and @vkCmdBeginRenderPassSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdBeginRenderPass@ is an alias+--           of @vkCmdBeginRenderPassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdBeginRenderPassSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdBeginRenderPass"+               vkCmdBeginRenderPassSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Ptr VkRenderPassBeginInfo -- ^ pRenderPassBegin+                                           -> VkSubpassContents -- ^ contents+                                                                -> IO ()++##else+vkCmdBeginRenderPassSafe ::+                         VkCommandBuffer -- ^ commandBuffer+                                         ->+                           Ptr VkRenderPassBeginInfo -- ^ pRenderPassBegin+                                                     -> VkSubpassContents -- ^ contents+                                                                          -> IO ()+vkCmdBeginRenderPassSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdBeginRenderPass)++{-# NOINLINE vkCmdBeginRenderPassSafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdBeginRenderPass+-- >     ( VkCommandBuffer commandBuffer+-- >     , const VkRenderPassBeginInfo* pRenderPassBegin+-- >     , VkSubpassContents contents+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBeginRenderPass vkCmdBeginRenderPass registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBeginRenderPass <- vkGetInstanceProc @VkCmdBeginRenderPass vkInstance+--+-- or less efficient:+--+-- > myCmdBeginRenderPass <- vkGetProc @VkCmdBeginRenderPass+--+-- __Note:__ @vkCmdBeginRenderPassUnsafe@ and @vkCmdBeginRenderPassSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdBeginRenderPass@ is an alias+--           of @vkCmdBeginRenderPassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdBeginRenderPassSafe@.+--+vkCmdBeginRenderPass ::+                     VkCommandBuffer -- ^ commandBuffer+                                     ->+                       Ptr VkRenderPassBeginInfo -- ^ pRenderPassBegin+                                                 -> VkSubpassContents -- ^ contents+                                                                      -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdBeginRenderPass = vkCmdBeginRenderPassUnsafe+##else+vkCmdBeginRenderPass = vkCmdBeginRenderPassSafe++##endif+{-# INLINE vkCmdBeginRenderPass #-}++-- | Queues: 'graphics'.+--+--   Renderpass: @outside@+--+--   Pipeline: @graphics@+--+--   > void vkCmdBeginRenderPass+--   >     ( VkCommandBuffer commandBuffer+--   >     , const VkRenderPassBeginInfo* pRenderPassBegin+--   >     , VkSubpassContents contents+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBeginRenderPass vkCmdBeginRenderPass registry at www.khronos.org>+type HS_vkCmdBeginRenderPass =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       Ptr VkRenderPassBeginInfo -- ^ pRenderPassBegin+                                 -> VkSubpassContents -- ^ contents+                                                      -> IO ()++type PFN_vkCmdBeginRenderPass = FunPtr HS_vkCmdBeginRenderPass++foreign import ccall unsafe "dynamic"+               unwrapVkCmdBeginRenderPassUnsafe ::+               PFN_vkCmdBeginRenderPass -> HS_vkCmdBeginRenderPass++foreign import ccall safe "dynamic" unwrapVkCmdBeginRenderPassSafe+               :: PFN_vkCmdBeginRenderPass -> HS_vkCmdBeginRenderPass++instance VulkanProc "vkCmdBeginRenderPass" where+    type VkProcType "vkCmdBeginRenderPass" = HS_vkCmdBeginRenderPass+    vkProcSymbol = _VkCmdBeginRenderPass++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdBeginRenderPassUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdBeginRenderPassSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdNextSubpass :: CString++pattern VkCmdNextSubpass <- (is_VkCmdNextSubpass -> True)+  where+    VkCmdNextSubpass = _VkCmdNextSubpass++{-# INLINE _VkCmdNextSubpass #-}++_VkCmdNextSubpass :: CString+_VkCmdNextSubpass = Ptr "vkCmdNextSubpass\NUL"##++{-# INLINE is_VkCmdNextSubpass #-}++is_VkCmdNextSubpass :: CString -> Bool+is_VkCmdNextSubpass = (EQ ==) . cmpCStrings _VkCmdNextSubpass++type VkCmdNextSubpass = "vkCmdNextSubpass"++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdNextSubpass+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkSubpassContents contents+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdNextSubpass vkCmdNextSubpass registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdNextSubpass <- vkGetInstanceProc @VkCmdNextSubpass vkInstance+--+-- or less efficient:+--+-- > myCmdNextSubpass <- vkGetProc @VkCmdNextSubpass+--+-- __Note:__ @vkCmdNextSubpassUnsafe@ and @vkCmdNextSubpassSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdNextSubpass@ is an alias+--           of @vkCmdNextSubpassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdNextSubpassSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdNextSubpass"+               vkCmdNextSubpassUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkSubpassContents -- ^ contents+                                                    -> IO ()++##else+vkCmdNextSubpassUnsafe ::+                       VkCommandBuffer -- ^ commandBuffer+                                       -> VkSubpassContents -- ^ contents+                                                            -> IO ()+vkCmdNextSubpassUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdNextSubpass)++{-# NOINLINE vkCmdNextSubpassUnsafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdNextSubpass+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkSubpassContents contents+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdNextSubpass vkCmdNextSubpass registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdNextSubpass <- vkGetInstanceProc @VkCmdNextSubpass vkInstance+--+-- or less efficient:+--+-- > myCmdNextSubpass <- vkGetProc @VkCmdNextSubpass+--+-- __Note:__ @vkCmdNextSubpassUnsafe@ and @vkCmdNextSubpassSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdNextSubpass@ is an alias+--           of @vkCmdNextSubpassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdNextSubpassSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdNextSubpass" vkCmdNextSubpassSafe+               :: VkCommandBuffer -- ^ commandBuffer+                                  -> VkSubpassContents -- ^ contents+                                                       -> IO ()++##else+vkCmdNextSubpassSafe ::+                     VkCommandBuffer -- ^ commandBuffer+                                     -> VkSubpassContents -- ^ contents+                                                          -> IO ()+vkCmdNextSubpassSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdNextSubpass)++{-# NOINLINE vkCmdNextSubpassSafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdNextSubpass+-- >     ( VkCommandBuffer commandBuffer+-- >     , VkSubpassContents contents+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdNextSubpass vkCmdNextSubpass registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdNextSubpass <- vkGetInstanceProc @VkCmdNextSubpass vkInstance+--+-- or less efficient:+--+-- > myCmdNextSubpass <- vkGetProc @VkCmdNextSubpass+--+-- __Note:__ @vkCmdNextSubpassUnsafe@ and @vkCmdNextSubpassSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdNextSubpass@ is an alias+--           of @vkCmdNextSubpassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdNextSubpassSafe@.+--+vkCmdNextSubpass :: VkCommandBuffer -- ^ commandBuffer+                                    -> VkSubpassContents -- ^ contents+                                                         -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdNextSubpass = vkCmdNextSubpassUnsafe+##else+vkCmdNextSubpass = vkCmdNextSubpassSafe++##endif+{-# INLINE vkCmdNextSubpass #-}++-- | Queues: 'graphics'.+--+--   Renderpass: @inside@+--+--   Pipeline: @graphics@+--+--   > void vkCmdNextSubpass+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkSubpassContents contents+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdNextSubpass vkCmdNextSubpass registry at www.khronos.org>+type HS_vkCmdNextSubpass =+     VkCommandBuffer -- ^ commandBuffer+                     -> VkSubpassContents -- ^ contents+                                          -> IO ()++type PFN_vkCmdNextSubpass = FunPtr HS_vkCmdNextSubpass++foreign import ccall unsafe "dynamic" unwrapVkCmdNextSubpassUnsafe+               :: PFN_vkCmdNextSubpass -> HS_vkCmdNextSubpass++foreign import ccall safe "dynamic" unwrapVkCmdNextSubpassSafe ::+               PFN_vkCmdNextSubpass -> HS_vkCmdNextSubpass++instance VulkanProc "vkCmdNextSubpass" where+    type VkProcType "vkCmdNextSubpass" = HS_vkCmdNextSubpass+    vkProcSymbol = _VkCmdNextSubpass++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdNextSubpassUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdNextSubpassSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdEndRenderPass :: CString++pattern VkCmdEndRenderPass <- (is_VkCmdEndRenderPass -> True)+  where+    VkCmdEndRenderPass = _VkCmdEndRenderPass++{-# INLINE _VkCmdEndRenderPass #-}++_VkCmdEndRenderPass :: CString+_VkCmdEndRenderPass = Ptr "vkCmdEndRenderPass\NUL"##++{-# INLINE is_VkCmdEndRenderPass #-}++is_VkCmdEndRenderPass :: CString -> Bool+is_VkCmdEndRenderPass = (EQ ==) . cmpCStrings _VkCmdEndRenderPass++type VkCmdEndRenderPass = "vkCmdEndRenderPass"++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdEndRenderPass+-- >     ( VkCommandBuffer commandBuffer+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdEndRenderPass vkCmdEndRenderPass registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdEndRenderPass <- vkGetInstanceProc @VkCmdEndRenderPass vkInstance+--+-- or less efficient:+--+-- > myCmdEndRenderPass <- vkGetProc @VkCmdEndRenderPass+--+-- __Note:__ @vkCmdEndRenderPassUnsafe@ and @vkCmdEndRenderPassSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdEndRenderPass@ is an alias+--           of @vkCmdEndRenderPassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdEndRenderPassSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdEndRenderPass"+               vkCmdEndRenderPassUnsafe :: VkCommandBuffer -- ^ commandBuffer+                                                           -> IO ()++##else+vkCmdEndRenderPassUnsafe :: VkCommandBuffer -- ^ commandBuffer+                                            -> IO ()+vkCmdEndRenderPassUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdEndRenderPass)++{-# NOINLINE vkCmdEndRenderPassUnsafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdEndRenderPass+-- >     ( VkCommandBuffer commandBuffer+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdEndRenderPass vkCmdEndRenderPass registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdEndRenderPass <- vkGetInstanceProc @VkCmdEndRenderPass vkInstance+--+-- or less efficient:+--+-- > myCmdEndRenderPass <- vkGetProc @VkCmdEndRenderPass+--+-- __Note:__ @vkCmdEndRenderPassUnsafe@ and @vkCmdEndRenderPassSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdEndRenderPass@ is an alias+--           of @vkCmdEndRenderPassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdEndRenderPassSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdEndRenderPass"+               vkCmdEndRenderPassSafe :: VkCommandBuffer -- ^ commandBuffer+                                                         -> IO ()++##else+vkCmdEndRenderPassSafe :: VkCommandBuffer -- ^ commandBuffer+                                          -> IO ()+vkCmdEndRenderPassSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdEndRenderPass)++{-# NOINLINE vkCmdEndRenderPassSafe #-}+##endif++-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdEndRenderPass+-- >     ( VkCommandBuffer commandBuffer+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdEndRenderPass vkCmdEndRenderPass registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdEndRenderPass <- vkGetInstanceProc @VkCmdEndRenderPass vkInstance+--+-- or less efficient:+--+-- > myCmdEndRenderPass <- vkGetProc @VkCmdEndRenderPass+--+-- __Note:__ @vkCmdEndRenderPassUnsafe@ and @vkCmdEndRenderPassSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdEndRenderPass@ is an alias+--           of @vkCmdEndRenderPassUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdEndRenderPassSafe@.+--+vkCmdEndRenderPass :: VkCommandBuffer -- ^ commandBuffer+                                      -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdEndRenderPass = vkCmdEndRenderPassUnsafe+##else+vkCmdEndRenderPass = vkCmdEndRenderPassSafe++##endif+{-# INLINE vkCmdEndRenderPass #-}++-- | Queues: 'graphics'.+--+--   Renderpass: @inside@+--+--   Pipeline: @graphics@+--+--   > void vkCmdEndRenderPass+--   >     ( VkCommandBuffer commandBuffer+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdEndRenderPass vkCmdEndRenderPass registry at www.khronos.org>+type HS_vkCmdEndRenderPass = VkCommandBuffer -- ^ commandBuffer+                                             -> IO ()++type PFN_vkCmdEndRenderPass = FunPtr HS_vkCmdEndRenderPass++foreign import ccall unsafe "dynamic"+               unwrapVkCmdEndRenderPassUnsafe ::+               PFN_vkCmdEndRenderPass -> HS_vkCmdEndRenderPass++foreign import ccall safe "dynamic" unwrapVkCmdEndRenderPassSafe ::+               PFN_vkCmdEndRenderPass -> HS_vkCmdEndRenderPass++instance VulkanProc "vkCmdEndRenderPass" where+    type VkProcType "vkCmdEndRenderPass" = HS_vkCmdEndRenderPass+    vkProcSymbol = _VkCmdEndRenderPass++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdEndRenderPassUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdEndRenderPassSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdExecuteCommands :: CString++pattern VkCmdExecuteCommands <- (is_VkCmdExecuteCommands -> True)+  where+    VkCmdExecuteCommands = _VkCmdExecuteCommands++{-# INLINE _VkCmdExecuteCommands #-}++_VkCmdExecuteCommands :: CString+_VkCmdExecuteCommands = Ptr "vkCmdExecuteCommands\NUL"##++{-# INLINE is_VkCmdExecuteCommands #-}++is_VkCmdExecuteCommands :: CString -> Bool+is_VkCmdExecuteCommands+  = (EQ ==) . cmpCStrings _VkCmdExecuteCommands++type VkCmdExecuteCommands = "vkCmdExecuteCommands"++-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdExecuteCommands+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t commandBufferCount+-- >     , const VkCommandBuffer* pCommandBuffers+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdExecuteCommands vkCmdExecuteCommands registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdExecuteCommands <- vkGetInstanceProc @VkCmdExecuteCommands vkInstance+--+-- or less efficient:+--+-- > myCmdExecuteCommands <- vkGetProc @VkCmdExecuteCommands+--+-- __Note:__ @vkCmdExecuteCommandsUnsafe@ and @vkCmdExecuteCommandsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdExecuteCommands@ is an alias+--           of @vkCmdExecuteCommandsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdExecuteCommandsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall unsafe "vkCmdExecuteCommands"+               vkCmdExecuteCommandsUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Word32 -- ^ commandBufferCount+                                         -> Ptr VkCommandBuffer -- ^ pCommandBuffers+                                                                -> IO ()++##else+vkCmdExecuteCommandsUnsafe ::+                           VkCommandBuffer -- ^ commandBuffer+                                           -> Word32 -- ^ commandBufferCount+                                                     -> Ptr VkCommandBuffer -- ^ pCommandBuffers+                                                                            -> IO ()+vkCmdExecuteCommandsUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdExecuteCommands)++{-# NOINLINE vkCmdExecuteCommandsUnsafe #-}+##endif++-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdExecuteCommands+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t commandBufferCount+-- >     , const VkCommandBuffer* pCommandBuffers+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdExecuteCommands vkCmdExecuteCommands registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdExecuteCommands <- vkGetInstanceProc @VkCmdExecuteCommands vkInstance+--+-- or less efficient:+--+-- > myCmdExecuteCommands <- vkGetProc @VkCmdExecuteCommands+--+-- __Note:__ @vkCmdExecuteCommandsUnsafe@ and @vkCmdExecuteCommandsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdExecuteCommands@ is an alias+--           of @vkCmdExecuteCommandsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdExecuteCommandsSafe@.+--+--+##ifdef NATIVE_FFI_VK_VERSION_1_0+foreign import ccall safe "vkCmdExecuteCommands"+               vkCmdExecuteCommandsSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Word32 -- ^ commandBufferCount+                                         -> Ptr VkCommandBuffer -- ^ pCommandBuffers+                                                                -> IO ()++##else+vkCmdExecuteCommandsSafe ::+                         VkCommandBuffer -- ^ commandBuffer+                                         -> Word32 -- ^ commandBufferCount+                                                   -> Ptr VkCommandBuffer -- ^ pCommandBuffers+                                                                          -> IO ()+vkCmdExecuteCommandsSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdExecuteCommands)++{-# NOINLINE vkCmdExecuteCommandsSafe #-}+##endif++-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdExecuteCommands+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t commandBufferCount+-- >     , const VkCommandBuffer* pCommandBuffers+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdExecuteCommands vkCmdExecuteCommands registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdExecuteCommands <- vkGetInstanceProc @VkCmdExecuteCommands vkInstance+--+-- or less efficient:+--+-- > myCmdExecuteCommands <- vkGetProc @VkCmdExecuteCommands+--+-- __Note:__ @vkCmdExecuteCommandsUnsafe@ and @vkCmdExecuteCommandsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdExecuteCommands@ is an alias+--           of @vkCmdExecuteCommandsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdExecuteCommandsSafe@.+--+vkCmdExecuteCommands ::+                     VkCommandBuffer -- ^ commandBuffer+                                     -> Word32 -- ^ commandBufferCount+                                               -> Ptr VkCommandBuffer -- ^ pCommandBuffers+                                                                      -> IO ()+##ifdef UNSAFE_FFI_DEFAULT+vkCmdExecuteCommands = vkCmdExecuteCommandsUnsafe+##else+vkCmdExecuteCommands = vkCmdExecuteCommandsSafe++##endif+{-# INLINE vkCmdExecuteCommands #-}++-- | Queues: 'transfer', 'graphics', 'compute'.+--+--   Renderpass: @both@+--+--   > void vkCmdExecuteCommands+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t commandBufferCount+--   >     , const VkCommandBuffer* pCommandBuffers+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdExecuteCommands vkCmdExecuteCommands registry at www.khronos.org>+type HS_vkCmdExecuteCommands =+     VkCommandBuffer -- ^ commandBuffer+                     -> Word32 -- ^ commandBufferCount+                               -> Ptr VkCommandBuffer -- ^ pCommandBuffers+                                                      -> IO ()++type PFN_vkCmdExecuteCommands = FunPtr HS_vkCmdExecuteCommands++foreign import ccall unsafe "dynamic"+               unwrapVkCmdExecuteCommandsUnsafe ::+               PFN_vkCmdExecuteCommands -> HS_vkCmdExecuteCommands++foreign import ccall safe "dynamic" unwrapVkCmdExecuteCommandsSafe+               :: PFN_vkCmdExecuteCommands -> HS_vkCmdExecuteCommands++instance VulkanProc "vkCmdExecuteCommands" where+    type VkProcType "vkCmdExecuteCommands" = HS_vkCmdExecuteCommands+    vkProcSymbol = _VkCmdExecuteCommands++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdExecuteCommandsUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdExecuteCommandsSafe++    {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Core_1_1.hs view
@@ -26,7387 +26,7454 @@         VkEnumerateInstanceVersion, pattern VkEnumerateInstanceVersion,         HS_vkEnumerateInstanceVersion, PFN_vkEnumerateInstanceVersion,         vkEnumerateInstanceVersion, vkEnumerateInstanceVersionUnsafe,-        vkEnumerateInstanceVersionSafe,-        module Graphics.Vulkan.Types.Enum.Result,-        -- ** Promoted from VK_KHR_relaxed_block_layout, which has no API-        ----        -- ** Promoted from VK_KHR_storage_buffer_storage_class, which has no API-        ----        -- ** Originally based on VK_KHR_subgroup (extension 94), but the actual enum block used was, incorrectly, that of extension 95-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes, VkPhysicalDeviceLimits,-        VkPhysicalDeviceLimits', VkPhysicalDeviceProperties,-        VkPhysicalDeviceProperties', VkPhysicalDeviceProperties2,-        VkPhysicalDeviceProperties2', VkPhysicalDeviceSparseProperties,-        VkPhysicalDeviceSparseProperties',-        VkPhysicalDeviceSubgroupProperties,-        VkPhysicalDeviceSubgroupProperties',-        module Graphics.Vulkan.Types.Enum.PhysicalDeviceType,-        module Graphics.Vulkan.Types.Enum.SampleCountFlags,-        module Graphics.Vulkan.Types.Enum.Shader,-        module Graphics.Vulkan.Types.Enum.StructureType,-        module Graphics.Vulkan.Types.Enum.SubgroupFeatureFlags,-        -- > #include "vk_platform.h"-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES,-        -- ** Promoted from VK_KHR_bind_memory2-        VkBindBufferMemoryInfo, VkBindBufferMemoryInfo',-        VkBindImageMemoryInfo, VkBindImageMemoryInfo', -- > #include "vk_platform.h"-                                                       VkBindBufferMemory2,-        pattern VkBindBufferMemory2, HS_vkBindBufferMemory2,-        PFN_vkBindBufferMemory2, vkBindBufferMemory2,-        vkBindBufferMemory2Unsafe, vkBindBufferMemory2Safe,-        VkBindImageMemory2, pattern VkBindImageMemory2,-        HS_vkBindImageMemory2, PFN_vkBindImageMemory2, vkBindImageMemory2,-        vkBindImageMemory2Unsafe, vkBindImageMemory2Safe,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.Bind,-        pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,-        pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,-        pattern VK_IMAGE_CREATE_ALIAS_BIT,-        -- ** Promoted from VK_KHR_16bit_storage-        module Graphics.Vulkan.Types.Bitmasks, VkDeviceCreateInfo,-        VkDeviceCreateInfo', module Graphics.Vulkan.Types.Enum.Device,-        VkDeviceQueueCreateInfo, VkDeviceQueueCreateInfo',-        VkPhysicalDevice16BitStorageFeatures,-        VkPhysicalDevice16BitStorageFeatures', VkPhysicalDeviceFeatures,-        VkPhysicalDeviceFeatures', VkPhysicalDeviceFeatures2,-        VkPhysicalDeviceFeatures2',-        -- > #include "vk_platform.h"-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,-        -- ** Promoted from VK_KHR_dedicated_allocation-        VkMemoryAllocateInfo, VkMemoryAllocateInfo',-        VkMemoryDedicatedAllocateInfo, VkMemoryDedicatedAllocateInfo',-        VkMemoryDedicatedRequirements, VkMemoryDedicatedRequirements',-        VkMemoryRequirements, VkMemoryRequirements', VkMemoryRequirements2,-        VkMemoryRequirements2',-        -- > #include "vk_platform.h"-        pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,-        pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,-        -- ** Promoted from VK_KHR_device_group-        VkBindSparseInfo, VkBindSparseInfo', VkClearColorValue,-        VkClearColorValue', VkClearDepthStencilValue,-        VkClearDepthStencilValue', VkClearValue, VkClearValue',-        VkCommandBufferBeginInfo, VkCommandBufferBeginInfo',-        VkCommandBufferInheritanceInfo, VkCommandBufferInheritanceInfo',-        module Graphics.Vulkan.Types.Enum.Command,-        VkDeviceGroupBindSparseInfo, VkDeviceGroupBindSparseInfo',-        VkDeviceGroupCommandBufferBeginInfo,-        VkDeviceGroupCommandBufferBeginInfo',-        VkDeviceGroupRenderPassBeginInfo,-        VkDeviceGroupRenderPassBeginInfo', VkDeviceGroupSubmitInfo,-        VkDeviceGroupSubmitInfo', VkExtent2D, VkExtent2D', VkExtent3D,-        VkExtent3D', module Graphics.Vulkan.Types.Enum.Image,-        VkImageSubresource, VkImageSubresource',-        module Graphics.Vulkan.Types.Enum.Memory,-        VkMemoryAllocateFlagsInfo, VkMemoryAllocateFlagsInfo',-        VkMemoryAllocateInfo, VkMemoryAllocateInfo', VkOffset2D,-        VkOffset2D', VkOffset3D, VkOffset3D',-        module Graphics.Vulkan.Types.Enum.PeerMemoryFeatureFlag,-        module Graphics.Vulkan.Types.Enum.Pipeline,-        module Graphics.Vulkan.Types.Enum.Query, VkRect2D, VkRect2D',-        VkRenderPassBeginInfo, VkRenderPassBeginInfo',-        VkSparseBufferMemoryBindInfo, VkSparseBufferMemoryBindInfo',-        VkSparseImageMemoryBind, VkSparseImageMemoryBind',-        VkSparseImageMemoryBindInfo, VkSparseImageMemoryBindInfo',-        VkSparseImageOpaqueMemoryBindInfo,-        VkSparseImageOpaqueMemoryBindInfo', VkSparseMemoryBind,-        VkSparseMemoryBind', module Graphics.Vulkan.Types.Enum.Sparse,-        VkSubmitInfo, VkSubmitInfo', -- > #include "vk_platform.h"-                                     VkGetDeviceGroupPeerMemoryFeatures,-        pattern VkGetDeviceGroupPeerMemoryFeatures,-        HS_vkGetDeviceGroupPeerMemoryFeatures,-        PFN_vkGetDeviceGroupPeerMemoryFeatures,-        vkGetDeviceGroupPeerMemoryFeatures,-        vkGetDeviceGroupPeerMemoryFeaturesUnsafe,-        vkGetDeviceGroupPeerMemoryFeaturesSafe, VkCmdSetDeviceMask,-        pattern VkCmdSetDeviceMask, HS_vkCmdSetDeviceMask,-        PFN_vkCmdSetDeviceMask, vkCmdSetDeviceMask,-        vkCmdSetDeviceMaskUnsafe, vkCmdSetDeviceMaskSafe,-        VkCmdDispatchBase, pattern VkCmdDispatchBase, HS_vkCmdDispatchBase,-        PFN_vkCmdDispatchBase, vkCmdDispatchBase, vkCmdDispatchBaseUnsafe,-        vkCmdDispatchBaseSafe,-        pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,-        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,-        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,-        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,-        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,-        pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,-        pattern VK_PIPELINE_CREATE_DISPATCH_BASE,-        pattern VK_DEPENDENCY_DEVICE_GROUP_BIT,-        -- ** Promoted from VK_KHR_device_group + VK_KHR_bind_memory2-        VkBindBufferMemoryDeviceGroupInfo,-        VkBindBufferMemoryDeviceGroupInfo', VkBindBufferMemoryInfo,-        VkBindBufferMemoryInfo', VkBindImageMemoryDeviceGroupInfo,-        VkBindImageMemoryDeviceGroupInfo', VkBindImageMemoryInfo,-        VkBindImageMemoryInfo', VkExtent2D, VkExtent2D', VkOffset2D,-        VkOffset2D', VkRect2D, VkRect2D',-        -- > #include "vk_platform.h"-        pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,-        pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,-        pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,-        -- ** Promoted from VK_KHR_device_group_creation-        VkDeviceCreateInfo, VkDeviceCreateInfo',-        VkDeviceGroupDeviceCreateInfo, VkDeviceGroupDeviceCreateInfo',-        VkDeviceQueueCreateInfo, VkDeviceQueueCreateInfo',-        VkPhysicalDeviceFeatures, VkPhysicalDeviceFeatures',-        VkPhysicalDeviceGroupProperties, VkPhysicalDeviceGroupProperties',-        -- > #include "vk_platform.h"-        VkEnumeratePhysicalDeviceGroups,-        pattern VkEnumeratePhysicalDeviceGroups,-        HS_vkEnumeratePhysicalDeviceGroups,-        PFN_vkEnumeratePhysicalDeviceGroups,-        vkEnumeratePhysicalDeviceGroups,-        vkEnumeratePhysicalDeviceGroupsUnsafe,-        vkEnumeratePhysicalDeviceGroupsSafe,-        module Graphics.Vulkan.Types.Struct.PhysicalDevice,-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,-        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,-        pattern VK_MAX_DEVICE_GROUP_SIZE,-        pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,-        -- ** Promoted from VK_KHR_get_memory_requirements2-        VkBufferMemoryRequirementsInfo2, VkBufferMemoryRequirementsInfo2',-        VkExtent3D, VkExtent3D', VkImageMemoryRequirementsInfo2,-        VkImageMemoryRequirementsInfo2',-        VkImageSparseMemoryRequirementsInfo2,-        VkImageSparseMemoryRequirementsInfo2', VkMemoryRequirements,-        VkMemoryRequirements', VkMemoryRequirements2,-        VkMemoryRequirements2', VkSparseImageFormatProperties,-        VkSparseImageFormatProperties', VkSparseImageMemoryRequirements,-        VkSparseImageMemoryRequirements', VkSparseImageMemoryRequirements2,-        VkSparseImageMemoryRequirements2', -- > #include "vk_platform.h"-                                           VkGetImageMemoryRequirements2,-        pattern VkGetImageMemoryRequirements2,-        HS_vkGetImageMemoryRequirements2,-        PFN_vkGetImageMemoryRequirements2, vkGetImageMemoryRequirements2,-        vkGetImageMemoryRequirements2Unsafe,-        vkGetImageMemoryRequirements2Safe, VkGetBufferMemoryRequirements2,-        pattern VkGetBufferMemoryRequirements2,-        HS_vkGetBufferMemoryRequirements2,-        PFN_vkGetBufferMemoryRequirements2, vkGetBufferMemoryRequirements2,-        vkGetBufferMemoryRequirements2Unsafe,-        vkGetBufferMemoryRequirements2Safe,-        VkGetImageSparseMemoryRequirements2,-        pattern VkGetImageSparseMemoryRequirements2,-        HS_vkGetImageSparseMemoryRequirements2,-        PFN_vkGetImageSparseMemoryRequirements2,-        vkGetImageSparseMemoryRequirements2,-        vkGetImageSparseMemoryRequirements2Unsafe,-        vkGetImageSparseMemoryRequirements2Safe,-        module Graphics.Vulkan.Types.Struct.Buffer,-        module Graphics.Vulkan.Types.Struct.Extent,-        module Graphics.Vulkan.Types.Struct.Image,-        module Graphics.Vulkan.Types.Struct.Memory,-        module Graphics.Vulkan.Types.Struct.Sparse,-        pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,-        pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,-        pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,-        pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,-        pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,-        -- ** Promoted from VK_KHR_get_physical_device_properties2-        VkDeviceCreateInfo, VkDeviceCreateInfo', VkDeviceQueueCreateInfo,-        VkDeviceQueueCreateInfo', VkExtent3D, VkExtent3D',-        module Graphics.Vulkan.Types.Enum.Format, VkFormatProperties,-        VkFormatProperties', VkFormatProperties2, VkFormatProperties2',-        VkImageFormatProperties, VkImageFormatProperties',-        VkImageFormatProperties2, VkImageFormatProperties2', VkMemoryHeap,-        VkMemoryHeap', VkMemoryType, VkMemoryType',-        VkPhysicalDeviceFeatures, VkPhysicalDeviceFeatures',-        VkPhysicalDeviceFeatures2, VkPhysicalDeviceFeatures2',-        VkPhysicalDeviceImageFormatInfo2,-        VkPhysicalDeviceImageFormatInfo2', VkPhysicalDeviceLimits,-        VkPhysicalDeviceLimits', VkPhysicalDeviceMemoryProperties,-        VkPhysicalDeviceMemoryProperties',-        VkPhysicalDeviceMemoryProperties2,-        VkPhysicalDeviceMemoryProperties2', VkPhysicalDeviceProperties,-        VkPhysicalDeviceProperties', VkPhysicalDeviceProperties2,-        VkPhysicalDeviceProperties2',-        VkPhysicalDeviceSparseImageFormatInfo2,-        VkPhysicalDeviceSparseImageFormatInfo2',-        VkPhysicalDeviceSparseProperties,-        VkPhysicalDeviceSparseProperties', VkQueueFamilyProperties,-        VkQueueFamilyProperties', VkQueueFamilyProperties2,-        VkQueueFamilyProperties2', module Graphics.Vulkan.Types.Enum.Queue,-        VkSparseImageFormatProperties, VkSparseImageFormatProperties',-        VkSparseImageFormatProperties2, VkSparseImageFormatProperties2',-        -- > #include "vk_platform.h"-        VkGetPhysicalDeviceFeatures2, pattern VkGetPhysicalDeviceFeatures2,-        HS_vkGetPhysicalDeviceFeatures2, PFN_vkGetPhysicalDeviceFeatures2,-        vkGetPhysicalDeviceFeatures2, vkGetPhysicalDeviceFeatures2Unsafe,-        vkGetPhysicalDeviceFeatures2Safe, VkGetPhysicalDeviceProperties2,-        pattern VkGetPhysicalDeviceProperties2,-        HS_vkGetPhysicalDeviceProperties2,-        PFN_vkGetPhysicalDeviceProperties2, vkGetPhysicalDeviceProperties2,-        vkGetPhysicalDeviceProperties2Unsafe,-        vkGetPhysicalDeviceProperties2Safe,-        VkGetPhysicalDeviceFormatProperties2,-        pattern VkGetPhysicalDeviceFormatProperties2,-        HS_vkGetPhysicalDeviceFormatProperties2,-        PFN_vkGetPhysicalDeviceFormatProperties2,-        vkGetPhysicalDeviceFormatProperties2,-        vkGetPhysicalDeviceFormatProperties2Unsafe,-        vkGetPhysicalDeviceFormatProperties2Safe,-        VkGetPhysicalDeviceImageFormatProperties2,-        pattern VkGetPhysicalDeviceImageFormatProperties2,-        HS_vkGetPhysicalDeviceImageFormatProperties2,-        PFN_vkGetPhysicalDeviceImageFormatProperties2,-        vkGetPhysicalDeviceImageFormatProperties2,-        vkGetPhysicalDeviceImageFormatProperties2Unsafe,-        vkGetPhysicalDeviceImageFormatProperties2Safe,-        VkGetPhysicalDeviceQueueFamilyProperties2,-        pattern VkGetPhysicalDeviceQueueFamilyProperties2,-        HS_vkGetPhysicalDeviceQueueFamilyProperties2,-        PFN_vkGetPhysicalDeviceQueueFamilyProperties2,-        vkGetPhysicalDeviceQueueFamilyProperties2,-        vkGetPhysicalDeviceQueueFamilyProperties2Unsafe,-        vkGetPhysicalDeviceQueueFamilyProperties2Safe,-        VkGetPhysicalDeviceMemoryProperties2,-        pattern VkGetPhysicalDeviceMemoryProperties2,-        HS_vkGetPhysicalDeviceMemoryProperties2,-        PFN_vkGetPhysicalDeviceMemoryProperties2,-        vkGetPhysicalDeviceMemoryProperties2,-        vkGetPhysicalDeviceMemoryProperties2Unsafe,-        vkGetPhysicalDeviceMemoryProperties2Safe,-        VkGetPhysicalDeviceSparseImageFormatProperties2,-        pattern VkGetPhysicalDeviceSparseImageFormatProperties2,-        HS_vkGetPhysicalDeviceSparseImageFormatProperties2,-        PFN_vkGetPhysicalDeviceSparseImageFormatProperties2,-        vkGetPhysicalDeviceSparseImageFormatProperties2,-        vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe,-        vkGetPhysicalDeviceSparseImageFormatProperties2Safe,-        module Graphics.Vulkan.Types.Struct.Device,-        module Graphics.Vulkan.Types.Struct.FormatProperties,-        module Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures,-        module Graphics.Vulkan.Types.Struct.QueueFamilyProperties,-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,-        pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,-        pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,-        pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,-        pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,-        -- ** Promoted from VK_KHR_maintenance1-        ---        -- |-        -- > #include "vk_platform.h"-        VkTrimCommandPool, pattern VkTrimCommandPool, HS_vkTrimCommandPool,-        PFN_vkTrimCommandPool, vkTrimCommandPool, vkTrimCommandPoolUnsafe,-        vkTrimCommandPoolSafe, pattern VK_ERROR_OUT_OF_POOL_MEMORY,-        pattern VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,-        pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT,-        pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,-        -- ** Promoted from VK_KHR_maintenance2-        module Graphics.Vulkan.Types.Enum.AccessFlags,-        VkAttachmentDescription, VkAttachmentDescription',-        module Graphics.Vulkan.Types.Enum.Attachment,-        VkAttachmentReference, VkAttachmentReference', VkComponentMapping,-        VkComponentMapping',-        module Graphics.Vulkan.Types.Enum.ComponentSwizzle,-        module Graphics.Vulkan.Types.Enum.DependencyFlags,-        VkImageSubresourceRange, VkImageSubresourceRange',-        VkImageViewCreateInfo, VkImageViewCreateInfo',-        VkImageViewUsageCreateInfo, VkImageViewUsageCreateInfo',-        VkInputAttachmentAspectReference,-        VkInputAttachmentAspectReference', VkPhysicalDeviceLimits,-        VkPhysicalDeviceLimits', VkPhysicalDevicePointClippingProperties,-        VkPhysicalDevicePointClippingProperties',-        VkPhysicalDeviceProperties, VkPhysicalDeviceProperties',-        VkPhysicalDeviceProperties2, VkPhysicalDeviceProperties2',-        VkPhysicalDeviceSparseProperties,-        VkPhysicalDeviceSparseProperties',-        VkPipelineTessellationDomainOriginStateCreateInfo,-        VkPipelineTessellationDomainOriginStateCreateInfo',-        VkPipelineTessellationStateCreateInfo,-        VkPipelineTessellationStateCreateInfo',-        module Graphics.Vulkan.Types.Enum.PointClippingBehavior,-        VkRenderPassCreateInfo, VkRenderPassCreateInfo',-        VkRenderPassInputAttachmentAspectCreateInfo,-        VkRenderPassInputAttachmentAspectCreateInfo', VkSubpassDependency,-        VkSubpassDependency', VkSubpassDescription, VkSubpassDescription',-        module Graphics.Vulkan.Types.Enum.Subpass,-        module Graphics.Vulkan.Types.Enum.TessellationDomainOrigin,-        -- > #include "vk_platform.h"-        pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,-        pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,-        pattern VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,-        pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,-        pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,-        pattern VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,-        pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,-        -- ** Promoted from VK_KHR_multiview-        VkAttachmentDescription, VkAttachmentDescription',-        VkAttachmentReference, VkAttachmentReference', VkDeviceCreateInfo,-        VkDeviceCreateInfo', VkDeviceQueueCreateInfo,-        VkDeviceQueueCreateInfo', VkPhysicalDeviceFeatures,-        VkPhysicalDeviceFeatures', VkPhysicalDeviceFeatures2,-        VkPhysicalDeviceFeatures2', VkPhysicalDeviceLimits,-        VkPhysicalDeviceLimits', VkPhysicalDeviceMultiviewFeatures,-        VkPhysicalDeviceMultiviewFeatures',-        VkPhysicalDeviceMultiviewProperties,-        VkPhysicalDeviceMultiviewProperties', VkPhysicalDeviceProperties,-        VkPhysicalDeviceProperties', VkPhysicalDeviceProperties2,-        VkPhysicalDeviceProperties2', VkPhysicalDeviceSparseProperties,-        VkPhysicalDeviceSparseProperties', VkRenderPassCreateInfo,-        VkRenderPassCreateInfo', VkRenderPassMultiviewCreateInfo,-        VkRenderPassMultiviewCreateInfo', VkSubpassDependency,-        VkSubpassDependency', VkSubpassDescription, VkSubpassDescription',-        -- > #include "vk_platform.h"-        pattern VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,-        pattern VK_DEPENDENCY_VIEW_LOCAL_BIT, -- ** Promoted from VK_KHR_variable_pointers-                                              VkDeviceCreateInfo,-        VkDeviceCreateInfo', VkDeviceQueueCreateInfo,-        VkDeviceQueueCreateInfo', VkPhysicalDeviceFeatures,-        VkPhysicalDeviceFeatures', VkPhysicalDeviceFeatures2,-        VkPhysicalDeviceFeatures2',-        VkPhysicalDeviceVariablePointerFeatures,-        VkPhysicalDeviceVariablePointerFeatures',-        -- > #include "vk_platform.h"-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES,-        -- ** Originally based on VK_KHR_protected_memory (extension 146), which was never published; thus the mystifying large value= numbers below. These are not aliased since they weren't actually promoted from an extension.-        VkDeviceCreateInfo, VkDeviceCreateInfo', VkDeviceQueueCreateInfo,-        VkDeviceQueueCreateInfo', VkDeviceQueueInfo2, VkDeviceQueueInfo2',-        VkPhysicalDeviceFeatures, VkPhysicalDeviceFeatures',-        VkPhysicalDeviceFeatures2, VkPhysicalDeviceFeatures2',-        VkPhysicalDeviceLimits, VkPhysicalDeviceLimits',-        VkPhysicalDeviceProperties, VkPhysicalDeviceProperties',-        VkPhysicalDeviceProperties2, VkPhysicalDeviceProperties2',-        VkPhysicalDeviceProtectedMemoryFeatures,-        VkPhysicalDeviceProtectedMemoryFeatures',-        VkPhysicalDeviceProtectedMemoryProperties,-        VkPhysicalDeviceProtectedMemoryProperties',-        VkPhysicalDeviceSparseProperties,-        VkPhysicalDeviceSparseProperties', VkProtectedSubmitInfo,-        VkProtectedSubmitInfo', VkSubmitInfo, VkSubmitInfo',-        -- > #include "vk_platform.h"-        VkGetDeviceQueue2, pattern VkGetDeviceQueue2, HS_vkGetDeviceQueue2,-        PFN_vkGetDeviceQueue2, vkGetDeviceQueue2, vkGetDeviceQueue2Unsafe,-        vkGetDeviceQueue2Safe,-        pattern VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO,-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES,-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES,-        pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2,-        pattern VK_QUEUE_PROTECTED_BIT,-        pattern VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT,-        pattern VK_MEMORY_PROPERTY_PROTECTED_BIT,-        pattern VK_BUFFER_CREATE_PROTECTED_BIT,-        pattern VK_IMAGE_CREATE_PROTECTED_BIT,-        pattern VK_COMMAND_POOL_CREATE_PROTECTED_BIT,-        -- ** Promoted from VK_KHR_sampler_ycbcr_conversion-        VkBindImageMemoryInfo, VkBindImageMemoryInfo',-        VkBindImagePlaneMemoryInfo, VkBindImagePlaneMemoryInfo',-        module Graphics.Vulkan.Types.Enum.BorderColor,-        module Graphics.Vulkan.Types.Enum.ChromaLocation,-        module Graphics.Vulkan.Types.Enum.CompareOp, VkComponentMapping,-        VkComponentMapping', VkDeviceCreateInfo, VkDeviceCreateInfo',-        VkDeviceQueueCreateInfo, VkDeviceQueueCreateInfo', VkExtent3D,-        VkExtent3D', module Graphics.Vulkan.Types.Enum.Filter,-        VkImageFormatProperties, VkImageFormatProperties',-        VkImageFormatProperties2, VkImageFormatProperties2',-        VkImageMemoryRequirementsInfo2, VkImageMemoryRequirementsInfo2',-        VkImagePlaneMemoryRequirementsInfo,-        VkImagePlaneMemoryRequirementsInfo', VkImageSubresourceRange,-        VkImageSubresourceRange', VkImageViewCreateInfo,-        VkImageViewCreateInfo', VkPhysicalDeviceFeatures,-        VkPhysicalDeviceFeatures', VkPhysicalDeviceFeatures2,-        VkPhysicalDeviceFeatures2',-        VkPhysicalDeviceSamplerYcbcrConversionFeatures,-        VkPhysicalDeviceSamplerYcbcrConversionFeatures',-        module Graphics.Vulkan.Types.Enum.Sampler, VkSamplerCreateInfo,-        VkSamplerCreateInfo', VkSamplerYcbcrConversionCreateInfo,-        VkSamplerYcbcrConversionCreateInfo',-        VkSamplerYcbcrConversionImageFormatProperties,-        VkSamplerYcbcrConversionImageFormatProperties',-        VkSamplerYcbcrConversionInfo, VkSamplerYcbcrConversionInfo',-        -- > #include "vk_platform.h"-        VkCreateSamplerYcbcrConversion,-        pattern VkCreateSamplerYcbcrConversion,-        HS_vkCreateSamplerYcbcrConversion,-        PFN_vkCreateSamplerYcbcrConversion, vkCreateSamplerYcbcrConversion,-        vkCreateSamplerYcbcrConversionUnsafe,-        vkCreateSamplerYcbcrConversionSafe,-        VkDestroySamplerYcbcrConversion,-        pattern VkDestroySamplerYcbcrConversion,-        HS_vkDestroySamplerYcbcrConversion,-        PFN_vkDestroySamplerYcbcrConversion,-        vkDestroySamplerYcbcrConversion,-        vkDestroySamplerYcbcrConversionUnsafe,-        vkDestroySamplerYcbcrConversionSafe,-        module Graphics.Vulkan.Types.Enum.InternalAllocationType,-        module Graphics.Vulkan.Types.Enum.SystemAllocationScope,-        module Graphics.Vulkan.Types.Funcpointers,-        module Graphics.Vulkan.Types.Struct.AllocationCallbacks,-        module Graphics.Vulkan.Types.Struct.ComponentMapping,-        module Graphics.Vulkan.Types.Struct.Sampler,-        pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,-        pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,-        pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,-        pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,-        pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,-        pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,-        pattern VK_FORMAT_G8B8G8R8_422_UNORM,-        pattern VK_FORMAT_B8G8R8G8_422_UNORM,-        pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,-        pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,-        pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,-        pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,-        pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,-        pattern VK_FORMAT_R10X6_UNORM_PACK16,-        pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16,-        pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,-        pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,-        pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,-        pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,-        pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,-        pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,-        pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,-        pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,-        pattern VK_FORMAT_R12X4_UNORM_PACK16,-        pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16,-        pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,-        pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,-        pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,-        pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,-        pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,-        pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,-        pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,-        pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,-        pattern VK_FORMAT_G16B16G16R16_422_UNORM,-        pattern VK_FORMAT_B16G16R16G16_422_UNORM,-        pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,-        pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,-        pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,-        pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,-        pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,-        pattern VK_IMAGE_ASPECT_PLANE_0_BIT,-        pattern VK_IMAGE_ASPECT_PLANE_1_BIT,-        pattern VK_IMAGE_ASPECT_PLANE_2_BIT,-        pattern VK_IMAGE_CREATE_DISJOINT_BIT,-        pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,-        pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,-        pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,-        pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,-        pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT,-        pattern VK_FORMAT_FEATURE_DISJOINT_BIT,-        pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,-        -- ** Promoted from VK_KHR_descriptor_update_template-        module Graphics.Vulkan.Types.Enum.Descriptor,-        VkDescriptorUpdateTemplateCreateInfo,-        VkDescriptorUpdateTemplateCreateInfo',-        VkDescriptorUpdateTemplateEntry, VkDescriptorUpdateTemplateEntry',-        -- > #include "vk_platform.h"-        VkCreateDescriptorUpdateTemplate,-        pattern VkCreateDescriptorUpdateTemplate,-        HS_vkCreateDescriptorUpdateTemplate,-        PFN_vkCreateDescriptorUpdateTemplate,-        vkCreateDescriptorUpdateTemplate,-        vkCreateDescriptorUpdateTemplateUnsafe,-        vkCreateDescriptorUpdateTemplateSafe,-        VkDestroyDescriptorUpdateTemplate,-        pattern VkDestroyDescriptorUpdateTemplate,-        HS_vkDestroyDescriptorUpdateTemplate,-        PFN_vkDestroyDescriptorUpdateTemplate,-        vkDestroyDescriptorUpdateTemplate,-        vkDestroyDescriptorUpdateTemplateUnsafe,-        vkDestroyDescriptorUpdateTemplateSafe,-        VkUpdateDescriptorSetWithTemplate,-        pattern VkUpdateDescriptorSetWithTemplate,-        HS_vkUpdateDescriptorSetWithTemplate,-        PFN_vkUpdateDescriptorSetWithTemplate,-        vkUpdateDescriptorSetWithTemplate,-        vkUpdateDescriptorSetWithTemplateUnsafe,-        vkUpdateDescriptorSetWithTemplateSafe,-        module Graphics.Vulkan.Types.Struct.Descriptor,-        pattern VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,-        pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,-        -- ** Promoted from VK_KHR_external_memory_capabilities-        module Graphics.Vulkan.Types.Enum.Buffer, VkExtent3D, VkExtent3D',-        VkExternalBufferProperties, VkExternalBufferProperties',-        VkExternalImageFormatProperties, VkExternalImageFormatProperties',-        module Graphics.Vulkan.Types.Enum.External,-        VkExternalMemoryProperties, VkExternalMemoryProperties',-        VkImageFormatProperties, VkImageFormatProperties',-        VkImageFormatProperties2, VkImageFormatProperties2',-        VkPhysicalDeviceExternalBufferInfo,-        VkPhysicalDeviceExternalBufferInfo',-        VkPhysicalDeviceExternalImageFormatInfo,-        VkPhysicalDeviceExternalImageFormatInfo',-        VkPhysicalDeviceIDProperties, VkPhysicalDeviceIDProperties',-        VkPhysicalDeviceImageFormatInfo2,-        VkPhysicalDeviceImageFormatInfo2', VkPhysicalDeviceLimits,-        VkPhysicalDeviceLimits', VkPhysicalDeviceProperties,-        VkPhysicalDeviceProperties', VkPhysicalDeviceProperties2,-        VkPhysicalDeviceProperties2', VkPhysicalDeviceSparseProperties,-        VkPhysicalDeviceSparseProperties',-        -- > #include "vk_platform.h"-        VkGetPhysicalDeviceExternalBufferProperties,-        pattern VkGetPhysicalDeviceExternalBufferProperties,-        HS_vkGetPhysicalDeviceExternalBufferProperties,-        PFN_vkGetPhysicalDeviceExternalBufferProperties,-        vkGetPhysicalDeviceExternalBufferProperties,-        vkGetPhysicalDeviceExternalBufferPropertiesUnsafe,-        vkGetPhysicalDeviceExternalBufferPropertiesSafe,-        module Graphics.Vulkan.Types.Struct.External,-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,-        pattern VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,-        pattern VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,-        pattern VK_LUID_SIZE, -- ** Promoted from VK_KHR_external_memory-                              VkBufferCreateInfo, VkBufferCreateInfo',-        VkExportMemoryAllocateInfo, VkExportMemoryAllocateInfo',-        VkExtent3D, VkExtent3D', VkExternalMemoryBufferCreateInfo,-        VkExternalMemoryBufferCreateInfo', VkExternalMemoryImageCreateInfo,-        VkExternalMemoryImageCreateInfo', VkImageCreateInfo,-        VkImageCreateInfo', VkMemoryAllocateInfo, VkMemoryAllocateInfo',-        module Graphics.Vulkan.Types.Enum.SharingMode,-        -- > #include "vk_platform.h"-        pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,-        pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,-        pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,-        pattern VK_ERROR_INVALID_EXTERNAL_HANDLE,-        pattern VK_QUEUE_FAMILY_EXTERNAL, -- ** Promoted from VK_KHR_external_fence_capabilities-                                          VkExternalFenceProperties,-        VkExternalFenceProperties', VkPhysicalDeviceExternalFenceInfo,-        VkPhysicalDeviceExternalFenceInfo',-        -- > #include "vk_platform.h"-        VkGetPhysicalDeviceExternalFenceProperties,-        pattern VkGetPhysicalDeviceExternalFenceProperties,-        HS_vkGetPhysicalDeviceExternalFenceProperties,-        PFN_vkGetPhysicalDeviceExternalFenceProperties,-        vkGetPhysicalDeviceExternalFenceProperties,-        vkGetPhysicalDeviceExternalFencePropertiesUnsafe,-        vkGetPhysicalDeviceExternalFencePropertiesSafe,-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,-        pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,-        -- ** Promoted from VK_KHR_external_fence-        VkExportFenceCreateInfo, VkExportFenceCreateInfo',-        module Graphics.Vulkan.Types.Enum.Fence, VkFenceCreateInfo,-        VkFenceCreateInfo',-        -- > #include "vk_platform.h"-        pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,-        -- ** Promoted from VK_KHR_external_semaphore-        VkExportSemaphoreCreateInfo, VkExportSemaphoreCreateInfo',-        VkSemaphoreCreateInfo, VkSemaphoreCreateInfo',-        module Graphics.Vulkan.Types.Enum.SemaphoreImportFlag,-        -- > #include "vk_platform.h"-        pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,-        -- ** Promoted from VK_KHR_external_semaphore_capabilities-        VkExternalSemaphoreProperties, VkExternalSemaphoreProperties',-        VkPhysicalDeviceExternalSemaphoreInfo,-        VkPhysicalDeviceExternalSemaphoreInfo',-        -- > #include "vk_platform.h"-        VkGetPhysicalDeviceExternalSemaphoreProperties,-        pattern VkGetPhysicalDeviceExternalSemaphoreProperties,-        HS_vkGetPhysicalDeviceExternalSemaphoreProperties,-        PFN_vkGetPhysicalDeviceExternalSemaphoreProperties,-        vkGetPhysicalDeviceExternalSemaphoreProperties,-        vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe,-        vkGetPhysicalDeviceExternalSemaphorePropertiesSafe,-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,-        pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,-        -- ** Promoted from VK_KHR_maintenance3-        VkDescriptorSetLayoutSupport, VkDescriptorSetLayoutSupport',-        VkPhysicalDeviceLimits, VkPhysicalDeviceLimits',-        VkPhysicalDeviceMaintenance3Properties,-        VkPhysicalDeviceMaintenance3Properties',-        VkPhysicalDeviceProperties, VkPhysicalDeviceProperties',-        VkPhysicalDeviceProperties2, VkPhysicalDeviceProperties2',-        VkPhysicalDeviceSparseProperties,-        VkPhysicalDeviceSparseProperties', -- > #include "vk_platform.h"-                                           VkGetDescriptorSetLayoutSupport,-        pattern VkGetDescriptorSetLayoutSupport,-        HS_vkGetDescriptorSetLayoutSupport,-        PFN_vkGetDescriptorSetLayoutSupport,-        vkGetDescriptorSetLayoutSupport,-        vkGetDescriptorSetLayoutSupportUnsafe,-        vkGetDescriptorSetLayoutSupportSafe,-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,-        pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,-        -- ** Promoted from VK_KHR_shader_draw_parameters, with a feature support query added-        VkDeviceCreateInfo, VkDeviceCreateInfo', VkDeviceQueueCreateInfo,-        VkDeviceQueueCreateInfo', VkPhysicalDeviceFeatures,-        VkPhysicalDeviceFeatures', VkPhysicalDeviceFeatures2,-        VkPhysicalDeviceFeatures2',-        VkPhysicalDeviceShaderDrawParameterFeatures,-        VkPhysicalDeviceShaderDrawParameterFeatures',-        -- > #include "vk_platform.h"-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES)-       where-import GHC.Ptr                                                     (Ptr (..))-import Graphics.Vulkan.Constants                                   (pattern VK_LUID_SIZE,-                                                                    pattern VK_MAX_DEVICE_GROUP_SIZE,-                                                                    pattern VK_QUEUE_FAMILY_EXTERNAL)-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Proc-import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.AccessFlags-import Graphics.Vulkan.Types.Enum.Attachment-import Graphics.Vulkan.Types.Enum.BorderColor-import Graphics.Vulkan.Types.Enum.Buffer-import Graphics.Vulkan.Types.Enum.ChromaLocation-import Graphics.Vulkan.Types.Enum.Command-import Graphics.Vulkan.Types.Enum.CompareOp-import Graphics.Vulkan.Types.Enum.ComponentSwizzle-import Graphics.Vulkan.Types.Enum.DependencyFlags-import Graphics.Vulkan.Types.Enum.Descriptor-import Graphics.Vulkan.Types.Enum.Device-import Graphics.Vulkan.Types.Enum.External-import Graphics.Vulkan.Types.Enum.Fence-import Graphics.Vulkan.Types.Enum.Filter-import Graphics.Vulkan.Types.Enum.Format-import Graphics.Vulkan.Types.Enum.Image-import Graphics.Vulkan.Types.Enum.InternalAllocationType-import Graphics.Vulkan.Types.Enum.Memory-import Graphics.Vulkan.Types.Enum.Object                           (VkObjectType (..))-import Graphics.Vulkan.Types.Enum.PeerMemoryFeatureFlag-import Graphics.Vulkan.Types.Enum.PhysicalDeviceType-import Graphics.Vulkan.Types.Enum.Pipeline-import Graphics.Vulkan.Types.Enum.PointClippingBehavior-import Graphics.Vulkan.Types.Enum.Query-import Graphics.Vulkan.Types.Enum.Queue-import Graphics.Vulkan.Types.Enum.Result-import Graphics.Vulkan.Types.Enum.SampleCountFlags-import Graphics.Vulkan.Types.Enum.Sampler-import Graphics.Vulkan.Types.Enum.SemaphoreImportFlag-import Graphics.Vulkan.Types.Enum.Shader-import Graphics.Vulkan.Types.Enum.SharingMode-import Graphics.Vulkan.Types.Enum.Sparse-import Graphics.Vulkan.Types.Enum.StructureType-import Graphics.Vulkan.Types.Enum.SubgroupFeatureFlags-import Graphics.Vulkan.Types.Enum.Subpass-import Graphics.Vulkan.Types.Enum.SystemAllocationScope-import Graphics.Vulkan.Types.Enum.TessellationDomainOrigin-import Graphics.Vulkan.Types.Funcpointers-import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.AllocationCallbacks-import Graphics.Vulkan.Types.Struct.Attachment                     (VkAttachmentDescription,-                                                                    VkAttachmentDescription',-                                                                    VkAttachmentReference,-                                                                    VkAttachmentReference')-import Graphics.Vulkan.Types.Struct.Bind-import Graphics.Vulkan.Types.Struct.Buffer-import Graphics.Vulkan.Types.Struct.Clear                          (VkClearColorValue,-                                                                    VkClearColorValue',-                                                                    VkClearDepthStencilValue,-                                                                    VkClearDepthStencilValue',-                                                                    VkClearValue,-                                                                    VkClearValue')-import Graphics.Vulkan.Types.Struct.Command                        (VkCommandBufferBeginInfo,-                                                                    VkCommandBufferBeginInfo',-                                                                    VkCommandBufferInheritanceInfo,-                                                                    VkCommandBufferInheritanceInfo')-import Graphics.Vulkan.Types.Struct.ComponentMapping-import Graphics.Vulkan.Types.Struct.Descriptor-import Graphics.Vulkan.Types.Struct.Device-import Graphics.Vulkan.Types.Struct.Export                         (VkExportFenceCreateInfo,-                                                                    VkExportFenceCreateInfo',-                                                                    VkExportMemoryAllocateInfo,-                                                                    VkExportMemoryAllocateInfo',-                                                                    VkExportSemaphoreCreateInfo,-                                                                    VkExportSemaphoreCreateInfo')-import Graphics.Vulkan.Types.Struct.Extent-import Graphics.Vulkan.Types.Struct.External-import Graphics.Vulkan.Types.Struct.Fence                          (VkFenceCreateInfo,-                                                                    VkFenceCreateInfo')-import Graphics.Vulkan.Types.Struct.FormatProperties-import Graphics.Vulkan.Types.Struct.Image-import Graphics.Vulkan.Types.Struct.InputAttachmentAspectReference (VkInputAttachmentAspectReference,-                                                                    VkInputAttachmentAspectReference')-import Graphics.Vulkan.Types.Struct.Memory-import Graphics.Vulkan.Types.Struct.Offset                         (VkOffset2D,-                                                                    VkOffset2D',-                                                                    VkOffset3D,-                                                                    VkOffset3D')-import Graphics.Vulkan.Types.Struct.PhysicalDevice-import Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures-import Graphics.Vulkan.Types.Struct.Pipeline                       (VkPipelineTessellationDomainOriginStateCreateInfo,-                                                                    VkPipelineTessellationDomainOriginStateCreateInfo',-                                                                    VkPipelineTessellationStateCreateInfo,-                                                                    VkPipelineTessellationStateCreateInfo')-import Graphics.Vulkan.Types.Struct.ProtectedSubmitInfo            (VkProtectedSubmitInfo,-                                                                    VkProtectedSubmitInfo')-import Graphics.Vulkan.Types.Struct.QueueFamilyProperties-import Graphics.Vulkan.Types.Struct.Rect                           (VkRect2D,-                                                                    VkRect2D')-import Graphics.Vulkan.Types.Struct.RenderPass                     (VkRenderPassBeginInfo,-                                                                    VkRenderPassBeginInfo',-                                                                    VkRenderPassCreateInfo,-                                                                    VkRenderPassCreateInfo',-                                                                    VkRenderPassInputAttachmentAspectCreateInfo,-                                                                    VkRenderPassInputAttachmentAspectCreateInfo',-                                                                    VkRenderPassMultiviewCreateInfo,-                                                                    VkRenderPassMultiviewCreateInfo')-import Graphics.Vulkan.Types.Struct.Sampler-import Graphics.Vulkan.Types.Struct.Semaphore                      (VkSemaphoreCreateInfo,-                                                                    VkSemaphoreCreateInfo')-import Graphics.Vulkan.Types.Struct.Sparse-import Graphics.Vulkan.Types.Struct.SubmitInfo                     (VkSubmitInfo,-                                                                    VkSubmitInfo')-import Graphics.Vulkan.Types.Struct.Subpass                        (VkSubpassDependency,-                                                                    VkSubpassDependency',-                                                                    VkSubpassDescription,-                                                                    VkSubpassDescription')-import System.IO.Unsafe                                            (unsafeDupablePerformIO)--pattern VkEnumerateInstanceVersion :: CString--pattern VkEnumerateInstanceVersion <--        (is_VkEnumerateInstanceVersion -> True)-  where VkEnumerateInstanceVersion = _VkEnumerateInstanceVersion--{-# INLINE _VkEnumerateInstanceVersion #-}--_VkEnumerateInstanceVersion :: CString-_VkEnumerateInstanceVersion = Ptr "vkEnumerateInstanceVersion\NUL"#--{-# INLINE is_VkEnumerateInstanceVersion #-}--is_VkEnumerateInstanceVersion :: CString -> Bool-is_VkEnumerateInstanceVersion-  = (EQ ==) . cmpCStrings _VkEnumerateInstanceVersion--type VkEnumerateInstanceVersion = "vkEnumerateInstanceVersion"---- |--- Success codes: 'VK_SUCCESS'.------ > VkResult vkEnumerateInstanceVersion--- >     ( uint32_t* pApiVersion--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceVersion vkEnumerateInstanceVersion registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myEnumerateInstanceVersion <- vkGetInstanceProc @VkEnumerateInstanceVersion vkInstance------ or less efficient:------ > myEnumerateInstanceVersion <- vkGetProc @VkEnumerateInstanceVersion------ __Note:__ @vkEnumerateInstanceVersionUnsafe@ and @vkEnumerateInstanceVersionSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkEnumerateInstanceVersion@ is an alias---           of @vkEnumerateInstanceVersionUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkEnumerateInstanceVersionSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkEnumerateInstanceVersion"-               vkEnumerateInstanceVersionUnsafe :: Ptr Word32 -- ^ pApiVersion-                                                              -> IO VkResult--#else-vkEnumerateInstanceVersionUnsafe :: Ptr Word32 -- ^ pApiVersion-                                               -> IO VkResult-vkEnumerateInstanceVersionUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkEnumerateInstanceVersion)--{-# NOINLINE vkEnumerateInstanceVersionUnsafe #-}-#endif---- |--- Success codes: 'VK_SUCCESS'.------ > VkResult vkEnumerateInstanceVersion--- >     ( uint32_t* pApiVersion--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceVersion vkEnumerateInstanceVersion registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myEnumerateInstanceVersion <- vkGetInstanceProc @VkEnumerateInstanceVersion vkInstance------ or less efficient:------ > myEnumerateInstanceVersion <- vkGetProc @VkEnumerateInstanceVersion------ __Note:__ @vkEnumerateInstanceVersionUnsafe@ and @vkEnumerateInstanceVersionSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkEnumerateInstanceVersion@ is an alias---           of @vkEnumerateInstanceVersionUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkEnumerateInstanceVersionSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe "vkEnumerateInstanceVersion"-               vkEnumerateInstanceVersionSafe :: Ptr Word32 -- ^ pApiVersion-                                                            -> IO VkResult--#else-vkEnumerateInstanceVersionSafe :: Ptr Word32 -- ^ pApiVersion-                                             -> IO VkResult-vkEnumerateInstanceVersionSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkEnumerateInstanceVersion)--{-# NOINLINE vkEnumerateInstanceVersionSafe #-}-#endif---- |--- Success codes: 'VK_SUCCESS'.------ > VkResult vkEnumerateInstanceVersion--- >     ( uint32_t* pApiVersion--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceVersion vkEnumerateInstanceVersion registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myEnumerateInstanceVersion <- vkGetInstanceProc @VkEnumerateInstanceVersion vkInstance------ or less efficient:------ > myEnumerateInstanceVersion <- vkGetProc @VkEnumerateInstanceVersion------ __Note:__ @vkEnumerateInstanceVersionUnsafe@ and @vkEnumerateInstanceVersionSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkEnumerateInstanceVersion@ is an alias---           of @vkEnumerateInstanceVersionUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkEnumerateInstanceVersionSafe@.----vkEnumerateInstanceVersion :: Ptr Word32 -- ^ pApiVersion-                                         -> IO VkResult-#ifdef UNSAFE_FFI_DEFAULT-vkEnumerateInstanceVersion = vkEnumerateInstanceVersionUnsafe-#else-vkEnumerateInstanceVersion = vkEnumerateInstanceVersionSafe--#endif-{-# INLINE vkEnumerateInstanceVersion #-}---- | Success codes: 'VK_SUCCESS'.------   > VkResult vkEnumerateInstanceVersion---   >     ( uint32_t* pApiVersion---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceVersion vkEnumerateInstanceVersion registry at www.khronos.org>-type HS_vkEnumerateInstanceVersion = Ptr Word32 -- ^ pApiVersion-                                                -> IO VkResult--type PFN_vkEnumerateInstanceVersion =-     FunPtr HS_vkEnumerateInstanceVersion--foreign import ccall unsafe "dynamic"-               unwrapVkEnumerateInstanceVersionUnsafe ::-               PFN_vkEnumerateInstanceVersion -> HS_vkEnumerateInstanceVersion--foreign import ccall safe "dynamic"-               unwrapVkEnumerateInstanceVersionSafe ::-               PFN_vkEnumerateInstanceVersion -> HS_vkEnumerateInstanceVersion--instance VulkanProc "vkEnumerateInstanceVersion" where-        type VkProcType "vkEnumerateInstanceVersion" =-             HS_vkEnumerateInstanceVersion-        vkProcSymbol = _VkEnumerateInstanceVersion--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkEnumerateInstanceVersionUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkEnumerateInstanceVersionSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES =-        VkStructureType 1000094000--pattern VkBindBufferMemory2 :: CString--pattern VkBindBufferMemory2 <- (is_VkBindBufferMemory2 -> True)-  where VkBindBufferMemory2 = _VkBindBufferMemory2--{-# INLINE _VkBindBufferMemory2 #-}--_VkBindBufferMemory2 :: CString-_VkBindBufferMemory2 = Ptr "vkBindBufferMemory2\NUL"#--{-# INLINE is_VkBindBufferMemory2 #-}--is_VkBindBufferMemory2 :: CString -> Bool-is_VkBindBufferMemory2 = (EQ ==) . cmpCStrings _VkBindBufferMemory2--type VkBindBufferMemory2 = "vkBindBufferMemory2"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkBindBufferMemory2--- >     ( VkDevice device--- >     , uint32_t bindInfoCount--- >     , const VkBindBufferMemoryInfo* pBindInfos--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindBufferMemory2 vkBindBufferMemory2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myBindBufferMemory2 <- vkGetDeviceProc @VkBindBufferMemory2 vkDevice------ or less efficient:------ > myBindBufferMemory2 <- vkGetProc @VkBindBufferMemory2------ __Note:__ @vkBindBufferMemory2Unsafe@ and @vkBindBufferMemory2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkBindBufferMemory2@ is an alias---           of @vkBindBufferMemory2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkBindBufferMemory2Safe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkBindBufferMemory2"-               vkBindBufferMemory2Unsafe ::-               VkDevice -- ^ device-                        -> Word32 -- ^ bindInfoCount-                                  -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos-                                                                -> IO VkResult--#else-vkBindBufferMemory2Unsafe ::-                          VkDevice -- ^ device-                                   -> Word32 -- ^ bindInfoCount-                                             -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos-                                                                           -> IO VkResult-vkBindBufferMemory2Unsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkBindBufferMemory2)--{-# NOINLINE vkBindBufferMemory2Unsafe #-}-#endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkBindBufferMemory2--- >     ( VkDevice device--- >     , uint32_t bindInfoCount--- >     , const VkBindBufferMemoryInfo* pBindInfos--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindBufferMemory2 vkBindBufferMemory2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myBindBufferMemory2 <- vkGetDeviceProc @VkBindBufferMemory2 vkDevice------ or less efficient:------ > myBindBufferMemory2 <- vkGetProc @VkBindBufferMemory2------ __Note:__ @vkBindBufferMemory2Unsafe@ and @vkBindBufferMemory2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkBindBufferMemory2@ is an alias---           of @vkBindBufferMemory2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkBindBufferMemory2Safe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe "vkBindBufferMemory2"-               vkBindBufferMemory2Safe ::-               VkDevice -- ^ device-                        -> Word32 -- ^ bindInfoCount-                                  -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos-                                                                -> IO VkResult--#else-vkBindBufferMemory2Safe ::-                        VkDevice -- ^ device-                                 -> Word32 -- ^ bindInfoCount-                                           -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos-                                                                         -> IO VkResult-vkBindBufferMemory2Safe-  = unsafeDupablePerformIO (vkGetProcSafe @VkBindBufferMemory2)--{-# NOINLINE vkBindBufferMemory2Safe #-}-#endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkBindBufferMemory2--- >     ( VkDevice device--- >     , uint32_t bindInfoCount--- >     , const VkBindBufferMemoryInfo* pBindInfos--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindBufferMemory2 vkBindBufferMemory2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myBindBufferMemory2 <- vkGetDeviceProc @VkBindBufferMemory2 vkDevice------ or less efficient:------ > myBindBufferMemory2 <- vkGetProc @VkBindBufferMemory2------ __Note:__ @vkBindBufferMemory2Unsafe@ and @vkBindBufferMemory2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkBindBufferMemory2@ is an alias---           of @vkBindBufferMemory2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkBindBufferMemory2Safe@.----vkBindBufferMemory2 ::-                    VkDevice -- ^ device-                             -> Word32 -- ^ bindInfoCount-                                       -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos-                                                                     -> IO VkResult-#ifdef UNSAFE_FFI_DEFAULT-vkBindBufferMemory2 = vkBindBufferMemory2Unsafe-#else-vkBindBufferMemory2 = vkBindBufferMemory2Safe--#endif-{-# INLINE vkBindBufferMemory2 #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkBindBufferMemory2---   >     ( VkDevice device---   >     , uint32_t bindInfoCount---   >     , const VkBindBufferMemoryInfo* pBindInfos---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindBufferMemory2 vkBindBufferMemory2 registry at www.khronos.org>-type HS_vkBindBufferMemory2 =-     VkDevice -- ^ device-              -> Word32 -- ^ bindInfoCount-                        -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos-                                                      -> IO VkResult--type PFN_vkBindBufferMemory2 = FunPtr HS_vkBindBufferMemory2--foreign import ccall unsafe "dynamic"-               unwrapVkBindBufferMemory2Unsafe ::-               PFN_vkBindBufferMemory2 -> HS_vkBindBufferMemory2--foreign import ccall safe "dynamic" unwrapVkBindBufferMemory2Safe-               :: PFN_vkBindBufferMemory2 -> HS_vkBindBufferMemory2--instance VulkanProc "vkBindBufferMemory2" where-        type VkProcType "vkBindBufferMemory2" = HS_vkBindBufferMemory2-        vkProcSymbol = _VkBindBufferMemory2--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkBindBufferMemory2Unsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkBindBufferMemory2Safe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkBindImageMemory2 :: CString--pattern VkBindImageMemory2 <- (is_VkBindImageMemory2 -> True)-  where VkBindImageMemory2 = _VkBindImageMemory2--{-# INLINE _VkBindImageMemory2 #-}--_VkBindImageMemory2 :: CString-_VkBindImageMemory2 = Ptr "vkBindImageMemory2\NUL"#--{-# INLINE is_VkBindImageMemory2 #-}--is_VkBindImageMemory2 :: CString -> Bool-is_VkBindImageMemory2 = (EQ ==) . cmpCStrings _VkBindImageMemory2--type VkBindImageMemory2 = "vkBindImageMemory2"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkBindImageMemory2--- >     ( VkDevice device--- >     , uint32_t bindInfoCount--- >     , const VkBindImageMemoryInfo* pBindInfos--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindImageMemory2 vkBindImageMemory2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myBindImageMemory2 <- vkGetDeviceProc @VkBindImageMemory2 vkDevice------ or less efficient:------ > myBindImageMemory2 <- vkGetProc @VkBindImageMemory2------ __Note:__ @vkBindImageMemory2Unsafe@ and @vkBindImageMemory2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkBindImageMemory2@ is an alias---           of @vkBindImageMemory2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkBindImageMemory2Safe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkBindImageMemory2"-               vkBindImageMemory2Unsafe ::-               VkDevice -- ^ device-                        -> Word32 -- ^ bindInfoCount-                                  -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos-                                                               -> IO VkResult--#else-vkBindImageMemory2Unsafe ::-                         VkDevice -- ^ device-                                  -> Word32 -- ^ bindInfoCount-                                            -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos-                                                                         -> IO VkResult-vkBindImageMemory2Unsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkBindImageMemory2)--{-# NOINLINE vkBindImageMemory2Unsafe #-}-#endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkBindImageMemory2--- >     ( VkDevice device--- >     , uint32_t bindInfoCount--- >     , const VkBindImageMemoryInfo* pBindInfos--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindImageMemory2 vkBindImageMemory2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myBindImageMemory2 <- vkGetDeviceProc @VkBindImageMemory2 vkDevice------ or less efficient:------ > myBindImageMemory2 <- vkGetProc @VkBindImageMemory2------ __Note:__ @vkBindImageMemory2Unsafe@ and @vkBindImageMemory2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkBindImageMemory2@ is an alias---           of @vkBindImageMemory2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkBindImageMemory2Safe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe "vkBindImageMemory2"-               vkBindImageMemory2Safe ::-               VkDevice -- ^ device-                        -> Word32 -- ^ bindInfoCount-                                  -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos-                                                               -> IO VkResult--#else-vkBindImageMemory2Safe ::-                       VkDevice -- ^ device-                                -> Word32 -- ^ bindInfoCount-                                          -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos-                                                                       -> IO VkResult-vkBindImageMemory2Safe-  = unsafeDupablePerformIO (vkGetProcSafe @VkBindImageMemory2)--{-# NOINLINE vkBindImageMemory2Safe #-}-#endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkBindImageMemory2--- >     ( VkDevice device--- >     , uint32_t bindInfoCount--- >     , const VkBindImageMemoryInfo* pBindInfos--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindImageMemory2 vkBindImageMemory2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myBindImageMemory2 <- vkGetDeviceProc @VkBindImageMemory2 vkDevice------ or less efficient:------ > myBindImageMemory2 <- vkGetProc @VkBindImageMemory2------ __Note:__ @vkBindImageMemory2Unsafe@ and @vkBindImageMemory2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkBindImageMemory2@ is an alias---           of @vkBindImageMemory2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkBindImageMemory2Safe@.----vkBindImageMemory2 ::-                   VkDevice -- ^ device-                            -> Word32 -- ^ bindInfoCount-                                      -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos-                                                                   -> IO VkResult-#ifdef UNSAFE_FFI_DEFAULT-vkBindImageMemory2 = vkBindImageMemory2Unsafe-#else-vkBindImageMemory2 = vkBindImageMemory2Safe--#endif-{-# INLINE vkBindImageMemory2 #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkBindImageMemory2---   >     ( VkDevice device---   >     , uint32_t bindInfoCount---   >     , const VkBindImageMemoryInfo* pBindInfos---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindImageMemory2 vkBindImageMemory2 registry at www.khronos.org>-type HS_vkBindImageMemory2 =-     VkDevice -- ^ device-              -> Word32 -- ^ bindInfoCount-                        -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos-                                                     -> IO VkResult--type PFN_vkBindImageMemory2 = FunPtr HS_vkBindImageMemory2--foreign import ccall unsafe "dynamic"-               unwrapVkBindImageMemory2Unsafe ::-               PFN_vkBindImageMemory2 -> HS_vkBindImageMemory2--foreign import ccall safe "dynamic" unwrapVkBindImageMemory2Safe ::-               PFN_vkBindImageMemory2 -> HS_vkBindImageMemory2--instance VulkanProc "vkBindImageMemory2" where-        type VkProcType "vkBindImageMemory2" = HS_vkBindImageMemory2-        vkProcSymbol = _VkBindImageMemory2--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkBindImageMemory2Unsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkBindImageMemory2Safe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO =-        VkStructureType 1000157000--pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: VkStructureType--pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO =-        VkStructureType 1000157001---- | bitpos = @10@-pattern VK_IMAGE_CREATE_ALIAS_BIT :: VkImageCreateBitmask a--pattern VK_IMAGE_CREATE_ALIAS_BIT = VkImageCreateBitmask 1024--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES =-        VkStructureType 1000083000--pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS =-        VkStructureType 1000127000--pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO =-        VkStructureType 1000127001--pattern VkGetDeviceGroupPeerMemoryFeatures :: CString--pattern VkGetDeviceGroupPeerMemoryFeatures <--        (is_VkGetDeviceGroupPeerMemoryFeatures -> True)-  where VkGetDeviceGroupPeerMemoryFeatures-          = _VkGetDeviceGroupPeerMemoryFeatures--{-# INLINE _VkGetDeviceGroupPeerMemoryFeatures #-}--_VkGetDeviceGroupPeerMemoryFeatures :: CString-_VkGetDeviceGroupPeerMemoryFeatures-  = Ptr "vkGetDeviceGroupPeerMemoryFeatures\NUL"#--{-# INLINE is_VkGetDeviceGroupPeerMemoryFeatures #-}--is_VkGetDeviceGroupPeerMemoryFeatures :: CString -> Bool-is_VkGetDeviceGroupPeerMemoryFeatures-  = (EQ ==) . cmpCStrings _VkGetDeviceGroupPeerMemoryFeatures--type VkGetDeviceGroupPeerMemoryFeatures =-     "vkGetDeviceGroupPeerMemoryFeatures"---- |--- > void vkGetDeviceGroupPeerMemoryFeatures--- >     ( VkDevice device--- >     , uint32_t heapIndex--- >     , uint32_t localDeviceIndex--- >     , uint32_t remoteDeviceIndex--- >     , VkPeerMemoryFeatureFlags* pPeerMemoryFeatures--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetDeviceGroupPeerMemoryFeatures <- vkGetDeviceProc @VkGetDeviceGroupPeerMemoryFeatures vkDevice------ or less efficient:------ > myGetDeviceGroupPeerMemoryFeatures <- vkGetProc @VkGetDeviceGroupPeerMemoryFeatures------ __Note:__ @vkGetDeviceGroupPeerMemoryFeaturesUnsafe@ and @vkGetDeviceGroupPeerMemoryFeaturesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetDeviceGroupPeerMemoryFeatures@ is an alias---           of @vkGetDeviceGroupPeerMemoryFeaturesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetDeviceGroupPeerMemoryFeaturesSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkGetDeviceGroupPeerMemoryFeatures"-               vkGetDeviceGroupPeerMemoryFeaturesUnsafe ::-               VkDevice -- ^ device-                        ->-                 Word32 -- ^ heapIndex-                        -> Word32 -- ^ localDeviceIndex-                                  -> Word32 -- ^ remoteDeviceIndex-                                            -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures-                                                                            -> IO ()--#else-vkGetDeviceGroupPeerMemoryFeaturesUnsafe ::-                                         VkDevice -- ^ device-                                                  ->-                                           Word32 -- ^ heapIndex-                                                  ->-                                             Word32 -- ^ localDeviceIndex-                                                    ->-                                               Word32 -- ^ remoteDeviceIndex-                                                      -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures-                                                                                      -> IO ()-vkGetDeviceGroupPeerMemoryFeaturesUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetDeviceGroupPeerMemoryFeatures)--{-# NOINLINE vkGetDeviceGroupPeerMemoryFeaturesUnsafe #-}-#endif---- |--- > void vkGetDeviceGroupPeerMemoryFeatures--- >     ( VkDevice device--- >     , uint32_t heapIndex--- >     , uint32_t localDeviceIndex--- >     , uint32_t remoteDeviceIndex--- >     , VkPeerMemoryFeatureFlags* pPeerMemoryFeatures--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetDeviceGroupPeerMemoryFeatures <- vkGetDeviceProc @VkGetDeviceGroupPeerMemoryFeatures vkDevice------ or less efficient:------ > myGetDeviceGroupPeerMemoryFeatures <- vkGetProc @VkGetDeviceGroupPeerMemoryFeatures------ __Note:__ @vkGetDeviceGroupPeerMemoryFeaturesUnsafe@ and @vkGetDeviceGroupPeerMemoryFeaturesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetDeviceGroupPeerMemoryFeatures@ is an alias---           of @vkGetDeviceGroupPeerMemoryFeaturesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetDeviceGroupPeerMemoryFeaturesSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe "vkGetDeviceGroupPeerMemoryFeatures"-               vkGetDeviceGroupPeerMemoryFeaturesSafe ::-               VkDevice -- ^ device-                        ->-                 Word32 -- ^ heapIndex-                        -> Word32 -- ^ localDeviceIndex-                                  -> Word32 -- ^ remoteDeviceIndex-                                            -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures-                                                                            -> IO ()--#else-vkGetDeviceGroupPeerMemoryFeaturesSafe ::-                                       VkDevice -- ^ device-                                                ->-                                         Word32 -- ^ heapIndex-                                                ->-                                           Word32 -- ^ localDeviceIndex-                                                  -> Word32 -- ^ remoteDeviceIndex-                                                            -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures-                                                                                            -> IO ()-vkGetDeviceGroupPeerMemoryFeaturesSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetDeviceGroupPeerMemoryFeatures)--{-# NOINLINE vkGetDeviceGroupPeerMemoryFeaturesSafe #-}-#endif---- |--- > void vkGetDeviceGroupPeerMemoryFeatures--- >     ( VkDevice device--- >     , uint32_t heapIndex--- >     , uint32_t localDeviceIndex--- >     , uint32_t remoteDeviceIndex--- >     , VkPeerMemoryFeatureFlags* pPeerMemoryFeatures--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetDeviceGroupPeerMemoryFeatures <- vkGetDeviceProc @VkGetDeviceGroupPeerMemoryFeatures vkDevice------ or less efficient:------ > myGetDeviceGroupPeerMemoryFeatures <- vkGetProc @VkGetDeviceGroupPeerMemoryFeatures------ __Note:__ @vkGetDeviceGroupPeerMemoryFeaturesUnsafe@ and @vkGetDeviceGroupPeerMemoryFeaturesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetDeviceGroupPeerMemoryFeatures@ is an alias---           of @vkGetDeviceGroupPeerMemoryFeaturesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetDeviceGroupPeerMemoryFeaturesSafe@.----vkGetDeviceGroupPeerMemoryFeatures ::-                                   VkDevice -- ^ device-                                            ->-                                     Word32 -- ^ heapIndex-                                            ->-                                       Word32 -- ^ localDeviceIndex-                                              -> Word32 -- ^ remoteDeviceIndex-                                                        -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures-                                                                                        -> IO ()-#ifdef UNSAFE_FFI_DEFAULT-vkGetDeviceGroupPeerMemoryFeatures-  = vkGetDeviceGroupPeerMemoryFeaturesUnsafe-#else-vkGetDeviceGroupPeerMemoryFeatures-  = vkGetDeviceGroupPeerMemoryFeaturesSafe--#endif-{-# INLINE vkGetDeviceGroupPeerMemoryFeatures #-}---- | > void vkGetDeviceGroupPeerMemoryFeatures---   >     ( VkDevice device---   >     , uint32_t heapIndex---   >     , uint32_t localDeviceIndex---   >     , uint32_t remoteDeviceIndex---   >     , VkPeerMemoryFeatureFlags* pPeerMemoryFeatures---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures registry at www.khronos.org>-type HS_vkGetDeviceGroupPeerMemoryFeatures =-     VkDevice -- ^ device-              ->-       Word32 -- ^ heapIndex-              -> Word32 -- ^ localDeviceIndex-                        -> Word32 -- ^ remoteDeviceIndex-                                  -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures-                                                                  -> IO ()--type PFN_vkGetDeviceGroupPeerMemoryFeatures =-     FunPtr HS_vkGetDeviceGroupPeerMemoryFeatures--foreign import ccall unsafe "dynamic"-               unwrapVkGetDeviceGroupPeerMemoryFeaturesUnsafe ::-               PFN_vkGetDeviceGroupPeerMemoryFeatures ->-                 HS_vkGetDeviceGroupPeerMemoryFeatures--foreign import ccall safe "dynamic"-               unwrapVkGetDeviceGroupPeerMemoryFeaturesSafe ::-               PFN_vkGetDeviceGroupPeerMemoryFeatures ->-                 HS_vkGetDeviceGroupPeerMemoryFeatures--instance VulkanProc "vkGetDeviceGroupPeerMemoryFeatures" where-        type VkProcType "vkGetDeviceGroupPeerMemoryFeatures" =-             HS_vkGetDeviceGroupPeerMemoryFeatures-        vkProcSymbol = _VkGetDeviceGroupPeerMemoryFeatures--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetDeviceGroupPeerMemoryFeaturesUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetDeviceGroupPeerMemoryFeaturesSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdSetDeviceMask :: CString--pattern VkCmdSetDeviceMask <- (is_VkCmdSetDeviceMask -> True)-  where VkCmdSetDeviceMask = _VkCmdSetDeviceMask--{-# INLINE _VkCmdSetDeviceMask #-}--_VkCmdSetDeviceMask :: CString-_VkCmdSetDeviceMask = Ptr "vkCmdSetDeviceMask\NUL"#--{-# INLINE is_VkCmdSetDeviceMask #-}--is_VkCmdSetDeviceMask :: CString -> Bool-is_VkCmdSetDeviceMask = (EQ ==) . cmpCStrings _VkCmdSetDeviceMask--type VkCmdSetDeviceMask = "vkCmdSetDeviceMask"---- |--- Queues: 'graphics', 'compute', 'transfer'.------ Renderpass: @both@------ > void vkCmdSetDeviceMask--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t deviceMask--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDeviceMask vkCmdSetDeviceMask registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetDeviceMask <- vkGetInstanceProc @VkCmdSetDeviceMask vkInstance------ or less efficient:------ > myCmdSetDeviceMask <- vkGetProc @VkCmdSetDeviceMask------ __Note:__ @vkCmdSetDeviceMaskUnsafe@ and @vkCmdSetDeviceMaskSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetDeviceMask@ is an alias---           of @vkCmdSetDeviceMaskUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetDeviceMaskSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkCmdSetDeviceMask"-               vkCmdSetDeviceMaskUnsafe :: VkCommandBuffer -- ^ commandBuffer-                                                           -> Word32 -- ^ deviceMask-                                                                     -> IO ()--#else-vkCmdSetDeviceMaskUnsafe :: VkCommandBuffer -- ^ commandBuffer-                                            -> Word32 -- ^ deviceMask-                                                      -> IO ()-vkCmdSetDeviceMaskUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdSetDeviceMask)--{-# NOINLINE vkCmdSetDeviceMaskUnsafe #-}-#endif---- |--- Queues: 'graphics', 'compute', 'transfer'.------ Renderpass: @both@------ > void vkCmdSetDeviceMask--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t deviceMask--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDeviceMask vkCmdSetDeviceMask registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetDeviceMask <- vkGetInstanceProc @VkCmdSetDeviceMask vkInstance------ or less efficient:------ > myCmdSetDeviceMask <- vkGetProc @VkCmdSetDeviceMask------ __Note:__ @vkCmdSetDeviceMaskUnsafe@ and @vkCmdSetDeviceMaskSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetDeviceMask@ is an alias---           of @vkCmdSetDeviceMaskUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetDeviceMaskSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe "vkCmdSetDeviceMask"-               vkCmdSetDeviceMaskSafe :: VkCommandBuffer -- ^ commandBuffer-                                                         -> Word32 -- ^ deviceMask-                                                                   -> IO ()--#else-vkCmdSetDeviceMaskSafe :: VkCommandBuffer -- ^ commandBuffer-                                          -> Word32 -- ^ deviceMask-                                                    -> IO ()-vkCmdSetDeviceMaskSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdSetDeviceMask)--{-# NOINLINE vkCmdSetDeviceMaskSafe #-}-#endif---- |--- Queues: 'graphics', 'compute', 'transfer'.------ Renderpass: @both@------ > void vkCmdSetDeviceMask--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t deviceMask--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDeviceMask vkCmdSetDeviceMask registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdSetDeviceMask <- vkGetInstanceProc @VkCmdSetDeviceMask vkInstance------ or less efficient:------ > myCmdSetDeviceMask <- vkGetProc @VkCmdSetDeviceMask------ __Note:__ @vkCmdSetDeviceMaskUnsafe@ and @vkCmdSetDeviceMaskSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdSetDeviceMask@ is an alias---           of @vkCmdSetDeviceMaskUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdSetDeviceMaskSafe@.----vkCmdSetDeviceMask :: VkCommandBuffer -- ^ commandBuffer-                                      -> Word32 -- ^ deviceMask-                                                -> IO ()-#ifdef UNSAFE_FFI_DEFAULT-vkCmdSetDeviceMask = vkCmdSetDeviceMaskUnsafe-#else-vkCmdSetDeviceMask = vkCmdSetDeviceMaskSafe--#endif-{-# INLINE vkCmdSetDeviceMask #-}---- | Queues: 'graphics', 'compute', 'transfer'.------   Renderpass: @both@------   > void vkCmdSetDeviceMask---   >     ( VkCommandBuffer commandBuffer---   >     , uint32_t deviceMask---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDeviceMask vkCmdSetDeviceMask registry at www.khronos.org>-type HS_vkCmdSetDeviceMask = VkCommandBuffer -- ^ commandBuffer-                                             -> Word32 -- ^ deviceMask-                                                       -> IO ()--type PFN_vkCmdSetDeviceMask = FunPtr HS_vkCmdSetDeviceMask--foreign import ccall unsafe "dynamic"-               unwrapVkCmdSetDeviceMaskUnsafe ::-               PFN_vkCmdSetDeviceMask -> HS_vkCmdSetDeviceMask--foreign import ccall safe "dynamic" unwrapVkCmdSetDeviceMaskSafe ::-               PFN_vkCmdSetDeviceMask -> HS_vkCmdSetDeviceMask--instance VulkanProc "vkCmdSetDeviceMask" where-        type VkProcType "vkCmdSetDeviceMask" = HS_vkCmdSetDeviceMask-        vkProcSymbol = _VkCmdSetDeviceMask--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdSetDeviceMaskUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdSetDeviceMaskSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkCmdDispatchBase :: CString--pattern VkCmdDispatchBase <- (is_VkCmdDispatchBase -> True)-  where VkCmdDispatchBase = _VkCmdDispatchBase--{-# INLINE _VkCmdDispatchBase #-}--_VkCmdDispatchBase :: CString-_VkCmdDispatchBase = Ptr "vkCmdDispatchBase\NUL"#--{-# INLINE is_VkCmdDispatchBase #-}--is_VkCmdDispatchBase :: CString -> Bool-is_VkCmdDispatchBase = (EQ ==) . cmpCStrings _VkCmdDispatchBase--type VkCmdDispatchBase = "vkCmdDispatchBase"---- |--- Queues: 'compute'.------ Renderpass: @outside@------ > void vkCmdDispatchBase--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t baseGroupX--- >     , uint32_t baseGroupY--- >     , uint32_t baseGroupZ--- >     , uint32_t groupCountX--- >     , uint32_t groupCountY--- >     , uint32_t groupCountZ--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatchBase vkCmdDispatchBase registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdDispatchBase <- vkGetInstanceProc @VkCmdDispatchBase vkInstance------ or less efficient:------ > myCmdDispatchBase <- vkGetProc @VkCmdDispatchBase------ __Note:__ @vkCmdDispatchBaseUnsafe@ and @vkCmdDispatchBaseSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdDispatchBase@ is an alias---           of @vkCmdDispatchBaseUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdDispatchBaseSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkCmdDispatchBase"-               vkCmdDispatchBaseUnsafe ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 Word32 -- ^ baseGroupX-                        -> Word32 -- ^ baseGroupY-                                  -> Word32 -- ^ baseGroupZ-                                            -> Word32 -- ^ groupCountX-                                                      -> Word32 -- ^ groupCountY-                                                                -> Word32 -- ^ groupCountZ-                                                                          -> IO ()--#else-vkCmdDispatchBaseUnsafe ::-                        VkCommandBuffer -- ^ commandBuffer-                                        ->-                          Word32 -- ^ baseGroupX-                                 -> Word32 -- ^ baseGroupY-                                           -> Word32 -- ^ baseGroupZ-                                                     -> Word32 -- ^ groupCountX-                                                               -> Word32 -- ^ groupCountY-                                                                         -> Word32 -- ^ groupCountZ-                                                                                   -> IO ()-vkCmdDispatchBaseUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdDispatchBase)--{-# NOINLINE vkCmdDispatchBaseUnsafe #-}-#endif---- |--- Queues: 'compute'.------ Renderpass: @outside@------ > void vkCmdDispatchBase--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t baseGroupX--- >     , uint32_t baseGroupY--- >     , uint32_t baseGroupZ--- >     , uint32_t groupCountX--- >     , uint32_t groupCountY--- >     , uint32_t groupCountZ--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatchBase vkCmdDispatchBase registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdDispatchBase <- vkGetInstanceProc @VkCmdDispatchBase vkInstance------ or less efficient:------ > myCmdDispatchBase <- vkGetProc @VkCmdDispatchBase------ __Note:__ @vkCmdDispatchBaseUnsafe@ and @vkCmdDispatchBaseSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdDispatchBase@ is an alias---           of @vkCmdDispatchBaseUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdDispatchBaseSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe "vkCmdDispatchBase" vkCmdDispatchBaseSafe-               ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 Word32 -- ^ baseGroupX-                        -> Word32 -- ^ baseGroupY-                                  -> Word32 -- ^ baseGroupZ-                                            -> Word32 -- ^ groupCountX-                                                      -> Word32 -- ^ groupCountY-                                                                -> Word32 -- ^ groupCountZ-                                                                          -> IO ()--#else-vkCmdDispatchBaseSafe ::-                      VkCommandBuffer -- ^ commandBuffer-                                      ->-                        Word32 -- ^ baseGroupX-                               -> Word32 -- ^ baseGroupY-                                         -> Word32 -- ^ baseGroupZ-                                                   -> Word32 -- ^ groupCountX-                                                             -> Word32 -- ^ groupCountY-                                                                       -> Word32 -- ^ groupCountZ-                                                                                 -> IO ()-vkCmdDispatchBaseSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdDispatchBase)--{-# NOINLINE vkCmdDispatchBaseSafe #-}-#endif---- |--- Queues: 'compute'.------ Renderpass: @outside@------ > void vkCmdDispatchBase--- >     ( VkCommandBuffer commandBuffer--- >     , uint32_t baseGroupX--- >     , uint32_t baseGroupY--- >     , uint32_t baseGroupZ--- >     , uint32_t groupCountX--- >     , uint32_t groupCountY--- >     , uint32_t groupCountZ--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatchBase vkCmdDispatchBase registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCmdDispatchBase <- vkGetInstanceProc @VkCmdDispatchBase vkInstance------ or less efficient:------ > myCmdDispatchBase <- vkGetProc @VkCmdDispatchBase------ __Note:__ @vkCmdDispatchBaseUnsafe@ and @vkCmdDispatchBaseSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCmdDispatchBase@ is an alias---           of @vkCmdDispatchBaseUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCmdDispatchBaseSafe@.----vkCmdDispatchBase ::-                  VkCommandBuffer -- ^ commandBuffer-                                  ->-                    Word32 -- ^ baseGroupX-                           -> Word32 -- ^ baseGroupY-                                     -> Word32 -- ^ baseGroupZ-                                               -> Word32 -- ^ groupCountX-                                                         -> Word32 -- ^ groupCountY-                                                                   -> Word32 -- ^ groupCountZ-                                                                             -> IO ()-#ifdef UNSAFE_FFI_DEFAULT-vkCmdDispatchBase = vkCmdDispatchBaseUnsafe-#else-vkCmdDispatchBase = vkCmdDispatchBaseSafe--#endif-{-# INLINE vkCmdDispatchBase #-}---- | Queues: 'compute'.------   Renderpass: @outside@------   > void vkCmdDispatchBase---   >     ( VkCommandBuffer commandBuffer---   >     , uint32_t baseGroupX---   >     , uint32_t baseGroupY---   >     , uint32_t baseGroupZ---   >     , uint32_t groupCountX---   >     , uint32_t groupCountY---   >     , uint32_t groupCountZ---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatchBase vkCmdDispatchBase registry at www.khronos.org>-type HS_vkCmdDispatchBase =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       Word32 -- ^ baseGroupX-              -> Word32 -- ^ baseGroupY-                        -> Word32 -- ^ baseGroupZ-                                  -> Word32 -- ^ groupCountX-                                            -> Word32 -- ^ groupCountY-                                                      -> Word32 -- ^ groupCountZ-                                                                -> IO ()--type PFN_vkCmdDispatchBase = FunPtr HS_vkCmdDispatchBase--foreign import ccall unsafe "dynamic" unwrapVkCmdDispatchBaseUnsafe-               :: PFN_vkCmdDispatchBase -> HS_vkCmdDispatchBase--foreign import ccall safe "dynamic" unwrapVkCmdDispatchBaseSafe ::-               PFN_vkCmdDispatchBase -> HS_vkCmdDispatchBase--instance VulkanProc "vkCmdDispatchBase" where-        type VkProcType "vkCmdDispatchBase" = HS_vkCmdDispatchBase-        vkProcSymbol = _VkCmdDispatchBase--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdDispatchBaseUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdDispatchBaseSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO =-        VkStructureType 1000060000--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO =-        VkStructureType 1000060003--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO =-        VkStructureType 1000060004--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO =-        VkStructureType 1000060005--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO =-        VkStructureType 1000060006---- | bitpos = @3@-pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT ::-        VkPipelineCreateBitmask a--pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT =-        VkPipelineCreateBitmask 8---- | bitpos = @4@-pattern VK_PIPELINE_CREATE_DISPATCH_BASE ::-        VkPipelineCreateBitmask a--pattern VK_PIPELINE_CREATE_DISPATCH_BASE =-        VkPipelineCreateBitmask 16---- | Dependency is across devices------   bitpos = @2@-pattern VK_DEPENDENCY_DEVICE_GROUP_BIT :: VkDependencyBitmask a--pattern VK_DEPENDENCY_DEVICE_GROUP_BIT = VkDependencyBitmask 4--pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO =-        VkStructureType 1000060013--pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO =-        VkStructureType 1000060014---- | Allows using VkBindImageMemoryDeviceGroupInfo::pSplitInstanceBindRegions when binding memory to the image------   bitpos = @6@-pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT ::-        VkImageCreateBitmask a--pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT =-        VkImageCreateBitmask 64--pattern VkEnumeratePhysicalDeviceGroups :: CString--pattern VkEnumeratePhysicalDeviceGroups <--        (is_VkEnumeratePhysicalDeviceGroups -> True)-  where VkEnumeratePhysicalDeviceGroups-          = _VkEnumeratePhysicalDeviceGroups--{-# INLINE _VkEnumeratePhysicalDeviceGroups #-}--_VkEnumeratePhysicalDeviceGroups :: CString-_VkEnumeratePhysicalDeviceGroups-  = Ptr "vkEnumeratePhysicalDeviceGroups\NUL"#--{-# INLINE is_VkEnumeratePhysicalDeviceGroups #-}--is_VkEnumeratePhysicalDeviceGroups :: CString -> Bool-is_VkEnumeratePhysicalDeviceGroups-  = (EQ ==) . cmpCStrings _VkEnumeratePhysicalDeviceGroups--type VkEnumeratePhysicalDeviceGroups =-     "vkEnumeratePhysicalDeviceGroups"---- |--- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.------ > VkResult vkEnumeratePhysicalDeviceGroups--- >     ( VkInstance instance--- >     , uint32_t* pPhysicalDeviceGroupCount--- >     , VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myEnumeratePhysicalDeviceGroups <- vkGetInstanceProc @VkEnumeratePhysicalDeviceGroups vkInstance------ or less efficient:------ > myEnumeratePhysicalDeviceGroups <- vkGetProc @VkEnumeratePhysicalDeviceGroups------ __Note:__ @vkEnumeratePhysicalDeviceGroupsUnsafe@ and @vkEnumeratePhysicalDeviceGroupsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkEnumeratePhysicalDeviceGroups@ is an alias---           of @vkEnumeratePhysicalDeviceGroupsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkEnumeratePhysicalDeviceGroupsSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkEnumeratePhysicalDeviceGroups"-               vkEnumeratePhysicalDeviceGroupsUnsafe ::-               VkInstance -- ^ instance-                          ->-                 Ptr Word32 -- ^ pPhysicalDeviceGroupCount-                            -> Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties-                                                                   -> IO VkResult--#else-vkEnumeratePhysicalDeviceGroupsUnsafe ::-                                      VkInstance -- ^ instance-                                                 ->-                                        Ptr Word32 -- ^ pPhysicalDeviceGroupCount-                                                   ->-                                          Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties-                                                                              -> IO VkResult-vkEnumeratePhysicalDeviceGroupsUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkEnumeratePhysicalDeviceGroups)--{-# NOINLINE vkEnumeratePhysicalDeviceGroupsUnsafe #-}-#endif---- |--- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.------ > VkResult vkEnumeratePhysicalDeviceGroups--- >     ( VkInstance instance--- >     , uint32_t* pPhysicalDeviceGroupCount--- >     , VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myEnumeratePhysicalDeviceGroups <- vkGetInstanceProc @VkEnumeratePhysicalDeviceGroups vkInstance------ or less efficient:------ > myEnumeratePhysicalDeviceGroups <- vkGetProc @VkEnumeratePhysicalDeviceGroups------ __Note:__ @vkEnumeratePhysicalDeviceGroupsUnsafe@ and @vkEnumeratePhysicalDeviceGroupsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkEnumeratePhysicalDeviceGroups@ is an alias---           of @vkEnumeratePhysicalDeviceGroupsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkEnumeratePhysicalDeviceGroupsSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe "vkEnumeratePhysicalDeviceGroups"-               vkEnumeratePhysicalDeviceGroupsSafe ::-               VkInstance -- ^ instance-                          ->-                 Ptr Word32 -- ^ pPhysicalDeviceGroupCount-                            -> Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties-                                                                   -> IO VkResult--#else-vkEnumeratePhysicalDeviceGroupsSafe ::-                                    VkInstance -- ^ instance-                                               ->-                                      Ptr Word32 -- ^ pPhysicalDeviceGroupCount-                                                 ->-                                        Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties-                                                                            -> IO VkResult-vkEnumeratePhysicalDeviceGroupsSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkEnumeratePhysicalDeviceGroups)--{-# NOINLINE vkEnumeratePhysicalDeviceGroupsSafe #-}-#endif---- |--- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.------ > VkResult vkEnumeratePhysicalDeviceGroups--- >     ( VkInstance instance--- >     , uint32_t* pPhysicalDeviceGroupCount--- >     , VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myEnumeratePhysicalDeviceGroups <- vkGetInstanceProc @VkEnumeratePhysicalDeviceGroups vkInstance------ or less efficient:------ > myEnumeratePhysicalDeviceGroups <- vkGetProc @VkEnumeratePhysicalDeviceGroups------ __Note:__ @vkEnumeratePhysicalDeviceGroupsUnsafe@ and @vkEnumeratePhysicalDeviceGroupsSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkEnumeratePhysicalDeviceGroups@ is an alias---           of @vkEnumeratePhysicalDeviceGroupsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkEnumeratePhysicalDeviceGroupsSafe@.----vkEnumeratePhysicalDeviceGroups ::-                                VkInstance -- ^ instance-                                           ->-                                  Ptr Word32 -- ^ pPhysicalDeviceGroupCount-                                             -> Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties-                                                                                    -> IO VkResult-#ifdef UNSAFE_FFI_DEFAULT-vkEnumeratePhysicalDeviceGroups-  = vkEnumeratePhysicalDeviceGroupsUnsafe-#else-vkEnumeratePhysicalDeviceGroups-  = vkEnumeratePhysicalDeviceGroupsSafe--#endif-{-# INLINE vkEnumeratePhysicalDeviceGroups #-}---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.------   > VkResult vkEnumeratePhysicalDeviceGroups---   >     ( VkInstance instance---   >     , uint32_t* pPhysicalDeviceGroupCount---   >     , VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups registry at www.khronos.org>-type HS_vkEnumeratePhysicalDeviceGroups =-     VkInstance -- ^ instance-                ->-       Ptr Word32 -- ^ pPhysicalDeviceGroupCount-                  -> Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties-                                                         -> IO VkResult--type PFN_vkEnumeratePhysicalDeviceGroups =-     FunPtr HS_vkEnumeratePhysicalDeviceGroups--foreign import ccall unsafe "dynamic"-               unwrapVkEnumeratePhysicalDeviceGroupsUnsafe ::-               PFN_vkEnumeratePhysicalDeviceGroups ->-                 HS_vkEnumeratePhysicalDeviceGroups--foreign import ccall safe "dynamic"-               unwrapVkEnumeratePhysicalDeviceGroupsSafe ::-               PFN_vkEnumeratePhysicalDeviceGroups ->-                 HS_vkEnumeratePhysicalDeviceGroups--instance VulkanProc "vkEnumeratePhysicalDeviceGroups" where-        type VkProcType "vkEnumeratePhysicalDeviceGroups" =-             HS_vkEnumeratePhysicalDeviceGroups-        vkProcSymbol = _VkEnumeratePhysicalDeviceGroups--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkEnumeratePhysicalDeviceGroupsUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkEnumeratePhysicalDeviceGroupsSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES =-        VkStructureType 1000070000--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO =-        VkStructureType 1000070001---- | If set, heap allocations allocate multiple instances by default------   bitpos = @1@-pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT :: VkMemoryHeapBitmask a--pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = VkMemoryHeapBitmask 2--pattern VkGetImageMemoryRequirements2 :: CString--pattern VkGetImageMemoryRequirements2 <--        (is_VkGetImageMemoryRequirements2 -> True)-  where VkGetImageMemoryRequirements2-          = _VkGetImageMemoryRequirements2--{-# INLINE _VkGetImageMemoryRequirements2 #-}--_VkGetImageMemoryRequirements2 :: CString-_VkGetImageMemoryRequirements2-  = Ptr "vkGetImageMemoryRequirements2\NUL"#--{-# INLINE is_VkGetImageMemoryRequirements2 #-}--is_VkGetImageMemoryRequirements2 :: CString -> Bool-is_VkGetImageMemoryRequirements2-  = (EQ ==) . cmpCStrings _VkGetImageMemoryRequirements2--type VkGetImageMemoryRequirements2 =-     "vkGetImageMemoryRequirements2"---- |--- > void vkGetImageMemoryRequirements2--- >     ( VkDevice device--- >     , const VkImageMemoryRequirementsInfo2* pInfo--- >     , VkMemoryRequirements2* pMemoryRequirements--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetImageMemoryRequirements2 <- vkGetDeviceProc @VkGetImageMemoryRequirements2 vkDevice------ or less efficient:------ > myGetImageMemoryRequirements2 <- vkGetProc @VkGetImageMemoryRequirements2------ __Note:__ @vkGetImageMemoryRequirements2Unsafe@ and @vkGetImageMemoryRequirements2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetImageMemoryRequirements2@ is an alias---           of @vkGetImageMemoryRequirements2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetImageMemoryRequirements2Safe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkGetImageMemoryRequirements2"-               vkGetImageMemoryRequirements2Unsafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo-                                                    ->-                   Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements-                                             -> IO ()--#else-vkGetImageMemoryRequirements2Unsafe ::-                                    VkDevice -- ^ device-                                             ->-                                      Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo-                                                                         ->-                                        Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements-                                                                  -> IO ()-vkGetImageMemoryRequirements2Unsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetImageMemoryRequirements2)--{-# NOINLINE vkGetImageMemoryRequirements2Unsafe #-}-#endif---- |--- > void vkGetImageMemoryRequirements2--- >     ( VkDevice device--- >     , const VkImageMemoryRequirementsInfo2* pInfo--- >     , VkMemoryRequirements2* pMemoryRequirements--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetImageMemoryRequirements2 <- vkGetDeviceProc @VkGetImageMemoryRequirements2 vkDevice------ or less efficient:------ > myGetImageMemoryRequirements2 <- vkGetProc @VkGetImageMemoryRequirements2------ __Note:__ @vkGetImageMemoryRequirements2Unsafe@ and @vkGetImageMemoryRequirements2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetImageMemoryRequirements2@ is an alias---           of @vkGetImageMemoryRequirements2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetImageMemoryRequirements2Safe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe "vkGetImageMemoryRequirements2"-               vkGetImageMemoryRequirements2Safe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo-                                                    ->-                   Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements-                                             -> IO ()--#else-vkGetImageMemoryRequirements2Safe ::-                                  VkDevice -- ^ device-                                           ->-                                    Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo-                                                                       ->-                                      Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements-                                                                -> IO ()-vkGetImageMemoryRequirements2Safe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetImageMemoryRequirements2)--{-# NOINLINE vkGetImageMemoryRequirements2Safe #-}-#endif---- |--- > void vkGetImageMemoryRequirements2--- >     ( VkDevice device--- >     , const VkImageMemoryRequirementsInfo2* pInfo--- >     , VkMemoryRequirements2* pMemoryRequirements--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetImageMemoryRequirements2 <- vkGetDeviceProc @VkGetImageMemoryRequirements2 vkDevice------ or less efficient:------ > myGetImageMemoryRequirements2 <- vkGetProc @VkGetImageMemoryRequirements2------ __Note:__ @vkGetImageMemoryRequirements2Unsafe@ and @vkGetImageMemoryRequirements2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetImageMemoryRequirements2@ is an alias---           of @vkGetImageMemoryRequirements2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetImageMemoryRequirements2Safe@.----vkGetImageMemoryRequirements2 ::-                              VkDevice -- ^ device-                                       ->-                                Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo-                                                                   ->-                                  Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements-                                                            -> IO ()-#ifdef UNSAFE_FFI_DEFAULT-vkGetImageMemoryRequirements2 = vkGetImageMemoryRequirements2Unsafe-#else-vkGetImageMemoryRequirements2 = vkGetImageMemoryRequirements2Safe--#endif-{-# INLINE vkGetImageMemoryRequirements2 #-}---- | > void vkGetImageMemoryRequirements2---   >     ( VkDevice device---   >     , const VkImageMemoryRequirementsInfo2* pInfo---   >     , VkMemoryRequirements2* pMemoryRequirements---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2 registry at www.khronos.org>-type HS_vkGetImageMemoryRequirements2 =-     VkDevice -- ^ device-              ->-       Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo-                                          ->-         Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements-                                   -> IO ()--type PFN_vkGetImageMemoryRequirements2 =-     FunPtr HS_vkGetImageMemoryRequirements2--foreign import ccall unsafe "dynamic"-               unwrapVkGetImageMemoryRequirements2Unsafe ::-               PFN_vkGetImageMemoryRequirements2 ->-                 HS_vkGetImageMemoryRequirements2--foreign import ccall safe "dynamic"-               unwrapVkGetImageMemoryRequirements2Safe ::-               PFN_vkGetImageMemoryRequirements2 ->-                 HS_vkGetImageMemoryRequirements2--instance VulkanProc "vkGetImageMemoryRequirements2" where-        type VkProcType "vkGetImageMemoryRequirements2" =-             HS_vkGetImageMemoryRequirements2-        vkProcSymbol = _VkGetImageMemoryRequirements2--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetImageMemoryRequirements2Unsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetImageMemoryRequirements2Safe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetBufferMemoryRequirements2 :: CString--pattern VkGetBufferMemoryRequirements2 <--        (is_VkGetBufferMemoryRequirements2 -> True)-  where VkGetBufferMemoryRequirements2-          = _VkGetBufferMemoryRequirements2--{-# INLINE _VkGetBufferMemoryRequirements2 #-}--_VkGetBufferMemoryRequirements2 :: CString-_VkGetBufferMemoryRequirements2-  = Ptr "vkGetBufferMemoryRequirements2\NUL"#--{-# INLINE is_VkGetBufferMemoryRequirements2 #-}--is_VkGetBufferMemoryRequirements2 :: CString -> Bool-is_VkGetBufferMemoryRequirements2-  = (EQ ==) . cmpCStrings _VkGetBufferMemoryRequirements2--type VkGetBufferMemoryRequirements2 =-     "vkGetBufferMemoryRequirements2"---- |--- > void vkGetBufferMemoryRequirements2--- >     ( VkDevice device--- >     , const VkBufferMemoryRequirementsInfo2* pInfo--- >     , VkMemoryRequirements2* pMemoryRequirements--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetBufferMemoryRequirements2 <- vkGetDeviceProc @VkGetBufferMemoryRequirements2 vkDevice------ or less efficient:------ > myGetBufferMemoryRequirements2 <- vkGetProc @VkGetBufferMemoryRequirements2------ __Note:__ @vkGetBufferMemoryRequirements2Unsafe@ and @vkGetBufferMemoryRequirements2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetBufferMemoryRequirements2@ is an alias---           of @vkGetBufferMemoryRequirements2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetBufferMemoryRequirements2Safe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkGetBufferMemoryRequirements2"-               vkGetBufferMemoryRequirements2Unsafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo-                                                     ->-                   Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements-                                             -> IO ()--#else-vkGetBufferMemoryRequirements2Unsafe ::-                                     VkDevice -- ^ device-                                              ->-                                       Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo-                                                                           ->-                                         Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements-                                                                   -> IO ()-vkGetBufferMemoryRequirements2Unsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetBufferMemoryRequirements2)--{-# NOINLINE vkGetBufferMemoryRequirements2Unsafe #-}-#endif---- |--- > void vkGetBufferMemoryRequirements2--- >     ( VkDevice device--- >     , const VkBufferMemoryRequirementsInfo2* pInfo--- >     , VkMemoryRequirements2* pMemoryRequirements--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetBufferMemoryRequirements2 <- vkGetDeviceProc @VkGetBufferMemoryRequirements2 vkDevice------ or less efficient:------ > myGetBufferMemoryRequirements2 <- vkGetProc @VkGetBufferMemoryRequirements2------ __Note:__ @vkGetBufferMemoryRequirements2Unsafe@ and @vkGetBufferMemoryRequirements2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetBufferMemoryRequirements2@ is an alias---           of @vkGetBufferMemoryRequirements2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetBufferMemoryRequirements2Safe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe "vkGetBufferMemoryRequirements2"-               vkGetBufferMemoryRequirements2Safe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo-                                                     ->-                   Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements-                                             -> IO ()--#else-vkGetBufferMemoryRequirements2Safe ::-                                   VkDevice -- ^ device-                                            ->-                                     Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo-                                                                         ->-                                       Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements-                                                                 -> IO ()-vkGetBufferMemoryRequirements2Safe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetBufferMemoryRequirements2)--{-# NOINLINE vkGetBufferMemoryRequirements2Safe #-}-#endif---- |--- > void vkGetBufferMemoryRequirements2--- >     ( VkDevice device--- >     , const VkBufferMemoryRequirementsInfo2* pInfo--- >     , VkMemoryRequirements2* pMemoryRequirements--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetBufferMemoryRequirements2 <- vkGetDeviceProc @VkGetBufferMemoryRequirements2 vkDevice------ or less efficient:------ > myGetBufferMemoryRequirements2 <- vkGetProc @VkGetBufferMemoryRequirements2------ __Note:__ @vkGetBufferMemoryRequirements2Unsafe@ and @vkGetBufferMemoryRequirements2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetBufferMemoryRequirements2@ is an alias---           of @vkGetBufferMemoryRequirements2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetBufferMemoryRequirements2Safe@.----vkGetBufferMemoryRequirements2 ::-                               VkDevice -- ^ device-                                        ->-                                 Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo-                                                                     ->-                                   Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements-                                                             -> IO ()-#ifdef UNSAFE_FFI_DEFAULT-vkGetBufferMemoryRequirements2-  = vkGetBufferMemoryRequirements2Unsafe-#else-vkGetBufferMemoryRequirements2 = vkGetBufferMemoryRequirements2Safe--#endif-{-# INLINE vkGetBufferMemoryRequirements2 #-}---- | > void vkGetBufferMemoryRequirements2---   >     ( VkDevice device---   >     , const VkBufferMemoryRequirementsInfo2* pInfo---   >     , VkMemoryRequirements2* pMemoryRequirements---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2 registry at www.khronos.org>-type HS_vkGetBufferMemoryRequirements2 =-     VkDevice -- ^ device-              ->-       Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo-                                           ->-         Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements-                                   -> IO ()--type PFN_vkGetBufferMemoryRequirements2 =-     FunPtr HS_vkGetBufferMemoryRequirements2--foreign import ccall unsafe "dynamic"-               unwrapVkGetBufferMemoryRequirements2Unsafe ::-               PFN_vkGetBufferMemoryRequirements2 ->-                 HS_vkGetBufferMemoryRequirements2--foreign import ccall safe "dynamic"-               unwrapVkGetBufferMemoryRequirements2Safe ::-               PFN_vkGetBufferMemoryRequirements2 ->-                 HS_vkGetBufferMemoryRequirements2--instance VulkanProc "vkGetBufferMemoryRequirements2" where-        type VkProcType "vkGetBufferMemoryRequirements2" =-             HS_vkGetBufferMemoryRequirements2-        vkProcSymbol = _VkGetBufferMemoryRequirements2--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetBufferMemoryRequirements2Unsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetBufferMemoryRequirements2Safe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetImageSparseMemoryRequirements2 :: CString--pattern VkGetImageSparseMemoryRequirements2 <--        (is_VkGetImageSparseMemoryRequirements2 -> True)-  where VkGetImageSparseMemoryRequirements2-          = _VkGetImageSparseMemoryRequirements2--{-# INLINE _VkGetImageSparseMemoryRequirements2 #-}--_VkGetImageSparseMemoryRequirements2 :: CString-_VkGetImageSparseMemoryRequirements2-  = Ptr "vkGetImageSparseMemoryRequirements2\NUL"#--{-# INLINE is_VkGetImageSparseMemoryRequirements2 #-}--is_VkGetImageSparseMemoryRequirements2 :: CString -> Bool-is_VkGetImageSparseMemoryRequirements2-  = (EQ ==) . cmpCStrings _VkGetImageSparseMemoryRequirements2--type VkGetImageSparseMemoryRequirements2 =-     "vkGetImageSparseMemoryRequirements2"---- |--- > void vkGetImageSparseMemoryRequirements2--- >     ( VkDevice device--- >     , const VkImageSparseMemoryRequirementsInfo2* pInfo--- >     , uint32_t* pSparseMemoryRequirementCount--- >     , VkSparseImageMemoryRequirements2* pSparseMemoryRequirements--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetImageSparseMemoryRequirements2 <- vkGetDeviceProc @VkGetImageSparseMemoryRequirements2 vkDevice------ or less efficient:------ > myGetImageSparseMemoryRequirements2 <- vkGetProc @VkGetImageSparseMemoryRequirements2------ __Note:__ @vkGetImageSparseMemoryRequirements2Unsafe@ and @vkGetImageSparseMemoryRequirements2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetImageSparseMemoryRequirements2@ is an alias---           of @vkGetImageSparseMemoryRequirements2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetImageSparseMemoryRequirements2Safe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkGetImageSparseMemoryRequirements2"-               vkGetImageSparseMemoryRequirements2Unsafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo-                                                          ->-                   Ptr Word32 -- ^ pSparseMemoryRequirementCount-                              -> Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements-                                                                      -> IO ()--#else-vkGetImageSparseMemoryRequirements2Unsafe ::-                                          VkDevice -- ^ device-                                                   ->-                                            Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo-                                                                                     ->-                                              Ptr Word32 -- ^ pSparseMemoryRequirementCount-                                                         ->-                                                Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements-                                                                                     -> IO ()-vkGetImageSparseMemoryRequirements2Unsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetImageSparseMemoryRequirements2)--{-# NOINLINE vkGetImageSparseMemoryRequirements2Unsafe #-}-#endif---- |--- > void vkGetImageSparseMemoryRequirements2--- >     ( VkDevice device--- >     , const VkImageSparseMemoryRequirementsInfo2* pInfo--- >     , uint32_t* pSparseMemoryRequirementCount--- >     , VkSparseImageMemoryRequirements2* pSparseMemoryRequirements--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetImageSparseMemoryRequirements2 <- vkGetDeviceProc @VkGetImageSparseMemoryRequirements2 vkDevice------ or less efficient:------ > myGetImageSparseMemoryRequirements2 <- vkGetProc @VkGetImageSparseMemoryRequirements2------ __Note:__ @vkGetImageSparseMemoryRequirements2Unsafe@ and @vkGetImageSparseMemoryRequirements2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetImageSparseMemoryRequirements2@ is an alias---           of @vkGetImageSparseMemoryRequirements2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetImageSparseMemoryRequirements2Safe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe "vkGetImageSparseMemoryRequirements2"-               vkGetImageSparseMemoryRequirements2Safe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo-                                                          ->-                   Ptr Word32 -- ^ pSparseMemoryRequirementCount-                              -> Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements-                                                                      -> IO ()--#else-vkGetImageSparseMemoryRequirements2Safe ::-                                        VkDevice -- ^ device-                                                 ->-                                          Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo-                                                                                   ->-                                            Ptr Word32 -- ^ pSparseMemoryRequirementCount-                                                       ->-                                              Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements-                                                                                   -> IO ()-vkGetImageSparseMemoryRequirements2Safe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetImageSparseMemoryRequirements2)--{-# NOINLINE vkGetImageSparseMemoryRequirements2Safe #-}-#endif---- |--- > void vkGetImageSparseMemoryRequirements2--- >     ( VkDevice device--- >     , const VkImageSparseMemoryRequirementsInfo2* pInfo--- >     , uint32_t* pSparseMemoryRequirementCount--- >     , VkSparseImageMemoryRequirements2* pSparseMemoryRequirements--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetImageSparseMemoryRequirements2 <- vkGetDeviceProc @VkGetImageSparseMemoryRequirements2 vkDevice------ or less efficient:------ > myGetImageSparseMemoryRequirements2 <- vkGetProc @VkGetImageSparseMemoryRequirements2------ __Note:__ @vkGetImageSparseMemoryRequirements2Unsafe@ and @vkGetImageSparseMemoryRequirements2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetImageSparseMemoryRequirements2@ is an alias---           of @vkGetImageSparseMemoryRequirements2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetImageSparseMemoryRequirements2Safe@.----vkGetImageSparseMemoryRequirements2 ::-                                    VkDevice -- ^ device-                                             ->-                                      Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo-                                                                               ->-                                        Ptr Word32 -- ^ pSparseMemoryRequirementCount-                                                   -> Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements-                                                                                           -> IO ()-#ifdef UNSAFE_FFI_DEFAULT-vkGetImageSparseMemoryRequirements2-  = vkGetImageSparseMemoryRequirements2Unsafe-#else-vkGetImageSparseMemoryRequirements2-  = vkGetImageSparseMemoryRequirements2Safe--#endif-{-# INLINE vkGetImageSparseMemoryRequirements2 #-}---- | > void vkGetImageSparseMemoryRequirements2---   >     ( VkDevice device---   >     , const VkImageSparseMemoryRequirementsInfo2* pInfo---   >     , uint32_t* pSparseMemoryRequirementCount---   >     , VkSparseImageMemoryRequirements2* pSparseMemoryRequirements---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2 registry at www.khronos.org>-type HS_vkGetImageSparseMemoryRequirements2 =-     VkDevice -- ^ device-              ->-       Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo-                                                ->-         Ptr Word32 -- ^ pSparseMemoryRequirementCount-                    -> Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements-                                                            -> IO ()--type PFN_vkGetImageSparseMemoryRequirements2 =-     FunPtr HS_vkGetImageSparseMemoryRequirements2--foreign import ccall unsafe "dynamic"-               unwrapVkGetImageSparseMemoryRequirements2Unsafe ::-               PFN_vkGetImageSparseMemoryRequirements2 ->-                 HS_vkGetImageSparseMemoryRequirements2--foreign import ccall safe "dynamic"-               unwrapVkGetImageSparseMemoryRequirements2Safe ::-               PFN_vkGetImageSparseMemoryRequirements2 ->-                 HS_vkGetImageSparseMemoryRequirements2--instance VulkanProc "vkGetImageSparseMemoryRequirements2" where-        type VkProcType "vkGetImageSparseMemoryRequirements2" =-             HS_vkGetImageSparseMemoryRequirements2-        vkProcSymbol = _VkGetImageSparseMemoryRequirements2--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetImageSparseMemoryRequirements2Unsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetImageSparseMemoryRequirements2Safe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 =-        VkStructureType 1000146000--pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 =-        VkStructureType 1000146001--pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2-        :: VkStructureType--pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 =-        VkStructureType 1000146002--pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: VkStructureType--pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 =-        VkStructureType 1000146003--pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 =-        VkStructureType 1000146004--pattern VkGetPhysicalDeviceFeatures2 :: CString--pattern VkGetPhysicalDeviceFeatures2 <--        (is_VkGetPhysicalDeviceFeatures2 -> True)-  where VkGetPhysicalDeviceFeatures2 = _VkGetPhysicalDeviceFeatures2--{-# INLINE _VkGetPhysicalDeviceFeatures2 #-}--_VkGetPhysicalDeviceFeatures2 :: CString-_VkGetPhysicalDeviceFeatures2-  = Ptr "vkGetPhysicalDeviceFeatures2\NUL"#--{-# INLINE is_VkGetPhysicalDeviceFeatures2 #-}--is_VkGetPhysicalDeviceFeatures2 :: CString -> Bool-is_VkGetPhysicalDeviceFeatures2-  = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceFeatures2--type VkGetPhysicalDeviceFeatures2 = "vkGetPhysicalDeviceFeatures2"---- |--- > void vkGetPhysicalDeviceFeatures2--- >     ( VkPhysicalDevice physicalDevice--- >     , VkPhysicalDeviceFeatures2* pFeatures--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceFeatures2 <- vkGetInstanceProc @VkGetPhysicalDeviceFeatures2 vkInstance------ or less efficient:------ > myGetPhysicalDeviceFeatures2 <- vkGetProc @VkGetPhysicalDeviceFeatures2------ __Note:__ @vkGetPhysicalDeviceFeatures2Unsafe@ and @vkGetPhysicalDeviceFeatures2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceFeatures2@ is an alias---           of @vkGetPhysicalDeviceFeatures2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceFeatures2Safe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkGetPhysicalDeviceFeatures2"-               vkGetPhysicalDeviceFeatures2Unsafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures-                                                                 -> IO ()--#else-vkGetPhysicalDeviceFeatures2Unsafe ::-                                   VkPhysicalDevice -- ^ physicalDevice-                                                    -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures-                                                                                     -> IO ()-vkGetPhysicalDeviceFeatures2Unsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetPhysicalDeviceFeatures2)--{-# NOINLINE vkGetPhysicalDeviceFeatures2Unsafe #-}-#endif---- |--- > void vkGetPhysicalDeviceFeatures2--- >     ( VkPhysicalDevice physicalDevice--- >     , VkPhysicalDeviceFeatures2* pFeatures--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceFeatures2 <- vkGetInstanceProc @VkGetPhysicalDeviceFeatures2 vkInstance------ or less efficient:------ > myGetPhysicalDeviceFeatures2 <- vkGetProc @VkGetPhysicalDeviceFeatures2------ __Note:__ @vkGetPhysicalDeviceFeatures2Unsafe@ and @vkGetPhysicalDeviceFeatures2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceFeatures2@ is an alias---           of @vkGetPhysicalDeviceFeatures2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceFeatures2Safe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe "vkGetPhysicalDeviceFeatures2"-               vkGetPhysicalDeviceFeatures2Safe ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures-                                                                 -> IO ()--#else-vkGetPhysicalDeviceFeatures2Safe ::-                                 VkPhysicalDevice -- ^ physicalDevice-                                                  -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures-                                                                                   -> IO ()-vkGetPhysicalDeviceFeatures2Safe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetPhysicalDeviceFeatures2)--{-# NOINLINE vkGetPhysicalDeviceFeatures2Safe #-}-#endif---- |--- > void vkGetPhysicalDeviceFeatures2--- >     ( VkPhysicalDevice physicalDevice--- >     , VkPhysicalDeviceFeatures2* pFeatures--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceFeatures2 <- vkGetInstanceProc @VkGetPhysicalDeviceFeatures2 vkInstance------ or less efficient:------ > myGetPhysicalDeviceFeatures2 <- vkGetProc @VkGetPhysicalDeviceFeatures2------ __Note:__ @vkGetPhysicalDeviceFeatures2Unsafe@ and @vkGetPhysicalDeviceFeatures2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceFeatures2@ is an alias---           of @vkGetPhysicalDeviceFeatures2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceFeatures2Safe@.----vkGetPhysicalDeviceFeatures2 ::-                             VkPhysicalDevice -- ^ physicalDevice-                                              -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures-                                                                               -> IO ()-#ifdef UNSAFE_FFI_DEFAULT-vkGetPhysicalDeviceFeatures2 = vkGetPhysicalDeviceFeatures2Unsafe-#else-vkGetPhysicalDeviceFeatures2 = vkGetPhysicalDeviceFeatures2Safe--#endif-{-# INLINE vkGetPhysicalDeviceFeatures2 #-}---- | > void vkGetPhysicalDeviceFeatures2---   >     ( VkPhysicalDevice physicalDevice---   >     , VkPhysicalDeviceFeatures2* pFeatures---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2 registry at www.khronos.org>-type HS_vkGetPhysicalDeviceFeatures2 =-     VkPhysicalDevice -- ^ physicalDevice-                      -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures-                                                       -> IO ()--type PFN_vkGetPhysicalDeviceFeatures2 =-     FunPtr HS_vkGetPhysicalDeviceFeatures2--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceFeatures2Unsafe ::-               PFN_vkGetPhysicalDeviceFeatures2 -> HS_vkGetPhysicalDeviceFeatures2--foreign import ccall safe "dynamic"-               unwrapVkGetPhysicalDeviceFeatures2Safe ::-               PFN_vkGetPhysicalDeviceFeatures2 -> HS_vkGetPhysicalDeviceFeatures2--instance VulkanProc "vkGetPhysicalDeviceFeatures2" where-        type VkProcType "vkGetPhysicalDeviceFeatures2" =-             HS_vkGetPhysicalDeviceFeatures2-        vkProcSymbol = _VkGetPhysicalDeviceFeatures2--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetPhysicalDeviceFeatures2Unsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetPhysicalDeviceFeatures2Safe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetPhysicalDeviceProperties2 :: CString--pattern VkGetPhysicalDeviceProperties2 <--        (is_VkGetPhysicalDeviceProperties2 -> True)-  where VkGetPhysicalDeviceProperties2-          = _VkGetPhysicalDeviceProperties2--{-# INLINE _VkGetPhysicalDeviceProperties2 #-}--_VkGetPhysicalDeviceProperties2 :: CString-_VkGetPhysicalDeviceProperties2-  = Ptr "vkGetPhysicalDeviceProperties2\NUL"#--{-# INLINE is_VkGetPhysicalDeviceProperties2 #-}--is_VkGetPhysicalDeviceProperties2 :: CString -> Bool-is_VkGetPhysicalDeviceProperties2-  = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceProperties2--type VkGetPhysicalDeviceProperties2 =-     "vkGetPhysicalDeviceProperties2"---- |--- > void vkGetPhysicalDeviceProperties2--- >     ( VkPhysicalDevice physicalDevice--- >     , VkPhysicalDeviceProperties2* pProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceProperties2 vkInstance------ or less efficient:------ > myGetPhysicalDeviceProperties2 <- vkGetProc @VkGetPhysicalDeviceProperties2------ __Note:__ @vkGetPhysicalDeviceProperties2Unsafe@ and @vkGetPhysicalDeviceProperties2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceProperties2@ is an alias---           of @vkGetPhysicalDeviceProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceProperties2Safe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkGetPhysicalDeviceProperties2"-               vkGetPhysicalDeviceProperties2Unsafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties-                                                                   -> IO ()--#else-vkGetPhysicalDeviceProperties2Unsafe ::-                                     VkPhysicalDevice -- ^ physicalDevice-                                                      -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties-                                                                                         -> IO ()-vkGetPhysicalDeviceProperties2Unsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetPhysicalDeviceProperties2)--{-# NOINLINE vkGetPhysicalDeviceProperties2Unsafe #-}-#endif---- |--- > void vkGetPhysicalDeviceProperties2--- >     ( VkPhysicalDevice physicalDevice--- >     , VkPhysicalDeviceProperties2* pProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceProperties2 vkInstance------ or less efficient:------ > myGetPhysicalDeviceProperties2 <- vkGetProc @VkGetPhysicalDeviceProperties2------ __Note:__ @vkGetPhysicalDeviceProperties2Unsafe@ and @vkGetPhysicalDeviceProperties2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceProperties2@ is an alias---           of @vkGetPhysicalDeviceProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceProperties2Safe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe "vkGetPhysicalDeviceProperties2"-               vkGetPhysicalDeviceProperties2Safe ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties-                                                                   -> IO ()--#else-vkGetPhysicalDeviceProperties2Safe ::-                                   VkPhysicalDevice -- ^ physicalDevice-                                                    -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties-                                                                                       -> IO ()-vkGetPhysicalDeviceProperties2Safe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetPhysicalDeviceProperties2)--{-# NOINLINE vkGetPhysicalDeviceProperties2Safe #-}-#endif---- |--- > void vkGetPhysicalDeviceProperties2--- >     ( VkPhysicalDevice physicalDevice--- >     , VkPhysicalDeviceProperties2* pProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceProperties2 vkInstance------ or less efficient:------ > myGetPhysicalDeviceProperties2 <- vkGetProc @VkGetPhysicalDeviceProperties2------ __Note:__ @vkGetPhysicalDeviceProperties2Unsafe@ and @vkGetPhysicalDeviceProperties2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceProperties2@ is an alias---           of @vkGetPhysicalDeviceProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceProperties2Safe@.----vkGetPhysicalDeviceProperties2 ::-                               VkPhysicalDevice -- ^ physicalDevice-                                                -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties-                                                                                   -> IO ()-#ifdef UNSAFE_FFI_DEFAULT-vkGetPhysicalDeviceProperties2-  = vkGetPhysicalDeviceProperties2Unsafe-#else-vkGetPhysicalDeviceProperties2 = vkGetPhysicalDeviceProperties2Safe--#endif-{-# INLINE vkGetPhysicalDeviceProperties2 #-}---- | > void vkGetPhysicalDeviceProperties2---   >     ( VkPhysicalDevice physicalDevice---   >     , VkPhysicalDeviceProperties2* pProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2 registry at www.khronos.org>-type HS_vkGetPhysicalDeviceProperties2 =-     VkPhysicalDevice -- ^ physicalDevice-                      -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties-                                                         -> IO ()--type PFN_vkGetPhysicalDeviceProperties2 =-     FunPtr HS_vkGetPhysicalDeviceProperties2--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceProperties2Unsafe ::-               PFN_vkGetPhysicalDeviceProperties2 ->-                 HS_vkGetPhysicalDeviceProperties2--foreign import ccall safe "dynamic"-               unwrapVkGetPhysicalDeviceProperties2Safe ::-               PFN_vkGetPhysicalDeviceProperties2 ->-                 HS_vkGetPhysicalDeviceProperties2--instance VulkanProc "vkGetPhysicalDeviceProperties2" where-        type VkProcType "vkGetPhysicalDeviceProperties2" =-             HS_vkGetPhysicalDeviceProperties2-        vkProcSymbol = _VkGetPhysicalDeviceProperties2--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetPhysicalDeviceProperties2Unsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetPhysicalDeviceProperties2Safe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetPhysicalDeviceFormatProperties2 :: CString--pattern VkGetPhysicalDeviceFormatProperties2 <--        (is_VkGetPhysicalDeviceFormatProperties2 -> True)-  where VkGetPhysicalDeviceFormatProperties2-          = _VkGetPhysicalDeviceFormatProperties2--{-# INLINE _VkGetPhysicalDeviceFormatProperties2 #-}--_VkGetPhysicalDeviceFormatProperties2 :: CString-_VkGetPhysicalDeviceFormatProperties2-  = Ptr "vkGetPhysicalDeviceFormatProperties2\NUL"#--{-# INLINE is_VkGetPhysicalDeviceFormatProperties2 #-}--is_VkGetPhysicalDeviceFormatProperties2 :: CString -> Bool-is_VkGetPhysicalDeviceFormatProperties2-  = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceFormatProperties2--type VkGetPhysicalDeviceFormatProperties2 =-     "vkGetPhysicalDeviceFormatProperties2"---- |--- > void vkGetPhysicalDeviceFormatProperties2--- >     ( VkPhysicalDevice physicalDevice--- >     , VkFormat format--- >     , VkFormatProperties2* pFormatProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceFormatProperties2 vkInstance------ or less efficient:------ > myGetPhysicalDeviceFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceFormatProperties2------ __Note:__ @vkGetPhysicalDeviceFormatProperties2Unsafe@ and @vkGetPhysicalDeviceFormatProperties2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceFormatProperties2@ is an alias---           of @vkGetPhysicalDeviceFormatProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceFormatProperties2Safe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkGetPhysicalDeviceFormatProperties2"-               vkGetPhysicalDeviceFormatProperties2Unsafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> VkFormat -- ^ format-                                            -> Ptr VkFormatProperties2 -- ^ pFormatProperties-                                                                       -> IO ()--#else-vkGetPhysicalDeviceFormatProperties2Unsafe ::-                                           VkPhysicalDevice -- ^ physicalDevice-                                                            ->-                                             VkFormat -- ^ format-                                                      -> Ptr VkFormatProperties2 -- ^ pFormatProperties-                                                                                 -> IO ()-vkGetPhysicalDeviceFormatProperties2Unsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetPhysicalDeviceFormatProperties2)--{-# NOINLINE vkGetPhysicalDeviceFormatProperties2Unsafe #-}-#endif---- |--- > void vkGetPhysicalDeviceFormatProperties2--- >     ( VkPhysicalDevice physicalDevice--- >     , VkFormat format--- >     , VkFormatProperties2* pFormatProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceFormatProperties2 vkInstance------ or less efficient:------ > myGetPhysicalDeviceFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceFormatProperties2------ __Note:__ @vkGetPhysicalDeviceFormatProperties2Unsafe@ and @vkGetPhysicalDeviceFormatProperties2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceFormatProperties2@ is an alias---           of @vkGetPhysicalDeviceFormatProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceFormatProperties2Safe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe "vkGetPhysicalDeviceFormatProperties2"-               vkGetPhysicalDeviceFormatProperties2Safe ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> VkFormat -- ^ format-                                            -> Ptr VkFormatProperties2 -- ^ pFormatProperties-                                                                       -> IO ()--#else-vkGetPhysicalDeviceFormatProperties2Safe ::-                                         VkPhysicalDevice -- ^ physicalDevice-                                                          ->-                                           VkFormat -- ^ format-                                                    -> Ptr VkFormatProperties2 -- ^ pFormatProperties-                                                                               -> IO ()-vkGetPhysicalDeviceFormatProperties2Safe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetPhysicalDeviceFormatProperties2)--{-# NOINLINE vkGetPhysicalDeviceFormatProperties2Safe #-}-#endif---- |--- > void vkGetPhysicalDeviceFormatProperties2--- >     ( VkPhysicalDevice physicalDevice--- >     , VkFormat format--- >     , VkFormatProperties2* pFormatProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceFormatProperties2 vkInstance------ or less efficient:------ > myGetPhysicalDeviceFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceFormatProperties2------ __Note:__ @vkGetPhysicalDeviceFormatProperties2Unsafe@ and @vkGetPhysicalDeviceFormatProperties2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceFormatProperties2@ is an alias---           of @vkGetPhysicalDeviceFormatProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceFormatProperties2Safe@.----vkGetPhysicalDeviceFormatProperties2 ::-                                     VkPhysicalDevice -- ^ physicalDevice-                                                      ->-                                       VkFormat -- ^ format-                                                -> Ptr VkFormatProperties2 -- ^ pFormatProperties-                                                                           -> IO ()-#ifdef UNSAFE_FFI_DEFAULT-vkGetPhysicalDeviceFormatProperties2-  = vkGetPhysicalDeviceFormatProperties2Unsafe-#else-vkGetPhysicalDeviceFormatProperties2-  = vkGetPhysicalDeviceFormatProperties2Safe--#endif-{-# INLINE vkGetPhysicalDeviceFormatProperties2 #-}---- | > void vkGetPhysicalDeviceFormatProperties2---   >     ( VkPhysicalDevice physicalDevice---   >     , VkFormat format---   >     , VkFormatProperties2* pFormatProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2 registry at www.khronos.org>-type HS_vkGetPhysicalDeviceFormatProperties2 =-     VkPhysicalDevice -- ^ physicalDevice-                      -> VkFormat -- ^ format-                                  -> Ptr VkFormatProperties2 -- ^ pFormatProperties-                                                             -> IO ()--type PFN_vkGetPhysicalDeviceFormatProperties2 =-     FunPtr HS_vkGetPhysicalDeviceFormatProperties2--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceFormatProperties2Unsafe ::-               PFN_vkGetPhysicalDeviceFormatProperties2 ->-                 HS_vkGetPhysicalDeviceFormatProperties2--foreign import ccall safe "dynamic"-               unwrapVkGetPhysicalDeviceFormatProperties2Safe ::-               PFN_vkGetPhysicalDeviceFormatProperties2 ->-                 HS_vkGetPhysicalDeviceFormatProperties2--instance VulkanProc "vkGetPhysicalDeviceFormatProperties2" where-        type VkProcType "vkGetPhysicalDeviceFormatProperties2" =-             HS_vkGetPhysicalDeviceFormatProperties2-        vkProcSymbol = _VkGetPhysicalDeviceFormatProperties2--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceFormatProperties2Unsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceFormatProperties2Safe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetPhysicalDeviceImageFormatProperties2 :: CString--pattern VkGetPhysicalDeviceImageFormatProperties2 <--        (is_VkGetPhysicalDeviceImageFormatProperties2 -> True)-  where VkGetPhysicalDeviceImageFormatProperties2-          = _VkGetPhysicalDeviceImageFormatProperties2--{-# INLINE _VkGetPhysicalDeviceImageFormatProperties2 #-}--_VkGetPhysicalDeviceImageFormatProperties2 :: CString-_VkGetPhysicalDeviceImageFormatProperties2-  = Ptr "vkGetPhysicalDeviceImageFormatProperties2\NUL"#--{-# INLINE is_VkGetPhysicalDeviceImageFormatProperties2 #-}--is_VkGetPhysicalDeviceImageFormatProperties2 :: CString -> Bool-is_VkGetPhysicalDeviceImageFormatProperties2-  = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceImageFormatProperties2--type VkGetPhysicalDeviceImageFormatProperties2 =-     "vkGetPhysicalDeviceImageFormatProperties2"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.------ > VkResult vkGetPhysicalDeviceImageFormatProperties2--- >     ( VkPhysicalDevice physicalDevice--- >     , const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo--- >     , VkImageFormatProperties2* pImageFormatProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceImageFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceImageFormatProperties2 vkInstance------ or less efficient:------ > myGetPhysicalDeviceImageFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceImageFormatProperties2------ __Note:__ @vkGetPhysicalDeviceImageFormatProperties2Unsafe@ and @vkGetPhysicalDeviceImageFormatProperties2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceImageFormatProperties2@ is an alias---           of @vkGetPhysicalDeviceImageFormatProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceImageFormatProperties2Safe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe-               "vkGetPhysicalDeviceImageFormatProperties2"-               vkGetPhysicalDeviceImageFormatProperties2Unsafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo-                                                      ->-                   Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties-                                                -> IO VkResult--#else-vkGetPhysicalDeviceImageFormatProperties2Unsafe ::-                                                VkPhysicalDevice -- ^ physicalDevice-                                                                 ->-                                                  Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo-                                                                                       ->-                                                    Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties-                                                                                 -> IO VkResult-vkGetPhysicalDeviceImageFormatProperties2Unsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetPhysicalDeviceImageFormatProperties2)--{-# NOINLINE vkGetPhysicalDeviceImageFormatProperties2Unsafe #-}-#endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.------ > VkResult vkGetPhysicalDeviceImageFormatProperties2--- >     ( VkPhysicalDevice physicalDevice--- >     , const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo--- >     , VkImageFormatProperties2* pImageFormatProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceImageFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceImageFormatProperties2 vkInstance------ or less efficient:------ > myGetPhysicalDeviceImageFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceImageFormatProperties2------ __Note:__ @vkGetPhysicalDeviceImageFormatProperties2Unsafe@ and @vkGetPhysicalDeviceImageFormatProperties2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceImageFormatProperties2@ is an alias---           of @vkGetPhysicalDeviceImageFormatProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceImageFormatProperties2Safe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe-               "vkGetPhysicalDeviceImageFormatProperties2"-               vkGetPhysicalDeviceImageFormatProperties2Safe ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo-                                                      ->-                   Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties-                                                -> IO VkResult--#else-vkGetPhysicalDeviceImageFormatProperties2Safe ::-                                              VkPhysicalDevice -- ^ physicalDevice-                                                               ->-                                                Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo-                                                                                     ->-                                                  Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties-                                                                               -> IO VkResult-vkGetPhysicalDeviceImageFormatProperties2Safe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetPhysicalDeviceImageFormatProperties2)--{-# NOINLINE vkGetPhysicalDeviceImageFormatProperties2Safe #-}-#endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.------ > VkResult vkGetPhysicalDeviceImageFormatProperties2--- >     ( VkPhysicalDevice physicalDevice--- >     , const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo--- >     , VkImageFormatProperties2* pImageFormatProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceImageFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceImageFormatProperties2 vkInstance------ or less efficient:------ > myGetPhysicalDeviceImageFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceImageFormatProperties2------ __Note:__ @vkGetPhysicalDeviceImageFormatProperties2Unsafe@ and @vkGetPhysicalDeviceImageFormatProperties2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceImageFormatProperties2@ is an alias---           of @vkGetPhysicalDeviceImageFormatProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceImageFormatProperties2Safe@.----vkGetPhysicalDeviceImageFormatProperties2 ::-                                          VkPhysicalDevice -- ^ physicalDevice-                                                           ->-                                            Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo-                                                                                 ->-                                              Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties-                                                                           -> IO VkResult-#ifdef UNSAFE_FFI_DEFAULT-vkGetPhysicalDeviceImageFormatProperties2-  = vkGetPhysicalDeviceImageFormatProperties2Unsafe-#else-vkGetPhysicalDeviceImageFormatProperties2-  = vkGetPhysicalDeviceImageFormatProperties2Safe--#endif-{-# INLINE vkGetPhysicalDeviceImageFormatProperties2 #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.------   > VkResult vkGetPhysicalDeviceImageFormatProperties2---   >     ( VkPhysicalDevice physicalDevice---   >     , const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo---   >     , VkImageFormatProperties2* pImageFormatProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2 registry at www.khronos.org>-type HS_vkGetPhysicalDeviceImageFormatProperties2 =-     VkPhysicalDevice -- ^ physicalDevice-                      ->-       Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo-                                            ->-         Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties-                                      -> IO VkResult--type PFN_vkGetPhysicalDeviceImageFormatProperties2 =-     FunPtr HS_vkGetPhysicalDeviceImageFormatProperties2--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceImageFormatProperties2Unsafe ::-               PFN_vkGetPhysicalDeviceImageFormatProperties2 ->-                 HS_vkGetPhysicalDeviceImageFormatProperties2--foreign import ccall safe "dynamic"-               unwrapVkGetPhysicalDeviceImageFormatProperties2Safe ::-               PFN_vkGetPhysicalDeviceImageFormatProperties2 ->-                 HS_vkGetPhysicalDeviceImageFormatProperties2--instance VulkanProc "vkGetPhysicalDeviceImageFormatProperties2"-         where-        type VkProcType "vkGetPhysicalDeviceImageFormatProperties2" =-             HS_vkGetPhysicalDeviceImageFormatProperties2-        vkProcSymbol = _VkGetPhysicalDeviceImageFormatProperties2--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceImageFormatProperties2Unsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceImageFormatProperties2Safe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetPhysicalDeviceQueueFamilyProperties2 :: CString--pattern VkGetPhysicalDeviceQueueFamilyProperties2 <--        (is_VkGetPhysicalDeviceQueueFamilyProperties2 -> True)-  where VkGetPhysicalDeviceQueueFamilyProperties2-          = _VkGetPhysicalDeviceQueueFamilyProperties2--{-# INLINE _VkGetPhysicalDeviceQueueFamilyProperties2 #-}--_VkGetPhysicalDeviceQueueFamilyProperties2 :: CString-_VkGetPhysicalDeviceQueueFamilyProperties2-  = Ptr "vkGetPhysicalDeviceQueueFamilyProperties2\NUL"#--{-# INLINE is_VkGetPhysicalDeviceQueueFamilyProperties2 #-}--is_VkGetPhysicalDeviceQueueFamilyProperties2 :: CString -> Bool-is_VkGetPhysicalDeviceQueueFamilyProperties2-  = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceQueueFamilyProperties2--type VkGetPhysicalDeviceQueueFamilyProperties2 =-     "vkGetPhysicalDeviceQueueFamilyProperties2"---- |--- > void vkGetPhysicalDeviceQueueFamilyProperties2--- >     ( VkPhysicalDevice physicalDevice--- >     , uint32_t* pQueueFamilyPropertyCount--- >     , VkQueueFamilyProperties2* pQueueFamilyProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceQueueFamilyProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceQueueFamilyProperties2 vkInstance------ or less efficient:------ > myGetPhysicalDeviceQueueFamilyProperties2 <- vkGetProc @VkGetPhysicalDeviceQueueFamilyProperties2------ __Note:__ @vkGetPhysicalDeviceQueueFamilyProperties2Unsafe@ and @vkGetPhysicalDeviceQueueFamilyProperties2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceQueueFamilyProperties2@ is an alias---           of @vkGetPhysicalDeviceQueueFamilyProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceQueueFamilyProperties2Safe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe-               "vkGetPhysicalDeviceQueueFamilyProperties2"-               vkGetPhysicalDeviceQueueFamilyProperties2Unsafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr Word32 -- ^ pQueueFamilyPropertyCount-                            -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties-                                                            -> IO ()--#else-vkGetPhysicalDeviceQueueFamilyProperties2Unsafe ::-                                                VkPhysicalDevice -- ^ physicalDevice-                                                                 ->-                                                  Ptr Word32 -- ^ pQueueFamilyPropertyCount-                                                             ->-                                                    Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties-                                                                                 -> IO ()-vkGetPhysicalDeviceQueueFamilyProperties2Unsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetPhysicalDeviceQueueFamilyProperties2)--{-# NOINLINE vkGetPhysicalDeviceQueueFamilyProperties2Unsafe #-}-#endif---- |--- > void vkGetPhysicalDeviceQueueFamilyProperties2--- >     ( VkPhysicalDevice physicalDevice--- >     , uint32_t* pQueueFamilyPropertyCount--- >     , VkQueueFamilyProperties2* pQueueFamilyProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceQueueFamilyProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceQueueFamilyProperties2 vkInstance------ or less efficient:------ > myGetPhysicalDeviceQueueFamilyProperties2 <- vkGetProc @VkGetPhysicalDeviceQueueFamilyProperties2------ __Note:__ @vkGetPhysicalDeviceQueueFamilyProperties2Unsafe@ and @vkGetPhysicalDeviceQueueFamilyProperties2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceQueueFamilyProperties2@ is an alias---           of @vkGetPhysicalDeviceQueueFamilyProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceQueueFamilyProperties2Safe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe-               "vkGetPhysicalDeviceQueueFamilyProperties2"-               vkGetPhysicalDeviceQueueFamilyProperties2Safe ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr Word32 -- ^ pQueueFamilyPropertyCount-                            -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties-                                                            -> IO ()--#else-vkGetPhysicalDeviceQueueFamilyProperties2Safe ::-                                              VkPhysicalDevice -- ^ physicalDevice-                                                               ->-                                                Ptr Word32 -- ^ pQueueFamilyPropertyCount-                                                           -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties-                                                                                           -> IO ()-vkGetPhysicalDeviceQueueFamilyProperties2Safe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetPhysicalDeviceQueueFamilyProperties2)--{-# NOINLINE vkGetPhysicalDeviceQueueFamilyProperties2Safe #-}-#endif---- |--- > void vkGetPhysicalDeviceQueueFamilyProperties2--- >     ( VkPhysicalDevice physicalDevice--- >     , uint32_t* pQueueFamilyPropertyCount--- >     , VkQueueFamilyProperties2* pQueueFamilyProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceQueueFamilyProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceQueueFamilyProperties2 vkInstance------ or less efficient:------ > myGetPhysicalDeviceQueueFamilyProperties2 <- vkGetProc @VkGetPhysicalDeviceQueueFamilyProperties2------ __Note:__ @vkGetPhysicalDeviceQueueFamilyProperties2Unsafe@ and @vkGetPhysicalDeviceQueueFamilyProperties2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceQueueFamilyProperties2@ is an alias---           of @vkGetPhysicalDeviceQueueFamilyProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceQueueFamilyProperties2Safe@.----vkGetPhysicalDeviceQueueFamilyProperties2 ::-                                          VkPhysicalDevice -- ^ physicalDevice-                                                           ->-                                            Ptr Word32 -- ^ pQueueFamilyPropertyCount-                                                       -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties-                                                                                       -> IO ()-#ifdef UNSAFE_FFI_DEFAULT-vkGetPhysicalDeviceQueueFamilyProperties2-  = vkGetPhysicalDeviceQueueFamilyProperties2Unsafe-#else-vkGetPhysicalDeviceQueueFamilyProperties2-  = vkGetPhysicalDeviceQueueFamilyProperties2Safe--#endif-{-# INLINE vkGetPhysicalDeviceQueueFamilyProperties2 #-}---- | > void vkGetPhysicalDeviceQueueFamilyProperties2---   >     ( VkPhysicalDevice physicalDevice---   >     , uint32_t* pQueueFamilyPropertyCount---   >     , VkQueueFamilyProperties2* pQueueFamilyProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2 registry at www.khronos.org>-type HS_vkGetPhysicalDeviceQueueFamilyProperties2 =-     VkPhysicalDevice -- ^ physicalDevice-                      ->-       Ptr Word32 -- ^ pQueueFamilyPropertyCount-                  -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties-                                                  -> IO ()--type PFN_vkGetPhysicalDeviceQueueFamilyProperties2 =-     FunPtr HS_vkGetPhysicalDeviceQueueFamilyProperties2--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceQueueFamilyProperties2Unsafe ::-               PFN_vkGetPhysicalDeviceQueueFamilyProperties2 ->-                 HS_vkGetPhysicalDeviceQueueFamilyProperties2--foreign import ccall safe "dynamic"-               unwrapVkGetPhysicalDeviceQueueFamilyProperties2Safe ::-               PFN_vkGetPhysicalDeviceQueueFamilyProperties2 ->-                 HS_vkGetPhysicalDeviceQueueFamilyProperties2--instance VulkanProc "vkGetPhysicalDeviceQueueFamilyProperties2"-         where-        type VkProcType "vkGetPhysicalDeviceQueueFamilyProperties2" =-             HS_vkGetPhysicalDeviceQueueFamilyProperties2-        vkProcSymbol = _VkGetPhysicalDeviceQueueFamilyProperties2--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceQueueFamilyProperties2Unsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceQueueFamilyProperties2Safe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetPhysicalDeviceMemoryProperties2 :: CString--pattern VkGetPhysicalDeviceMemoryProperties2 <--        (is_VkGetPhysicalDeviceMemoryProperties2 -> True)-  where VkGetPhysicalDeviceMemoryProperties2-          = _VkGetPhysicalDeviceMemoryProperties2--{-# INLINE _VkGetPhysicalDeviceMemoryProperties2 #-}--_VkGetPhysicalDeviceMemoryProperties2 :: CString-_VkGetPhysicalDeviceMemoryProperties2-  = Ptr "vkGetPhysicalDeviceMemoryProperties2\NUL"#--{-# INLINE is_VkGetPhysicalDeviceMemoryProperties2 #-}--is_VkGetPhysicalDeviceMemoryProperties2 :: CString -> Bool-is_VkGetPhysicalDeviceMemoryProperties2-  = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceMemoryProperties2--type VkGetPhysicalDeviceMemoryProperties2 =-     "vkGetPhysicalDeviceMemoryProperties2"---- |--- > void vkGetPhysicalDeviceMemoryProperties2--- >     ( VkPhysicalDevice physicalDevice--- >     , VkPhysicalDeviceMemoryProperties2* pMemoryProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceMemoryProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceMemoryProperties2 vkInstance------ or less efficient:------ > myGetPhysicalDeviceMemoryProperties2 <- vkGetProc @VkGetPhysicalDeviceMemoryProperties2------ __Note:__ @vkGetPhysicalDeviceMemoryProperties2Unsafe@ and @vkGetPhysicalDeviceMemoryProperties2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceMemoryProperties2@ is an alias---           of @vkGetPhysicalDeviceMemoryProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceMemoryProperties2Safe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkGetPhysicalDeviceMemoryProperties2"-               vkGetPhysicalDeviceMemoryProperties2Unsafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties-                                                                         -> IO ()--#else-vkGetPhysicalDeviceMemoryProperties2Unsafe ::-                                           VkPhysicalDevice -- ^ physicalDevice-                                                            ->-                                             Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties-                                                                                   -> IO ()-vkGetPhysicalDeviceMemoryProperties2Unsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetPhysicalDeviceMemoryProperties2)--{-# NOINLINE vkGetPhysicalDeviceMemoryProperties2Unsafe #-}-#endif---- |--- > void vkGetPhysicalDeviceMemoryProperties2--- >     ( VkPhysicalDevice physicalDevice--- >     , VkPhysicalDeviceMemoryProperties2* pMemoryProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceMemoryProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceMemoryProperties2 vkInstance------ or less efficient:------ > myGetPhysicalDeviceMemoryProperties2 <- vkGetProc @VkGetPhysicalDeviceMemoryProperties2------ __Note:__ @vkGetPhysicalDeviceMemoryProperties2Unsafe@ and @vkGetPhysicalDeviceMemoryProperties2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceMemoryProperties2@ is an alias---           of @vkGetPhysicalDeviceMemoryProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceMemoryProperties2Safe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe "vkGetPhysicalDeviceMemoryProperties2"-               vkGetPhysicalDeviceMemoryProperties2Safe ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties-                                                                         -> IO ()--#else-vkGetPhysicalDeviceMemoryProperties2Safe ::-                                         VkPhysicalDevice -- ^ physicalDevice-                                                          ->-                                           Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties-                                                                                 -> IO ()-vkGetPhysicalDeviceMemoryProperties2Safe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetPhysicalDeviceMemoryProperties2)--{-# NOINLINE vkGetPhysicalDeviceMemoryProperties2Safe #-}-#endif---- |--- > void vkGetPhysicalDeviceMemoryProperties2--- >     ( VkPhysicalDevice physicalDevice--- >     , VkPhysicalDeviceMemoryProperties2* pMemoryProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceMemoryProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceMemoryProperties2 vkInstance------ or less efficient:------ > myGetPhysicalDeviceMemoryProperties2 <- vkGetProc @VkGetPhysicalDeviceMemoryProperties2------ __Note:__ @vkGetPhysicalDeviceMemoryProperties2Unsafe@ and @vkGetPhysicalDeviceMemoryProperties2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceMemoryProperties2@ is an alias---           of @vkGetPhysicalDeviceMemoryProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceMemoryProperties2Safe@.----vkGetPhysicalDeviceMemoryProperties2 ::-                                     VkPhysicalDevice -- ^ physicalDevice-                                                      ->-                                       Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties-                                                                             -> IO ()-#ifdef UNSAFE_FFI_DEFAULT-vkGetPhysicalDeviceMemoryProperties2-  = vkGetPhysicalDeviceMemoryProperties2Unsafe-#else-vkGetPhysicalDeviceMemoryProperties2-  = vkGetPhysicalDeviceMemoryProperties2Safe--#endif-{-# INLINE vkGetPhysicalDeviceMemoryProperties2 #-}---- | > void vkGetPhysicalDeviceMemoryProperties2---   >     ( VkPhysicalDevice physicalDevice---   >     , VkPhysicalDeviceMemoryProperties2* pMemoryProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2 registry at www.khronos.org>-type HS_vkGetPhysicalDeviceMemoryProperties2 =-     VkPhysicalDevice -- ^ physicalDevice-                      -> Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties-                                                               -> IO ()--type PFN_vkGetPhysicalDeviceMemoryProperties2 =-     FunPtr HS_vkGetPhysicalDeviceMemoryProperties2--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceMemoryProperties2Unsafe ::-               PFN_vkGetPhysicalDeviceMemoryProperties2 ->-                 HS_vkGetPhysicalDeviceMemoryProperties2--foreign import ccall safe "dynamic"-               unwrapVkGetPhysicalDeviceMemoryProperties2Safe ::-               PFN_vkGetPhysicalDeviceMemoryProperties2 ->-                 HS_vkGetPhysicalDeviceMemoryProperties2--instance VulkanProc "vkGetPhysicalDeviceMemoryProperties2" where-        type VkProcType "vkGetPhysicalDeviceMemoryProperties2" =-             HS_vkGetPhysicalDeviceMemoryProperties2-        vkProcSymbol = _VkGetPhysicalDeviceMemoryProperties2--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceMemoryProperties2Unsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceMemoryProperties2Safe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkGetPhysicalDeviceSparseImageFormatProperties2 :: CString--pattern VkGetPhysicalDeviceSparseImageFormatProperties2 <--        (is_VkGetPhysicalDeviceSparseImageFormatProperties2 -> True)-  where VkGetPhysicalDeviceSparseImageFormatProperties2-          = _VkGetPhysicalDeviceSparseImageFormatProperties2--{-# INLINE _VkGetPhysicalDeviceSparseImageFormatProperties2 #-}--_VkGetPhysicalDeviceSparseImageFormatProperties2 :: CString-_VkGetPhysicalDeviceSparseImageFormatProperties2-  = Ptr "vkGetPhysicalDeviceSparseImageFormatProperties2\NUL"#--{-# INLINE is_VkGetPhysicalDeviceSparseImageFormatProperties2 #-}--is_VkGetPhysicalDeviceSparseImageFormatProperties2 ::-                                                   CString -> Bool-is_VkGetPhysicalDeviceSparseImageFormatProperties2-  = (EQ ==) .-      cmpCStrings _VkGetPhysicalDeviceSparseImageFormatProperties2--type VkGetPhysicalDeviceSparseImageFormatProperties2 =-     "vkGetPhysicalDeviceSparseImageFormatProperties2"---- |--- > void vkGetPhysicalDeviceSparseImageFormatProperties2--- >     ( VkPhysicalDevice physicalDevice--- >     , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo--- >     , uint32_t* pPropertyCount--- >     , VkSparseImageFormatProperties2* pProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceSparseImageFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceSparseImageFormatProperties2 vkInstance------ or less efficient:------ > myGetPhysicalDeviceSparseImageFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceSparseImageFormatProperties2------ __Note:__ @vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe@ and @vkGetPhysicalDeviceSparseImageFormatProperties2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceSparseImageFormatProperties2@ is an alias---           of @vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceSparseImageFormatProperties2Safe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe-               "vkGetPhysicalDeviceSparseImageFormatProperties2"-               vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo-                                                            ->-                   Ptr Word32 -- ^ pPropertyCount-                              -> Ptr VkSparseImageFormatProperties2 -- ^ pProperties-                                                                    -> IO ()--#else-vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe ::-                                                      VkPhysicalDevice -- ^ physicalDevice-                                                                       ->-                                                        Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo-                                                          ->-                                                          Ptr Word32 -- ^ pPropertyCount-                                                                     ->-                                                            Ptr VkSparseImageFormatProperties2 -- ^ pProperties-                                                                                               ->-                                                              IO ()-vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetPhysicalDeviceSparseImageFormatProperties2)--{-# NOINLINE vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe-             #-}-#endif---- |--- > void vkGetPhysicalDeviceSparseImageFormatProperties2--- >     ( VkPhysicalDevice physicalDevice--- >     , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo--- >     , uint32_t* pPropertyCount--- >     , VkSparseImageFormatProperties2* pProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceSparseImageFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceSparseImageFormatProperties2 vkInstance------ or less efficient:------ > myGetPhysicalDeviceSparseImageFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceSparseImageFormatProperties2------ __Note:__ @vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe@ and @vkGetPhysicalDeviceSparseImageFormatProperties2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceSparseImageFormatProperties2@ is an alias---           of @vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceSparseImageFormatProperties2Safe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe-               "vkGetPhysicalDeviceSparseImageFormatProperties2"-               vkGetPhysicalDeviceSparseImageFormatProperties2Safe ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo-                                                            ->-                   Ptr Word32 -- ^ pPropertyCount-                              -> Ptr VkSparseImageFormatProperties2 -- ^ pProperties-                                                                    -> IO ()--#else-vkGetPhysicalDeviceSparseImageFormatProperties2Safe ::-                                                    VkPhysicalDevice -- ^ physicalDevice-                                                                     ->-                                                      Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo-                                                                                                 ->-                                                        Ptr Word32 -- ^ pPropertyCount-                                                                   ->-                                                          Ptr VkSparseImageFormatProperties2 -- ^ pProperties-                                                                                             ->-                                                            IO ()-vkGetPhysicalDeviceSparseImageFormatProperties2Safe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetPhysicalDeviceSparseImageFormatProperties2)--{-# NOINLINE vkGetPhysicalDeviceSparseImageFormatProperties2Safe-             #-}-#endif---- |--- > void vkGetPhysicalDeviceSparseImageFormatProperties2--- >     ( VkPhysicalDevice physicalDevice--- >     , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo--- >     , uint32_t* pPropertyCount--- >     , VkSparseImageFormatProperties2* pProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceSparseImageFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceSparseImageFormatProperties2 vkInstance------ or less efficient:------ > myGetPhysicalDeviceSparseImageFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceSparseImageFormatProperties2------ __Note:__ @vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe@ and @vkGetPhysicalDeviceSparseImageFormatProperties2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceSparseImageFormatProperties2@ is an alias---           of @vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceSparseImageFormatProperties2Safe@.----vkGetPhysicalDeviceSparseImageFormatProperties2 ::-                                                VkPhysicalDevice -- ^ physicalDevice-                                                                 ->-                                                  Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo-                                                                                             ->-                                                    Ptr Word32 -- ^ pPropertyCount-                                                               ->-                                                      Ptr VkSparseImageFormatProperties2 -- ^ pProperties-                                                                                         -> IO ()-#ifdef UNSAFE_FFI_DEFAULT-vkGetPhysicalDeviceSparseImageFormatProperties2-  = vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe-#else-vkGetPhysicalDeviceSparseImageFormatProperties2-  = vkGetPhysicalDeviceSparseImageFormatProperties2Safe--#endif-{-# INLINE vkGetPhysicalDeviceSparseImageFormatProperties2 #-}---- | > void vkGetPhysicalDeviceSparseImageFormatProperties2---   >     ( VkPhysicalDevice physicalDevice---   >     , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo---   >     , uint32_t* pPropertyCount---   >     , VkSparseImageFormatProperties2* pProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2 registry at www.khronos.org>-type HS_vkGetPhysicalDeviceSparseImageFormatProperties2 =-     VkPhysicalDevice -- ^ physicalDevice-                      ->-       Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo-                                                  ->-         Ptr Word32 -- ^ pPropertyCount-                    -> Ptr VkSparseImageFormatProperties2 -- ^ pProperties-                                                          -> IO ()--type PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 =-     FunPtr HS_vkGetPhysicalDeviceSparseImageFormatProperties2--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceSparseImageFormatProperties2Unsafe ::-               PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 ->-                 HS_vkGetPhysicalDeviceSparseImageFormatProperties2--foreign import ccall safe "dynamic"-               unwrapVkGetPhysicalDeviceSparseImageFormatProperties2Safe ::-               PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 ->-                 HS_vkGetPhysicalDeviceSparseImageFormatProperties2--instance VulkanProc-           "vkGetPhysicalDeviceSparseImageFormatProperties2"-         where-        type VkProcType "vkGetPhysicalDeviceSparseImageFormatProperties2" =-             HS_vkGetPhysicalDeviceSparseImageFormatProperties2-        vkProcSymbol = _VkGetPhysicalDeviceSparseImageFormatProperties2--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceSparseImageFormatProperties2Unsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceSparseImageFormatProperties2Safe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 =-        VkStructureType 1000059000--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 =-        VkStructureType 1000059001--pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: VkStructureType--pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 =-        VkStructureType 1000059002--pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 =-        VkStructureType 1000059003--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 =-        VkStructureType 1000059004--pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 =-        VkStructureType 1000059005--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 =-        VkStructureType 1000059006--pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 =-        VkStructureType 1000059007--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2-        :: VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2-        = VkStructureType 1000059008--pattern VkTrimCommandPool :: CString--pattern VkTrimCommandPool <- (is_VkTrimCommandPool -> True)-  where VkTrimCommandPool = _VkTrimCommandPool--{-# INLINE _VkTrimCommandPool #-}--_VkTrimCommandPool :: CString-_VkTrimCommandPool = Ptr "vkTrimCommandPool\NUL"#--{-# INLINE is_VkTrimCommandPool #-}--is_VkTrimCommandPool :: CString -> Bool-is_VkTrimCommandPool = (EQ ==) . cmpCStrings _VkTrimCommandPool--type VkTrimCommandPool = "vkTrimCommandPool"---- |--- > void vkTrimCommandPool--- >     ( VkDevice device--- >     , VkCommandPool commandPool--- >     , VkCommandPoolTrimFlags flags--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkTrimCommandPool vkTrimCommandPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myTrimCommandPool <- vkGetDeviceProc @VkTrimCommandPool vkDevice------ or less efficient:------ > myTrimCommandPool <- vkGetProc @VkTrimCommandPool------ __Note:__ @vkTrimCommandPoolUnsafe@ and @vkTrimCommandPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkTrimCommandPool@ is an alias---           of @vkTrimCommandPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkTrimCommandPoolSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkTrimCommandPool"-               vkTrimCommandPoolUnsafe ::-               VkDevice -- ^ device-                        -> VkCommandPool -- ^ commandPool-                                         -> VkCommandPoolTrimFlags -- ^ flags-                                                                   -> IO ()--#else-vkTrimCommandPoolUnsafe ::-                        VkDevice -- ^ device-                                 -> VkCommandPool -- ^ commandPool-                                                  -> VkCommandPoolTrimFlags -- ^ flags-                                                                            -> IO ()-vkTrimCommandPoolUnsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkTrimCommandPool)--{-# NOINLINE vkTrimCommandPoolUnsafe #-}-#endif---- |--- > void vkTrimCommandPool--- >     ( VkDevice device--- >     , VkCommandPool commandPool--- >     , VkCommandPoolTrimFlags flags--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkTrimCommandPool vkTrimCommandPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myTrimCommandPool <- vkGetDeviceProc @VkTrimCommandPool vkDevice------ or less efficient:------ > myTrimCommandPool <- vkGetProc @VkTrimCommandPool------ __Note:__ @vkTrimCommandPoolUnsafe@ and @vkTrimCommandPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkTrimCommandPool@ is an alias---           of @vkTrimCommandPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkTrimCommandPoolSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe "vkTrimCommandPool" vkTrimCommandPoolSafe-               :: VkDevice -- ^ device-                           -> VkCommandPool -- ^ commandPool-                                            -> VkCommandPoolTrimFlags -- ^ flags-                                                                      -> IO ()--#else-vkTrimCommandPoolSafe ::-                      VkDevice -- ^ device-                               -> VkCommandPool -- ^ commandPool-                                                -> VkCommandPoolTrimFlags -- ^ flags-                                                                          -> IO ()-vkTrimCommandPoolSafe-  = unsafeDupablePerformIO (vkGetProcSafe @VkTrimCommandPool)--{-# NOINLINE vkTrimCommandPoolSafe #-}-#endif---- |--- > void vkTrimCommandPool--- >     ( VkDevice device--- >     , VkCommandPool commandPool--- >     , VkCommandPoolTrimFlags flags--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkTrimCommandPool vkTrimCommandPool registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myTrimCommandPool <- vkGetDeviceProc @VkTrimCommandPool vkDevice------ or less efficient:------ > myTrimCommandPool <- vkGetProc @VkTrimCommandPool------ __Note:__ @vkTrimCommandPoolUnsafe@ and @vkTrimCommandPoolSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkTrimCommandPool@ is an alias---           of @vkTrimCommandPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkTrimCommandPoolSafe@.----vkTrimCommandPool ::-                  VkDevice -- ^ device-                           -> VkCommandPool -- ^ commandPool-                                            -> VkCommandPoolTrimFlags -- ^ flags-                                                                      -> IO ()-#ifdef UNSAFE_FFI_DEFAULT-vkTrimCommandPool = vkTrimCommandPoolUnsafe-#else-vkTrimCommandPool = vkTrimCommandPoolSafe--#endif-{-# INLINE vkTrimCommandPool #-}---- | > void vkTrimCommandPool---   >     ( VkDevice device---   >     , VkCommandPool commandPool---   >     , VkCommandPoolTrimFlags flags---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkTrimCommandPool vkTrimCommandPool registry at www.khronos.org>-type HS_vkTrimCommandPool =-     VkDevice -- ^ device-              -> VkCommandPool -- ^ commandPool-                               -> VkCommandPoolTrimFlags -- ^ flags-                                                         -> IO ()--type PFN_vkTrimCommandPool = FunPtr HS_vkTrimCommandPool--foreign import ccall unsafe "dynamic" unwrapVkTrimCommandPoolUnsafe-               :: PFN_vkTrimCommandPool -> HS_vkTrimCommandPool--foreign import ccall safe "dynamic" unwrapVkTrimCommandPoolSafe ::-               PFN_vkTrimCommandPool -> HS_vkTrimCommandPool--instance VulkanProc "vkTrimCommandPool" where-        type VkProcType "vkTrimCommandPool" = HS_vkTrimCommandPool-        vkProcSymbol = _VkTrimCommandPool--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkTrimCommandPoolUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkTrimCommandPoolSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VK_ERROR_OUT_OF_POOL_MEMORY :: VkResult--pattern VK_ERROR_OUT_OF_POOL_MEMORY = VkResult (-1000069000)---- | Format can be used as the source image of image transfer commands------   bitpos = @14@-pattern VK_FORMAT_FEATURE_TRANSFER_SRC_BIT ::-        VkFormatFeatureBitmask a--pattern VK_FORMAT_FEATURE_TRANSFER_SRC_BIT =-        VkFormatFeatureBitmask 16384---- | Format can be used as the destination image of image transfer commands------   bitpos = @15@-pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT ::-        VkFormatFeatureBitmask a--pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT =-        VkFormatFeatureBitmask 32768---- | The 3D image can be viewed as a 2D or 2D array image------   bitpos = @5@-pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT ::-        VkImageCreateBitmask a--pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT =-        VkImageCreateBitmask 32---- | bitpos = @7@-pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT ::-        VkImageCreateBitmask a--pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT =-        VkImageCreateBitmask 128---- | bitpos = @8@-pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT ::-        VkImageCreateBitmask a--pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT =-        VkImageCreateBitmask 256--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES-        :: VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES-        = VkStructureType 1000117000--pattern VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO-        :: VkStructureType--pattern VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO-        = VkStructureType 1000117001--pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO =-        VkStructureType 1000117002--pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO-        :: VkStructureType--pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO-        = VkStructureType 1000117003--pattern VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL-        :: VkImageLayout--pattern VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL-        = VkImageLayout 1000117000--pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL-        :: VkImageLayout--pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL-        = VkImageLayout 1000117001--pattern VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO =-        VkStructureType 1000053000--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES =-        VkStructureType 1000053001--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES =-        VkStructureType 1000053002---- | bitpos = @1@-pattern VK_DEPENDENCY_VIEW_LOCAL_BIT :: VkDependencyBitmask a--pattern VK_DEPENDENCY_VIEW_LOCAL_BIT = VkDependencyBitmask 2--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES-        :: VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES-        = VkStructureType 1000120000--pattern VkGetDeviceQueue2 :: CString--pattern VkGetDeviceQueue2 <- (is_VkGetDeviceQueue2 -> True)-  where VkGetDeviceQueue2 = _VkGetDeviceQueue2--{-# INLINE _VkGetDeviceQueue2 #-}--_VkGetDeviceQueue2 :: CString-_VkGetDeviceQueue2 = Ptr "vkGetDeviceQueue2\NUL"#--{-# INLINE is_VkGetDeviceQueue2 #-}--is_VkGetDeviceQueue2 :: CString -> Bool-is_VkGetDeviceQueue2 = (EQ ==) . cmpCStrings _VkGetDeviceQueue2--type VkGetDeviceQueue2 = "vkGetDeviceQueue2"---- |--- > void vkGetDeviceQueue2--- >     ( VkDevice device--- >     , const VkDeviceQueueInfo2* pQueueInfo--- >     , VkQueue* pQueue--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceQueue2 vkGetDeviceQueue2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetDeviceQueue2 <- vkGetDeviceProc @VkGetDeviceQueue2 vkDevice------ or less efficient:------ > myGetDeviceQueue2 <- vkGetProc @VkGetDeviceQueue2------ __Note:__ @vkGetDeviceQueue2Unsafe@ and @vkGetDeviceQueue2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetDeviceQueue2@ is an alias---           of @vkGetDeviceQueue2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetDeviceQueue2Safe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkGetDeviceQueue2"-               vkGetDeviceQueue2Unsafe ::-               VkDevice -- ^ device-                        -> Ptr VkDeviceQueueInfo2 -- ^ pQueueInfo-                                                  -> Ptr VkQueue -- ^ pQueue-                                                                 -> IO ()--#else-vkGetDeviceQueue2Unsafe ::-                        VkDevice -- ^ device-                                 -> Ptr VkDeviceQueueInfo2 -- ^ pQueueInfo-                                                           -> Ptr VkQueue -- ^ pQueue-                                                                          -> IO ()-vkGetDeviceQueue2Unsafe-  = unsafeDupablePerformIO (vkGetProcUnsafe @VkGetDeviceQueue2)--{-# NOINLINE vkGetDeviceQueue2Unsafe #-}-#endif---- |--- > void vkGetDeviceQueue2--- >     ( VkDevice device--- >     , const VkDeviceQueueInfo2* pQueueInfo--- >     , VkQueue* pQueue--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceQueue2 vkGetDeviceQueue2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetDeviceQueue2 <- vkGetDeviceProc @VkGetDeviceQueue2 vkDevice------ or less efficient:------ > myGetDeviceQueue2 <- vkGetProc @VkGetDeviceQueue2------ __Note:__ @vkGetDeviceQueue2Unsafe@ and @vkGetDeviceQueue2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetDeviceQueue2@ is an alias---           of @vkGetDeviceQueue2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetDeviceQueue2Safe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe "vkGetDeviceQueue2" vkGetDeviceQueue2Safe-               :: VkDevice -- ^ device-                           -> Ptr VkDeviceQueueInfo2 -- ^ pQueueInfo-                                                     -> Ptr VkQueue -- ^ pQueue-                                                                    -> IO ()--#else-vkGetDeviceQueue2Safe ::-                      VkDevice -- ^ device-                               -> Ptr VkDeviceQueueInfo2 -- ^ pQueueInfo-                                                         -> Ptr VkQueue -- ^ pQueue-                                                                        -> IO ()-vkGetDeviceQueue2Safe-  = unsafeDupablePerformIO (vkGetProcSafe @VkGetDeviceQueue2)--{-# NOINLINE vkGetDeviceQueue2Safe #-}-#endif---- |--- > void vkGetDeviceQueue2--- >     ( VkDevice device--- >     , const VkDeviceQueueInfo2* pQueueInfo--- >     , VkQueue* pQueue--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceQueue2 vkGetDeviceQueue2 registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetDeviceQueue2 <- vkGetDeviceProc @VkGetDeviceQueue2 vkDevice------ or less efficient:------ > myGetDeviceQueue2 <- vkGetProc @VkGetDeviceQueue2------ __Note:__ @vkGetDeviceQueue2Unsafe@ and @vkGetDeviceQueue2Safe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetDeviceQueue2@ is an alias---           of @vkGetDeviceQueue2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetDeviceQueue2Safe@.----vkGetDeviceQueue2 ::-                  VkDevice -- ^ device-                           -> Ptr VkDeviceQueueInfo2 -- ^ pQueueInfo-                                                     -> Ptr VkQueue -- ^ pQueue-                                                                    -> IO ()-#ifdef UNSAFE_FFI_DEFAULT-vkGetDeviceQueue2 = vkGetDeviceQueue2Unsafe-#else-vkGetDeviceQueue2 = vkGetDeviceQueue2Safe--#endif-{-# INLINE vkGetDeviceQueue2 #-}---- | > void vkGetDeviceQueue2---   >     ( VkDevice device---   >     , const VkDeviceQueueInfo2* pQueueInfo---   >     , VkQueue* pQueue---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceQueue2 vkGetDeviceQueue2 registry at www.khronos.org>-type HS_vkGetDeviceQueue2 =-     VkDevice -- ^ device-              -> Ptr VkDeviceQueueInfo2 -- ^ pQueueInfo-                                        -> Ptr VkQueue -- ^ pQueue-                                                       -> IO ()--type PFN_vkGetDeviceQueue2 = FunPtr HS_vkGetDeviceQueue2--foreign import ccall unsafe "dynamic" unwrapVkGetDeviceQueue2Unsafe-               :: PFN_vkGetDeviceQueue2 -> HS_vkGetDeviceQueue2--foreign import ccall safe "dynamic" unwrapVkGetDeviceQueue2Safe ::-               PFN_vkGetDeviceQueue2 -> HS_vkGetDeviceQueue2--instance VulkanProc "vkGetDeviceQueue2" where-        type VkProcType "vkGetDeviceQueue2" = HS_vkGetDeviceQueue2-        vkProcSymbol = _VkGetDeviceQueue2--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetDeviceQueue2Unsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetDeviceQueue2Safe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: VkStructureType--pattern VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO =-        VkStructureType 1000145000--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES-        :: VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES-        = VkStructureType 1000145001--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES-        :: VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES-        = VkStructureType 1000145002--pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: VkStructureType--pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 =-        VkStructureType 1000145003---- | Queues may support protected operations------   bitpos = @4@-pattern VK_QUEUE_PROTECTED_BIT :: VkQueueBitmask a--pattern VK_QUEUE_PROTECTED_BIT = VkQueueBitmask 16---- | Queue is a protected-capable device queue------   bitpos = @0@-pattern VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT ::-        VkDeviceQueueCreateBitmask a--pattern VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT =-        VkDeviceQueueCreateBitmask 1---- | Memory is protected------   bitpos = @5@-pattern VK_MEMORY_PROPERTY_PROTECTED_BIT ::-        VkMemoryPropertyBitmask a--pattern VK_MEMORY_PROPERTY_PROTECTED_BIT =-        VkMemoryPropertyBitmask 32---- | Buffer requires protected memory------   bitpos = @3@-pattern VK_BUFFER_CREATE_PROTECTED_BIT :: VkBufferCreateBitmask a--pattern VK_BUFFER_CREATE_PROTECTED_BIT = VkBufferCreateBitmask 8---- | Image requires protected memory------   bitpos = @11@-pattern VK_IMAGE_CREATE_PROTECTED_BIT :: VkImageCreateBitmask a--pattern VK_IMAGE_CREATE_PROTECTED_BIT = VkImageCreateBitmask 2048---- | Command buffers allocated from pool are protected command buffers------   bitpos = @2@-pattern VK_COMMAND_POOL_CREATE_PROTECTED_BIT ::-        VkCommandPoolCreateBitmask a--pattern VK_COMMAND_POOL_CREATE_PROTECTED_BIT =-        VkCommandPoolCreateBitmask 4--pattern VkCreateSamplerYcbcrConversion :: CString--pattern VkCreateSamplerYcbcrConversion <--        (is_VkCreateSamplerYcbcrConversion -> True)-  where VkCreateSamplerYcbcrConversion-          = _VkCreateSamplerYcbcrConversion--{-# INLINE _VkCreateSamplerYcbcrConversion #-}--_VkCreateSamplerYcbcrConversion :: CString-_VkCreateSamplerYcbcrConversion-  = Ptr "vkCreateSamplerYcbcrConversion\NUL"#--{-# INLINE is_VkCreateSamplerYcbcrConversion #-}--is_VkCreateSamplerYcbcrConversion :: CString -> Bool-is_VkCreateSamplerYcbcrConversion-  = (EQ ==) . cmpCStrings _VkCreateSamplerYcbcrConversion--type VkCreateSamplerYcbcrConversion =-     "vkCreateSamplerYcbcrConversion"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateSamplerYcbcrConversion--- >     ( VkDevice device--- >     , const VkSamplerYcbcrConversionCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkSamplerYcbcrConversion* pYcbcrConversion--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateSamplerYcbcrConversion <- vkGetDeviceProc @VkCreateSamplerYcbcrConversion vkDevice------ or less efficient:------ > myCreateSamplerYcbcrConversion <- vkGetProc @VkCreateSamplerYcbcrConversion------ __Note:__ @vkCreateSamplerYcbcrConversionUnsafe@ and @vkCreateSamplerYcbcrConversionSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateSamplerYcbcrConversion@ is an alias---           of @vkCreateSamplerYcbcrConversionUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateSamplerYcbcrConversionSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkCreateSamplerYcbcrConversion"-               vkCreateSamplerYcbcrConversionUnsafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo-                                                        ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             ->-                     Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion-                                                  -> IO VkResult--#else-vkCreateSamplerYcbcrConversionUnsafe ::-                                     VkDevice -- ^ device-                                              ->-                                       Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo-                                                                              ->-                                         Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                   ->-                                           Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion-                                                                        -> IO VkResult-vkCreateSamplerYcbcrConversionUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkCreateSamplerYcbcrConversion)--{-# NOINLINE vkCreateSamplerYcbcrConversionUnsafe #-}-#endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateSamplerYcbcrConversion--- >     ( VkDevice device--- >     , const VkSamplerYcbcrConversionCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkSamplerYcbcrConversion* pYcbcrConversion--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateSamplerYcbcrConversion <- vkGetDeviceProc @VkCreateSamplerYcbcrConversion vkDevice------ or less efficient:------ > myCreateSamplerYcbcrConversion <- vkGetProc @VkCreateSamplerYcbcrConversion------ __Note:__ @vkCreateSamplerYcbcrConversionUnsafe@ and @vkCreateSamplerYcbcrConversionSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateSamplerYcbcrConversion@ is an alias---           of @vkCreateSamplerYcbcrConversionUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateSamplerYcbcrConversionSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe "vkCreateSamplerYcbcrConversion"-               vkCreateSamplerYcbcrConversionSafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo-                                                        ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             ->-                     Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion-                                                  -> IO VkResult--#else-vkCreateSamplerYcbcrConversionSafe ::-                                   VkDevice -- ^ device-                                            ->-                                     Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo-                                                                            ->-                                       Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                 ->-                                         Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion-                                                                      -> IO VkResult-vkCreateSamplerYcbcrConversionSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkCreateSamplerYcbcrConversion)--{-# NOINLINE vkCreateSamplerYcbcrConversionSafe #-}-#endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateSamplerYcbcrConversion--- >     ( VkDevice device--- >     , const VkSamplerYcbcrConversionCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkSamplerYcbcrConversion* pYcbcrConversion--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateSamplerYcbcrConversion <- vkGetDeviceProc @VkCreateSamplerYcbcrConversion vkDevice------ or less efficient:------ > myCreateSamplerYcbcrConversion <- vkGetProc @VkCreateSamplerYcbcrConversion------ __Note:__ @vkCreateSamplerYcbcrConversionUnsafe@ and @vkCreateSamplerYcbcrConversionSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateSamplerYcbcrConversion@ is an alias---           of @vkCreateSamplerYcbcrConversionUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateSamplerYcbcrConversionSafe@.----vkCreateSamplerYcbcrConversion ::-                               VkDevice -- ^ device-                                        ->-                                 Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo-                                                                        ->-                                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                                             ->-                                     Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion-                                                                  -> IO VkResult-#ifdef UNSAFE_FFI_DEFAULT-vkCreateSamplerYcbcrConversion-  = vkCreateSamplerYcbcrConversionUnsafe-#else-vkCreateSamplerYcbcrConversion = vkCreateSamplerYcbcrConversionSafe--#endif-{-# INLINE vkCreateSamplerYcbcrConversion #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreateSamplerYcbcrConversion---   >     ( VkDevice device---   >     , const VkSamplerYcbcrConversionCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkSamplerYcbcrConversion* pYcbcrConversion---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion registry at www.khronos.org>-type HS_vkCreateSamplerYcbcrConversion =-     VkDevice -- ^ device-              ->-       Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo-                                              ->-         Ptr VkAllocationCallbacks -- ^ pAllocator-                                   ->-           Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion-                                        -> IO VkResult--type PFN_vkCreateSamplerYcbcrConversion =-     FunPtr HS_vkCreateSamplerYcbcrConversion--foreign import ccall unsafe "dynamic"-               unwrapVkCreateSamplerYcbcrConversionUnsafe ::-               PFN_vkCreateSamplerYcbcrConversion ->-                 HS_vkCreateSamplerYcbcrConversion--foreign import ccall safe "dynamic"-               unwrapVkCreateSamplerYcbcrConversionSafe ::-               PFN_vkCreateSamplerYcbcrConversion ->-                 HS_vkCreateSamplerYcbcrConversion--instance VulkanProc "vkCreateSamplerYcbcrConversion" where-        type VkProcType "vkCreateSamplerYcbcrConversion" =-             HS_vkCreateSamplerYcbcrConversion-        vkProcSymbol = _VkCreateSamplerYcbcrConversion--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateSamplerYcbcrConversionUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateSamplerYcbcrConversionSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkDestroySamplerYcbcrConversion :: CString--pattern VkDestroySamplerYcbcrConversion <--        (is_VkDestroySamplerYcbcrConversion -> True)-  where VkDestroySamplerYcbcrConversion-          = _VkDestroySamplerYcbcrConversion--{-# INLINE _VkDestroySamplerYcbcrConversion #-}--_VkDestroySamplerYcbcrConversion :: CString-_VkDestroySamplerYcbcrConversion-  = Ptr "vkDestroySamplerYcbcrConversion\NUL"#--{-# INLINE is_VkDestroySamplerYcbcrConversion #-}--is_VkDestroySamplerYcbcrConversion :: CString -> Bool-is_VkDestroySamplerYcbcrConversion-  = (EQ ==) . cmpCStrings _VkDestroySamplerYcbcrConversion--type VkDestroySamplerYcbcrConversion =-     "vkDestroySamplerYcbcrConversion"---- |--- > void vkDestroySamplerYcbcrConversion--- >     ( VkDevice device--- >     , VkSamplerYcbcrConversion ycbcrConversion--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroySamplerYcbcrConversion <- vkGetDeviceProc @VkDestroySamplerYcbcrConversion vkDevice------ or less efficient:------ > myDestroySamplerYcbcrConversion <- vkGetProc @VkDestroySamplerYcbcrConversion------ __Note:__ @vkDestroySamplerYcbcrConversionUnsafe@ and @vkDestroySamplerYcbcrConversionSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroySamplerYcbcrConversion@ is an alias---           of @vkDestroySamplerYcbcrConversionUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroySamplerYcbcrConversionSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkDestroySamplerYcbcrConversion"-               vkDestroySamplerYcbcrConversionUnsafe ::-               VkDevice -- ^ device-                        ->-                 VkSamplerYcbcrConversion -- ^ ycbcrConversion-                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                       -> IO ()--#else-vkDestroySamplerYcbcrConversionUnsafe ::-                                      VkDevice -- ^ device-                                               ->-                                        VkSamplerYcbcrConversion -- ^ ycbcrConversion-                                                                 ->-                                          Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                    -> IO ()-vkDestroySamplerYcbcrConversionUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkDestroySamplerYcbcrConversion)--{-# NOINLINE vkDestroySamplerYcbcrConversionUnsafe #-}-#endif---- |--- > void vkDestroySamplerYcbcrConversion--- >     ( VkDevice device--- >     , VkSamplerYcbcrConversion ycbcrConversion--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroySamplerYcbcrConversion <- vkGetDeviceProc @VkDestroySamplerYcbcrConversion vkDevice------ or less efficient:------ > myDestroySamplerYcbcrConversion <- vkGetProc @VkDestroySamplerYcbcrConversion------ __Note:__ @vkDestroySamplerYcbcrConversionUnsafe@ and @vkDestroySamplerYcbcrConversionSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroySamplerYcbcrConversion@ is an alias---           of @vkDestroySamplerYcbcrConversionUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroySamplerYcbcrConversionSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe "vkDestroySamplerYcbcrConversion"-               vkDestroySamplerYcbcrConversionSafe ::-               VkDevice -- ^ device-                        ->-                 VkSamplerYcbcrConversion -- ^ ycbcrConversion-                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                       -> IO ()--#else-vkDestroySamplerYcbcrConversionSafe ::-                                    VkDevice -- ^ device-                                             ->-                                      VkSamplerYcbcrConversion -- ^ ycbcrConversion-                                                               -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                            -> IO ()-vkDestroySamplerYcbcrConversionSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkDestroySamplerYcbcrConversion)--{-# NOINLINE vkDestroySamplerYcbcrConversionSafe #-}-#endif---- |--- > void vkDestroySamplerYcbcrConversion--- >     ( VkDevice device--- >     , VkSamplerYcbcrConversion ycbcrConversion--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroySamplerYcbcrConversion <- vkGetDeviceProc @VkDestroySamplerYcbcrConversion vkDevice------ or less efficient:------ > myDestroySamplerYcbcrConversion <- vkGetProc @VkDestroySamplerYcbcrConversion------ __Note:__ @vkDestroySamplerYcbcrConversionUnsafe@ and @vkDestroySamplerYcbcrConversionSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroySamplerYcbcrConversion@ is an alias---           of @vkDestroySamplerYcbcrConversionUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroySamplerYcbcrConversionSafe@.----vkDestroySamplerYcbcrConversion ::-                                VkDevice -- ^ device-                                         ->-                                  VkSamplerYcbcrConversion -- ^ ycbcrConversion-                                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                        -> IO ()-#ifdef UNSAFE_FFI_DEFAULT-vkDestroySamplerYcbcrConversion-  = vkDestroySamplerYcbcrConversionUnsafe-#else-vkDestroySamplerYcbcrConversion-  = vkDestroySamplerYcbcrConversionSafe--#endif-{-# INLINE vkDestroySamplerYcbcrConversion #-}---- | > void vkDestroySamplerYcbcrConversion---   >     ( VkDevice device---   >     , VkSamplerYcbcrConversion ycbcrConversion---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion registry at www.khronos.org>-type HS_vkDestroySamplerYcbcrConversion =-     VkDevice -- ^ device-              ->-       VkSamplerYcbcrConversion -- ^ ycbcrConversion-                                -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                             -> IO ()--type PFN_vkDestroySamplerYcbcrConversion =-     FunPtr HS_vkDestroySamplerYcbcrConversion--foreign import ccall unsafe "dynamic"-               unwrapVkDestroySamplerYcbcrConversionUnsafe ::-               PFN_vkDestroySamplerYcbcrConversion ->-                 HS_vkDestroySamplerYcbcrConversion--foreign import ccall safe "dynamic"-               unwrapVkDestroySamplerYcbcrConversionSafe ::-               PFN_vkDestroySamplerYcbcrConversion ->-                 HS_vkDestroySamplerYcbcrConversion--instance VulkanProc "vkDestroySamplerYcbcrConversion" where-        type VkProcType "vkDestroySamplerYcbcrConversion" =-             HS_vkDestroySamplerYcbcrConversion-        vkProcSymbol = _VkDestroySamplerYcbcrConversion--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDestroySamplerYcbcrConversionUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroySamplerYcbcrConversionSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO =-        VkStructureType 1000156000--pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO =-        VkStructureType 1000156001--pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO =-        VkStructureType 1000156002--pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO =-        VkStructureType 1000156003--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES-        :: VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES-        = VkStructureType 1000156004--pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES-        :: VkStructureType--pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES-        = VkStructureType 1000156005--pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION :: VkObjectType--pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION =-        VkObjectType 1000156000--pattern VK_FORMAT_G8B8G8R8_422_UNORM :: VkFormat--pattern VK_FORMAT_G8B8G8R8_422_UNORM = VkFormat 1000156000--pattern VK_FORMAT_B8G8R8G8_422_UNORM :: VkFormat--pattern VK_FORMAT_B8G8R8G8_422_UNORM = VkFormat 1000156001--pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM :: VkFormat--pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = VkFormat 1000156002--pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM :: VkFormat--pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = VkFormat 1000156003--pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM :: VkFormat--pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = VkFormat 1000156004--pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM :: VkFormat--pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = VkFormat 1000156005--pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM :: VkFormat--pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = VkFormat 1000156006--pattern VK_FORMAT_R10X6_UNORM_PACK16 :: VkFormat--pattern VK_FORMAT_R10X6_UNORM_PACK16 = VkFormat 1000156007--pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16 :: VkFormat--pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = VkFormat 1000156008--pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 :: VkFormat--pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 =-        VkFormat 1000156009--pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 ::-        VkFormat--pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 =-        VkFormat 1000156010--pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 ::-        VkFormat--pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 =-        VkFormat 1000156011--pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 ::-        VkFormat--pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 =-        VkFormat 1000156012--pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 ::-        VkFormat--pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 =-        VkFormat 1000156013--pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 ::-        VkFormat--pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 =-        VkFormat 1000156014--pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 ::-        VkFormat--pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 =-        VkFormat 1000156015--pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 ::-        VkFormat--pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 =-        VkFormat 1000156016--pattern VK_FORMAT_R12X4_UNORM_PACK16 :: VkFormat--pattern VK_FORMAT_R12X4_UNORM_PACK16 = VkFormat 1000156017--pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16 :: VkFormat--pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = VkFormat 1000156018--pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 :: VkFormat--pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 =-        VkFormat 1000156019--pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 ::-        VkFormat--pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 =-        VkFormat 1000156020--pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 ::-        VkFormat--pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 =-        VkFormat 1000156021--pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 ::-        VkFormat--pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 =-        VkFormat 1000156022--pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 ::-        VkFormat--pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 =-        VkFormat 1000156023--pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 ::-        VkFormat--pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 =-        VkFormat 1000156024--pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 ::-        VkFormat--pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 =-        VkFormat 1000156025--pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 ::-        VkFormat--pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 =-        VkFormat 1000156026--pattern VK_FORMAT_G16B16G16R16_422_UNORM :: VkFormat--pattern VK_FORMAT_G16B16G16R16_422_UNORM = VkFormat 1000156027--pattern VK_FORMAT_B16G16R16G16_422_UNORM :: VkFormat--pattern VK_FORMAT_B16G16R16G16_422_UNORM = VkFormat 1000156028--pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM :: VkFormat--pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM =-        VkFormat 1000156029--pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM :: VkFormat--pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = VkFormat 1000156030--pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM :: VkFormat--pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM =-        VkFormat 1000156031--pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM :: VkFormat--pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = VkFormat 1000156032--pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM :: VkFormat--pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM =-        VkFormat 1000156033---- | bitpos = @4@-pattern VK_IMAGE_ASPECT_PLANE_0_BIT :: VkImageAspectBitmask a--pattern VK_IMAGE_ASPECT_PLANE_0_BIT = VkImageAspectBitmask 16---- | bitpos = @5@-pattern VK_IMAGE_ASPECT_PLANE_1_BIT :: VkImageAspectBitmask a--pattern VK_IMAGE_ASPECT_PLANE_1_BIT = VkImageAspectBitmask 32---- | bitpos = @6@-pattern VK_IMAGE_ASPECT_PLANE_2_BIT :: VkImageAspectBitmask a--pattern VK_IMAGE_ASPECT_PLANE_2_BIT = VkImageAspectBitmask 64---- | bitpos = @9@-pattern VK_IMAGE_CREATE_DISJOINT_BIT :: VkImageCreateBitmask a--pattern VK_IMAGE_CREATE_DISJOINT_BIT = VkImageCreateBitmask 512---- | Format can have midpoint rather than cosited chroma samples------   bitpos = @17@-pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT ::-        VkFormatFeatureBitmask a--pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT =-        VkFormatFeatureBitmask 131072---- | Format can be used with linear filtering whilst color conversion is enabled------   bitpos = @18@-pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT-        :: VkFormatFeatureBitmask a--pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT-        = VkFormatFeatureBitmask 262144---- | Format can have different chroma, min and mag filters------   bitpos = @19@-pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT-        :: VkFormatFeatureBitmask a--pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT-        = VkFormatFeatureBitmask 524288---- | bitpos = @20@-pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT-        :: VkFormatFeatureBitmask a--pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT-        = VkFormatFeatureBitmask 1048576---- | bitpos = @21@-pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT-        :: VkFormatFeatureBitmask a--pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT-        = VkFormatFeatureBitmask 2097152---- | Format supports disjoint planes------   bitpos = @22@-pattern VK_FORMAT_FEATURE_DISJOINT_BIT :: VkFormatFeatureBitmask a--pattern VK_FORMAT_FEATURE_DISJOINT_BIT =-        VkFormatFeatureBitmask 4194304---- | Format can have cosited rather than midpoint chroma samples------   bitpos = @23@-pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT ::-        VkFormatFeatureBitmask a--pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT =-        VkFormatFeatureBitmask 8388608--pattern VkCreateDescriptorUpdateTemplate :: CString--pattern VkCreateDescriptorUpdateTemplate <--        (is_VkCreateDescriptorUpdateTemplate -> True)-  where VkCreateDescriptorUpdateTemplate-          = _VkCreateDescriptorUpdateTemplate--{-# INLINE _VkCreateDescriptorUpdateTemplate #-}--_VkCreateDescriptorUpdateTemplate :: CString-_VkCreateDescriptorUpdateTemplate-  = Ptr "vkCreateDescriptorUpdateTemplate\NUL"#--{-# INLINE is_VkCreateDescriptorUpdateTemplate #-}--is_VkCreateDescriptorUpdateTemplate :: CString -> Bool-is_VkCreateDescriptorUpdateTemplate-  = (EQ ==) . cmpCStrings _VkCreateDescriptorUpdateTemplate--type VkCreateDescriptorUpdateTemplate =-     "vkCreateDescriptorUpdateTemplate"---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateDescriptorUpdateTemplate--- >     ( VkDevice device--- >     , const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateDescriptorUpdateTemplate <- vkGetDeviceProc @VkCreateDescriptorUpdateTemplate vkDevice------ or less efficient:------ > myCreateDescriptorUpdateTemplate <- vkGetProc @VkCreateDescriptorUpdateTemplate------ __Note:__ @vkCreateDescriptorUpdateTemplateUnsafe@ and @vkCreateDescriptorUpdateTemplateSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateDescriptorUpdateTemplate@ is an alias---           of @vkCreateDescriptorUpdateTemplateUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateDescriptorUpdateTemplateSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkCreateDescriptorUpdateTemplate"-               vkCreateDescriptorUpdateTemplateUnsafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo-                                                          ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             ->-                     Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate-                                                    -> IO VkResult--#else-vkCreateDescriptorUpdateTemplateUnsafe ::-                                       VkDevice -- ^ device-                                                ->-                                         Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo-                                                                                  ->-                                           Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                     ->-                                             Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate-                                                                            -> IO VkResult-vkCreateDescriptorUpdateTemplateUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkCreateDescriptorUpdateTemplate)--{-# NOINLINE vkCreateDescriptorUpdateTemplateUnsafe #-}-#endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateDescriptorUpdateTemplate--- >     ( VkDevice device--- >     , const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateDescriptorUpdateTemplate <- vkGetDeviceProc @VkCreateDescriptorUpdateTemplate vkDevice------ or less efficient:------ > myCreateDescriptorUpdateTemplate <- vkGetProc @VkCreateDescriptorUpdateTemplate------ __Note:__ @vkCreateDescriptorUpdateTemplateUnsafe@ and @vkCreateDescriptorUpdateTemplateSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateDescriptorUpdateTemplate@ is an alias---           of @vkCreateDescriptorUpdateTemplateUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateDescriptorUpdateTemplateSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe "vkCreateDescriptorUpdateTemplate"-               vkCreateDescriptorUpdateTemplateSafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo-                                                          ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             ->-                     Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate-                                                    -> IO VkResult--#else-vkCreateDescriptorUpdateTemplateSafe ::-                                     VkDevice -- ^ device-                                              ->-                                       Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo-                                                                                ->-                                         Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                   ->-                                           Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate-                                                                          -> IO VkResult-vkCreateDescriptorUpdateTemplateSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkCreateDescriptorUpdateTemplate)--{-# NOINLINE vkCreateDescriptorUpdateTemplateSafe #-}-#endif---- |--- Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateDescriptorUpdateTemplate--- >     ( VkDevice device--- >     , const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo--- >     , const VkAllocationCallbacks* pAllocator--- >     , VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myCreateDescriptorUpdateTemplate <- vkGetDeviceProc @VkCreateDescriptorUpdateTemplate vkDevice------ or less efficient:------ > myCreateDescriptorUpdateTemplate <- vkGetProc @VkCreateDescriptorUpdateTemplate------ __Note:__ @vkCreateDescriptorUpdateTemplateUnsafe@ and @vkCreateDescriptorUpdateTemplateSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkCreateDescriptorUpdateTemplate@ is an alias---           of @vkCreateDescriptorUpdateTemplateUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkCreateDescriptorUpdateTemplateSafe@.----vkCreateDescriptorUpdateTemplate ::-                                 VkDevice -- ^ device-                                          ->-                                   Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo-                                                                            ->-                                     Ptr VkAllocationCallbacks -- ^ pAllocator-                                                               ->-                                       Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate-                                                                      -> IO VkResult-#ifdef UNSAFE_FFI_DEFAULT-vkCreateDescriptorUpdateTemplate-  = vkCreateDescriptorUpdateTemplateUnsafe-#else-vkCreateDescriptorUpdateTemplate-  = vkCreateDescriptorUpdateTemplateSafe--#endif-{-# INLINE vkCreateDescriptorUpdateTemplate #-}---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreateDescriptorUpdateTemplate---   >     ( VkDevice device---   >     , const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate registry at www.khronos.org>-type HS_vkCreateDescriptorUpdateTemplate =-     VkDevice -- ^ device-              ->-       Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo-                                                ->-         Ptr VkAllocationCallbacks -- ^ pAllocator-                                   ->-           Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate-                                          -> IO VkResult--type PFN_vkCreateDescriptorUpdateTemplate =-     FunPtr HS_vkCreateDescriptorUpdateTemplate--foreign import ccall unsafe "dynamic"-               unwrapVkCreateDescriptorUpdateTemplateUnsafe ::-               PFN_vkCreateDescriptorUpdateTemplate ->-                 HS_vkCreateDescriptorUpdateTemplate--foreign import ccall safe "dynamic"-               unwrapVkCreateDescriptorUpdateTemplateSafe ::-               PFN_vkCreateDescriptorUpdateTemplate ->-                 HS_vkCreateDescriptorUpdateTemplate--instance VulkanProc "vkCreateDescriptorUpdateTemplate" where-        type VkProcType "vkCreateDescriptorUpdateTemplate" =-             HS_vkCreateDescriptorUpdateTemplate-        vkProcSymbol = _VkCreateDescriptorUpdateTemplate--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkCreateDescriptorUpdateTemplateUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateDescriptorUpdateTemplateSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkDestroyDescriptorUpdateTemplate :: CString--pattern VkDestroyDescriptorUpdateTemplate <--        (is_VkDestroyDescriptorUpdateTemplate -> True)-  where VkDestroyDescriptorUpdateTemplate-          = _VkDestroyDescriptorUpdateTemplate--{-# INLINE _VkDestroyDescriptorUpdateTemplate #-}--_VkDestroyDescriptorUpdateTemplate :: CString-_VkDestroyDescriptorUpdateTemplate-  = Ptr "vkDestroyDescriptorUpdateTemplate\NUL"#--{-# INLINE is_VkDestroyDescriptorUpdateTemplate #-}--is_VkDestroyDescriptorUpdateTemplate :: CString -> Bool-is_VkDestroyDescriptorUpdateTemplate-  = (EQ ==) . cmpCStrings _VkDestroyDescriptorUpdateTemplate--type VkDestroyDescriptorUpdateTemplate =-     "vkDestroyDescriptorUpdateTemplate"---- |--- > void vkDestroyDescriptorUpdateTemplate--- >     ( VkDevice device--- >     , VkDescriptorUpdateTemplate descriptorUpdateTemplate--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyDescriptorUpdateTemplate <- vkGetDeviceProc @VkDestroyDescriptorUpdateTemplate vkDevice------ or less efficient:------ > myDestroyDescriptorUpdateTemplate <- vkGetProc @VkDestroyDescriptorUpdateTemplate------ __Note:__ @vkDestroyDescriptorUpdateTemplateUnsafe@ and @vkDestroyDescriptorUpdateTemplateSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyDescriptorUpdateTemplate@ is an alias---           of @vkDestroyDescriptorUpdateTemplateUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyDescriptorUpdateTemplateSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkDestroyDescriptorUpdateTemplate"-               vkDestroyDescriptorUpdateTemplateUnsafe ::-               VkDevice -- ^ device-                        ->-                 VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate-                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                         -> IO ()--#else-vkDestroyDescriptorUpdateTemplateUnsafe ::-                                        VkDevice -- ^ device-                                                 ->-                                          VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate-                                                                     ->-                                            Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                      -> IO ()-vkDestroyDescriptorUpdateTemplateUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkDestroyDescriptorUpdateTemplate)--{-# NOINLINE vkDestroyDescriptorUpdateTemplateUnsafe #-}-#endif---- |--- > void vkDestroyDescriptorUpdateTemplate--- >     ( VkDevice device--- >     , VkDescriptorUpdateTemplate descriptorUpdateTemplate--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyDescriptorUpdateTemplate <- vkGetDeviceProc @VkDestroyDescriptorUpdateTemplate vkDevice------ or less efficient:------ > myDestroyDescriptorUpdateTemplate <- vkGetProc @VkDestroyDescriptorUpdateTemplate------ __Note:__ @vkDestroyDescriptorUpdateTemplateUnsafe@ and @vkDestroyDescriptorUpdateTemplateSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyDescriptorUpdateTemplate@ is an alias---           of @vkDestroyDescriptorUpdateTemplateUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyDescriptorUpdateTemplateSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe "vkDestroyDescriptorUpdateTemplate"-               vkDestroyDescriptorUpdateTemplateSafe ::-               VkDevice -- ^ device-                        ->-                 VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate-                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                         -> IO ()--#else-vkDestroyDescriptorUpdateTemplateSafe ::-                                      VkDevice -- ^ device-                                               ->-                                        VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate-                                                                   ->-                                          Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                    -> IO ()-vkDestroyDescriptorUpdateTemplateSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkDestroyDescriptorUpdateTemplate)--{-# NOINLINE vkDestroyDescriptorUpdateTemplateSafe #-}-#endif---- |--- > void vkDestroyDescriptorUpdateTemplate--- >     ( VkDevice device--- >     , VkDescriptorUpdateTemplate descriptorUpdateTemplate--- >     , const VkAllocationCallbacks* pAllocator--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myDestroyDescriptorUpdateTemplate <- vkGetDeviceProc @VkDestroyDescriptorUpdateTemplate vkDevice------ or less efficient:------ > myDestroyDescriptorUpdateTemplate <- vkGetProc @VkDestroyDescriptorUpdateTemplate------ __Note:__ @vkDestroyDescriptorUpdateTemplateUnsafe@ and @vkDestroyDescriptorUpdateTemplateSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkDestroyDescriptorUpdateTemplate@ is an alias---           of @vkDestroyDescriptorUpdateTemplateUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkDestroyDescriptorUpdateTemplateSafe@.----vkDestroyDescriptorUpdateTemplate ::-                                  VkDevice -- ^ device-                                           ->-                                    VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate-                                                               -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                            -> IO ()-#ifdef UNSAFE_FFI_DEFAULT-vkDestroyDescriptorUpdateTemplate-  = vkDestroyDescriptorUpdateTemplateUnsafe-#else-vkDestroyDescriptorUpdateTemplate-  = vkDestroyDescriptorUpdateTemplateSafe--#endif-{-# INLINE vkDestroyDescriptorUpdateTemplate #-}---- | > void vkDestroyDescriptorUpdateTemplate---   >     ( VkDevice device---   >     , VkDescriptorUpdateTemplate descriptorUpdateTemplate---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate registry at www.khronos.org>-type HS_vkDestroyDescriptorUpdateTemplate =-     VkDevice -- ^ device-              ->-       VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate-                                  -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                               -> IO ()--type PFN_vkDestroyDescriptorUpdateTemplate =-     FunPtr HS_vkDestroyDescriptorUpdateTemplate--foreign import ccall unsafe "dynamic"-               unwrapVkDestroyDescriptorUpdateTemplateUnsafe ::-               PFN_vkDestroyDescriptorUpdateTemplate ->-                 HS_vkDestroyDescriptorUpdateTemplate--foreign import ccall safe "dynamic"-               unwrapVkDestroyDescriptorUpdateTemplateSafe ::-               PFN_vkDestroyDescriptorUpdateTemplate ->-                 HS_vkDestroyDescriptorUpdateTemplate--instance VulkanProc "vkDestroyDescriptorUpdateTemplate" where-        type VkProcType "vkDestroyDescriptorUpdateTemplate" =-             HS_vkDestroyDescriptorUpdateTemplate-        vkProcSymbol = _VkDestroyDescriptorUpdateTemplate--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkDestroyDescriptorUpdateTemplateUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroyDescriptorUpdateTemplateSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VkUpdateDescriptorSetWithTemplate :: CString--pattern VkUpdateDescriptorSetWithTemplate <--        (is_VkUpdateDescriptorSetWithTemplate -> True)-  where VkUpdateDescriptorSetWithTemplate-          = _VkUpdateDescriptorSetWithTemplate--{-# INLINE _VkUpdateDescriptorSetWithTemplate #-}--_VkUpdateDescriptorSetWithTemplate :: CString-_VkUpdateDescriptorSetWithTemplate-  = Ptr "vkUpdateDescriptorSetWithTemplate\NUL"#--{-# INLINE is_VkUpdateDescriptorSetWithTemplate #-}--is_VkUpdateDescriptorSetWithTemplate :: CString -> Bool-is_VkUpdateDescriptorSetWithTemplate-  = (EQ ==) . cmpCStrings _VkUpdateDescriptorSetWithTemplate--type VkUpdateDescriptorSetWithTemplate =-     "vkUpdateDescriptorSetWithTemplate"---- |--- > void vkUpdateDescriptorSetWithTemplate--- >     ( VkDevice device--- >     , VkDescriptorSet descriptorSet--- >     , VkDescriptorUpdateTemplate descriptorUpdateTemplate--- >     , const void* pData--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myUpdateDescriptorSetWithTemplate <- vkGetDeviceProc @VkUpdateDescriptorSetWithTemplate vkDevice------ or less efficient:------ > myUpdateDescriptorSetWithTemplate <- vkGetProc @VkUpdateDescriptorSetWithTemplate------ __Note:__ @vkUpdateDescriptorSetWithTemplateUnsafe@ and @vkUpdateDescriptorSetWithTemplateSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkUpdateDescriptorSetWithTemplate@ is an alias---           of @vkUpdateDescriptorSetWithTemplateUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkUpdateDescriptorSetWithTemplateSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkUpdateDescriptorSetWithTemplate"-               vkUpdateDescriptorSetWithTemplateUnsafe ::-               VkDevice -- ^ device-                        ->-                 VkDescriptorSet -- ^ descriptorSet-                                 -> VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate-                                                               -> Ptr Void -- ^ pData-                                                                           -> IO ()--#else-vkUpdateDescriptorSetWithTemplateUnsafe ::-                                        VkDevice -- ^ device-                                                 ->-                                          VkDescriptorSet -- ^ descriptorSet-                                                          ->-                                            VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate-                                                                       -> Ptr Void -- ^ pData-                                                                                   -> IO ()-vkUpdateDescriptorSetWithTemplateUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkUpdateDescriptorSetWithTemplate)--{-# NOINLINE vkUpdateDescriptorSetWithTemplateUnsafe #-}-#endif---- |--- > void vkUpdateDescriptorSetWithTemplate--- >     ( VkDevice device--- >     , VkDescriptorSet descriptorSet--- >     , VkDescriptorUpdateTemplate descriptorUpdateTemplate--- >     , const void* pData--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myUpdateDescriptorSetWithTemplate <- vkGetDeviceProc @VkUpdateDescriptorSetWithTemplate vkDevice------ or less efficient:------ > myUpdateDescriptorSetWithTemplate <- vkGetProc @VkUpdateDescriptorSetWithTemplate------ __Note:__ @vkUpdateDescriptorSetWithTemplateUnsafe@ and @vkUpdateDescriptorSetWithTemplateSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkUpdateDescriptorSetWithTemplate@ is an alias---           of @vkUpdateDescriptorSetWithTemplateUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkUpdateDescriptorSetWithTemplateSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe "vkUpdateDescriptorSetWithTemplate"-               vkUpdateDescriptorSetWithTemplateSafe ::-               VkDevice -- ^ device-                        ->-                 VkDescriptorSet -- ^ descriptorSet-                                 -> VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate-                                                               -> Ptr Void -- ^ pData-                                                                           -> IO ()--#else-vkUpdateDescriptorSetWithTemplateSafe ::-                                      VkDevice -- ^ device-                                               ->-                                        VkDescriptorSet -- ^ descriptorSet-                                                        ->-                                          VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate-                                                                     -> Ptr Void -- ^ pData-                                                                                 -> IO ()-vkUpdateDescriptorSetWithTemplateSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkUpdateDescriptorSetWithTemplate)--{-# NOINLINE vkUpdateDescriptorSetWithTemplateSafe #-}-#endif---- |--- > void vkUpdateDescriptorSetWithTemplate--- >     ( VkDevice device--- >     , VkDescriptorSet descriptorSet--- >     , VkDescriptorUpdateTemplate descriptorUpdateTemplate--- >     , const void* pData--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myUpdateDescriptorSetWithTemplate <- vkGetDeviceProc @VkUpdateDescriptorSetWithTemplate vkDevice------ or less efficient:------ > myUpdateDescriptorSetWithTemplate <- vkGetProc @VkUpdateDescriptorSetWithTemplate------ __Note:__ @vkUpdateDescriptorSetWithTemplateUnsafe@ and @vkUpdateDescriptorSetWithTemplateSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkUpdateDescriptorSetWithTemplate@ is an alias---           of @vkUpdateDescriptorSetWithTemplateUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkUpdateDescriptorSetWithTemplateSafe@.----vkUpdateDescriptorSetWithTemplate ::-                                  VkDevice -- ^ device-                                           ->-                                    VkDescriptorSet -- ^ descriptorSet-                                                    ->-                                      VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate-                                                                 -> Ptr Void -- ^ pData-                                                                             -> IO ()-#ifdef UNSAFE_FFI_DEFAULT-vkUpdateDescriptorSetWithTemplate-  = vkUpdateDescriptorSetWithTemplateUnsafe-#else-vkUpdateDescriptorSetWithTemplate-  = vkUpdateDescriptorSetWithTemplateSafe--#endif-{-# INLINE vkUpdateDescriptorSetWithTemplate #-}---- | > void vkUpdateDescriptorSetWithTemplate---   >     ( VkDevice device---   >     , VkDescriptorSet descriptorSet---   >     , VkDescriptorUpdateTemplate descriptorUpdateTemplate---   >     , const void* pData---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate registry at www.khronos.org>-type HS_vkUpdateDescriptorSetWithTemplate =-     VkDevice -- ^ device-              ->-       VkDescriptorSet -- ^ descriptorSet-                       -> VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate-                                                     -> Ptr Void -- ^ pData-                                                                 -> IO ()--type PFN_vkUpdateDescriptorSetWithTemplate =-     FunPtr HS_vkUpdateDescriptorSetWithTemplate--foreign import ccall unsafe "dynamic"-               unwrapVkUpdateDescriptorSetWithTemplateUnsafe ::-               PFN_vkUpdateDescriptorSetWithTemplate ->-                 HS_vkUpdateDescriptorSetWithTemplate--foreign import ccall safe "dynamic"-               unwrapVkUpdateDescriptorSetWithTemplateSafe ::-               PFN_vkUpdateDescriptorSetWithTemplate ->-                 HS_vkUpdateDescriptorSetWithTemplate--instance VulkanProc "vkUpdateDescriptorSetWithTemplate" where-        type VkProcType "vkUpdateDescriptorSetWithTemplate" =-             HS_vkUpdateDescriptorSetWithTemplate-        vkProcSymbol = _VkUpdateDescriptorSetWithTemplate--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkUpdateDescriptorSetWithTemplateUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkUpdateDescriptorSetWithTemplateSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO =-        VkStructureType 1000085000--pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE :: VkObjectType--pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE =-        VkObjectType 1000085000--pattern VkGetPhysicalDeviceExternalBufferProperties :: CString--pattern VkGetPhysicalDeviceExternalBufferProperties <--        (is_VkGetPhysicalDeviceExternalBufferProperties -> True)-  where VkGetPhysicalDeviceExternalBufferProperties-          = _VkGetPhysicalDeviceExternalBufferProperties--{-# INLINE _VkGetPhysicalDeviceExternalBufferProperties #-}--_VkGetPhysicalDeviceExternalBufferProperties :: CString-_VkGetPhysicalDeviceExternalBufferProperties-  = Ptr "vkGetPhysicalDeviceExternalBufferProperties\NUL"#--{-# INLINE is_VkGetPhysicalDeviceExternalBufferProperties #-}--is_VkGetPhysicalDeviceExternalBufferProperties :: CString -> Bool-is_VkGetPhysicalDeviceExternalBufferProperties-  = (EQ ==) .-      cmpCStrings _VkGetPhysicalDeviceExternalBufferProperties--type VkGetPhysicalDeviceExternalBufferProperties =-     "vkGetPhysicalDeviceExternalBufferProperties"---- |--- > void vkGetPhysicalDeviceExternalBufferProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo--- >     , VkExternalBufferProperties* pExternalBufferProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceExternalBufferProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalBufferProperties vkInstance------ or less efficient:------ > myGetPhysicalDeviceExternalBufferProperties <- vkGetProc @VkGetPhysicalDeviceExternalBufferProperties------ __Note:__ @vkGetPhysicalDeviceExternalBufferPropertiesUnsafe@ and @vkGetPhysicalDeviceExternalBufferPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceExternalBufferProperties@ is an alias---           of @vkGetPhysicalDeviceExternalBufferPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceExternalBufferPropertiesSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe-               "vkGetPhysicalDeviceExternalBufferProperties"-               vkGetPhysicalDeviceExternalBufferPropertiesUnsafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo-                                                        ->-                   Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties-                                                  -> IO ()--#else-vkGetPhysicalDeviceExternalBufferPropertiesUnsafe ::-                                                  VkPhysicalDevice -- ^ physicalDevice-                                                                   ->-                                                    Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo-                                                                                           ->-                                                      Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties-                                                                                     -> IO ()-vkGetPhysicalDeviceExternalBufferPropertiesUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetPhysicalDeviceExternalBufferProperties)--{-# NOINLINE vkGetPhysicalDeviceExternalBufferPropertiesUnsafe #-}-#endif---- |--- > void vkGetPhysicalDeviceExternalBufferProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo--- >     , VkExternalBufferProperties* pExternalBufferProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceExternalBufferProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalBufferProperties vkInstance------ or less efficient:------ > myGetPhysicalDeviceExternalBufferProperties <- vkGetProc @VkGetPhysicalDeviceExternalBufferProperties------ __Note:__ @vkGetPhysicalDeviceExternalBufferPropertiesUnsafe@ and @vkGetPhysicalDeviceExternalBufferPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceExternalBufferProperties@ is an alias---           of @vkGetPhysicalDeviceExternalBufferPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceExternalBufferPropertiesSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe-               "vkGetPhysicalDeviceExternalBufferProperties"-               vkGetPhysicalDeviceExternalBufferPropertiesSafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo-                                                        ->-                   Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties-                                                  -> IO ()--#else-vkGetPhysicalDeviceExternalBufferPropertiesSafe ::-                                                VkPhysicalDevice -- ^ physicalDevice-                                                                 ->-                                                  Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo-                                                                                         ->-                                                    Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties-                                                                                   -> IO ()-vkGetPhysicalDeviceExternalBufferPropertiesSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetPhysicalDeviceExternalBufferProperties)--{-# NOINLINE vkGetPhysicalDeviceExternalBufferPropertiesSafe #-}-#endif---- |--- > void vkGetPhysicalDeviceExternalBufferProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo--- >     , VkExternalBufferProperties* pExternalBufferProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceExternalBufferProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalBufferProperties vkInstance------ or less efficient:------ > myGetPhysicalDeviceExternalBufferProperties <- vkGetProc @VkGetPhysicalDeviceExternalBufferProperties------ __Note:__ @vkGetPhysicalDeviceExternalBufferPropertiesUnsafe@ and @vkGetPhysicalDeviceExternalBufferPropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceExternalBufferProperties@ is an alias---           of @vkGetPhysicalDeviceExternalBufferPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceExternalBufferPropertiesSafe@.----vkGetPhysicalDeviceExternalBufferProperties ::-                                            VkPhysicalDevice -- ^ physicalDevice-                                                             ->-                                              Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo-                                                                                     ->-                                                Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties-                                                                               -> IO ()-#ifdef UNSAFE_FFI_DEFAULT-vkGetPhysicalDeviceExternalBufferProperties-  = vkGetPhysicalDeviceExternalBufferPropertiesUnsafe-#else-vkGetPhysicalDeviceExternalBufferProperties-  = vkGetPhysicalDeviceExternalBufferPropertiesSafe--#endif-{-# INLINE vkGetPhysicalDeviceExternalBufferProperties #-}---- | > void vkGetPhysicalDeviceExternalBufferProperties---   >     ( VkPhysicalDevice physicalDevice---   >     , const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo---   >     , VkExternalBufferProperties* pExternalBufferProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties registry at www.khronos.org>-type HS_vkGetPhysicalDeviceExternalBufferProperties =-     VkPhysicalDevice -- ^ physicalDevice-                      ->-       Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo-                                              ->-         Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties-                                        -> IO ()--type PFN_vkGetPhysicalDeviceExternalBufferProperties =-     FunPtr HS_vkGetPhysicalDeviceExternalBufferProperties--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceExternalBufferPropertiesUnsafe ::-               PFN_vkGetPhysicalDeviceExternalBufferProperties ->-                 HS_vkGetPhysicalDeviceExternalBufferProperties--foreign import ccall safe "dynamic"-               unwrapVkGetPhysicalDeviceExternalBufferPropertiesSafe ::-               PFN_vkGetPhysicalDeviceExternalBufferProperties ->-                 HS_vkGetPhysicalDeviceExternalBufferProperties--instance VulkanProc "vkGetPhysicalDeviceExternalBufferProperties"-         where-        type VkProcType "vkGetPhysicalDeviceExternalBufferProperties" =-             HS_vkGetPhysicalDeviceExternalBufferProperties-        vkProcSymbol = _VkGetPhysicalDeviceExternalBufferProperties--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceExternalBufferPropertiesUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceExternalBufferPropertiesSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO-        :: VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO-        = VkStructureType 1000071000--pattern VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES =-        VkStructureType 1000071001--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO =-        VkStructureType 1000071002--pattern VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES =-        VkStructureType 1000071003--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES =-        VkStructureType 1000071004--pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO =-        VkStructureType 1000072000--pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO =-        VkStructureType 1000072001--pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO =-        VkStructureType 1000072002--pattern VK_ERROR_INVALID_EXTERNAL_HANDLE :: VkResult--pattern VK_ERROR_INVALID_EXTERNAL_HANDLE = VkResult (-1000072003)--pattern VkGetPhysicalDeviceExternalFenceProperties :: CString--pattern VkGetPhysicalDeviceExternalFenceProperties <--        (is_VkGetPhysicalDeviceExternalFenceProperties -> True)-  where VkGetPhysicalDeviceExternalFenceProperties-          = _VkGetPhysicalDeviceExternalFenceProperties--{-# INLINE _VkGetPhysicalDeviceExternalFenceProperties #-}--_VkGetPhysicalDeviceExternalFenceProperties :: CString-_VkGetPhysicalDeviceExternalFenceProperties-  = Ptr "vkGetPhysicalDeviceExternalFenceProperties\NUL"#--{-# INLINE is_VkGetPhysicalDeviceExternalFenceProperties #-}--is_VkGetPhysicalDeviceExternalFenceProperties :: CString -> Bool-is_VkGetPhysicalDeviceExternalFenceProperties-  = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceExternalFenceProperties--type VkGetPhysicalDeviceExternalFenceProperties =-     "vkGetPhysicalDeviceExternalFenceProperties"---- |--- > void vkGetPhysicalDeviceExternalFenceProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo--- >     , VkExternalFenceProperties* pExternalFenceProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceExternalFenceProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalFenceProperties vkInstance------ or less efficient:------ > myGetPhysicalDeviceExternalFenceProperties <- vkGetProc @VkGetPhysicalDeviceExternalFenceProperties------ __Note:__ @vkGetPhysicalDeviceExternalFencePropertiesUnsafe@ and @vkGetPhysicalDeviceExternalFencePropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceExternalFenceProperties@ is an alias---           of @vkGetPhysicalDeviceExternalFencePropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceExternalFencePropertiesSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe-               "vkGetPhysicalDeviceExternalFenceProperties"-               vkGetPhysicalDeviceExternalFencePropertiesUnsafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo-                                                       ->-                   Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties-                                                 -> IO ()--#else-vkGetPhysicalDeviceExternalFencePropertiesUnsafe ::-                                                 VkPhysicalDevice -- ^ physicalDevice-                                                                  ->-                                                   Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo-                                                                                         ->-                                                     Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties-                                                                                   -> IO ()-vkGetPhysicalDeviceExternalFencePropertiesUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetPhysicalDeviceExternalFenceProperties)--{-# NOINLINE vkGetPhysicalDeviceExternalFencePropertiesUnsafe #-}-#endif---- |--- > void vkGetPhysicalDeviceExternalFenceProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo--- >     , VkExternalFenceProperties* pExternalFenceProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceExternalFenceProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalFenceProperties vkInstance------ or less efficient:------ > myGetPhysicalDeviceExternalFenceProperties <- vkGetProc @VkGetPhysicalDeviceExternalFenceProperties------ __Note:__ @vkGetPhysicalDeviceExternalFencePropertiesUnsafe@ and @vkGetPhysicalDeviceExternalFencePropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceExternalFenceProperties@ is an alias---           of @vkGetPhysicalDeviceExternalFencePropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceExternalFencePropertiesSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe-               "vkGetPhysicalDeviceExternalFenceProperties"-               vkGetPhysicalDeviceExternalFencePropertiesSafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo-                                                       ->-                   Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties-                                                 -> IO ()--#else-vkGetPhysicalDeviceExternalFencePropertiesSafe ::-                                               VkPhysicalDevice -- ^ physicalDevice-                                                                ->-                                                 Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo-                                                                                       ->-                                                   Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties-                                                                                 -> IO ()-vkGetPhysicalDeviceExternalFencePropertiesSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetPhysicalDeviceExternalFenceProperties)--{-# NOINLINE vkGetPhysicalDeviceExternalFencePropertiesSafe #-}-#endif---- |--- > void vkGetPhysicalDeviceExternalFenceProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo--- >     , VkExternalFenceProperties* pExternalFenceProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceExternalFenceProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalFenceProperties vkInstance------ or less efficient:------ > myGetPhysicalDeviceExternalFenceProperties <- vkGetProc @VkGetPhysicalDeviceExternalFenceProperties------ __Note:__ @vkGetPhysicalDeviceExternalFencePropertiesUnsafe@ and @vkGetPhysicalDeviceExternalFencePropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceExternalFenceProperties@ is an alias---           of @vkGetPhysicalDeviceExternalFencePropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceExternalFencePropertiesSafe@.----vkGetPhysicalDeviceExternalFenceProperties ::-                                           VkPhysicalDevice -- ^ physicalDevice-                                                            ->-                                             Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo-                                                                                   ->-                                               Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties-                                                                             -> IO ()-#ifdef UNSAFE_FFI_DEFAULT-vkGetPhysicalDeviceExternalFenceProperties-  = vkGetPhysicalDeviceExternalFencePropertiesUnsafe-#else-vkGetPhysicalDeviceExternalFenceProperties-  = vkGetPhysicalDeviceExternalFencePropertiesSafe--#endif-{-# INLINE vkGetPhysicalDeviceExternalFenceProperties #-}---- | > void vkGetPhysicalDeviceExternalFenceProperties---   >     ( VkPhysicalDevice physicalDevice---   >     , const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo---   >     , VkExternalFenceProperties* pExternalFenceProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties registry at www.khronos.org>-type HS_vkGetPhysicalDeviceExternalFenceProperties =-     VkPhysicalDevice -- ^ physicalDevice-                      ->-       Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo-                                             ->-         Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties-                                       -> IO ()--type PFN_vkGetPhysicalDeviceExternalFenceProperties =-     FunPtr HS_vkGetPhysicalDeviceExternalFenceProperties--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceExternalFencePropertiesUnsafe ::-               PFN_vkGetPhysicalDeviceExternalFenceProperties ->-                 HS_vkGetPhysicalDeviceExternalFenceProperties--foreign import ccall safe "dynamic"-               unwrapVkGetPhysicalDeviceExternalFencePropertiesSafe ::-               PFN_vkGetPhysicalDeviceExternalFenceProperties ->-                 HS_vkGetPhysicalDeviceExternalFenceProperties--instance VulkanProc "vkGetPhysicalDeviceExternalFenceProperties"-         where-        type VkProcType "vkGetPhysicalDeviceExternalFenceProperties" =-             HS_vkGetPhysicalDeviceExternalFenceProperties-        vkProcSymbol = _VkGetPhysicalDeviceExternalFenceProperties--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceExternalFencePropertiesUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceExternalFencePropertiesSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO =-        VkStructureType 1000112000--pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES =-        VkStructureType 1000112001--pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO =-        VkStructureType 1000113000--pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO =-        VkStructureType 1000077000--pattern VkGetPhysicalDeviceExternalSemaphoreProperties :: CString--pattern VkGetPhysicalDeviceExternalSemaphoreProperties <--        (is_VkGetPhysicalDeviceExternalSemaphoreProperties -> True)-  where VkGetPhysicalDeviceExternalSemaphoreProperties-          = _VkGetPhysicalDeviceExternalSemaphoreProperties--{-# INLINE _VkGetPhysicalDeviceExternalSemaphoreProperties #-}--_VkGetPhysicalDeviceExternalSemaphoreProperties :: CString-_VkGetPhysicalDeviceExternalSemaphoreProperties-  = Ptr "vkGetPhysicalDeviceExternalSemaphoreProperties\NUL"#--{-# INLINE is_VkGetPhysicalDeviceExternalSemaphoreProperties #-}--is_VkGetPhysicalDeviceExternalSemaphoreProperties ::-                                                  CString -> Bool-is_VkGetPhysicalDeviceExternalSemaphoreProperties-  = (EQ ==) .-      cmpCStrings _VkGetPhysicalDeviceExternalSemaphoreProperties--type VkGetPhysicalDeviceExternalSemaphoreProperties =-     "vkGetPhysicalDeviceExternalSemaphoreProperties"---- |--- > void vkGetPhysicalDeviceExternalSemaphoreProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo--- >     , VkExternalSemaphoreProperties* pExternalSemaphoreProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceExternalSemaphoreProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalSemaphoreProperties vkInstance------ or less efficient:------ > myGetPhysicalDeviceExternalSemaphoreProperties <- vkGetProc @VkGetPhysicalDeviceExternalSemaphoreProperties------ __Note:__ @vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe@ and @vkGetPhysicalDeviceExternalSemaphorePropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceExternalSemaphoreProperties@ is an alias---           of @vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceExternalSemaphorePropertiesSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe-               "vkGetPhysicalDeviceExternalSemaphoreProperties"-               vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo-                                                           ->-                   Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties-                                                     -> IO ()--#else-vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe ::-                                                     VkPhysicalDevice -- ^ physicalDevice-                                                                      ->-                                                       Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo-                                                                                                 ->-                                                         Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties-                                                                                           -> IO ()-vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetPhysicalDeviceExternalSemaphoreProperties)--{-# NOINLINE vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe-             #-}-#endif---- |--- > void vkGetPhysicalDeviceExternalSemaphoreProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo--- >     , VkExternalSemaphoreProperties* pExternalSemaphoreProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceExternalSemaphoreProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalSemaphoreProperties vkInstance------ or less efficient:------ > myGetPhysicalDeviceExternalSemaphoreProperties <- vkGetProc @VkGetPhysicalDeviceExternalSemaphoreProperties------ __Note:__ @vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe@ and @vkGetPhysicalDeviceExternalSemaphorePropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceExternalSemaphoreProperties@ is an alias---           of @vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceExternalSemaphorePropertiesSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe-               "vkGetPhysicalDeviceExternalSemaphoreProperties"-               vkGetPhysicalDeviceExternalSemaphorePropertiesSafe ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo-                                                           ->-                   Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties-                                                     -> IO ()--#else-vkGetPhysicalDeviceExternalSemaphorePropertiesSafe ::-                                                   VkPhysicalDevice -- ^ physicalDevice-                                                                    ->-                                                     Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo-                                                                                               ->-                                                       Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties-                                                                                         -> IO ()-vkGetPhysicalDeviceExternalSemaphorePropertiesSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetPhysicalDeviceExternalSemaphoreProperties)--{-# NOINLINE vkGetPhysicalDeviceExternalSemaphorePropertiesSafe #-}-#endif---- |--- > void vkGetPhysicalDeviceExternalSemaphoreProperties--- >     ( VkPhysicalDevice physicalDevice--- >     , const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo--- >     , VkExternalSemaphoreProperties* pExternalSemaphoreProperties--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetPhysicalDeviceExternalSemaphoreProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalSemaphoreProperties vkInstance------ or less efficient:------ > myGetPhysicalDeviceExternalSemaphoreProperties <- vkGetProc @VkGetPhysicalDeviceExternalSemaphoreProperties------ __Note:__ @vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe@ and @vkGetPhysicalDeviceExternalSemaphorePropertiesSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetPhysicalDeviceExternalSemaphoreProperties@ is an alias---           of @vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceExternalSemaphorePropertiesSafe@.----vkGetPhysicalDeviceExternalSemaphoreProperties ::-                                               VkPhysicalDevice -- ^ physicalDevice-                                                                ->-                                                 Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo-                                                                                           ->-                                                   Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties-                                                                                     -> IO ()-#ifdef UNSAFE_FFI_DEFAULT-vkGetPhysicalDeviceExternalSemaphoreProperties-  = vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe-#else-vkGetPhysicalDeviceExternalSemaphoreProperties-  = vkGetPhysicalDeviceExternalSemaphorePropertiesSafe--#endif-{-# INLINE vkGetPhysicalDeviceExternalSemaphoreProperties #-}---- | > void vkGetPhysicalDeviceExternalSemaphoreProperties---   >     ( VkPhysicalDevice physicalDevice---   >     , const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo---   >     , VkExternalSemaphoreProperties* pExternalSemaphoreProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties registry at www.khronos.org>-type HS_vkGetPhysicalDeviceExternalSemaphoreProperties =-     VkPhysicalDevice -- ^ physicalDevice-                      ->-       Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo-                                                 ->-         Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties-                                           -> IO ()--type PFN_vkGetPhysicalDeviceExternalSemaphoreProperties =-     FunPtr HS_vkGetPhysicalDeviceExternalSemaphoreProperties--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe ::-               PFN_vkGetPhysicalDeviceExternalSemaphoreProperties ->-                 HS_vkGetPhysicalDeviceExternalSemaphoreProperties--foreign import ccall safe "dynamic"-               unwrapVkGetPhysicalDeviceExternalSemaphorePropertiesSafe ::-               PFN_vkGetPhysicalDeviceExternalSemaphoreProperties ->-                 HS_vkGetPhysicalDeviceExternalSemaphoreProperties--instance VulkanProc-           "vkGetPhysicalDeviceExternalSemaphoreProperties"-         where-        type VkProcType "vkGetPhysicalDeviceExternalSemaphoreProperties" =-             HS_vkGetPhysicalDeviceExternalSemaphoreProperties-        vkProcSymbol = _VkGetPhysicalDeviceExternalSemaphoreProperties--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceExternalSemaphorePropertiesSafe--        {-# INLINE unwrapVkProcPtrSafe #-}--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO-        :: VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO =-        VkStructureType 1000076000--pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES =-        VkStructureType 1000076001--pattern VkGetDescriptorSetLayoutSupport :: CString--pattern VkGetDescriptorSetLayoutSupport <--        (is_VkGetDescriptorSetLayoutSupport -> True)-  where VkGetDescriptorSetLayoutSupport-          = _VkGetDescriptorSetLayoutSupport--{-# INLINE _VkGetDescriptorSetLayoutSupport #-}--_VkGetDescriptorSetLayoutSupport :: CString-_VkGetDescriptorSetLayoutSupport-  = Ptr "vkGetDescriptorSetLayoutSupport\NUL"#--{-# INLINE is_VkGetDescriptorSetLayoutSupport #-}--is_VkGetDescriptorSetLayoutSupport :: CString -> Bool-is_VkGetDescriptorSetLayoutSupport-  = (EQ ==) . cmpCStrings _VkGetDescriptorSetLayoutSupport--type VkGetDescriptorSetLayoutSupport =-     "vkGetDescriptorSetLayoutSupport"---- |--- > void vkGetDescriptorSetLayoutSupport--- >     ( VkDevice device--- >     , const VkDescriptorSetLayoutCreateInfo* pCreateInfo--- >     , VkDescriptorSetLayoutSupport* pSupport--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetDescriptorSetLayoutSupport <- vkGetDeviceProc @VkGetDescriptorSetLayoutSupport vkDevice------ or less efficient:------ > myGetDescriptorSetLayoutSupport <- vkGetProc @VkGetDescriptorSetLayoutSupport------ __Note:__ @vkGetDescriptorSetLayoutSupportUnsafe@ and @vkGetDescriptorSetLayoutSupportSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetDescriptorSetLayoutSupport@ is an alias---           of @vkGetDescriptorSetLayoutSupportUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetDescriptorSetLayoutSupportSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkGetDescriptorSetLayoutSupport"-               vkGetDescriptorSetLayoutSupportUnsafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo-                                                     ->-                   Ptr VkDescriptorSetLayoutSupport -- ^ pSupport-                                                    -> IO ()--#else-vkGetDescriptorSetLayoutSupportUnsafe ::-                                      VkDevice -- ^ device-                                               ->-                                        Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo-                                                                            ->-                                          Ptr VkDescriptorSetLayoutSupport -- ^ pSupport-                                                                           -> IO ()-vkGetDescriptorSetLayoutSupportUnsafe-  = unsafeDupablePerformIO-      (vkGetProcUnsafe @VkGetDescriptorSetLayoutSupport)--{-# NOINLINE vkGetDescriptorSetLayoutSupportUnsafe #-}-#endif---- |--- > void vkGetDescriptorSetLayoutSupport--- >     ( VkDevice device--- >     , const VkDescriptorSetLayoutCreateInfo* pCreateInfo--- >     , VkDescriptorSetLayoutSupport* pSupport--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetDescriptorSetLayoutSupport <- vkGetDeviceProc @VkGetDescriptorSetLayoutSupport vkDevice------ or less efficient:------ > myGetDescriptorSetLayoutSupport <- vkGetProc @VkGetDescriptorSetLayoutSupport------ __Note:__ @vkGetDescriptorSetLayoutSupportUnsafe@ and @vkGetDescriptorSetLayoutSupportSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetDescriptorSetLayoutSupport@ is an alias---           of @vkGetDescriptorSetLayoutSupportUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetDescriptorSetLayoutSupportSafe@.-------#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall safe "vkGetDescriptorSetLayoutSupport"-               vkGetDescriptorSetLayoutSupportSafe ::-               VkDevice -- ^ device-                        ->-                 Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo-                                                     ->-                   Ptr VkDescriptorSetLayoutSupport -- ^ pSupport-                                                    -> IO ()--#else-vkGetDescriptorSetLayoutSupportSafe ::-                                    VkDevice -- ^ device-                                             ->-                                      Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo-                                                                          ->-                                        Ptr VkDescriptorSetLayoutSupport -- ^ pSupport-                                                                         -> IO ()-vkGetDescriptorSetLayoutSupportSafe-  = unsafeDupablePerformIO-      (vkGetProcSafe @VkGetDescriptorSetLayoutSupport)--{-# NOINLINE vkGetDescriptorSetLayoutSupportSafe #-}-#endif---- |--- > void vkGetDescriptorSetLayoutSupport--- >     ( VkDevice device--- >     , const VkDescriptorSetLayoutCreateInfo* pCreateInfo--- >     , VkDescriptorSetLayoutSupport* pSupport--- >     )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport registry at www.khronos.org>------ __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically---           as a @foreign import@ call to C Vulkan loader.---           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).------ Independently of the flag setting, you can lookup the function manually at runtime:------ > myGetDescriptorSetLayoutSupport <- vkGetDeviceProc @VkGetDescriptorSetLayoutSupport vkDevice------ or less efficient:------ > myGetDescriptorSetLayoutSupport <- vkGetProc @VkGetDescriptorSetLayoutSupport------ __Note:__ @vkGetDescriptorSetLayoutSupportUnsafe@ and @vkGetDescriptorSetLayoutSupportSafe@ are the @unsafe@ and @safe@---           FFI imports of this function, respectively. @vkGetDescriptorSetLayoutSupport@ is an alias---           of @vkGetDescriptorSetLayoutSupportUnsafe@ when the @useUnsafeFFIDefault@ cabal flag---           is enabled; otherwise, it is an alias of @vkGetDescriptorSetLayoutSupportSafe@.----vkGetDescriptorSetLayoutSupport ::-                                VkDevice -- ^ device-                                         ->-                                  Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo-                                                                      ->-                                    Ptr VkDescriptorSetLayoutSupport -- ^ pSupport-                                                                     -> IO ()-#ifdef UNSAFE_FFI_DEFAULT-vkGetDescriptorSetLayoutSupport-  = vkGetDescriptorSetLayoutSupportUnsafe-#else-vkGetDescriptorSetLayoutSupport-  = vkGetDescriptorSetLayoutSupportSafe--#endif-{-# INLINE vkGetDescriptorSetLayoutSupport #-}---- | > void vkGetDescriptorSetLayoutSupport---   >     ( VkDevice device---   >     , const VkDescriptorSetLayoutCreateInfo* pCreateInfo---   >     , VkDescriptorSetLayoutSupport* pSupport---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport registry at www.khronos.org>-type HS_vkGetDescriptorSetLayoutSupport =-     VkDevice -- ^ device-              ->-       Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo-                                           ->-         Ptr VkDescriptorSetLayoutSupport -- ^ pSupport-                                          -> IO ()--type PFN_vkGetDescriptorSetLayoutSupport =-     FunPtr HS_vkGetDescriptorSetLayoutSupport--foreign import ccall unsafe "dynamic"-               unwrapVkGetDescriptorSetLayoutSupportUnsafe ::-               PFN_vkGetDescriptorSetLayoutSupport ->-                 HS_vkGetDescriptorSetLayoutSupport--foreign import ccall safe "dynamic"-               unwrapVkGetDescriptorSetLayoutSupportSafe ::-               PFN_vkGetDescriptorSetLayoutSupport ->-                 HS_vkGetDescriptorSetLayoutSupport--instance VulkanProc "vkGetDescriptorSetLayoutSupport" where-        type VkProcType "vkGetDescriptorSetLayoutSupport" =-             HS_vkGetDescriptorSetLayoutSupport-        vkProcSymbol = _VkGetDescriptorSetLayoutSupport--        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetDescriptorSetLayoutSupportUnsafe--        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetDescriptorSetLayoutSupportSafe--        {-# INLINE unwrapVkProcPtrSafe #-}+        vkEnumerateInstanceVersionSafe, VkResult(..),+        -- ** Promoted from VK_KHR_relaxed_block_layout, which has no API+        --++        -- ** Promoted from VK_KHR_storage_buffer_storage_class, which has no API+        --++        -- ** Originally based on VK_KHR_subgroup (extension 94), but the actual enum block used was, incorrectly, that of extension 95+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkPhysicalDeviceLimits,+        VkPhysicalDeviceProperties, VkPhysicalDeviceProperties2,+        VkPhysicalDeviceSparseProperties,+        VkPhysicalDeviceSubgroupProperties, VkPhysicalDeviceType(..),+        VkSampleCountBitmask(..), VkSampleCountFlagBits(),+        VkSampleCountFlags(), VkShaderInfoTypeAMD(..),+        VkShaderStageBitmask(..), VkShaderStageFlagBits(),+        VkShaderStageFlags(), VkStructureType(..),+        VkSubgroupFeatureBitmask(..), VkSubgroupFeatureFlagBits(),+        VkSubgroupFeatureFlags(),+        -- > #include "vk_platform.h"+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES,+        -- ** Promoted from VK_KHR_bind_memory2+        VkBindBufferMemoryInfo, VkBindImageMemoryInfo, -- > #include "vk_platform.h"+                                                       VkBindBufferMemory2,+        pattern VkBindBufferMemory2, HS_vkBindBufferMemory2,+        PFN_vkBindBufferMemory2, vkBindBufferMemory2,+        vkBindBufferMemory2Unsafe, vkBindBufferMemory2Safe,+        VkBindImageMemory2, pattern VkBindImageMemory2,+        HS_vkBindImageMemory2, PFN_vkBindImageMemory2, vkBindImageMemory2,+        vkBindImageMemory2Unsafe, vkBindImageMemory2Safe, VkBuffer,+        VkBufferView, VkBufferView_T(), VkBuffer_T(), VkCommandBuffer,+        VkCommandBuffer_T(), VkCommandPool, VkCommandPool_T(),+        VkDebugReportCallbackEXT, VkDebugReportCallbackEXT_T(),+        VkDebugUtilsMessengerEXT, VkDebugUtilsMessengerEXT_T(),+        VkDescriptorPool, VkDescriptorPool_T(), VkDescriptorSet,+        VkDescriptorSetLayout, VkDescriptorSetLayout_T(),+        VkDescriptorSet_T(), VkDescriptorUpdateTemplate,+        VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(),+        VkDescriptorUpdateTemplate_T(), VkDevice, VkDeviceMemory,+        VkDeviceMemory_T(), VkDevice_T(), VkDisplayKHR, VkDisplayKHR_T(),+        VkDisplayModeKHR, VkDisplayModeKHR_T(), VkEvent, VkEvent_T(),+        VkFence, VkFence_T(), VkFramebuffer, VkFramebuffer_T(), VkImage,+        VkImageView, VkImageView_T(), VkImage_T(),+        VkIndirectCommandsLayoutNVX, VkIndirectCommandsLayoutNVX_T(),+        VkInstance, VkInstance_T(), VkObjectTableNVX, VkObjectTableNVX_T(),+        VkPhysicalDevice, VkPhysicalDevice_T(), VkPipeline,+        VkPipelineCache, VkPipelineCache_T(), VkPipelineLayout,+        VkPipelineLayout_T(), VkPipeline_T(), VkQueryPool, VkQueryPool_T(),+        VkQueue, VkQueue_T(), VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkBindBufferMemoryDeviceGroupInfo,+        VkBindBufferMemoryDeviceGroupInfoKHR, VkBindBufferMemoryInfoKHR,+        VkBindImageMemoryDeviceGroupInfo,+        VkBindImageMemoryDeviceGroupInfoKHR, VkBindImageMemoryInfoKHR,+        VkBindImageMemorySwapchainInfoKHR, VkBindImagePlaneMemoryInfo,+        VkBindImagePlaneMemoryInfoKHR, VkBindSparseInfo,+        pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,+        pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,+        pattern VK_IMAGE_CREATE_ALIAS_BIT,+        VkAndroidSurfaceCreateFlagsKHR(..), VkBufferViewCreateFlags(..),+        VkCommandPoolTrimFlags(..), VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkDeviceCreateInfo,+        VkDeviceEventTypeEXT(..), VkDeviceGroupPresentModeBitmaskKHR(..),+        VkDeviceCreateFlagBits(..), VkDeviceGroupPresentModeFlagBitsKHR(),+        VkDeviceGroupPresentModeFlagsKHR(), VkDeviceQueueCreateBitmask(..),+        VkDeviceQueueCreateFlagBits(), VkDeviceQueueCreateFlags(),+        VkDeviceQueueCreateInfo, VkPhysicalDevice16BitStorageFeatures,+        VkPhysicalDeviceFeatures, VkPhysicalDeviceFeatures2,+        -- > #include "vk_platform.h"+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,+        -- ** Promoted from VK_KHR_dedicated_allocation+        VkMemoryAllocateInfo, VkMemoryDedicatedAllocateInfo,+        VkMemoryDedicatedRequirements, VkMemoryRequirements,+        VkMemoryRequirements2,+        -- > #include "vk_platform.h"+        pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,+        pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,+        VkClearColorValue, VkClearDepthStencilValue, VkClearValue,+        VkCommandBufferBeginInfo, VkCommandBufferInheritanceInfo,+        VkCommandBufferLevel(..), VkCommandBufferResetBitmask(..),+        VkCommandBufferUsageBitmask(..), VkCommandPoolCreateBitmask(..),+        VkCommandPoolResetBitmask(..), VkCommandBufferResetFlagBits(),+        VkCommandBufferResetFlags(), VkCommandBufferUsageFlagBits(),+        VkCommandBufferUsageFlags(), VkCommandPoolCreateFlagBits(),+        VkCommandPoolCreateFlags(), VkCommandPoolResetFlagBits(),+        VkCommandPoolResetFlags(), VkDeviceGroupBindSparseInfo,+        VkDeviceGroupCommandBufferBeginInfo,+        VkDeviceGroupRenderPassBeginInfo, VkDeviceGroupSubmitInfo,+        VkExtent2D, VkExtent3D, VkImageAspectBitmask(..),+        VkImageCreateBitmask(..), VkImageLayout(..), VkImageTiling(..),+        VkImageType(..), VkImageUsageBitmask(..), VkImageViewType(..),+        VkImageAspectFlagBits(), VkImageAspectFlags(),+        VkImageCreateFlagBits(), VkImageCreateFlags(),+        VkImageUsageFlagBits(), VkImageUsageFlags(), VkImageSubresource,+        VkMemoryAllocateBitmask(..), VkMemoryHeapBitmask(..),+        VkMemoryPropertyBitmask(..), VkMemoryAllocateFlagBits(),+        VkMemoryAllocateFlagBitsKHR(..), VkMemoryAllocateFlags(),+        VkMemoryHeapFlagBits(), VkMemoryHeapFlags(),+        VkMemoryPropertyFlagBits(), VkMemoryPropertyFlags(),+        VkMemoryAllocateFlagsInfo, VkOffset2D, VkOffset3D,+        VkPeerMemoryFeatureBitmask(..), VkPeerMemoryFeatureFlagBits(),+        VkPeerMemoryFeatureFlagBitsKHR(..), VkPeerMemoryFeatureFlags(),+        VkPipelineBindPoint(..), VkPipelineCacheHeaderVersion(..),+        VkPipelineCreateBitmask(..), VkPipelineStageBitmask(..),+        VkPipelineCacheCreateFlagBits(..),+        VkPipelineColorBlendStateCreateFlagBits(..),+        VkPipelineCreateFlagBits(), VkPipelineCreateFlags(),+        VkPipelineDepthStencilStateCreateFlagBits(..),+        VkPipelineDynamicStateCreateFlagBits(..),+        VkPipelineInputAssemblyStateCreateFlagBits(..),+        VkPipelineLayoutCreateFlagBits(..),+        VkPipelineMultisampleStateCreateFlagBits(..),+        VkPipelineRasterizationStateCreateFlagBits(..),+        VkPipelineShaderStageCreateFlagBits(..), VkPipelineStageFlagBits(),+        VkPipelineStageFlags(),+        VkPipelineTessellationStateCreateFlagBits(..),+        VkPipelineVertexInputStateCreateFlagBits(..),+        VkPipelineViewportStateCreateFlagBits(..),+        VkQueryControlBitmask(..), VkQueryPipelineStatisticBitmask(..),+        VkQueryResultBitmask(..), VkQueryType(..),+        VkQueryControlFlagBits(), VkQueryControlFlags(),+        VkQueryPipelineStatisticFlagBits(),+        VkQueryPipelineStatisticFlags(), VkQueryPoolCreateFlagBits(..),+        VkQueryResultFlagBits(), VkQueryResultFlags(), VkRect2D,+        VkRenderPassBeginInfo, VkSparseBufferMemoryBindInfo,+        VkSparseImageMemoryBind, VkSparseImageMemoryBindInfo,+        VkSparseImageOpaqueMemoryBindInfo, VkSparseMemoryBind,+        VkSparseImageFormatBitmask(..), VkSparseMemoryBindBitmask(..),+        VkSparseImageFormatFlagBits(), VkSparseImageFormatFlags(),+        VkSparseMemoryBindFlagBits(), VkSparseMemoryBindFlags(),+        VkSubmitInfo, -- > #include "vk_platform.h"+                      VkGetDeviceGroupPeerMemoryFeatures,+        pattern VkGetDeviceGroupPeerMemoryFeatures,+        HS_vkGetDeviceGroupPeerMemoryFeatures,+        PFN_vkGetDeviceGroupPeerMemoryFeatures,+        vkGetDeviceGroupPeerMemoryFeatures,+        vkGetDeviceGroupPeerMemoryFeaturesUnsafe,+        vkGetDeviceGroupPeerMemoryFeaturesSafe, VkCmdSetDeviceMask,+        pattern VkCmdSetDeviceMask, HS_vkCmdSetDeviceMask,+        PFN_vkCmdSetDeviceMask, vkCmdSetDeviceMask,+        vkCmdSetDeviceMaskUnsafe, vkCmdSetDeviceMaskSafe,+        VkCmdDispatchBase, pattern VkCmdDispatchBase, HS_vkCmdDispatchBase,+        PFN_vkCmdDispatchBase, vkCmdDispatchBase, vkCmdDispatchBaseUnsafe,+        vkCmdDispatchBaseSafe,+        pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,+        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,+        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,+        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,+        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,+        pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,+        pattern VK_PIPELINE_CREATE_DISPATCH_BASE,+        pattern VK_DEPENDENCY_DEVICE_GROUP_BIT,+        -- > #include "vk_platform.h"+        pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,+        pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,+        pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,+        VkDeviceGroupDeviceCreateInfo, VkPhysicalDeviceGroupProperties,+        -- > #include "vk_platform.h"+        VkEnumeratePhysicalDeviceGroups,+        pattern VkEnumeratePhysicalDeviceGroups,+        HS_vkEnumeratePhysicalDeviceGroups,+        PFN_vkEnumeratePhysicalDeviceGroups,+        vkEnumeratePhysicalDeviceGroups,+        vkEnumeratePhysicalDeviceGroupsUnsafe,+        vkEnumeratePhysicalDeviceGroupsSafe,+        VkPhysicalDevice16BitStorageFeaturesKHR,+        VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT,+        VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT,+        VkPhysicalDeviceConservativeRasterizationPropertiesEXT,+        VkPhysicalDeviceDescriptorIndexingFeaturesEXT,+        VkPhysicalDeviceDescriptorIndexingPropertiesEXT,+        VkPhysicalDeviceDiscardRectanglePropertiesEXT,+        VkPhysicalDeviceExternalBufferInfo,+        VkPhysicalDeviceExternalBufferInfoKHR,+        VkPhysicalDeviceExternalFenceInfo,+        VkPhysicalDeviceExternalFenceInfoKHR,+        VkPhysicalDeviceExternalImageFormatInfo,+        VkPhysicalDeviceExternalImageFormatInfoKHR,+        VkPhysicalDeviceExternalMemoryHostPropertiesEXT,+        VkPhysicalDeviceExternalSemaphoreInfo,+        VkPhysicalDeviceExternalSemaphoreInfoKHR,+        VkPhysicalDeviceFeatures2KHR, VkPhysicalDeviceGroupPropertiesKHR,+        VkPhysicalDeviceIDProperties, VkPhysicalDeviceIDPropertiesKHR,+        VkPhysicalDeviceImageFormatInfo2,+        VkPhysicalDeviceImageFormatInfo2KHR,+        VkPhysicalDeviceMaintenance3Properties,+        VkPhysicalDeviceMaintenance3PropertiesKHR,+        VkPhysicalDeviceMemoryProperties,+        VkPhysicalDeviceMemoryProperties2,+        VkPhysicalDeviceMemoryProperties2KHR,+        VkPhysicalDeviceMultiviewFeatures,+        VkPhysicalDeviceMultiviewFeaturesKHR,+        VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,+        VkPhysicalDeviceMultiviewProperties,+        VkPhysicalDeviceMultiviewPropertiesKHR,+        VkPhysicalDevicePointClippingProperties,+        VkPhysicalDevicePointClippingPropertiesKHR,+        VkPhysicalDeviceProperties2KHR,+        VkPhysicalDeviceProtectedMemoryFeatures,+        VkPhysicalDeviceProtectedMemoryProperties,+        VkPhysicalDevicePushDescriptorPropertiesKHR,+        VkPhysicalDeviceSampleLocationsPropertiesEXT,+        VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT,+        VkPhysicalDeviceSamplerYcbcrConversionFeatures,+        VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR,+        VkPhysicalDeviceShaderCorePropertiesAMD,+        VkPhysicalDeviceShaderDrawParameterFeatures,+        VkPhysicalDeviceSparseImageFormatInfo2,+        VkPhysicalDeviceSparseImageFormatInfo2KHR,+        VkPhysicalDeviceSurfaceInfo2KHR,+        VkPhysicalDeviceVariablePointerFeatures,+        VkPhysicalDeviceVariablePointerFeaturesKHR,+        VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,+        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,+        pattern VK_MAX_DEVICE_GROUP_SIZE,+        pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,+        -- ** Promoted from VK_KHR_get_memory_requirements2+        VkBufferMemoryRequirementsInfo2, VkImageMemoryRequirementsInfo2,+        VkImageSparseMemoryRequirementsInfo2,+        VkSparseImageFormatProperties, VkSparseImageMemoryRequirements,+        VkSparseImageMemoryRequirements2, -- > #include "vk_platform.h"+                                          VkGetImageMemoryRequirements2,+        pattern VkGetImageMemoryRequirements2,+        HS_vkGetImageMemoryRequirements2,+        PFN_vkGetImageMemoryRequirements2, vkGetImageMemoryRequirements2,+        vkGetImageMemoryRequirements2Unsafe,+        vkGetImageMemoryRequirements2Safe, VkGetBufferMemoryRequirements2,+        pattern VkGetBufferMemoryRequirements2,+        HS_vkGetBufferMemoryRequirements2,+        PFN_vkGetBufferMemoryRequirements2, vkGetBufferMemoryRequirements2,+        vkGetBufferMemoryRequirements2Unsafe,+        vkGetBufferMemoryRequirements2Safe,+        VkGetImageSparseMemoryRequirements2,+        pattern VkGetImageSparseMemoryRequirements2,+        HS_vkGetImageSparseMemoryRequirements2,+        PFN_vkGetImageSparseMemoryRequirements2,+        vkGetImageSparseMemoryRequirements2,+        vkGetImageSparseMemoryRequirements2Unsafe,+        vkGetImageSparseMemoryRequirements2Safe, VkBufferCopy,+        VkBufferCreateInfo, VkBufferImageCopy, VkBufferMemoryBarrier,+        VkBufferMemoryRequirementsInfo2KHR, VkBufferViewCreateInfo,+        VkImageBlit, VkImageCopy, VkImageCreateInfo,+        VkImageFormatListCreateInfoKHR, VkImageFormatProperties,+        VkImageFormatProperties2, VkImageFormatProperties2KHR,+        VkImageMemoryBarrier, VkImageMemoryRequirementsInfo2KHR,+        VkImagePlaneMemoryRequirementsInfo,+        VkImagePlaneMemoryRequirementsInfoKHR, VkImageResolve,+        VkImageSparseMemoryRequirementsInfo2KHR, VkImageSubresourceLayers,+        VkImageSubresourceRange, VkImageSwapchainCreateInfoKHR,+        VkImageViewCreateInfo, VkImageViewUsageCreateInfo,+        VkImageViewUsageCreateInfoKHR, VkMemoryAllocateFlagsInfoKHR,+        VkMemoryBarrier, VkMemoryDedicatedAllocateInfoKHR,+        VkMemoryDedicatedRequirementsKHR, VkMemoryFdPropertiesKHR,+        VkMemoryGetFdInfoKHR, VkMemoryHeap,+        VkMemoryHostPointerPropertiesEXT, VkMemoryRequirements2KHR,+        VkMemoryType, VkSparseImageFormatProperties2,+        VkSparseImageFormatProperties2KHR,+        VkSparseImageMemoryRequirements2KHR,+        pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,+        pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,+        pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,+        pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,+        pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,+        VkFormat(..), VkFormatFeatureBitmask(..),+        VkFormatFeatureFlagBits(), VkFormatFeatureFlags(),+        VkFormatProperties, VkFormatProperties2, VkQueueFamilyProperties,+        VkQueueFamilyProperties2, VkQueueBitmask(..),+        VkQueueGlobalPriorityEXT(..), VkQueueFlagBits(), VkQueueFlags(),+        -- > #include "vk_platform.h"+        VkGetPhysicalDeviceFeatures2, pattern VkGetPhysicalDeviceFeatures2,+        HS_vkGetPhysicalDeviceFeatures2, PFN_vkGetPhysicalDeviceFeatures2,+        vkGetPhysicalDeviceFeatures2, vkGetPhysicalDeviceFeatures2Unsafe,+        vkGetPhysicalDeviceFeatures2Safe, VkGetPhysicalDeviceProperties2,+        pattern VkGetPhysicalDeviceProperties2,+        HS_vkGetPhysicalDeviceProperties2,+        PFN_vkGetPhysicalDeviceProperties2, vkGetPhysicalDeviceProperties2,+        vkGetPhysicalDeviceProperties2Unsafe,+        vkGetPhysicalDeviceProperties2Safe,+        VkGetPhysicalDeviceFormatProperties2,+        pattern VkGetPhysicalDeviceFormatProperties2,+        HS_vkGetPhysicalDeviceFormatProperties2,+        PFN_vkGetPhysicalDeviceFormatProperties2,+        vkGetPhysicalDeviceFormatProperties2,+        vkGetPhysicalDeviceFormatProperties2Unsafe,+        vkGetPhysicalDeviceFormatProperties2Safe,+        VkGetPhysicalDeviceImageFormatProperties2,+        pattern VkGetPhysicalDeviceImageFormatProperties2,+        HS_vkGetPhysicalDeviceImageFormatProperties2,+        PFN_vkGetPhysicalDeviceImageFormatProperties2,+        vkGetPhysicalDeviceImageFormatProperties2,+        vkGetPhysicalDeviceImageFormatProperties2Unsafe,+        vkGetPhysicalDeviceImageFormatProperties2Safe,+        VkGetPhysicalDeviceQueueFamilyProperties2,+        pattern VkGetPhysicalDeviceQueueFamilyProperties2,+        HS_vkGetPhysicalDeviceQueueFamilyProperties2,+        PFN_vkGetPhysicalDeviceQueueFamilyProperties2,+        vkGetPhysicalDeviceQueueFamilyProperties2,+        vkGetPhysicalDeviceQueueFamilyProperties2Unsafe,+        vkGetPhysicalDeviceQueueFamilyProperties2Safe,+        VkGetPhysicalDeviceMemoryProperties2,+        pattern VkGetPhysicalDeviceMemoryProperties2,+        HS_vkGetPhysicalDeviceMemoryProperties2,+        PFN_vkGetPhysicalDeviceMemoryProperties2,+        vkGetPhysicalDeviceMemoryProperties2,+        vkGetPhysicalDeviceMemoryProperties2Unsafe,+        vkGetPhysicalDeviceMemoryProperties2Safe,+        VkGetPhysicalDeviceSparseImageFormatProperties2,+        pattern VkGetPhysicalDeviceSparseImageFormatProperties2,+        HS_vkGetPhysicalDeviceSparseImageFormatProperties2,+        PFN_vkGetPhysicalDeviceSparseImageFormatProperties2,+        vkGetPhysicalDeviceSparseImageFormatProperties2,+        vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe,+        vkGetPhysicalDeviceSparseImageFormatProperties2Safe,+        VkDeviceEventInfoEXT, VkDeviceGeneratedCommandsFeaturesNVX,+        VkDeviceGeneratedCommandsLimitsNVX, VkDeviceGroupBindSparseInfoKHR,+        VkDeviceGroupCommandBufferBeginInfoKHR,+        VkDeviceGroupDeviceCreateInfoKHR,+        VkDeviceGroupPresentCapabilitiesKHR, VkDeviceGroupPresentInfoKHR,+        VkDeviceGroupRenderPassBeginInfoKHR, VkDeviceGroupSubmitInfoKHR,+        VkDeviceGroupSwapchainCreateInfoKHR,+        VkDeviceQueueGlobalPriorityCreateInfoEXT, VkDeviceQueueInfo2,+        VkFormatProperties2KHR, VkQueueFamilyProperties2KHR,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,+        pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,+        pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,+        pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,+        pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,+        -- ** Promoted from VK_KHR_maintenance1+        --+        -- |+        -- > #include "vk_platform.h"+        VkTrimCommandPool, pattern VkTrimCommandPool, HS_vkTrimCommandPool,+        PFN_vkTrimCommandPool, vkTrimCommandPool, vkTrimCommandPoolUnsafe,+        vkTrimCommandPoolSafe, pattern VK_ERROR_OUT_OF_POOL_MEMORY,+        pattern VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,+        pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT,+        pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,+        -- ** Promoted from VK_KHR_maintenance2+        VkAccessBitmask(..), VkAccessFlagBits(), VkAccessFlags(),+        VkAttachmentDescription, VkAttachmentDescriptionBitmask(..),+        VkAttachmentLoadOp(..), VkAttachmentStoreOp(..),+        VkAttachmentDescriptionFlagBits(), VkAttachmentDescriptionFlags(),+        VkAttachmentReference, VkComponentMapping, VkComponentSwizzle(..),+        VkDependencyBitmask(..), VkDependencyFlagBits(),+        VkDependencyFlags(), VkInputAttachmentAspectReference,+        VkPipelineTessellationDomainOriginStateCreateInfo,+        VkPipelineTessellationStateCreateInfo, VkPointClippingBehavior(..),+        VkPointClippingBehaviorKHR(..), VkRenderPassCreateInfo,+        VkRenderPassInputAttachmentAspectCreateInfo, VkSubpassDependency,+        VkSubpassDescription, VkSubpassContents(..),+        VkSubpassDescriptionBitmask(..), VkSubpassDescriptionFlagBits(),+        VkSubpassDescriptionFlags(), VkTessellationDomainOrigin(..),+        VkTessellationDomainOriginKHR(..),+        -- > #include "vk_platform.h"+        pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,+        pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,+        pattern VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,+        pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,+        pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,+        pattern VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,+        pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,+        VkRenderPassMultiviewCreateInfo,+        -- > #include "vk_platform.h"+        pattern VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,+        pattern VK_DEPENDENCY_VIEW_LOCAL_BIT,+        -- > #include "vk_platform.h"+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES,+        VkProtectedSubmitInfo, -- > #include "vk_platform.h"+                               VkGetDeviceQueue2,+        pattern VkGetDeviceQueue2, HS_vkGetDeviceQueue2,+        PFN_vkGetDeviceQueue2, vkGetDeviceQueue2, vkGetDeviceQueue2Unsafe,+        vkGetDeviceQueue2Safe,+        pattern VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES,+        pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2,+        pattern VK_QUEUE_PROTECTED_BIT,+        pattern VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT,+        pattern VK_MEMORY_PROPERTY_PROTECTED_BIT,+        pattern VK_BUFFER_CREATE_PROTECTED_BIT,+        pattern VK_IMAGE_CREATE_PROTECTED_BIT,+        pattern VK_COMMAND_POOL_CREATE_PROTECTED_BIT, VkBorderColor(..),+        VkChromaLocation(..), VkChromaLocationKHR(..), VkCompareOp(..),+        VkFilter(..), VkSamplerAddressMode(..), VkSamplerMipmapMode(..),+        VkSamplerReductionModeEXT(..), VkSamplerYcbcrModelConversion(..),+        VkSamplerYcbcrRange(..), VkSamplerCreateFlagBits(..),+        VkSamplerYcbcrModelConversionKHR(..), VkSamplerYcbcrRangeKHR(..),+        VkSamplerCreateInfo, VkSamplerYcbcrConversionCreateInfo,+        VkSamplerYcbcrConversionImageFormatProperties,+        VkSamplerYcbcrConversionInfo, -- > #include "vk_platform.h"+                                      VkCreateSamplerYcbcrConversion,+        pattern VkCreateSamplerYcbcrConversion,+        HS_vkCreateSamplerYcbcrConversion,+        PFN_vkCreateSamplerYcbcrConversion, vkCreateSamplerYcbcrConversion,+        vkCreateSamplerYcbcrConversionUnsafe,+        vkCreateSamplerYcbcrConversionSafe,+        VkDestroySamplerYcbcrConversion,+        pattern VkDestroySamplerYcbcrConversion,+        HS_vkDestroySamplerYcbcrConversion,+        PFN_vkDestroySamplerYcbcrConversion,+        vkDestroySamplerYcbcrConversion,+        vkDestroySamplerYcbcrConversionUnsafe,+        vkDestroySamplerYcbcrConversionSafe, VkInternalAllocationType(..),+        VkSystemAllocationScope(..), newVkAllocationFunction,+        newVkDebugReportCallbackEXT, newVkDebugUtilsMessengerCallbackEXT,+        newVkFreeFunction, newVkInternalAllocationNotification,+        newVkInternalFreeNotification, newVkReallocationFunction,+        newVkVoidFunction, unwrapVkAllocationFunction,+        unwrapVkDebugReportCallbackEXT,+        unwrapVkDebugUtilsMessengerCallbackEXT, unwrapVkFreeFunction,+        unwrapVkInternalAllocationNotification,+        unwrapVkInternalFreeNotification, unwrapVkReallocationFunction,+        unwrapVkVoidFunction, HS_vkAllocationFunction,+        HS_vkDebugReportCallbackEXT, HS_vkDebugUtilsMessengerCallbackEXT,+        HS_vkFreeFunction, HS_vkInternalAllocationNotification,+        HS_vkInternalFreeNotification, HS_vkReallocationFunction,+        HS_vkVoidFunction, PFN_vkAllocationFunction,+        PFN_vkDebugReportCallbackEXT, PFN_vkDebugUtilsMessengerCallbackEXT,+        PFN_vkFreeFunction, PFN_vkInternalAllocationNotification,+        PFN_vkInternalFreeNotification, PFN_vkReallocationFunction,+        PFN_vkVoidFunction, VkAllocationCallbacks,+        VkSamplerReductionModeCreateInfoEXT,+        VkSamplerYcbcrConversionCreateInfoKHR,+        VkSamplerYcbcrConversionImageFormatPropertiesKHR,+        VkSamplerYcbcrConversionInfoKHR,+        pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,+        pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,+        pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,+        pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,+        pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,+        pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,+        pattern VK_FORMAT_G8B8G8R8_422_UNORM,+        pattern VK_FORMAT_B8G8R8G8_422_UNORM,+        pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,+        pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,+        pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,+        pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,+        pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,+        pattern VK_FORMAT_R10X6_UNORM_PACK16,+        pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16,+        pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,+        pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,+        pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,+        pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,+        pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,+        pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,+        pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,+        pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,+        pattern VK_FORMAT_R12X4_UNORM_PACK16,+        pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16,+        pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,+        pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,+        pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,+        pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,+        pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,+        pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,+        pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,+        pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,+        pattern VK_FORMAT_G16B16G16R16_422_UNORM,+        pattern VK_FORMAT_B16G16R16G16_422_UNORM,+        pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,+        pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,+        pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,+        pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,+        pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,+        pattern VK_IMAGE_ASPECT_PLANE_0_BIT,+        pattern VK_IMAGE_ASPECT_PLANE_1_BIT,+        pattern VK_IMAGE_ASPECT_PLANE_2_BIT,+        pattern VK_IMAGE_CREATE_DISJOINT_BIT,+        pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,+        pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,+        pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,+        pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,+        pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT,+        pattern VK_FORMAT_FEATURE_DISJOINT_BIT,+        pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,+        -- ** Promoted from VK_KHR_descriptor_update_template+        VkDescriptorBindingBitmaskEXT(..),+        VkDescriptorPoolCreateBitmask(..), VkDescriptorType(..),+        VkDescriptorUpdateTemplateType(..),+        VkDescriptorBindingFlagBitsEXT(), VkDescriptorBindingFlagsEXT(),+        VkDescriptorPoolCreateFlagBits(), VkDescriptorPoolCreateFlags(),+        VkDescriptorSetLayoutCreateBitmask(..),+        VkDescriptorSetLayoutCreateFlagBits(),+        VkDescriptorSetLayoutCreateFlags(),+        VkDescriptorUpdateTemplateTypeKHR(..),+        VkDescriptorUpdateTemplateCreateInfo,+        VkDescriptorUpdateTemplateEntry, -- > #include "vk_platform.h"+                                         VkCreateDescriptorUpdateTemplate,+        pattern VkCreateDescriptorUpdateTemplate,+        HS_vkCreateDescriptorUpdateTemplate,+        PFN_vkCreateDescriptorUpdateTemplate,+        vkCreateDescriptorUpdateTemplate,+        vkCreateDescriptorUpdateTemplateUnsafe,+        vkCreateDescriptorUpdateTemplateSafe,+        VkDestroyDescriptorUpdateTemplate,+        pattern VkDestroyDescriptorUpdateTemplate,+        HS_vkDestroyDescriptorUpdateTemplate,+        PFN_vkDestroyDescriptorUpdateTemplate,+        vkDestroyDescriptorUpdateTemplate,+        vkDestroyDescriptorUpdateTemplateUnsafe,+        vkDestroyDescriptorUpdateTemplateSafe,+        VkUpdateDescriptorSetWithTemplate,+        pattern VkUpdateDescriptorSetWithTemplate,+        HS_vkUpdateDescriptorSetWithTemplate,+        PFN_vkUpdateDescriptorSetWithTemplate,+        vkUpdateDescriptorSetWithTemplate,+        vkUpdateDescriptorSetWithTemplateUnsafe,+        vkUpdateDescriptorSetWithTemplateSafe, VkDescriptorBufferInfo,+        VkDescriptorImageInfo, VkDescriptorPoolCreateInfo,+        VkDescriptorPoolSize, VkDescriptorSetAllocateInfo,+        VkDescriptorSetLayoutBinding,+        VkDescriptorSetLayoutBindingFlagsCreateInfoEXT,+        VkDescriptorSetLayoutCreateInfo, VkDescriptorSetLayoutSupport,+        VkDescriptorSetLayoutSupportKHR,+        VkDescriptorSetVariableDescriptorCountAllocateInfoEXT,+        VkDescriptorSetVariableDescriptorCountLayoutSupportEXT,+        VkDescriptorUpdateTemplateCreateInfoKHR,+        VkDescriptorUpdateTemplateEntryKHR,+        pattern VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,+        pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,+        -- ** Promoted from VK_KHR_external_memory_capabilities+        VkBufferCreateBitmask(..), VkBufferUsageBitmask(..),+        VkBufferCreateFlagBits(), VkBufferCreateFlags(),+        VkBufferUsageFlagBits(), VkBufferUsageFlags(),+        VkBufferViewCreateFlagBits(..), VkExternalBufferProperties,+        VkExternalImageFormatProperties, VkExternalFenceFeatureBitmask(..),+        VkExternalFenceHandleTypeBitmask(..),+        VkExternalMemoryFeatureBitmask(..),+        VkExternalMemoryFeatureBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmask(..),+        VkExternalSemaphoreFeatureBitmask(..),+        VkExternalSemaphoreHandleTypeBitmask(..),+        VkExternalFenceFeatureFlagBits(),+        VkExternalFenceFeatureFlagBitsKHR(..),+        VkExternalFenceFeatureFlags(), VkExternalFenceHandleTypeFlagBits(),+        VkExternalFenceHandleTypeFlagBitsKHR(..),+        VkExternalFenceHandleTypeFlags(),+        VkExternalMemoryFeatureFlagBits(),+        VkExternalMemoryFeatureFlagBitsKHR(..),+        VkExternalMemoryFeatureFlagBitsNV(),+        VkExternalMemoryFeatureFlags(), VkExternalMemoryFeatureFlagsNV(),+        VkExternalMemoryHandleTypeFlagBits(),+        VkExternalMemoryHandleTypeFlagBitsKHR(..),+        VkExternalMemoryHandleTypeFlagBitsNV(),+        VkExternalMemoryHandleTypeFlags(),+        VkExternalMemoryHandleTypeFlagsNV(),+        VkExternalSemaphoreFeatureFlagBits(),+        VkExternalSemaphoreFeatureFlagBitsKHR(..),+        VkExternalSemaphoreFeatureFlags(),+        VkExternalSemaphoreHandleTypeFlagBits(),+        VkExternalSemaphoreHandleTypeFlagBitsKHR(..),+        VkExternalSemaphoreHandleTypeFlags(), VkExternalMemoryProperties,+        -- > #include "vk_platform.h"+        VkGetPhysicalDeviceExternalBufferProperties,+        pattern VkGetPhysicalDeviceExternalBufferProperties,+        HS_vkGetPhysicalDeviceExternalBufferProperties,+        PFN_vkGetPhysicalDeviceExternalBufferProperties,+        vkGetPhysicalDeviceExternalBufferProperties,+        vkGetPhysicalDeviceExternalBufferPropertiesUnsafe,+        vkGetPhysicalDeviceExternalBufferPropertiesSafe,+        VkExternalBufferPropertiesKHR, VkExternalFenceProperties,+        VkExternalFencePropertiesKHR, VkExternalImageFormatPropertiesKHR,+        VkExternalImageFormatPropertiesNV,+        VkExternalMemoryBufferCreateInfo,+        VkExternalMemoryBufferCreateInfoKHR,+        VkExternalMemoryImageCreateInfo,+        VkExternalMemoryImageCreateInfoKHR,+        VkExternalMemoryImageCreateInfoNV, VkExternalMemoryPropertiesKHR,+        VkExternalSemaphoreProperties, VkExternalSemaphorePropertiesKHR,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,+        pattern VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,+        pattern VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,+        pattern VK_LUID_SIZE, VkExportMemoryAllocateInfo,+        VkSharingMode(..),+        -- > #include "vk_platform.h"+        pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,+        pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,+        pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,+        pattern VK_ERROR_INVALID_EXTERNAL_HANDLE,+        pattern VK_QUEUE_FAMILY_EXTERNAL,+        -- > #include "vk_platform.h"+        VkGetPhysicalDeviceExternalFenceProperties,+        pattern VkGetPhysicalDeviceExternalFenceProperties,+        HS_vkGetPhysicalDeviceExternalFenceProperties,+        PFN_vkGetPhysicalDeviceExternalFenceProperties,+        vkGetPhysicalDeviceExternalFenceProperties,+        vkGetPhysicalDeviceExternalFencePropertiesUnsafe,+        vkGetPhysicalDeviceExternalFencePropertiesSafe,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,+        pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,+        -- ** Promoted from VK_KHR_external_fence+        VkExportFenceCreateInfo, VkFenceCreateBitmask(..),+        VkFenceImportBitmask(..), VkFenceCreateFlagBits(),+        VkFenceCreateFlags(), VkFenceImportFlagBits(),+        VkFenceImportFlagBitsKHR(..), VkFenceImportFlags(),+        VkFenceCreateInfo,+        -- > #include "vk_platform.h"+        pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,+        -- ** Promoted from VK_KHR_external_semaphore+        VkExportSemaphoreCreateInfo, VkSemaphoreCreateInfo,+        VkSemaphoreImportBitmask(..), VkSemaphoreImportFlagBits(),+        VkSemaphoreImportFlagBitsKHR(..), VkSemaphoreImportFlags(),+        -- > #include "vk_platform.h"+        pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,+        -- > #include "vk_platform.h"+        VkGetPhysicalDeviceExternalSemaphoreProperties,+        pattern VkGetPhysicalDeviceExternalSemaphoreProperties,+        HS_vkGetPhysicalDeviceExternalSemaphoreProperties,+        PFN_vkGetPhysicalDeviceExternalSemaphoreProperties,+        vkGetPhysicalDeviceExternalSemaphoreProperties,+        vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe,+        vkGetPhysicalDeviceExternalSemaphorePropertiesSafe,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,+        pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,+        -- > #include "vk_platform.h"+        VkGetDescriptorSetLayoutSupport,+        pattern VkGetDescriptorSetLayoutSupport,+        HS_vkGetDescriptorSetLayoutSupport,+        PFN_vkGetDescriptorSetLayoutSupport,+        vkGetDescriptorSetLayoutSupport,+        vkGetDescriptorSetLayoutSupportUnsafe,+        vkGetDescriptorSetLayoutSupportSafe,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,+        pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,+        -- > #include "vk_platform.h"+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES)+       where+import GHC.Ptr                                                     (Ptr (..))+import Graphics.Vulkan.Constants                                   (pattern VK_LUID_SIZE,+                                                                    pattern VK_MAX_DEVICE_GROUP_SIZE,+                                                                    pattern VK_QUEUE_FAMILY_EXTERNAL)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc+import Graphics.Vulkan.Types.BaseTypes+import Graphics.Vulkan.Types.Bitmasks+import Graphics.Vulkan.Types.Enum.AccessFlags+import Graphics.Vulkan.Types.Enum.Attachment+import Graphics.Vulkan.Types.Enum.BorderColor+import Graphics.Vulkan.Types.Enum.Buffer+import Graphics.Vulkan.Types.Enum.ChromaLocation+import Graphics.Vulkan.Types.Enum.Command+import Graphics.Vulkan.Types.Enum.CompareOp+import Graphics.Vulkan.Types.Enum.ComponentSwizzle+import Graphics.Vulkan.Types.Enum.DependencyFlags+import Graphics.Vulkan.Types.Enum.Descriptor+import Graphics.Vulkan.Types.Enum.Device+import Graphics.Vulkan.Types.Enum.External+import Graphics.Vulkan.Types.Enum.Fence+import Graphics.Vulkan.Types.Enum.Filter+import Graphics.Vulkan.Types.Enum.Format+import Graphics.Vulkan.Types.Enum.Image+import Graphics.Vulkan.Types.Enum.InternalAllocationType+import Graphics.Vulkan.Types.Enum.Memory+import Graphics.Vulkan.Types.Enum.Object                           (VkObjectType (..))+import Graphics.Vulkan.Types.Enum.PeerMemoryFeatureFlag+import Graphics.Vulkan.Types.Enum.PhysicalDeviceType+import Graphics.Vulkan.Types.Enum.Pipeline+import Graphics.Vulkan.Types.Enum.PointClippingBehavior+import Graphics.Vulkan.Types.Enum.Query+import Graphics.Vulkan.Types.Enum.Queue+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.SampleCountFlags+import Graphics.Vulkan.Types.Enum.Sampler+import Graphics.Vulkan.Types.Enum.SemaphoreImportFlag+import Graphics.Vulkan.Types.Enum.Shader+import Graphics.Vulkan.Types.Enum.SharingMode+import Graphics.Vulkan.Types.Enum.Sparse+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.SubgroupFeatureFlags+import Graphics.Vulkan.Types.Enum.Subpass+import Graphics.Vulkan.Types.Enum.SystemAllocationScope+import Graphics.Vulkan.Types.Enum.TessellationDomainOrigin+import Graphics.Vulkan.Types.Funcpointers+import Graphics.Vulkan.Types.Handles+import Graphics.Vulkan.Types.Struct.AllocationCallbacks+import Graphics.Vulkan.Types.Struct.Attachment                     (VkAttachmentDescription,+                                                                    VkAttachmentReference)+import Graphics.Vulkan.Types.Struct.Bind+import Graphics.Vulkan.Types.Struct.Buffer+import Graphics.Vulkan.Types.Struct.Clear                          (VkClearColorValue,+                                                                    VkClearDepthStencilValue,+                                                                    VkClearValue)+import Graphics.Vulkan.Types.Struct.Command                        (VkCommandBufferBeginInfo,+                                                                    VkCommandBufferInheritanceInfo)+import Graphics.Vulkan.Types.Struct.ComponentMapping+import Graphics.Vulkan.Types.Struct.Descriptor+import Graphics.Vulkan.Types.Struct.Device+import Graphics.Vulkan.Types.Struct.Export                         (VkExportFenceCreateInfo,+                                                                    VkExportMemoryAllocateInfo,+                                                                    VkExportSemaphoreCreateInfo)+import Graphics.Vulkan.Types.Struct.Extent+import Graphics.Vulkan.Types.Struct.External+import Graphics.Vulkan.Types.Struct.Fence                          (VkFenceCreateInfo)+import Graphics.Vulkan.Types.Struct.FormatProperties+import Graphics.Vulkan.Types.Struct.Image+import Graphics.Vulkan.Types.Struct.InputAttachmentAspectReference (VkInputAttachmentAspectReference)+import Graphics.Vulkan.Types.Struct.Memory+import Graphics.Vulkan.Types.Struct.Offset                         (VkOffset2D,+                                                                    VkOffset3D)+import Graphics.Vulkan.Types.Struct.PhysicalDevice+import Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures+import Graphics.Vulkan.Types.Struct.Pipeline                       (VkPipelineTessellationDomainOriginStateCreateInfo,+                                                                    VkPipelineTessellationStateCreateInfo)+import Graphics.Vulkan.Types.Struct.ProtectedSubmitInfo            (VkProtectedSubmitInfo)+import Graphics.Vulkan.Types.Struct.QueueFamilyProperties+import Graphics.Vulkan.Types.Struct.Rect                           (VkRect2D)+import Graphics.Vulkan.Types.Struct.RenderPass                     (VkRenderPassBeginInfo,+                                                                    VkRenderPassCreateInfo,+                                                                    VkRenderPassInputAttachmentAspectCreateInfo,+                                                                    VkRenderPassMultiviewCreateInfo)+import Graphics.Vulkan.Types.Struct.Sampler+import Graphics.Vulkan.Types.Struct.Semaphore                      (VkSemaphoreCreateInfo)+import Graphics.Vulkan.Types.Struct.Sparse+import Graphics.Vulkan.Types.Struct.SubmitInfo                     (VkSubmitInfo)+import Graphics.Vulkan.Types.Struct.Subpass                        (VkSubpassDependency,+                                                                    VkSubpassDescription)+import System.IO.Unsafe                                            (unsafeDupablePerformIO)++pattern VkEnumerateInstanceVersion :: CString++pattern VkEnumerateInstanceVersion <-+        (is_VkEnumerateInstanceVersion -> True)+  where+    VkEnumerateInstanceVersion = _VkEnumerateInstanceVersion++{-# INLINE _VkEnumerateInstanceVersion #-}++_VkEnumerateInstanceVersion :: CString+_VkEnumerateInstanceVersion = Ptr "vkEnumerateInstanceVersion\NUL"#++{-# INLINE is_VkEnumerateInstanceVersion #-}++is_VkEnumerateInstanceVersion :: CString -> Bool+is_VkEnumerateInstanceVersion+  = (EQ ==) . cmpCStrings _VkEnumerateInstanceVersion++type VkEnumerateInstanceVersion = "vkEnumerateInstanceVersion"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- > VkResult vkEnumerateInstanceVersion+-- >     ( uint32_t* pApiVersion+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceVersion vkEnumerateInstanceVersion registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumerateInstanceVersion <- vkGetInstanceProc @VkEnumerateInstanceVersion vkInstance+--+-- or less efficient:+--+-- > myEnumerateInstanceVersion <- vkGetProc @VkEnumerateInstanceVersion+--+-- __Note:__ @vkEnumerateInstanceVersionUnsafe@ and @vkEnumerateInstanceVersionSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkEnumerateInstanceVersion@ is an alias+--           of @vkEnumerateInstanceVersionUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkEnumerateInstanceVersionSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe "vkEnumerateInstanceVersion"+               vkEnumerateInstanceVersionUnsafe :: Ptr Word32 -- ^ pApiVersion+                                                              -> IO VkResult++#else+vkEnumerateInstanceVersionUnsafe :: Ptr Word32 -- ^ pApiVersion+                                               -> IO VkResult+vkEnumerateInstanceVersionUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkEnumerateInstanceVersion)++{-# NOINLINE vkEnumerateInstanceVersionUnsafe #-}+#endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- > VkResult vkEnumerateInstanceVersion+-- >     ( uint32_t* pApiVersion+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceVersion vkEnumerateInstanceVersion registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumerateInstanceVersion <- vkGetInstanceProc @VkEnumerateInstanceVersion vkInstance+--+-- or less efficient:+--+-- > myEnumerateInstanceVersion <- vkGetProc @VkEnumerateInstanceVersion+--+-- __Note:__ @vkEnumerateInstanceVersionUnsafe@ and @vkEnumerateInstanceVersionSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkEnumerateInstanceVersion@ is an alias+--           of @vkEnumerateInstanceVersionUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkEnumerateInstanceVersionSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe "vkEnumerateInstanceVersion"+               vkEnumerateInstanceVersionSafe :: Ptr Word32 -- ^ pApiVersion+                                                            -> IO VkResult++#else+vkEnumerateInstanceVersionSafe :: Ptr Word32 -- ^ pApiVersion+                                             -> IO VkResult+vkEnumerateInstanceVersionSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkEnumerateInstanceVersion)++{-# NOINLINE vkEnumerateInstanceVersionSafe #-}+#endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- > VkResult vkEnumerateInstanceVersion+-- >     ( uint32_t* pApiVersion+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceVersion vkEnumerateInstanceVersion registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumerateInstanceVersion <- vkGetInstanceProc @VkEnumerateInstanceVersion vkInstance+--+-- or less efficient:+--+-- > myEnumerateInstanceVersion <- vkGetProc @VkEnumerateInstanceVersion+--+-- __Note:__ @vkEnumerateInstanceVersionUnsafe@ and @vkEnumerateInstanceVersionSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkEnumerateInstanceVersion@ is an alias+--           of @vkEnumerateInstanceVersionUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkEnumerateInstanceVersionSafe@.+--+vkEnumerateInstanceVersion :: Ptr Word32 -- ^ pApiVersion+                                         -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkEnumerateInstanceVersion = vkEnumerateInstanceVersionUnsafe+#else+vkEnumerateInstanceVersion = vkEnumerateInstanceVersionSafe++#endif+{-# INLINE vkEnumerateInstanceVersion #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   > VkResult vkEnumerateInstanceVersion+--   >     ( uint32_t* pApiVersion+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceVersion vkEnumerateInstanceVersion registry at www.khronos.org>+type HS_vkEnumerateInstanceVersion = Ptr Word32 -- ^ pApiVersion+                                                -> IO VkResult++type PFN_vkEnumerateInstanceVersion =+     FunPtr HS_vkEnumerateInstanceVersion++foreign import ccall unsafe "dynamic"+               unwrapVkEnumerateInstanceVersionUnsafe ::+               PFN_vkEnumerateInstanceVersion -> HS_vkEnumerateInstanceVersion++foreign import ccall safe "dynamic"+               unwrapVkEnumerateInstanceVersionSafe ::+               PFN_vkEnumerateInstanceVersion -> HS_vkEnumerateInstanceVersion++instance VulkanProc "vkEnumerateInstanceVersion" where+    type VkProcType "vkEnumerateInstanceVersion" =+         HS_vkEnumerateInstanceVersion+    vkProcSymbol = _VkEnumerateInstanceVersion++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkEnumerateInstanceVersionUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkEnumerateInstanceVersionSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES =+        VkStructureType 1000094000++pattern VkBindBufferMemory2 :: CString++pattern VkBindBufferMemory2 <- (is_VkBindBufferMemory2 -> True)+  where+    VkBindBufferMemory2 = _VkBindBufferMemory2++{-# INLINE _VkBindBufferMemory2 #-}++_VkBindBufferMemory2 :: CString+_VkBindBufferMemory2 = Ptr "vkBindBufferMemory2\NUL"#++{-# INLINE is_VkBindBufferMemory2 #-}++is_VkBindBufferMemory2 :: CString -> Bool+is_VkBindBufferMemory2 = (EQ ==) . cmpCStrings _VkBindBufferMemory2++type VkBindBufferMemory2 = "vkBindBufferMemory2"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindBufferMemory2+-- >     ( VkDevice device+-- >     , uint32_t bindInfoCount+-- >     , const VkBindBufferMemoryInfo* pBindInfos+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindBufferMemory2 vkBindBufferMemory2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myBindBufferMemory2 <- vkGetDeviceProc @VkBindBufferMemory2 vkDevice+--+-- or less efficient:+--+-- > myBindBufferMemory2 <- vkGetProc @VkBindBufferMemory2+--+-- __Note:__ @vkBindBufferMemory2Unsafe@ and @vkBindBufferMemory2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkBindBufferMemory2@ is an alias+--           of @vkBindBufferMemory2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkBindBufferMemory2Safe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe "vkBindBufferMemory2"+               vkBindBufferMemory2Unsafe ::+               VkDevice -- ^ device+                        -> Word32 -- ^ bindInfoCount+                                  -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos+                                                                -> IO VkResult++#else+vkBindBufferMemory2Unsafe ::+                          VkDevice -- ^ device+                                   -> Word32 -- ^ bindInfoCount+                                             -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos+                                                                           -> IO VkResult+vkBindBufferMemory2Unsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkBindBufferMemory2)++{-# NOINLINE vkBindBufferMemory2Unsafe #-}+#endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindBufferMemory2+-- >     ( VkDevice device+-- >     , uint32_t bindInfoCount+-- >     , const VkBindBufferMemoryInfo* pBindInfos+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindBufferMemory2 vkBindBufferMemory2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myBindBufferMemory2 <- vkGetDeviceProc @VkBindBufferMemory2 vkDevice+--+-- or less efficient:+--+-- > myBindBufferMemory2 <- vkGetProc @VkBindBufferMemory2+--+-- __Note:__ @vkBindBufferMemory2Unsafe@ and @vkBindBufferMemory2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkBindBufferMemory2@ is an alias+--           of @vkBindBufferMemory2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkBindBufferMemory2Safe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe "vkBindBufferMemory2"+               vkBindBufferMemory2Safe ::+               VkDevice -- ^ device+                        -> Word32 -- ^ bindInfoCount+                                  -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos+                                                                -> IO VkResult++#else+vkBindBufferMemory2Safe ::+                        VkDevice -- ^ device+                                 -> Word32 -- ^ bindInfoCount+                                           -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos+                                                                         -> IO VkResult+vkBindBufferMemory2Safe+  = unsafeDupablePerformIO (vkGetProcSafe @VkBindBufferMemory2)++{-# NOINLINE vkBindBufferMemory2Safe #-}+#endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindBufferMemory2+-- >     ( VkDevice device+-- >     , uint32_t bindInfoCount+-- >     , const VkBindBufferMemoryInfo* pBindInfos+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindBufferMemory2 vkBindBufferMemory2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myBindBufferMemory2 <- vkGetDeviceProc @VkBindBufferMemory2 vkDevice+--+-- or less efficient:+--+-- > myBindBufferMemory2 <- vkGetProc @VkBindBufferMemory2+--+-- __Note:__ @vkBindBufferMemory2Unsafe@ and @vkBindBufferMemory2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkBindBufferMemory2@ is an alias+--           of @vkBindBufferMemory2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkBindBufferMemory2Safe@.+--+vkBindBufferMemory2 ::+                    VkDevice -- ^ device+                             -> Word32 -- ^ bindInfoCount+                                       -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos+                                                                     -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkBindBufferMemory2 = vkBindBufferMemory2Unsafe+#else+vkBindBufferMemory2 = vkBindBufferMemory2Safe++#endif+{-# INLINE vkBindBufferMemory2 #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkBindBufferMemory2+--   >     ( VkDevice device+--   >     , uint32_t bindInfoCount+--   >     , const VkBindBufferMemoryInfo* pBindInfos+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindBufferMemory2 vkBindBufferMemory2 registry at www.khronos.org>+type HS_vkBindBufferMemory2 =+     VkDevice -- ^ device+              -> Word32 -- ^ bindInfoCount+                        -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos+                                                      -> IO VkResult++type PFN_vkBindBufferMemory2 = FunPtr HS_vkBindBufferMemory2++foreign import ccall unsafe "dynamic"+               unwrapVkBindBufferMemory2Unsafe ::+               PFN_vkBindBufferMemory2 -> HS_vkBindBufferMemory2++foreign import ccall safe "dynamic" unwrapVkBindBufferMemory2Safe+               :: PFN_vkBindBufferMemory2 -> HS_vkBindBufferMemory2++instance VulkanProc "vkBindBufferMemory2" where+    type VkProcType "vkBindBufferMemory2" = HS_vkBindBufferMemory2+    vkProcSymbol = _VkBindBufferMemory2++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkBindBufferMemory2Unsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkBindBufferMemory2Safe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkBindImageMemory2 :: CString++pattern VkBindImageMemory2 <- (is_VkBindImageMemory2 -> True)+  where+    VkBindImageMemory2 = _VkBindImageMemory2++{-# INLINE _VkBindImageMemory2 #-}++_VkBindImageMemory2 :: CString+_VkBindImageMemory2 = Ptr "vkBindImageMemory2\NUL"#++{-# INLINE is_VkBindImageMemory2 #-}++is_VkBindImageMemory2 :: CString -> Bool+is_VkBindImageMemory2 = (EQ ==) . cmpCStrings _VkBindImageMemory2++type VkBindImageMemory2 = "vkBindImageMemory2"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindImageMemory2+-- >     ( VkDevice device+-- >     , uint32_t bindInfoCount+-- >     , const VkBindImageMemoryInfo* pBindInfos+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindImageMemory2 vkBindImageMemory2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myBindImageMemory2 <- vkGetDeviceProc @VkBindImageMemory2 vkDevice+--+-- or less efficient:+--+-- > myBindImageMemory2 <- vkGetProc @VkBindImageMemory2+--+-- __Note:__ @vkBindImageMemory2Unsafe@ and @vkBindImageMemory2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkBindImageMemory2@ is an alias+--           of @vkBindImageMemory2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkBindImageMemory2Safe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe "vkBindImageMemory2"+               vkBindImageMemory2Unsafe ::+               VkDevice -- ^ device+                        -> Word32 -- ^ bindInfoCount+                                  -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos+                                                               -> IO VkResult++#else+vkBindImageMemory2Unsafe ::+                         VkDevice -- ^ device+                                  -> Word32 -- ^ bindInfoCount+                                            -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos+                                                                         -> IO VkResult+vkBindImageMemory2Unsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkBindImageMemory2)++{-# NOINLINE vkBindImageMemory2Unsafe #-}+#endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindImageMemory2+-- >     ( VkDevice device+-- >     , uint32_t bindInfoCount+-- >     , const VkBindImageMemoryInfo* pBindInfos+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindImageMemory2 vkBindImageMemory2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myBindImageMemory2 <- vkGetDeviceProc @VkBindImageMemory2 vkDevice+--+-- or less efficient:+--+-- > myBindImageMemory2 <- vkGetProc @VkBindImageMemory2+--+-- __Note:__ @vkBindImageMemory2Unsafe@ and @vkBindImageMemory2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkBindImageMemory2@ is an alias+--           of @vkBindImageMemory2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkBindImageMemory2Safe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe "vkBindImageMemory2"+               vkBindImageMemory2Safe ::+               VkDevice -- ^ device+                        -> Word32 -- ^ bindInfoCount+                                  -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos+                                                               -> IO VkResult++#else+vkBindImageMemory2Safe ::+                       VkDevice -- ^ device+                                -> Word32 -- ^ bindInfoCount+                                          -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos+                                                                       -> IO VkResult+vkBindImageMemory2Safe+  = unsafeDupablePerformIO (vkGetProcSafe @VkBindImageMemory2)++{-# NOINLINE vkBindImageMemory2Safe #-}+#endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindImageMemory2+-- >     ( VkDevice device+-- >     , uint32_t bindInfoCount+-- >     , const VkBindImageMemoryInfo* pBindInfos+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindImageMemory2 vkBindImageMemory2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myBindImageMemory2 <- vkGetDeviceProc @VkBindImageMemory2 vkDevice+--+-- or less efficient:+--+-- > myBindImageMemory2 <- vkGetProc @VkBindImageMemory2+--+-- __Note:__ @vkBindImageMemory2Unsafe@ and @vkBindImageMemory2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkBindImageMemory2@ is an alias+--           of @vkBindImageMemory2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkBindImageMemory2Safe@.+--+vkBindImageMemory2 ::+                   VkDevice -- ^ device+                            -> Word32 -- ^ bindInfoCount+                                      -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos+                                                                   -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkBindImageMemory2 = vkBindImageMemory2Unsafe+#else+vkBindImageMemory2 = vkBindImageMemory2Safe++#endif+{-# INLINE vkBindImageMemory2 #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkBindImageMemory2+--   >     ( VkDevice device+--   >     , uint32_t bindInfoCount+--   >     , const VkBindImageMemoryInfo* pBindInfos+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindImageMemory2 vkBindImageMemory2 registry at www.khronos.org>+type HS_vkBindImageMemory2 =+     VkDevice -- ^ device+              -> Word32 -- ^ bindInfoCount+                        -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos+                                                     -> IO VkResult++type PFN_vkBindImageMemory2 = FunPtr HS_vkBindImageMemory2++foreign import ccall unsafe "dynamic"+               unwrapVkBindImageMemory2Unsafe ::+               PFN_vkBindImageMemory2 -> HS_vkBindImageMemory2++foreign import ccall safe "dynamic" unwrapVkBindImageMemory2Safe ::+               PFN_vkBindImageMemory2 -> HS_vkBindImageMemory2++instance VulkanProc "vkBindImageMemory2" where+    type VkProcType "vkBindImageMemory2" = HS_vkBindImageMemory2+    vkProcSymbol = _VkBindImageMemory2++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkBindImageMemory2Unsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkBindImageMemory2Safe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO =+        VkStructureType 1000157000++pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO =+        VkStructureType 1000157001++-- | bitpos = @10@+pattern VK_IMAGE_CREATE_ALIAS_BIT :: VkImageCreateBitmask a++pattern VK_IMAGE_CREATE_ALIAS_BIT = VkImageCreateBitmask 1024++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES =+        VkStructureType 1000083000++pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS =+        VkStructureType 1000127000++pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO =+        VkStructureType 1000127001++pattern VkGetDeviceGroupPeerMemoryFeatures :: CString++pattern VkGetDeviceGroupPeerMemoryFeatures <-+        (is_VkGetDeviceGroupPeerMemoryFeatures -> True)+  where+    VkGetDeviceGroupPeerMemoryFeatures+      = _VkGetDeviceGroupPeerMemoryFeatures++{-# INLINE _VkGetDeviceGroupPeerMemoryFeatures #-}++_VkGetDeviceGroupPeerMemoryFeatures :: CString+_VkGetDeviceGroupPeerMemoryFeatures+  = Ptr "vkGetDeviceGroupPeerMemoryFeatures\NUL"#++{-# INLINE is_VkGetDeviceGroupPeerMemoryFeatures #-}++is_VkGetDeviceGroupPeerMemoryFeatures :: CString -> Bool+is_VkGetDeviceGroupPeerMemoryFeatures+  = (EQ ==) . cmpCStrings _VkGetDeviceGroupPeerMemoryFeatures++type VkGetDeviceGroupPeerMemoryFeatures =+     "vkGetDeviceGroupPeerMemoryFeatures"++-- |+-- > void vkGetDeviceGroupPeerMemoryFeatures+-- >     ( VkDevice device+-- >     , uint32_t heapIndex+-- >     , uint32_t localDeviceIndex+-- >     , uint32_t remoteDeviceIndex+-- >     , VkPeerMemoryFeatureFlags* pPeerMemoryFeatures+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceGroupPeerMemoryFeatures <- vkGetDeviceProc @VkGetDeviceGroupPeerMemoryFeatures vkDevice+--+-- or less efficient:+--+-- > myGetDeviceGroupPeerMemoryFeatures <- vkGetProc @VkGetDeviceGroupPeerMemoryFeatures+--+-- __Note:__ @vkGetDeviceGroupPeerMemoryFeaturesUnsafe@ and @vkGetDeviceGroupPeerMemoryFeaturesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDeviceGroupPeerMemoryFeatures@ is an alias+--           of @vkGetDeviceGroupPeerMemoryFeaturesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDeviceGroupPeerMemoryFeaturesSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe "vkGetDeviceGroupPeerMemoryFeatures"+               vkGetDeviceGroupPeerMemoryFeaturesUnsafe ::+               VkDevice -- ^ device+                        ->+                 Word32 -- ^ heapIndex+                        -> Word32 -- ^ localDeviceIndex+                                  -> Word32 -- ^ remoteDeviceIndex+                                            -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures+                                                                            -> IO ()++#else+vkGetDeviceGroupPeerMemoryFeaturesUnsafe ::+                                         VkDevice -- ^ device+                                                  ->+                                           Word32 -- ^ heapIndex+                                                  ->+                                             Word32 -- ^ localDeviceIndex+                                                    ->+                                               Word32 -- ^ remoteDeviceIndex+                                                      -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures+                                                                                      -> IO ()+vkGetDeviceGroupPeerMemoryFeaturesUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetDeviceGroupPeerMemoryFeatures)++{-# NOINLINE vkGetDeviceGroupPeerMemoryFeaturesUnsafe #-}+#endif++-- |+-- > void vkGetDeviceGroupPeerMemoryFeatures+-- >     ( VkDevice device+-- >     , uint32_t heapIndex+-- >     , uint32_t localDeviceIndex+-- >     , uint32_t remoteDeviceIndex+-- >     , VkPeerMemoryFeatureFlags* pPeerMemoryFeatures+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceGroupPeerMemoryFeatures <- vkGetDeviceProc @VkGetDeviceGroupPeerMemoryFeatures vkDevice+--+-- or less efficient:+--+-- > myGetDeviceGroupPeerMemoryFeatures <- vkGetProc @VkGetDeviceGroupPeerMemoryFeatures+--+-- __Note:__ @vkGetDeviceGroupPeerMemoryFeaturesUnsafe@ and @vkGetDeviceGroupPeerMemoryFeaturesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDeviceGroupPeerMemoryFeatures@ is an alias+--           of @vkGetDeviceGroupPeerMemoryFeaturesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDeviceGroupPeerMemoryFeaturesSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe "vkGetDeviceGroupPeerMemoryFeatures"+               vkGetDeviceGroupPeerMemoryFeaturesSafe ::+               VkDevice -- ^ device+                        ->+                 Word32 -- ^ heapIndex+                        -> Word32 -- ^ localDeviceIndex+                                  -> Word32 -- ^ remoteDeviceIndex+                                            -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures+                                                                            -> IO ()++#else+vkGetDeviceGroupPeerMemoryFeaturesSafe ::+                                       VkDevice -- ^ device+                                                ->+                                         Word32 -- ^ heapIndex+                                                ->+                                           Word32 -- ^ localDeviceIndex+                                                  -> Word32 -- ^ remoteDeviceIndex+                                                            -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures+                                                                                            -> IO ()+vkGetDeviceGroupPeerMemoryFeaturesSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetDeviceGroupPeerMemoryFeatures)++{-# NOINLINE vkGetDeviceGroupPeerMemoryFeaturesSafe #-}+#endif++-- |+-- > void vkGetDeviceGroupPeerMemoryFeatures+-- >     ( VkDevice device+-- >     , uint32_t heapIndex+-- >     , uint32_t localDeviceIndex+-- >     , uint32_t remoteDeviceIndex+-- >     , VkPeerMemoryFeatureFlags* pPeerMemoryFeatures+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceGroupPeerMemoryFeatures <- vkGetDeviceProc @VkGetDeviceGroupPeerMemoryFeatures vkDevice+--+-- or less efficient:+--+-- > myGetDeviceGroupPeerMemoryFeatures <- vkGetProc @VkGetDeviceGroupPeerMemoryFeatures+--+-- __Note:__ @vkGetDeviceGroupPeerMemoryFeaturesUnsafe@ and @vkGetDeviceGroupPeerMemoryFeaturesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDeviceGroupPeerMemoryFeatures@ is an alias+--           of @vkGetDeviceGroupPeerMemoryFeaturesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDeviceGroupPeerMemoryFeaturesSafe@.+--+vkGetDeviceGroupPeerMemoryFeatures ::+                                   VkDevice -- ^ device+                                            ->+                                     Word32 -- ^ heapIndex+                                            ->+                                       Word32 -- ^ localDeviceIndex+                                              -> Word32 -- ^ remoteDeviceIndex+                                                        -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures+                                                                                        -> IO ()+#ifdef UNSAFE_FFI_DEFAULT+vkGetDeviceGroupPeerMemoryFeatures+  = vkGetDeviceGroupPeerMemoryFeaturesUnsafe+#else+vkGetDeviceGroupPeerMemoryFeatures+  = vkGetDeviceGroupPeerMemoryFeaturesSafe++#endif+{-# INLINE vkGetDeviceGroupPeerMemoryFeatures #-}++-- | > void vkGetDeviceGroupPeerMemoryFeatures+--   >     ( VkDevice device+--   >     , uint32_t heapIndex+--   >     , uint32_t localDeviceIndex+--   >     , uint32_t remoteDeviceIndex+--   >     , VkPeerMemoryFeatureFlags* pPeerMemoryFeatures+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures registry at www.khronos.org>+type HS_vkGetDeviceGroupPeerMemoryFeatures =+     VkDevice -- ^ device+              ->+       Word32 -- ^ heapIndex+              -> Word32 -- ^ localDeviceIndex+                        -> Word32 -- ^ remoteDeviceIndex+                                  -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures+                                                                  -> IO ()++type PFN_vkGetDeviceGroupPeerMemoryFeatures =+     FunPtr HS_vkGetDeviceGroupPeerMemoryFeatures++foreign import ccall unsafe "dynamic"+               unwrapVkGetDeviceGroupPeerMemoryFeaturesUnsafe ::+               PFN_vkGetDeviceGroupPeerMemoryFeatures ->+                 HS_vkGetDeviceGroupPeerMemoryFeatures++foreign import ccall safe "dynamic"+               unwrapVkGetDeviceGroupPeerMemoryFeaturesSafe ::+               PFN_vkGetDeviceGroupPeerMemoryFeatures ->+                 HS_vkGetDeviceGroupPeerMemoryFeatures++instance VulkanProc "vkGetDeviceGroupPeerMemoryFeatures" where+    type VkProcType "vkGetDeviceGroupPeerMemoryFeatures" =+         HS_vkGetDeviceGroupPeerMemoryFeatures+    vkProcSymbol = _VkGetDeviceGroupPeerMemoryFeatures++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetDeviceGroupPeerMemoryFeaturesUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetDeviceGroupPeerMemoryFeaturesSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdSetDeviceMask :: CString++pattern VkCmdSetDeviceMask <- (is_VkCmdSetDeviceMask -> True)+  where+    VkCmdSetDeviceMask = _VkCmdSetDeviceMask++{-# INLINE _VkCmdSetDeviceMask #-}++_VkCmdSetDeviceMask :: CString+_VkCmdSetDeviceMask = Ptr "vkCmdSetDeviceMask\NUL"#++{-# INLINE is_VkCmdSetDeviceMask #-}++is_VkCmdSetDeviceMask :: CString -> Bool+is_VkCmdSetDeviceMask = (EQ ==) . cmpCStrings _VkCmdSetDeviceMask++type VkCmdSetDeviceMask = "vkCmdSetDeviceMask"++-- |+-- Queues: 'graphics', 'compute', 'transfer'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetDeviceMask+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t deviceMask+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDeviceMask vkCmdSetDeviceMask registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetDeviceMask <- vkGetInstanceProc @VkCmdSetDeviceMask vkInstance+--+-- or less efficient:+--+-- > myCmdSetDeviceMask <- vkGetProc @VkCmdSetDeviceMask+--+-- __Note:__ @vkCmdSetDeviceMaskUnsafe@ and @vkCmdSetDeviceMaskSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetDeviceMask@ is an alias+--           of @vkCmdSetDeviceMaskUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetDeviceMaskSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe "vkCmdSetDeviceMask"+               vkCmdSetDeviceMaskUnsafe :: VkCommandBuffer -- ^ commandBuffer+                                                           -> Word32 -- ^ deviceMask+                                                                     -> IO ()++#else+vkCmdSetDeviceMaskUnsafe :: VkCommandBuffer -- ^ commandBuffer+                                            -> Word32 -- ^ deviceMask+                                                      -> IO ()+vkCmdSetDeviceMaskUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdSetDeviceMask)++{-# NOINLINE vkCmdSetDeviceMaskUnsafe #-}+#endif++-- |+-- Queues: 'graphics', 'compute', 'transfer'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetDeviceMask+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t deviceMask+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDeviceMask vkCmdSetDeviceMask registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetDeviceMask <- vkGetInstanceProc @VkCmdSetDeviceMask vkInstance+--+-- or less efficient:+--+-- > myCmdSetDeviceMask <- vkGetProc @VkCmdSetDeviceMask+--+-- __Note:__ @vkCmdSetDeviceMaskUnsafe@ and @vkCmdSetDeviceMaskSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetDeviceMask@ is an alias+--           of @vkCmdSetDeviceMaskUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetDeviceMaskSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe "vkCmdSetDeviceMask"+               vkCmdSetDeviceMaskSafe :: VkCommandBuffer -- ^ commandBuffer+                                                         -> Word32 -- ^ deviceMask+                                                                   -> IO ()++#else+vkCmdSetDeviceMaskSafe :: VkCommandBuffer -- ^ commandBuffer+                                          -> Word32 -- ^ deviceMask+                                                    -> IO ()+vkCmdSetDeviceMaskSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdSetDeviceMask)++{-# NOINLINE vkCmdSetDeviceMaskSafe #-}+#endif++-- |+-- Queues: 'graphics', 'compute', 'transfer'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetDeviceMask+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t deviceMask+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDeviceMask vkCmdSetDeviceMask registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetDeviceMask <- vkGetInstanceProc @VkCmdSetDeviceMask vkInstance+--+-- or less efficient:+--+-- > myCmdSetDeviceMask <- vkGetProc @VkCmdSetDeviceMask+--+-- __Note:__ @vkCmdSetDeviceMaskUnsafe@ and @vkCmdSetDeviceMaskSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdSetDeviceMask@ is an alias+--           of @vkCmdSetDeviceMaskUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdSetDeviceMaskSafe@.+--+vkCmdSetDeviceMask :: VkCommandBuffer -- ^ commandBuffer+                                      -> Word32 -- ^ deviceMask+                                                -> IO ()+#ifdef UNSAFE_FFI_DEFAULT+vkCmdSetDeviceMask = vkCmdSetDeviceMaskUnsafe+#else+vkCmdSetDeviceMask = vkCmdSetDeviceMaskSafe++#endif+{-# INLINE vkCmdSetDeviceMask #-}++-- | Queues: 'graphics', 'compute', 'transfer'.+--+--   Renderpass: @both@+--+--   > void vkCmdSetDeviceMask+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t deviceMask+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDeviceMask vkCmdSetDeviceMask registry at www.khronos.org>+type HS_vkCmdSetDeviceMask = VkCommandBuffer -- ^ commandBuffer+                                             -> Word32 -- ^ deviceMask+                                                       -> IO ()++type PFN_vkCmdSetDeviceMask = FunPtr HS_vkCmdSetDeviceMask++foreign import ccall unsafe "dynamic"+               unwrapVkCmdSetDeviceMaskUnsafe ::+               PFN_vkCmdSetDeviceMask -> HS_vkCmdSetDeviceMask++foreign import ccall safe "dynamic" unwrapVkCmdSetDeviceMaskSafe ::+               PFN_vkCmdSetDeviceMask -> HS_vkCmdSetDeviceMask++instance VulkanProc "vkCmdSetDeviceMask" where+    type VkProcType "vkCmdSetDeviceMask" = HS_vkCmdSetDeviceMask+    vkProcSymbol = _VkCmdSetDeviceMask++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdSetDeviceMaskUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdSetDeviceMaskSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdDispatchBase :: CString++pattern VkCmdDispatchBase <- (is_VkCmdDispatchBase -> True)+  where+    VkCmdDispatchBase = _VkCmdDispatchBase++{-# INLINE _VkCmdDispatchBase #-}++_VkCmdDispatchBase :: CString+_VkCmdDispatchBase = Ptr "vkCmdDispatchBase\NUL"#++{-# INLINE is_VkCmdDispatchBase #-}++is_VkCmdDispatchBase :: CString -> Bool+is_VkCmdDispatchBase = (EQ ==) . cmpCStrings _VkCmdDispatchBase++type VkCmdDispatchBase = "vkCmdDispatchBase"++-- |+-- Queues: 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdDispatchBase+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t baseGroupX+-- >     , uint32_t baseGroupY+-- >     , uint32_t baseGroupZ+-- >     , uint32_t groupCountX+-- >     , uint32_t groupCountY+-- >     , uint32_t groupCountZ+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatchBase vkCmdDispatchBase registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDispatchBase <- vkGetInstanceProc @VkCmdDispatchBase vkInstance+--+-- or less efficient:+--+-- > myCmdDispatchBase <- vkGetProc @VkCmdDispatchBase+--+-- __Note:__ @vkCmdDispatchBaseUnsafe@ and @vkCmdDispatchBaseSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdDispatchBase@ is an alias+--           of @vkCmdDispatchBaseUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdDispatchBaseSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe "vkCmdDispatchBase"+               vkCmdDispatchBaseUnsafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Word32 -- ^ baseGroupX+                        -> Word32 -- ^ baseGroupY+                                  -> Word32 -- ^ baseGroupZ+                                            -> Word32 -- ^ groupCountX+                                                      -> Word32 -- ^ groupCountY+                                                                -> Word32 -- ^ groupCountZ+                                                                          -> IO ()++#else+vkCmdDispatchBaseUnsafe ::+                        VkCommandBuffer -- ^ commandBuffer+                                        ->+                          Word32 -- ^ baseGroupX+                                 -> Word32 -- ^ baseGroupY+                                           -> Word32 -- ^ baseGroupZ+                                                     -> Word32 -- ^ groupCountX+                                                               -> Word32 -- ^ groupCountY+                                                                         -> Word32 -- ^ groupCountZ+                                                                                   -> IO ()+vkCmdDispatchBaseUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCmdDispatchBase)++{-# NOINLINE vkCmdDispatchBaseUnsafe #-}+#endif++-- |+-- Queues: 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdDispatchBase+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t baseGroupX+-- >     , uint32_t baseGroupY+-- >     , uint32_t baseGroupZ+-- >     , uint32_t groupCountX+-- >     , uint32_t groupCountY+-- >     , uint32_t groupCountZ+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatchBase vkCmdDispatchBase registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDispatchBase <- vkGetInstanceProc @VkCmdDispatchBase vkInstance+--+-- or less efficient:+--+-- > myCmdDispatchBase <- vkGetProc @VkCmdDispatchBase+--+-- __Note:__ @vkCmdDispatchBaseUnsafe@ and @vkCmdDispatchBaseSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdDispatchBase@ is an alias+--           of @vkCmdDispatchBaseUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdDispatchBaseSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe "vkCmdDispatchBase" vkCmdDispatchBaseSafe+               ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Word32 -- ^ baseGroupX+                        -> Word32 -- ^ baseGroupY+                                  -> Word32 -- ^ baseGroupZ+                                            -> Word32 -- ^ groupCountX+                                                      -> Word32 -- ^ groupCountY+                                                                -> Word32 -- ^ groupCountZ+                                                                          -> IO ()++#else+vkCmdDispatchBaseSafe ::+                      VkCommandBuffer -- ^ commandBuffer+                                      ->+                        Word32 -- ^ baseGroupX+                               -> Word32 -- ^ baseGroupY+                                         -> Word32 -- ^ baseGroupZ+                                                   -> Word32 -- ^ groupCountX+                                                             -> Word32 -- ^ groupCountY+                                                                       -> Word32 -- ^ groupCountZ+                                                                                 -> IO ()+vkCmdDispatchBaseSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkCmdDispatchBase)++{-# NOINLINE vkCmdDispatchBaseSafe #-}+#endif++-- |+-- Queues: 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdDispatchBase+-- >     ( VkCommandBuffer commandBuffer+-- >     , uint32_t baseGroupX+-- >     , uint32_t baseGroupY+-- >     , uint32_t baseGroupZ+-- >     , uint32_t groupCountX+-- >     , uint32_t groupCountY+-- >     , uint32_t groupCountZ+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatchBase vkCmdDispatchBase registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDispatchBase <- vkGetInstanceProc @VkCmdDispatchBase vkInstance+--+-- or less efficient:+--+-- > myCmdDispatchBase <- vkGetProc @VkCmdDispatchBase+--+-- __Note:__ @vkCmdDispatchBaseUnsafe@ and @vkCmdDispatchBaseSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCmdDispatchBase@ is an alias+--           of @vkCmdDispatchBaseUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCmdDispatchBaseSafe@.+--+vkCmdDispatchBase ::+                  VkCommandBuffer -- ^ commandBuffer+                                  ->+                    Word32 -- ^ baseGroupX+                           -> Word32 -- ^ baseGroupY+                                     -> Word32 -- ^ baseGroupZ+                                               -> Word32 -- ^ groupCountX+                                                         -> Word32 -- ^ groupCountY+                                                                   -> Word32 -- ^ groupCountZ+                                                                             -> IO ()+#ifdef UNSAFE_FFI_DEFAULT+vkCmdDispatchBase = vkCmdDispatchBaseUnsafe+#else+vkCmdDispatchBase = vkCmdDispatchBaseSafe++#endif+{-# INLINE vkCmdDispatchBase #-}++-- | Queues: 'compute'.+--+--   Renderpass: @outside@+--+--   > void vkCmdDispatchBase+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t baseGroupX+--   >     , uint32_t baseGroupY+--   >     , uint32_t baseGroupZ+--   >     , uint32_t groupCountX+--   >     , uint32_t groupCountY+--   >     , uint32_t groupCountZ+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatchBase vkCmdDispatchBase registry at www.khronos.org>+type HS_vkCmdDispatchBase =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       Word32 -- ^ baseGroupX+              -> Word32 -- ^ baseGroupY+                        -> Word32 -- ^ baseGroupZ+                                  -> Word32 -- ^ groupCountX+                                            -> Word32 -- ^ groupCountY+                                                      -> Word32 -- ^ groupCountZ+                                                                -> IO ()++type PFN_vkCmdDispatchBase = FunPtr HS_vkCmdDispatchBase++foreign import ccall unsafe "dynamic" unwrapVkCmdDispatchBaseUnsafe+               :: PFN_vkCmdDispatchBase -> HS_vkCmdDispatchBase++foreign import ccall safe "dynamic" unwrapVkCmdDispatchBaseSafe ::+               PFN_vkCmdDispatchBase -> HS_vkCmdDispatchBase++instance VulkanProc "vkCmdDispatchBase" where+    type VkProcType "vkCmdDispatchBase" = HS_vkCmdDispatchBase+    vkProcSymbol = _VkCmdDispatchBase++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdDispatchBaseUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdDispatchBaseSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO =+        VkStructureType 1000060000++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO =+        VkStructureType 1000060003++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO =+        VkStructureType 1000060004++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO =+        VkStructureType 1000060005++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO =+        VkStructureType 1000060006++-- | bitpos = @3@+pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT ::+        VkPipelineCreateBitmask a++pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT =+        VkPipelineCreateBitmask 8++-- | bitpos = @4@+pattern VK_PIPELINE_CREATE_DISPATCH_BASE ::+        VkPipelineCreateBitmask a++pattern VK_PIPELINE_CREATE_DISPATCH_BASE =+        VkPipelineCreateBitmask 16++-- | Dependency is across devices+--+--   bitpos = @2@+pattern VK_DEPENDENCY_DEVICE_GROUP_BIT :: VkDependencyBitmask a++pattern VK_DEPENDENCY_DEVICE_GROUP_BIT = VkDependencyBitmask 4++pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO =+        VkStructureType 1000060013++pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO =+        VkStructureType 1000060014++-- | Allows using VkBindImageMemoryDeviceGroupInfo::pSplitInstanceBindRegions when binding memory to the image+--+--   bitpos = @6@+pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT ::+        VkImageCreateBitmask a++pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT =+        VkImageCreateBitmask 64++pattern VkEnumeratePhysicalDeviceGroups :: CString++pattern VkEnumeratePhysicalDeviceGroups <-+        (is_VkEnumeratePhysicalDeviceGroups -> True)+  where+    VkEnumeratePhysicalDeviceGroups = _VkEnumeratePhysicalDeviceGroups++{-# INLINE _VkEnumeratePhysicalDeviceGroups #-}++_VkEnumeratePhysicalDeviceGroups :: CString+_VkEnumeratePhysicalDeviceGroups+  = Ptr "vkEnumeratePhysicalDeviceGroups\NUL"#++{-# INLINE is_VkEnumeratePhysicalDeviceGroups #-}++is_VkEnumeratePhysicalDeviceGroups :: CString -> Bool+is_VkEnumeratePhysicalDeviceGroups+  = (EQ ==) . cmpCStrings _VkEnumeratePhysicalDeviceGroups++type VkEnumeratePhysicalDeviceGroups =+     "vkEnumeratePhysicalDeviceGroups"++-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+-- > VkResult vkEnumeratePhysicalDeviceGroups+-- >     ( VkInstance instance+-- >     , uint32_t* pPhysicalDeviceGroupCount+-- >     , VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumeratePhysicalDeviceGroups <- vkGetInstanceProc @VkEnumeratePhysicalDeviceGroups vkInstance+--+-- or less efficient:+--+-- > myEnumeratePhysicalDeviceGroups <- vkGetProc @VkEnumeratePhysicalDeviceGroups+--+-- __Note:__ @vkEnumeratePhysicalDeviceGroupsUnsafe@ and @vkEnumeratePhysicalDeviceGroupsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkEnumeratePhysicalDeviceGroups@ is an alias+--           of @vkEnumeratePhysicalDeviceGroupsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkEnumeratePhysicalDeviceGroupsSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe "vkEnumeratePhysicalDeviceGroups"+               vkEnumeratePhysicalDeviceGroupsUnsafe ::+               VkInstance -- ^ instance+                          ->+                 Ptr Word32 -- ^ pPhysicalDeviceGroupCount+                            -> Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties+                                                                   -> IO VkResult++#else+vkEnumeratePhysicalDeviceGroupsUnsafe ::+                                      VkInstance -- ^ instance+                                                 ->+                                        Ptr Word32 -- ^ pPhysicalDeviceGroupCount+                                                   ->+                                          Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties+                                                                              -> IO VkResult+vkEnumeratePhysicalDeviceGroupsUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkEnumeratePhysicalDeviceGroups)++{-# NOINLINE vkEnumeratePhysicalDeviceGroupsUnsafe #-}+#endif++-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+-- > VkResult vkEnumeratePhysicalDeviceGroups+-- >     ( VkInstance instance+-- >     , uint32_t* pPhysicalDeviceGroupCount+-- >     , VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumeratePhysicalDeviceGroups <- vkGetInstanceProc @VkEnumeratePhysicalDeviceGroups vkInstance+--+-- or less efficient:+--+-- > myEnumeratePhysicalDeviceGroups <- vkGetProc @VkEnumeratePhysicalDeviceGroups+--+-- __Note:__ @vkEnumeratePhysicalDeviceGroupsUnsafe@ and @vkEnumeratePhysicalDeviceGroupsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkEnumeratePhysicalDeviceGroups@ is an alias+--           of @vkEnumeratePhysicalDeviceGroupsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkEnumeratePhysicalDeviceGroupsSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe "vkEnumeratePhysicalDeviceGroups"+               vkEnumeratePhysicalDeviceGroupsSafe ::+               VkInstance -- ^ instance+                          ->+                 Ptr Word32 -- ^ pPhysicalDeviceGroupCount+                            -> Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties+                                                                   -> IO VkResult++#else+vkEnumeratePhysicalDeviceGroupsSafe ::+                                    VkInstance -- ^ instance+                                               ->+                                      Ptr Word32 -- ^ pPhysicalDeviceGroupCount+                                                 ->+                                        Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties+                                                                            -> IO VkResult+vkEnumeratePhysicalDeviceGroupsSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkEnumeratePhysicalDeviceGroups)++{-# NOINLINE vkEnumeratePhysicalDeviceGroupsSafe #-}+#endif++-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+-- > VkResult vkEnumeratePhysicalDeviceGroups+-- >     ( VkInstance instance+-- >     , uint32_t* pPhysicalDeviceGroupCount+-- >     , VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumeratePhysicalDeviceGroups <- vkGetInstanceProc @VkEnumeratePhysicalDeviceGroups vkInstance+--+-- or less efficient:+--+-- > myEnumeratePhysicalDeviceGroups <- vkGetProc @VkEnumeratePhysicalDeviceGroups+--+-- __Note:__ @vkEnumeratePhysicalDeviceGroupsUnsafe@ and @vkEnumeratePhysicalDeviceGroupsSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkEnumeratePhysicalDeviceGroups@ is an alias+--           of @vkEnumeratePhysicalDeviceGroupsUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkEnumeratePhysicalDeviceGroupsSafe@.+--+vkEnumeratePhysicalDeviceGroups ::+                                VkInstance -- ^ instance+                                           ->+                                  Ptr Word32 -- ^ pPhysicalDeviceGroupCount+                                             -> Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties+                                                                                    -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkEnumeratePhysicalDeviceGroups+  = vkEnumeratePhysicalDeviceGroupsUnsafe+#else+vkEnumeratePhysicalDeviceGroups+  = vkEnumeratePhysicalDeviceGroupsSafe++#endif+{-# INLINE vkEnumeratePhysicalDeviceGroups #-}++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+--   > VkResult vkEnumeratePhysicalDeviceGroups+--   >     ( VkInstance instance+--   >     , uint32_t* pPhysicalDeviceGroupCount+--   >     , VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups registry at www.khronos.org>+type HS_vkEnumeratePhysicalDeviceGroups =+     VkInstance -- ^ instance+                ->+       Ptr Word32 -- ^ pPhysicalDeviceGroupCount+                  -> Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties+                                                         -> IO VkResult++type PFN_vkEnumeratePhysicalDeviceGroups =+     FunPtr HS_vkEnumeratePhysicalDeviceGroups++foreign import ccall unsafe "dynamic"+               unwrapVkEnumeratePhysicalDeviceGroupsUnsafe ::+               PFN_vkEnumeratePhysicalDeviceGroups ->+                 HS_vkEnumeratePhysicalDeviceGroups++foreign import ccall safe "dynamic"+               unwrapVkEnumeratePhysicalDeviceGroupsSafe ::+               PFN_vkEnumeratePhysicalDeviceGroups ->+                 HS_vkEnumeratePhysicalDeviceGroups++instance VulkanProc "vkEnumeratePhysicalDeviceGroups" where+    type VkProcType "vkEnumeratePhysicalDeviceGroups" =+         HS_vkEnumeratePhysicalDeviceGroups+    vkProcSymbol = _VkEnumeratePhysicalDeviceGroups++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkEnumeratePhysicalDeviceGroupsUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkEnumeratePhysicalDeviceGroupsSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES =+        VkStructureType 1000070000++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO =+        VkStructureType 1000070001++-- | If set, heap allocations allocate multiple instances by default+--+--   bitpos = @1@+pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT :: VkMemoryHeapBitmask a++pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = VkMemoryHeapBitmask 2++pattern VkGetImageMemoryRequirements2 :: CString++pattern VkGetImageMemoryRequirements2 <-+        (is_VkGetImageMemoryRequirements2 -> True)+  where+    VkGetImageMemoryRequirements2 = _VkGetImageMemoryRequirements2++{-# INLINE _VkGetImageMemoryRequirements2 #-}++_VkGetImageMemoryRequirements2 :: CString+_VkGetImageMemoryRequirements2+  = Ptr "vkGetImageMemoryRequirements2\NUL"#++{-# INLINE is_VkGetImageMemoryRequirements2 #-}++is_VkGetImageMemoryRequirements2 :: CString -> Bool+is_VkGetImageMemoryRequirements2+  = (EQ ==) . cmpCStrings _VkGetImageMemoryRequirements2++type VkGetImageMemoryRequirements2 =+     "vkGetImageMemoryRequirements2"++-- |+-- > void vkGetImageMemoryRequirements2+-- >     ( VkDevice device+-- >     , const VkImageMemoryRequirementsInfo2* pInfo+-- >     , VkMemoryRequirements2* pMemoryRequirements+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetImageMemoryRequirements2 <- vkGetDeviceProc @VkGetImageMemoryRequirements2 vkDevice+--+-- or less efficient:+--+-- > myGetImageMemoryRequirements2 <- vkGetProc @VkGetImageMemoryRequirements2+--+-- __Note:__ @vkGetImageMemoryRequirements2Unsafe@ and @vkGetImageMemoryRequirements2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetImageMemoryRequirements2@ is an alias+--           of @vkGetImageMemoryRequirements2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetImageMemoryRequirements2Safe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe "vkGetImageMemoryRequirements2"+               vkGetImageMemoryRequirements2Unsafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo+                                                    ->+                   Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+                                             -> IO ()++#else+vkGetImageMemoryRequirements2Unsafe ::+                                    VkDevice -- ^ device+                                             ->+                                      Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo+                                                                         ->+                                        Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+                                                                  -> IO ()+vkGetImageMemoryRequirements2Unsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetImageMemoryRequirements2)++{-# NOINLINE vkGetImageMemoryRequirements2Unsafe #-}+#endif++-- |+-- > void vkGetImageMemoryRequirements2+-- >     ( VkDevice device+-- >     , const VkImageMemoryRequirementsInfo2* pInfo+-- >     , VkMemoryRequirements2* pMemoryRequirements+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetImageMemoryRequirements2 <- vkGetDeviceProc @VkGetImageMemoryRequirements2 vkDevice+--+-- or less efficient:+--+-- > myGetImageMemoryRequirements2 <- vkGetProc @VkGetImageMemoryRequirements2+--+-- __Note:__ @vkGetImageMemoryRequirements2Unsafe@ and @vkGetImageMemoryRequirements2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetImageMemoryRequirements2@ is an alias+--           of @vkGetImageMemoryRequirements2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetImageMemoryRequirements2Safe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe "vkGetImageMemoryRequirements2"+               vkGetImageMemoryRequirements2Safe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo+                                                    ->+                   Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+                                             -> IO ()++#else+vkGetImageMemoryRequirements2Safe ::+                                  VkDevice -- ^ device+                                           ->+                                    Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo+                                                                       ->+                                      Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+                                                                -> IO ()+vkGetImageMemoryRequirements2Safe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetImageMemoryRequirements2)++{-# NOINLINE vkGetImageMemoryRequirements2Safe #-}+#endif++-- |+-- > void vkGetImageMemoryRequirements2+-- >     ( VkDevice device+-- >     , const VkImageMemoryRequirementsInfo2* pInfo+-- >     , VkMemoryRequirements2* pMemoryRequirements+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetImageMemoryRequirements2 <- vkGetDeviceProc @VkGetImageMemoryRequirements2 vkDevice+--+-- or less efficient:+--+-- > myGetImageMemoryRequirements2 <- vkGetProc @VkGetImageMemoryRequirements2+--+-- __Note:__ @vkGetImageMemoryRequirements2Unsafe@ and @vkGetImageMemoryRequirements2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetImageMemoryRequirements2@ is an alias+--           of @vkGetImageMemoryRequirements2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetImageMemoryRequirements2Safe@.+--+vkGetImageMemoryRequirements2 ::+                              VkDevice -- ^ device+                                       ->+                                Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo+                                                                   ->+                                  Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+                                                            -> IO ()+#ifdef UNSAFE_FFI_DEFAULT+vkGetImageMemoryRequirements2 = vkGetImageMemoryRequirements2Unsafe+#else+vkGetImageMemoryRequirements2 = vkGetImageMemoryRequirements2Safe++#endif+{-# INLINE vkGetImageMemoryRequirements2 #-}++-- | > void vkGetImageMemoryRequirements2+--   >     ( VkDevice device+--   >     , const VkImageMemoryRequirementsInfo2* pInfo+--   >     , VkMemoryRequirements2* pMemoryRequirements+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2 registry at www.khronos.org>+type HS_vkGetImageMemoryRequirements2 =+     VkDevice -- ^ device+              ->+       Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo+                                          ->+         Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+                                   -> IO ()++type PFN_vkGetImageMemoryRequirements2 =+     FunPtr HS_vkGetImageMemoryRequirements2++foreign import ccall unsafe "dynamic"+               unwrapVkGetImageMemoryRequirements2Unsafe ::+               PFN_vkGetImageMemoryRequirements2 ->+                 HS_vkGetImageMemoryRequirements2++foreign import ccall safe "dynamic"+               unwrapVkGetImageMemoryRequirements2Safe ::+               PFN_vkGetImageMemoryRequirements2 ->+                 HS_vkGetImageMemoryRequirements2++instance VulkanProc "vkGetImageMemoryRequirements2" where+    type VkProcType "vkGetImageMemoryRequirements2" =+         HS_vkGetImageMemoryRequirements2+    vkProcSymbol = _VkGetImageMemoryRequirements2++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetImageMemoryRequirements2Unsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetImageMemoryRequirements2Safe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetBufferMemoryRequirements2 :: CString++pattern VkGetBufferMemoryRequirements2 <-+        (is_VkGetBufferMemoryRequirements2 -> True)+  where+    VkGetBufferMemoryRequirements2 = _VkGetBufferMemoryRequirements2++{-# INLINE _VkGetBufferMemoryRequirements2 #-}++_VkGetBufferMemoryRequirements2 :: CString+_VkGetBufferMemoryRequirements2+  = Ptr "vkGetBufferMemoryRequirements2\NUL"#++{-# INLINE is_VkGetBufferMemoryRequirements2 #-}++is_VkGetBufferMemoryRequirements2 :: CString -> Bool+is_VkGetBufferMemoryRequirements2+  = (EQ ==) . cmpCStrings _VkGetBufferMemoryRequirements2++type VkGetBufferMemoryRequirements2 =+     "vkGetBufferMemoryRequirements2"++-- |+-- > void vkGetBufferMemoryRequirements2+-- >     ( VkDevice device+-- >     , const VkBufferMemoryRequirementsInfo2* pInfo+-- >     , VkMemoryRequirements2* pMemoryRequirements+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetBufferMemoryRequirements2 <- vkGetDeviceProc @VkGetBufferMemoryRequirements2 vkDevice+--+-- or less efficient:+--+-- > myGetBufferMemoryRequirements2 <- vkGetProc @VkGetBufferMemoryRequirements2+--+-- __Note:__ @vkGetBufferMemoryRequirements2Unsafe@ and @vkGetBufferMemoryRequirements2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetBufferMemoryRequirements2@ is an alias+--           of @vkGetBufferMemoryRequirements2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetBufferMemoryRequirements2Safe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe "vkGetBufferMemoryRequirements2"+               vkGetBufferMemoryRequirements2Unsafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo+                                                     ->+                   Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+                                             -> IO ()++#else+vkGetBufferMemoryRequirements2Unsafe ::+                                     VkDevice -- ^ device+                                              ->+                                       Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo+                                                                           ->+                                         Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+                                                                   -> IO ()+vkGetBufferMemoryRequirements2Unsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetBufferMemoryRequirements2)++{-# NOINLINE vkGetBufferMemoryRequirements2Unsafe #-}+#endif++-- |+-- > void vkGetBufferMemoryRequirements2+-- >     ( VkDevice device+-- >     , const VkBufferMemoryRequirementsInfo2* pInfo+-- >     , VkMemoryRequirements2* pMemoryRequirements+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetBufferMemoryRequirements2 <- vkGetDeviceProc @VkGetBufferMemoryRequirements2 vkDevice+--+-- or less efficient:+--+-- > myGetBufferMemoryRequirements2 <- vkGetProc @VkGetBufferMemoryRequirements2+--+-- __Note:__ @vkGetBufferMemoryRequirements2Unsafe@ and @vkGetBufferMemoryRequirements2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetBufferMemoryRequirements2@ is an alias+--           of @vkGetBufferMemoryRequirements2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetBufferMemoryRequirements2Safe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe "vkGetBufferMemoryRequirements2"+               vkGetBufferMemoryRequirements2Safe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo+                                                     ->+                   Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+                                             -> IO ()++#else+vkGetBufferMemoryRequirements2Safe ::+                                   VkDevice -- ^ device+                                            ->+                                     Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo+                                                                         ->+                                       Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+                                                                 -> IO ()+vkGetBufferMemoryRequirements2Safe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetBufferMemoryRequirements2)++{-# NOINLINE vkGetBufferMemoryRequirements2Safe #-}+#endif++-- |+-- > void vkGetBufferMemoryRequirements2+-- >     ( VkDevice device+-- >     , const VkBufferMemoryRequirementsInfo2* pInfo+-- >     , VkMemoryRequirements2* pMemoryRequirements+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetBufferMemoryRequirements2 <- vkGetDeviceProc @VkGetBufferMemoryRequirements2 vkDevice+--+-- or less efficient:+--+-- > myGetBufferMemoryRequirements2 <- vkGetProc @VkGetBufferMemoryRequirements2+--+-- __Note:__ @vkGetBufferMemoryRequirements2Unsafe@ and @vkGetBufferMemoryRequirements2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetBufferMemoryRequirements2@ is an alias+--           of @vkGetBufferMemoryRequirements2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetBufferMemoryRequirements2Safe@.+--+vkGetBufferMemoryRequirements2 ::+                               VkDevice -- ^ device+                                        ->+                                 Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo+                                                                     ->+                                   Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+                                                             -> IO ()+#ifdef UNSAFE_FFI_DEFAULT+vkGetBufferMemoryRequirements2+  = vkGetBufferMemoryRequirements2Unsafe+#else+vkGetBufferMemoryRequirements2 = vkGetBufferMemoryRequirements2Safe++#endif+{-# INLINE vkGetBufferMemoryRequirements2 #-}++-- | > void vkGetBufferMemoryRequirements2+--   >     ( VkDevice device+--   >     , const VkBufferMemoryRequirementsInfo2* pInfo+--   >     , VkMemoryRequirements2* pMemoryRequirements+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2 registry at www.khronos.org>+type HS_vkGetBufferMemoryRequirements2 =+     VkDevice -- ^ device+              ->+       Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo+                                           ->+         Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+                                   -> IO ()++type PFN_vkGetBufferMemoryRequirements2 =+     FunPtr HS_vkGetBufferMemoryRequirements2++foreign import ccall unsafe "dynamic"+               unwrapVkGetBufferMemoryRequirements2Unsafe ::+               PFN_vkGetBufferMemoryRequirements2 ->+                 HS_vkGetBufferMemoryRequirements2++foreign import ccall safe "dynamic"+               unwrapVkGetBufferMemoryRequirements2Safe ::+               PFN_vkGetBufferMemoryRequirements2 ->+                 HS_vkGetBufferMemoryRequirements2++instance VulkanProc "vkGetBufferMemoryRequirements2" where+    type VkProcType "vkGetBufferMemoryRequirements2" =+         HS_vkGetBufferMemoryRequirements2+    vkProcSymbol = _VkGetBufferMemoryRequirements2++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetBufferMemoryRequirements2Unsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetBufferMemoryRequirements2Safe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetImageSparseMemoryRequirements2 :: CString++pattern VkGetImageSparseMemoryRequirements2 <-+        (is_VkGetImageSparseMemoryRequirements2 -> True)+  where+    VkGetImageSparseMemoryRequirements2+      = _VkGetImageSparseMemoryRequirements2++{-# INLINE _VkGetImageSparseMemoryRequirements2 #-}++_VkGetImageSparseMemoryRequirements2 :: CString+_VkGetImageSparseMemoryRequirements2+  = Ptr "vkGetImageSparseMemoryRequirements2\NUL"#++{-# INLINE is_VkGetImageSparseMemoryRequirements2 #-}++is_VkGetImageSparseMemoryRequirements2 :: CString -> Bool+is_VkGetImageSparseMemoryRequirements2+  = (EQ ==) . cmpCStrings _VkGetImageSparseMemoryRequirements2++type VkGetImageSparseMemoryRequirements2 =+     "vkGetImageSparseMemoryRequirements2"++-- |+-- > void vkGetImageSparseMemoryRequirements2+-- >     ( VkDevice device+-- >     , const VkImageSparseMemoryRequirementsInfo2* pInfo+-- >     , uint32_t* pSparseMemoryRequirementCount+-- >     , VkSparseImageMemoryRequirements2* pSparseMemoryRequirements+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetImageSparseMemoryRequirements2 <- vkGetDeviceProc @VkGetImageSparseMemoryRequirements2 vkDevice+--+-- or less efficient:+--+-- > myGetImageSparseMemoryRequirements2 <- vkGetProc @VkGetImageSparseMemoryRequirements2+--+-- __Note:__ @vkGetImageSparseMemoryRequirements2Unsafe@ and @vkGetImageSparseMemoryRequirements2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetImageSparseMemoryRequirements2@ is an alias+--           of @vkGetImageSparseMemoryRequirements2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetImageSparseMemoryRequirements2Safe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe "vkGetImageSparseMemoryRequirements2"+               vkGetImageSparseMemoryRequirements2Unsafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo+                                                          ->+                   Ptr Word32 -- ^ pSparseMemoryRequirementCount+                              -> Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements+                                                                      -> IO ()++#else+vkGetImageSparseMemoryRequirements2Unsafe ::+                                          VkDevice -- ^ device+                                                   ->+                                            Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo+                                                                                     ->+                                              Ptr Word32 -- ^ pSparseMemoryRequirementCount+                                                         ->+                                                Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements+                                                                                     -> IO ()+vkGetImageSparseMemoryRequirements2Unsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetImageSparseMemoryRequirements2)++{-# NOINLINE vkGetImageSparseMemoryRequirements2Unsafe #-}+#endif++-- |+-- > void vkGetImageSparseMemoryRequirements2+-- >     ( VkDevice device+-- >     , const VkImageSparseMemoryRequirementsInfo2* pInfo+-- >     , uint32_t* pSparseMemoryRequirementCount+-- >     , VkSparseImageMemoryRequirements2* pSparseMemoryRequirements+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetImageSparseMemoryRequirements2 <- vkGetDeviceProc @VkGetImageSparseMemoryRequirements2 vkDevice+--+-- or less efficient:+--+-- > myGetImageSparseMemoryRequirements2 <- vkGetProc @VkGetImageSparseMemoryRequirements2+--+-- __Note:__ @vkGetImageSparseMemoryRequirements2Unsafe@ and @vkGetImageSparseMemoryRequirements2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetImageSparseMemoryRequirements2@ is an alias+--           of @vkGetImageSparseMemoryRequirements2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetImageSparseMemoryRequirements2Safe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe "vkGetImageSparseMemoryRequirements2"+               vkGetImageSparseMemoryRequirements2Safe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo+                                                          ->+                   Ptr Word32 -- ^ pSparseMemoryRequirementCount+                              -> Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements+                                                                      -> IO ()++#else+vkGetImageSparseMemoryRequirements2Safe ::+                                        VkDevice -- ^ device+                                                 ->+                                          Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo+                                                                                   ->+                                            Ptr Word32 -- ^ pSparseMemoryRequirementCount+                                                       ->+                                              Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements+                                                                                   -> IO ()+vkGetImageSparseMemoryRequirements2Safe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetImageSparseMemoryRequirements2)++{-# NOINLINE vkGetImageSparseMemoryRequirements2Safe #-}+#endif++-- |+-- > void vkGetImageSparseMemoryRequirements2+-- >     ( VkDevice device+-- >     , const VkImageSparseMemoryRequirementsInfo2* pInfo+-- >     , uint32_t* pSparseMemoryRequirementCount+-- >     , VkSparseImageMemoryRequirements2* pSparseMemoryRequirements+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetImageSparseMemoryRequirements2 <- vkGetDeviceProc @VkGetImageSparseMemoryRequirements2 vkDevice+--+-- or less efficient:+--+-- > myGetImageSparseMemoryRequirements2 <- vkGetProc @VkGetImageSparseMemoryRequirements2+--+-- __Note:__ @vkGetImageSparseMemoryRequirements2Unsafe@ and @vkGetImageSparseMemoryRequirements2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetImageSparseMemoryRequirements2@ is an alias+--           of @vkGetImageSparseMemoryRequirements2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetImageSparseMemoryRequirements2Safe@.+--+vkGetImageSparseMemoryRequirements2 ::+                                    VkDevice -- ^ device+                                             ->+                                      Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo+                                                                               ->+                                        Ptr Word32 -- ^ pSparseMemoryRequirementCount+                                                   -> Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements+                                                                                           -> IO ()+#ifdef UNSAFE_FFI_DEFAULT+vkGetImageSparseMemoryRequirements2+  = vkGetImageSparseMemoryRequirements2Unsafe+#else+vkGetImageSparseMemoryRequirements2+  = vkGetImageSparseMemoryRequirements2Safe++#endif+{-# INLINE vkGetImageSparseMemoryRequirements2 #-}++-- | > void vkGetImageSparseMemoryRequirements2+--   >     ( VkDevice device+--   >     , const VkImageSparseMemoryRequirementsInfo2* pInfo+--   >     , uint32_t* pSparseMemoryRequirementCount+--   >     , VkSparseImageMemoryRequirements2* pSparseMemoryRequirements+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2 registry at www.khronos.org>+type HS_vkGetImageSparseMemoryRequirements2 =+     VkDevice -- ^ device+              ->+       Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo+                                                ->+         Ptr Word32 -- ^ pSparseMemoryRequirementCount+                    -> Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements+                                                            -> IO ()++type PFN_vkGetImageSparseMemoryRequirements2 =+     FunPtr HS_vkGetImageSparseMemoryRequirements2++foreign import ccall unsafe "dynamic"+               unwrapVkGetImageSparseMemoryRequirements2Unsafe ::+               PFN_vkGetImageSparseMemoryRequirements2 ->+                 HS_vkGetImageSparseMemoryRequirements2++foreign import ccall safe "dynamic"+               unwrapVkGetImageSparseMemoryRequirements2Safe ::+               PFN_vkGetImageSparseMemoryRequirements2 ->+                 HS_vkGetImageSparseMemoryRequirements2++instance VulkanProc "vkGetImageSparseMemoryRequirements2" where+    type VkProcType "vkGetImageSparseMemoryRequirements2" =+         HS_vkGetImageSparseMemoryRequirements2+    vkProcSymbol = _VkGetImageSparseMemoryRequirements2++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetImageSparseMemoryRequirements2Unsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetImageSparseMemoryRequirements2Safe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 =+        VkStructureType 1000146000++pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 =+        VkStructureType 1000146001++pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 =+        VkStructureType 1000146002++pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: VkStructureType++pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 =+        VkStructureType 1000146003++pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 =+        VkStructureType 1000146004++pattern VkGetPhysicalDeviceFeatures2 :: CString++pattern VkGetPhysicalDeviceFeatures2 <-+        (is_VkGetPhysicalDeviceFeatures2 -> True)+  where+    VkGetPhysicalDeviceFeatures2 = _VkGetPhysicalDeviceFeatures2++{-# INLINE _VkGetPhysicalDeviceFeatures2 #-}++_VkGetPhysicalDeviceFeatures2 :: CString+_VkGetPhysicalDeviceFeatures2+  = Ptr "vkGetPhysicalDeviceFeatures2\NUL"#++{-# INLINE is_VkGetPhysicalDeviceFeatures2 #-}++is_VkGetPhysicalDeviceFeatures2 :: CString -> Bool+is_VkGetPhysicalDeviceFeatures2+  = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceFeatures2++type VkGetPhysicalDeviceFeatures2 = "vkGetPhysicalDeviceFeatures2"++-- |+-- > void vkGetPhysicalDeviceFeatures2+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkPhysicalDeviceFeatures2* pFeatures+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceFeatures2 <- vkGetInstanceProc @VkGetPhysicalDeviceFeatures2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceFeatures2 <- vkGetProc @VkGetPhysicalDeviceFeatures2+--+-- __Note:__ @vkGetPhysicalDeviceFeatures2Unsafe@ and @vkGetPhysicalDeviceFeatures2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceFeatures2@ is an alias+--           of @vkGetPhysicalDeviceFeatures2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceFeatures2Safe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe "vkGetPhysicalDeviceFeatures2"+               vkGetPhysicalDeviceFeatures2Unsafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures+                                                                 -> IO ()++#else+vkGetPhysicalDeviceFeatures2Unsafe ::+                                   VkPhysicalDevice -- ^ physicalDevice+                                                    -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures+                                                                                     -> IO ()+vkGetPhysicalDeviceFeatures2Unsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetPhysicalDeviceFeatures2)++{-# NOINLINE vkGetPhysicalDeviceFeatures2Unsafe #-}+#endif++-- |+-- > void vkGetPhysicalDeviceFeatures2+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkPhysicalDeviceFeatures2* pFeatures+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceFeatures2 <- vkGetInstanceProc @VkGetPhysicalDeviceFeatures2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceFeatures2 <- vkGetProc @VkGetPhysicalDeviceFeatures2+--+-- __Note:__ @vkGetPhysicalDeviceFeatures2Unsafe@ and @vkGetPhysicalDeviceFeatures2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceFeatures2@ is an alias+--           of @vkGetPhysicalDeviceFeatures2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceFeatures2Safe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe "vkGetPhysicalDeviceFeatures2"+               vkGetPhysicalDeviceFeatures2Safe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures+                                                                 -> IO ()++#else+vkGetPhysicalDeviceFeatures2Safe ::+                                 VkPhysicalDevice -- ^ physicalDevice+                                                  -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures+                                                                                   -> IO ()+vkGetPhysicalDeviceFeatures2Safe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetPhysicalDeviceFeatures2)++{-# NOINLINE vkGetPhysicalDeviceFeatures2Safe #-}+#endif++-- |+-- > void vkGetPhysicalDeviceFeatures2+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkPhysicalDeviceFeatures2* pFeatures+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceFeatures2 <- vkGetInstanceProc @VkGetPhysicalDeviceFeatures2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceFeatures2 <- vkGetProc @VkGetPhysicalDeviceFeatures2+--+-- __Note:__ @vkGetPhysicalDeviceFeatures2Unsafe@ and @vkGetPhysicalDeviceFeatures2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceFeatures2@ is an alias+--           of @vkGetPhysicalDeviceFeatures2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceFeatures2Safe@.+--+vkGetPhysicalDeviceFeatures2 ::+                             VkPhysicalDevice -- ^ physicalDevice+                                              -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures+                                                                               -> IO ()+#ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceFeatures2 = vkGetPhysicalDeviceFeatures2Unsafe+#else+vkGetPhysicalDeviceFeatures2 = vkGetPhysicalDeviceFeatures2Safe++#endif+{-# INLINE vkGetPhysicalDeviceFeatures2 #-}++-- | > void vkGetPhysicalDeviceFeatures2+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkPhysicalDeviceFeatures2* pFeatures+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2 registry at www.khronos.org>+type HS_vkGetPhysicalDeviceFeatures2 =+     VkPhysicalDevice -- ^ physicalDevice+                      -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures+                                                       -> IO ()++type PFN_vkGetPhysicalDeviceFeatures2 =+     FunPtr HS_vkGetPhysicalDeviceFeatures2++foreign import ccall unsafe "dynamic"+               unwrapVkGetPhysicalDeviceFeatures2Unsafe ::+               PFN_vkGetPhysicalDeviceFeatures2 -> HS_vkGetPhysicalDeviceFeatures2++foreign import ccall safe "dynamic"+               unwrapVkGetPhysicalDeviceFeatures2Safe ::+               PFN_vkGetPhysicalDeviceFeatures2 -> HS_vkGetPhysicalDeviceFeatures2++instance VulkanProc "vkGetPhysicalDeviceFeatures2" where+    type VkProcType "vkGetPhysicalDeviceFeatures2" =+         HS_vkGetPhysicalDeviceFeatures2+    vkProcSymbol = _VkGetPhysicalDeviceFeatures2++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetPhysicalDeviceFeatures2Unsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetPhysicalDeviceFeatures2Safe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetPhysicalDeviceProperties2 :: CString++pattern VkGetPhysicalDeviceProperties2 <-+        (is_VkGetPhysicalDeviceProperties2 -> True)+  where+    VkGetPhysicalDeviceProperties2 = _VkGetPhysicalDeviceProperties2++{-# INLINE _VkGetPhysicalDeviceProperties2 #-}++_VkGetPhysicalDeviceProperties2 :: CString+_VkGetPhysicalDeviceProperties2+  = Ptr "vkGetPhysicalDeviceProperties2\NUL"#++{-# INLINE is_VkGetPhysicalDeviceProperties2 #-}++is_VkGetPhysicalDeviceProperties2 :: CString -> Bool+is_VkGetPhysicalDeviceProperties2+  = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceProperties2++type VkGetPhysicalDeviceProperties2 =+     "vkGetPhysicalDeviceProperties2"++-- |+-- > void vkGetPhysicalDeviceProperties2+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkPhysicalDeviceProperties2* pProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceProperties2 <- vkGetProc @VkGetPhysicalDeviceProperties2+--+-- __Note:__ @vkGetPhysicalDeviceProperties2Unsafe@ and @vkGetPhysicalDeviceProperties2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceProperties2@ is an alias+--           of @vkGetPhysicalDeviceProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceProperties2Safe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe "vkGetPhysicalDeviceProperties2"+               vkGetPhysicalDeviceProperties2Unsafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties+                                                                   -> IO ()++#else+vkGetPhysicalDeviceProperties2Unsafe ::+                                     VkPhysicalDevice -- ^ physicalDevice+                                                      -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties+                                                                                         -> IO ()+vkGetPhysicalDeviceProperties2Unsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetPhysicalDeviceProperties2)++{-# NOINLINE vkGetPhysicalDeviceProperties2Unsafe #-}+#endif++-- |+-- > void vkGetPhysicalDeviceProperties2+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkPhysicalDeviceProperties2* pProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceProperties2 <- vkGetProc @VkGetPhysicalDeviceProperties2+--+-- __Note:__ @vkGetPhysicalDeviceProperties2Unsafe@ and @vkGetPhysicalDeviceProperties2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceProperties2@ is an alias+--           of @vkGetPhysicalDeviceProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceProperties2Safe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe "vkGetPhysicalDeviceProperties2"+               vkGetPhysicalDeviceProperties2Safe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties+                                                                   -> IO ()++#else+vkGetPhysicalDeviceProperties2Safe ::+                                   VkPhysicalDevice -- ^ physicalDevice+                                                    -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties+                                                                                       -> IO ()+vkGetPhysicalDeviceProperties2Safe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetPhysicalDeviceProperties2)++{-# NOINLINE vkGetPhysicalDeviceProperties2Safe #-}+#endif++-- |+-- > void vkGetPhysicalDeviceProperties2+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkPhysicalDeviceProperties2* pProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceProperties2 <- vkGetProc @VkGetPhysicalDeviceProperties2+--+-- __Note:__ @vkGetPhysicalDeviceProperties2Unsafe@ and @vkGetPhysicalDeviceProperties2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceProperties2@ is an alias+--           of @vkGetPhysicalDeviceProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceProperties2Safe@.+--+vkGetPhysicalDeviceProperties2 ::+                               VkPhysicalDevice -- ^ physicalDevice+                                                -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties+                                                                                   -> IO ()+#ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceProperties2+  = vkGetPhysicalDeviceProperties2Unsafe+#else+vkGetPhysicalDeviceProperties2 = vkGetPhysicalDeviceProperties2Safe++#endif+{-# INLINE vkGetPhysicalDeviceProperties2 #-}++-- | > void vkGetPhysicalDeviceProperties2+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkPhysicalDeviceProperties2* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2 registry at www.khronos.org>+type HS_vkGetPhysicalDeviceProperties2 =+     VkPhysicalDevice -- ^ physicalDevice+                      -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties+                                                         -> IO ()++type PFN_vkGetPhysicalDeviceProperties2 =+     FunPtr HS_vkGetPhysicalDeviceProperties2++foreign import ccall unsafe "dynamic"+               unwrapVkGetPhysicalDeviceProperties2Unsafe ::+               PFN_vkGetPhysicalDeviceProperties2 ->+                 HS_vkGetPhysicalDeviceProperties2++foreign import ccall safe "dynamic"+               unwrapVkGetPhysicalDeviceProperties2Safe ::+               PFN_vkGetPhysicalDeviceProperties2 ->+                 HS_vkGetPhysicalDeviceProperties2++instance VulkanProc "vkGetPhysicalDeviceProperties2" where+    type VkProcType "vkGetPhysicalDeviceProperties2" =+         HS_vkGetPhysicalDeviceProperties2+    vkProcSymbol = _VkGetPhysicalDeviceProperties2++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetPhysicalDeviceProperties2Unsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetPhysicalDeviceProperties2Safe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetPhysicalDeviceFormatProperties2 :: CString++pattern VkGetPhysicalDeviceFormatProperties2 <-+        (is_VkGetPhysicalDeviceFormatProperties2 -> True)+  where+    VkGetPhysicalDeviceFormatProperties2+      = _VkGetPhysicalDeviceFormatProperties2++{-# INLINE _VkGetPhysicalDeviceFormatProperties2 #-}++_VkGetPhysicalDeviceFormatProperties2 :: CString+_VkGetPhysicalDeviceFormatProperties2+  = Ptr "vkGetPhysicalDeviceFormatProperties2\NUL"#++{-# INLINE is_VkGetPhysicalDeviceFormatProperties2 #-}++is_VkGetPhysicalDeviceFormatProperties2 :: CString -> Bool+is_VkGetPhysicalDeviceFormatProperties2+  = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceFormatProperties2++type VkGetPhysicalDeviceFormatProperties2 =+     "vkGetPhysicalDeviceFormatProperties2"++-- |+-- > void vkGetPhysicalDeviceFormatProperties2+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkFormat format+-- >     , VkFormatProperties2* pFormatProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceFormatProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceFormatProperties2+--+-- __Note:__ @vkGetPhysicalDeviceFormatProperties2Unsafe@ and @vkGetPhysicalDeviceFormatProperties2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceFormatProperties2@ is an alias+--           of @vkGetPhysicalDeviceFormatProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceFormatProperties2Safe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe "vkGetPhysicalDeviceFormatProperties2"+               vkGetPhysicalDeviceFormatProperties2Unsafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> VkFormat -- ^ format+                                            -> Ptr VkFormatProperties2 -- ^ pFormatProperties+                                                                       -> IO ()++#else+vkGetPhysicalDeviceFormatProperties2Unsafe ::+                                           VkPhysicalDevice -- ^ physicalDevice+                                                            ->+                                             VkFormat -- ^ format+                                                      -> Ptr VkFormatProperties2 -- ^ pFormatProperties+                                                                                 -> IO ()+vkGetPhysicalDeviceFormatProperties2Unsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetPhysicalDeviceFormatProperties2)++{-# NOINLINE vkGetPhysicalDeviceFormatProperties2Unsafe #-}+#endif++-- |+-- > void vkGetPhysicalDeviceFormatProperties2+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkFormat format+-- >     , VkFormatProperties2* pFormatProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceFormatProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceFormatProperties2+--+-- __Note:__ @vkGetPhysicalDeviceFormatProperties2Unsafe@ and @vkGetPhysicalDeviceFormatProperties2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceFormatProperties2@ is an alias+--           of @vkGetPhysicalDeviceFormatProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceFormatProperties2Safe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe "vkGetPhysicalDeviceFormatProperties2"+               vkGetPhysicalDeviceFormatProperties2Safe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> VkFormat -- ^ format+                                            -> Ptr VkFormatProperties2 -- ^ pFormatProperties+                                                                       -> IO ()++#else+vkGetPhysicalDeviceFormatProperties2Safe ::+                                         VkPhysicalDevice -- ^ physicalDevice+                                                          ->+                                           VkFormat -- ^ format+                                                    -> Ptr VkFormatProperties2 -- ^ pFormatProperties+                                                                               -> IO ()+vkGetPhysicalDeviceFormatProperties2Safe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetPhysicalDeviceFormatProperties2)++{-# NOINLINE vkGetPhysicalDeviceFormatProperties2Safe #-}+#endif++-- |+-- > void vkGetPhysicalDeviceFormatProperties2+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkFormat format+-- >     , VkFormatProperties2* pFormatProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceFormatProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceFormatProperties2+--+-- __Note:__ @vkGetPhysicalDeviceFormatProperties2Unsafe@ and @vkGetPhysicalDeviceFormatProperties2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceFormatProperties2@ is an alias+--           of @vkGetPhysicalDeviceFormatProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceFormatProperties2Safe@.+--+vkGetPhysicalDeviceFormatProperties2 ::+                                     VkPhysicalDevice -- ^ physicalDevice+                                                      ->+                                       VkFormat -- ^ format+                                                -> Ptr VkFormatProperties2 -- ^ pFormatProperties+                                                                           -> IO ()+#ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceFormatProperties2+  = vkGetPhysicalDeviceFormatProperties2Unsafe+#else+vkGetPhysicalDeviceFormatProperties2+  = vkGetPhysicalDeviceFormatProperties2Safe++#endif+{-# INLINE vkGetPhysicalDeviceFormatProperties2 #-}++-- | > void vkGetPhysicalDeviceFormatProperties2+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkFormat format+--   >     , VkFormatProperties2* pFormatProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2 registry at www.khronos.org>+type HS_vkGetPhysicalDeviceFormatProperties2 =+     VkPhysicalDevice -- ^ physicalDevice+                      -> VkFormat -- ^ format+                                  -> Ptr VkFormatProperties2 -- ^ pFormatProperties+                                                             -> IO ()++type PFN_vkGetPhysicalDeviceFormatProperties2 =+     FunPtr HS_vkGetPhysicalDeviceFormatProperties2++foreign import ccall unsafe "dynamic"+               unwrapVkGetPhysicalDeviceFormatProperties2Unsafe ::+               PFN_vkGetPhysicalDeviceFormatProperties2 ->+                 HS_vkGetPhysicalDeviceFormatProperties2++foreign import ccall safe "dynamic"+               unwrapVkGetPhysicalDeviceFormatProperties2Safe ::+               PFN_vkGetPhysicalDeviceFormatProperties2 ->+                 HS_vkGetPhysicalDeviceFormatProperties2++instance VulkanProc "vkGetPhysicalDeviceFormatProperties2" where+    type VkProcType "vkGetPhysicalDeviceFormatProperties2" =+         HS_vkGetPhysicalDeviceFormatProperties2+    vkProcSymbol = _VkGetPhysicalDeviceFormatProperties2++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceFormatProperties2Unsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceFormatProperties2Safe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetPhysicalDeviceImageFormatProperties2 :: CString++pattern VkGetPhysicalDeviceImageFormatProperties2 <-+        (is_VkGetPhysicalDeviceImageFormatProperties2 -> True)+  where+    VkGetPhysicalDeviceImageFormatProperties2+      = _VkGetPhysicalDeviceImageFormatProperties2++{-# INLINE _VkGetPhysicalDeviceImageFormatProperties2 #-}++_VkGetPhysicalDeviceImageFormatProperties2 :: CString+_VkGetPhysicalDeviceImageFormatProperties2+  = Ptr "vkGetPhysicalDeviceImageFormatProperties2\NUL"#++{-# INLINE is_VkGetPhysicalDeviceImageFormatProperties2 #-}++is_VkGetPhysicalDeviceImageFormatProperties2 :: CString -> Bool+is_VkGetPhysicalDeviceImageFormatProperties2+  = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceImageFormatProperties2++type VkGetPhysicalDeviceImageFormatProperties2 =+     "vkGetPhysicalDeviceImageFormatProperties2"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.+--+-- > VkResult vkGetPhysicalDeviceImageFormatProperties2+-- >     ( VkPhysicalDevice physicalDevice+-- >     , const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo+-- >     , VkImageFormatProperties2* pImageFormatProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceImageFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceImageFormatProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceImageFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceImageFormatProperties2+--+-- __Note:__ @vkGetPhysicalDeviceImageFormatProperties2Unsafe@ and @vkGetPhysicalDeviceImageFormatProperties2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceImageFormatProperties2@ is an alias+--           of @vkGetPhysicalDeviceImageFormatProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceImageFormatProperties2Safe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe+               "vkGetPhysicalDeviceImageFormatProperties2"+               vkGetPhysicalDeviceImageFormatProperties2Unsafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo+                                                      ->+                   Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties+                                                -> IO VkResult++#else+vkGetPhysicalDeviceImageFormatProperties2Unsafe ::+                                                VkPhysicalDevice -- ^ physicalDevice+                                                                 ->+                                                  Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo+                                                                                       ->+                                                    Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties+                                                                                 -> IO VkResult+vkGetPhysicalDeviceImageFormatProperties2Unsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetPhysicalDeviceImageFormatProperties2)++{-# NOINLINE vkGetPhysicalDeviceImageFormatProperties2Unsafe #-}+#endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.+--+-- > VkResult vkGetPhysicalDeviceImageFormatProperties2+-- >     ( VkPhysicalDevice physicalDevice+-- >     , const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo+-- >     , VkImageFormatProperties2* pImageFormatProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceImageFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceImageFormatProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceImageFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceImageFormatProperties2+--+-- __Note:__ @vkGetPhysicalDeviceImageFormatProperties2Unsafe@ and @vkGetPhysicalDeviceImageFormatProperties2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceImageFormatProperties2@ is an alias+--           of @vkGetPhysicalDeviceImageFormatProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceImageFormatProperties2Safe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe+               "vkGetPhysicalDeviceImageFormatProperties2"+               vkGetPhysicalDeviceImageFormatProperties2Safe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo+                                                      ->+                   Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties+                                                -> IO VkResult++#else+vkGetPhysicalDeviceImageFormatProperties2Safe ::+                                              VkPhysicalDevice -- ^ physicalDevice+                                                               ->+                                                Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo+                                                                                     ->+                                                  Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties+                                                                               -> IO VkResult+vkGetPhysicalDeviceImageFormatProperties2Safe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetPhysicalDeviceImageFormatProperties2)++{-# NOINLINE vkGetPhysicalDeviceImageFormatProperties2Safe #-}+#endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.+--+-- > VkResult vkGetPhysicalDeviceImageFormatProperties2+-- >     ( VkPhysicalDevice physicalDevice+-- >     , const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo+-- >     , VkImageFormatProperties2* pImageFormatProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceImageFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceImageFormatProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceImageFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceImageFormatProperties2+--+-- __Note:__ @vkGetPhysicalDeviceImageFormatProperties2Unsafe@ and @vkGetPhysicalDeviceImageFormatProperties2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceImageFormatProperties2@ is an alias+--           of @vkGetPhysicalDeviceImageFormatProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceImageFormatProperties2Safe@.+--+vkGetPhysicalDeviceImageFormatProperties2 ::+                                          VkPhysicalDevice -- ^ physicalDevice+                                                           ->+                                            Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo+                                                                                 ->+                                              Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties+                                                                           -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceImageFormatProperties2+  = vkGetPhysicalDeviceImageFormatProperties2Unsafe+#else+vkGetPhysicalDeviceImageFormatProperties2+  = vkGetPhysicalDeviceImageFormatProperties2Safe++#endif+{-# INLINE vkGetPhysicalDeviceImageFormatProperties2 #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.+--+--   > VkResult vkGetPhysicalDeviceImageFormatProperties2+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo+--   >     , VkImageFormatProperties2* pImageFormatProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2 registry at www.khronos.org>+type HS_vkGetPhysicalDeviceImageFormatProperties2 =+     VkPhysicalDevice -- ^ physicalDevice+                      ->+       Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo+                                            ->+         Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties+                                      -> IO VkResult++type PFN_vkGetPhysicalDeviceImageFormatProperties2 =+     FunPtr HS_vkGetPhysicalDeviceImageFormatProperties2++foreign import ccall unsafe "dynamic"+               unwrapVkGetPhysicalDeviceImageFormatProperties2Unsafe ::+               PFN_vkGetPhysicalDeviceImageFormatProperties2 ->+                 HS_vkGetPhysicalDeviceImageFormatProperties2++foreign import ccall safe "dynamic"+               unwrapVkGetPhysicalDeviceImageFormatProperties2Safe ::+               PFN_vkGetPhysicalDeviceImageFormatProperties2 ->+                 HS_vkGetPhysicalDeviceImageFormatProperties2++instance VulkanProc "vkGetPhysicalDeviceImageFormatProperties2"+         where+    type VkProcType "vkGetPhysicalDeviceImageFormatProperties2" =+         HS_vkGetPhysicalDeviceImageFormatProperties2+    vkProcSymbol = _VkGetPhysicalDeviceImageFormatProperties2++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceImageFormatProperties2Unsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceImageFormatProperties2Safe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetPhysicalDeviceQueueFamilyProperties2 :: CString++pattern VkGetPhysicalDeviceQueueFamilyProperties2 <-+        (is_VkGetPhysicalDeviceQueueFamilyProperties2 -> True)+  where+    VkGetPhysicalDeviceQueueFamilyProperties2+      = _VkGetPhysicalDeviceQueueFamilyProperties2++{-# INLINE _VkGetPhysicalDeviceQueueFamilyProperties2 #-}++_VkGetPhysicalDeviceQueueFamilyProperties2 :: CString+_VkGetPhysicalDeviceQueueFamilyProperties2+  = Ptr "vkGetPhysicalDeviceQueueFamilyProperties2\NUL"#++{-# INLINE is_VkGetPhysicalDeviceQueueFamilyProperties2 #-}++is_VkGetPhysicalDeviceQueueFamilyProperties2 :: CString -> Bool+is_VkGetPhysicalDeviceQueueFamilyProperties2+  = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceQueueFamilyProperties2++type VkGetPhysicalDeviceQueueFamilyProperties2 =+     "vkGetPhysicalDeviceQueueFamilyProperties2"++-- |+-- > void vkGetPhysicalDeviceQueueFamilyProperties2+-- >     ( VkPhysicalDevice physicalDevice+-- >     , uint32_t* pQueueFamilyPropertyCount+-- >     , VkQueueFamilyProperties2* pQueueFamilyProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceQueueFamilyProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceQueueFamilyProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceQueueFamilyProperties2 <- vkGetProc @VkGetPhysicalDeviceQueueFamilyProperties2+--+-- __Note:__ @vkGetPhysicalDeviceQueueFamilyProperties2Unsafe@ and @vkGetPhysicalDeviceQueueFamilyProperties2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceQueueFamilyProperties2@ is an alias+--           of @vkGetPhysicalDeviceQueueFamilyProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceQueueFamilyProperties2Safe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe+               "vkGetPhysicalDeviceQueueFamilyProperties2"+               vkGetPhysicalDeviceQueueFamilyProperties2Unsafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr Word32 -- ^ pQueueFamilyPropertyCount+                            -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties+                                                            -> IO ()++#else+vkGetPhysicalDeviceQueueFamilyProperties2Unsafe ::+                                                VkPhysicalDevice -- ^ physicalDevice+                                                                 ->+                                                  Ptr Word32 -- ^ pQueueFamilyPropertyCount+                                                             ->+                                                    Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties+                                                                                 -> IO ()+vkGetPhysicalDeviceQueueFamilyProperties2Unsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetPhysicalDeviceQueueFamilyProperties2)++{-# NOINLINE vkGetPhysicalDeviceQueueFamilyProperties2Unsafe #-}+#endif++-- |+-- > void vkGetPhysicalDeviceQueueFamilyProperties2+-- >     ( VkPhysicalDevice physicalDevice+-- >     , uint32_t* pQueueFamilyPropertyCount+-- >     , VkQueueFamilyProperties2* pQueueFamilyProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceQueueFamilyProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceQueueFamilyProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceQueueFamilyProperties2 <- vkGetProc @VkGetPhysicalDeviceQueueFamilyProperties2+--+-- __Note:__ @vkGetPhysicalDeviceQueueFamilyProperties2Unsafe@ and @vkGetPhysicalDeviceQueueFamilyProperties2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceQueueFamilyProperties2@ is an alias+--           of @vkGetPhysicalDeviceQueueFamilyProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceQueueFamilyProperties2Safe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe+               "vkGetPhysicalDeviceQueueFamilyProperties2"+               vkGetPhysicalDeviceQueueFamilyProperties2Safe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr Word32 -- ^ pQueueFamilyPropertyCount+                            -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties+                                                            -> IO ()++#else+vkGetPhysicalDeviceQueueFamilyProperties2Safe ::+                                              VkPhysicalDevice -- ^ physicalDevice+                                                               ->+                                                Ptr Word32 -- ^ pQueueFamilyPropertyCount+                                                           -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties+                                                                                           -> IO ()+vkGetPhysicalDeviceQueueFamilyProperties2Safe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetPhysicalDeviceQueueFamilyProperties2)++{-# NOINLINE vkGetPhysicalDeviceQueueFamilyProperties2Safe #-}+#endif++-- |+-- > void vkGetPhysicalDeviceQueueFamilyProperties2+-- >     ( VkPhysicalDevice physicalDevice+-- >     , uint32_t* pQueueFamilyPropertyCount+-- >     , VkQueueFamilyProperties2* pQueueFamilyProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceQueueFamilyProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceQueueFamilyProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceQueueFamilyProperties2 <- vkGetProc @VkGetPhysicalDeviceQueueFamilyProperties2+--+-- __Note:__ @vkGetPhysicalDeviceQueueFamilyProperties2Unsafe@ and @vkGetPhysicalDeviceQueueFamilyProperties2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceQueueFamilyProperties2@ is an alias+--           of @vkGetPhysicalDeviceQueueFamilyProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceQueueFamilyProperties2Safe@.+--+vkGetPhysicalDeviceQueueFamilyProperties2 ::+                                          VkPhysicalDevice -- ^ physicalDevice+                                                           ->+                                            Ptr Word32 -- ^ pQueueFamilyPropertyCount+                                                       -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties+                                                                                       -> IO ()+#ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceQueueFamilyProperties2+  = vkGetPhysicalDeviceQueueFamilyProperties2Unsafe+#else+vkGetPhysicalDeviceQueueFamilyProperties2+  = vkGetPhysicalDeviceQueueFamilyProperties2Safe++#endif+{-# INLINE vkGetPhysicalDeviceQueueFamilyProperties2 #-}++-- | > void vkGetPhysicalDeviceQueueFamilyProperties2+--   >     ( VkPhysicalDevice physicalDevice+--   >     , uint32_t* pQueueFamilyPropertyCount+--   >     , VkQueueFamilyProperties2* pQueueFamilyProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2 registry at www.khronos.org>+type HS_vkGetPhysicalDeviceQueueFamilyProperties2 =+     VkPhysicalDevice -- ^ physicalDevice+                      ->+       Ptr Word32 -- ^ pQueueFamilyPropertyCount+                  -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties+                                                  -> IO ()++type PFN_vkGetPhysicalDeviceQueueFamilyProperties2 =+     FunPtr HS_vkGetPhysicalDeviceQueueFamilyProperties2++foreign import ccall unsafe "dynamic"+               unwrapVkGetPhysicalDeviceQueueFamilyProperties2Unsafe ::+               PFN_vkGetPhysicalDeviceQueueFamilyProperties2 ->+                 HS_vkGetPhysicalDeviceQueueFamilyProperties2++foreign import ccall safe "dynamic"+               unwrapVkGetPhysicalDeviceQueueFamilyProperties2Safe ::+               PFN_vkGetPhysicalDeviceQueueFamilyProperties2 ->+                 HS_vkGetPhysicalDeviceQueueFamilyProperties2++instance VulkanProc "vkGetPhysicalDeviceQueueFamilyProperties2"+         where+    type VkProcType "vkGetPhysicalDeviceQueueFamilyProperties2" =+         HS_vkGetPhysicalDeviceQueueFamilyProperties2+    vkProcSymbol = _VkGetPhysicalDeviceQueueFamilyProperties2++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceQueueFamilyProperties2Unsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceQueueFamilyProperties2Safe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetPhysicalDeviceMemoryProperties2 :: CString++pattern VkGetPhysicalDeviceMemoryProperties2 <-+        (is_VkGetPhysicalDeviceMemoryProperties2 -> True)+  where+    VkGetPhysicalDeviceMemoryProperties2+      = _VkGetPhysicalDeviceMemoryProperties2++{-# INLINE _VkGetPhysicalDeviceMemoryProperties2 #-}++_VkGetPhysicalDeviceMemoryProperties2 :: CString+_VkGetPhysicalDeviceMemoryProperties2+  = Ptr "vkGetPhysicalDeviceMemoryProperties2\NUL"#++{-# INLINE is_VkGetPhysicalDeviceMemoryProperties2 #-}++is_VkGetPhysicalDeviceMemoryProperties2 :: CString -> Bool+is_VkGetPhysicalDeviceMemoryProperties2+  = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceMemoryProperties2++type VkGetPhysicalDeviceMemoryProperties2 =+     "vkGetPhysicalDeviceMemoryProperties2"++-- |+-- > void vkGetPhysicalDeviceMemoryProperties2+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkPhysicalDeviceMemoryProperties2* pMemoryProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceMemoryProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceMemoryProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceMemoryProperties2 <- vkGetProc @VkGetPhysicalDeviceMemoryProperties2+--+-- __Note:__ @vkGetPhysicalDeviceMemoryProperties2Unsafe@ and @vkGetPhysicalDeviceMemoryProperties2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceMemoryProperties2@ is an alias+--           of @vkGetPhysicalDeviceMemoryProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceMemoryProperties2Safe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe "vkGetPhysicalDeviceMemoryProperties2"+               vkGetPhysicalDeviceMemoryProperties2Unsafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties+                                                                         -> IO ()++#else+vkGetPhysicalDeviceMemoryProperties2Unsafe ::+                                           VkPhysicalDevice -- ^ physicalDevice+                                                            ->+                                             Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties+                                                                                   -> IO ()+vkGetPhysicalDeviceMemoryProperties2Unsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetPhysicalDeviceMemoryProperties2)++{-# NOINLINE vkGetPhysicalDeviceMemoryProperties2Unsafe #-}+#endif++-- |+-- > void vkGetPhysicalDeviceMemoryProperties2+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkPhysicalDeviceMemoryProperties2* pMemoryProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceMemoryProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceMemoryProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceMemoryProperties2 <- vkGetProc @VkGetPhysicalDeviceMemoryProperties2+--+-- __Note:__ @vkGetPhysicalDeviceMemoryProperties2Unsafe@ and @vkGetPhysicalDeviceMemoryProperties2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceMemoryProperties2@ is an alias+--           of @vkGetPhysicalDeviceMemoryProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceMemoryProperties2Safe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe "vkGetPhysicalDeviceMemoryProperties2"+               vkGetPhysicalDeviceMemoryProperties2Safe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties+                                                                         -> IO ()++#else+vkGetPhysicalDeviceMemoryProperties2Safe ::+                                         VkPhysicalDevice -- ^ physicalDevice+                                                          ->+                                           Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties+                                                                                 -> IO ()+vkGetPhysicalDeviceMemoryProperties2Safe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetPhysicalDeviceMemoryProperties2)++{-# NOINLINE vkGetPhysicalDeviceMemoryProperties2Safe #-}+#endif++-- |+-- > void vkGetPhysicalDeviceMemoryProperties2+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkPhysicalDeviceMemoryProperties2* pMemoryProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceMemoryProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceMemoryProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceMemoryProperties2 <- vkGetProc @VkGetPhysicalDeviceMemoryProperties2+--+-- __Note:__ @vkGetPhysicalDeviceMemoryProperties2Unsafe@ and @vkGetPhysicalDeviceMemoryProperties2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceMemoryProperties2@ is an alias+--           of @vkGetPhysicalDeviceMemoryProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceMemoryProperties2Safe@.+--+vkGetPhysicalDeviceMemoryProperties2 ::+                                     VkPhysicalDevice -- ^ physicalDevice+                                                      ->+                                       Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties+                                                                             -> IO ()+#ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceMemoryProperties2+  = vkGetPhysicalDeviceMemoryProperties2Unsafe+#else+vkGetPhysicalDeviceMemoryProperties2+  = vkGetPhysicalDeviceMemoryProperties2Safe++#endif+{-# INLINE vkGetPhysicalDeviceMemoryProperties2 #-}++-- | > void vkGetPhysicalDeviceMemoryProperties2+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkPhysicalDeviceMemoryProperties2* pMemoryProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2 registry at www.khronos.org>+type HS_vkGetPhysicalDeviceMemoryProperties2 =+     VkPhysicalDevice -- ^ physicalDevice+                      -> Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties+                                                               -> IO ()++type PFN_vkGetPhysicalDeviceMemoryProperties2 =+     FunPtr HS_vkGetPhysicalDeviceMemoryProperties2++foreign import ccall unsafe "dynamic"+               unwrapVkGetPhysicalDeviceMemoryProperties2Unsafe ::+               PFN_vkGetPhysicalDeviceMemoryProperties2 ->+                 HS_vkGetPhysicalDeviceMemoryProperties2++foreign import ccall safe "dynamic"+               unwrapVkGetPhysicalDeviceMemoryProperties2Safe ::+               PFN_vkGetPhysicalDeviceMemoryProperties2 ->+                 HS_vkGetPhysicalDeviceMemoryProperties2++instance VulkanProc "vkGetPhysicalDeviceMemoryProperties2" where+    type VkProcType "vkGetPhysicalDeviceMemoryProperties2" =+         HS_vkGetPhysicalDeviceMemoryProperties2+    vkProcSymbol = _VkGetPhysicalDeviceMemoryProperties2++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceMemoryProperties2Unsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceMemoryProperties2Safe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetPhysicalDeviceSparseImageFormatProperties2 :: CString++pattern VkGetPhysicalDeviceSparseImageFormatProperties2 <-+        (is_VkGetPhysicalDeviceSparseImageFormatProperties2 -> True)+  where+    VkGetPhysicalDeviceSparseImageFormatProperties2+      = _VkGetPhysicalDeviceSparseImageFormatProperties2++{-# INLINE _VkGetPhysicalDeviceSparseImageFormatProperties2 #-}++_VkGetPhysicalDeviceSparseImageFormatProperties2 :: CString+_VkGetPhysicalDeviceSparseImageFormatProperties2+  = Ptr "vkGetPhysicalDeviceSparseImageFormatProperties2\NUL"#++{-# INLINE is_VkGetPhysicalDeviceSparseImageFormatProperties2 #-}++is_VkGetPhysicalDeviceSparseImageFormatProperties2 ::+                                                   CString -> Bool+is_VkGetPhysicalDeviceSparseImageFormatProperties2+  = (EQ ==) .+      cmpCStrings _VkGetPhysicalDeviceSparseImageFormatProperties2++type VkGetPhysicalDeviceSparseImageFormatProperties2 =+     "vkGetPhysicalDeviceSparseImageFormatProperties2"++-- |+-- > void vkGetPhysicalDeviceSparseImageFormatProperties2+-- >     ( VkPhysicalDevice physicalDevice+-- >     , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo+-- >     , uint32_t* pPropertyCount+-- >     , VkSparseImageFormatProperties2* pProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceSparseImageFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceSparseImageFormatProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceSparseImageFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceSparseImageFormatProperties2+--+-- __Note:__ @vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe@ and @vkGetPhysicalDeviceSparseImageFormatProperties2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceSparseImageFormatProperties2@ is an alias+--           of @vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceSparseImageFormatProperties2Safe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe+               "vkGetPhysicalDeviceSparseImageFormatProperties2"+               vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo+                                                            ->+                   Ptr Word32 -- ^ pPropertyCount+                              -> Ptr VkSparseImageFormatProperties2 -- ^ pProperties+                                                                    -> IO ()++#else+vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe ::+                                                      VkPhysicalDevice -- ^ physicalDevice+                                                                       ->+                                                        Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo+                                                          ->+                                                          Ptr Word32 -- ^ pPropertyCount+                                                                     ->+                                                            Ptr VkSparseImageFormatProperties2 -- ^ pProperties+                                                                                               ->+                                                              IO ()+vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetPhysicalDeviceSparseImageFormatProperties2)++{-# NOINLINE vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe+             #-}+#endif++-- |+-- > void vkGetPhysicalDeviceSparseImageFormatProperties2+-- >     ( VkPhysicalDevice physicalDevice+-- >     , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo+-- >     , uint32_t* pPropertyCount+-- >     , VkSparseImageFormatProperties2* pProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceSparseImageFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceSparseImageFormatProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceSparseImageFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceSparseImageFormatProperties2+--+-- __Note:__ @vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe@ and @vkGetPhysicalDeviceSparseImageFormatProperties2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceSparseImageFormatProperties2@ is an alias+--           of @vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceSparseImageFormatProperties2Safe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe+               "vkGetPhysicalDeviceSparseImageFormatProperties2"+               vkGetPhysicalDeviceSparseImageFormatProperties2Safe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo+                                                            ->+                   Ptr Word32 -- ^ pPropertyCount+                              -> Ptr VkSparseImageFormatProperties2 -- ^ pProperties+                                                                    -> IO ()++#else+vkGetPhysicalDeviceSparseImageFormatProperties2Safe ::+                                                    VkPhysicalDevice -- ^ physicalDevice+                                                                     ->+                                                      Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo+                                                                                                 ->+                                                        Ptr Word32 -- ^ pPropertyCount+                                                                   ->+                                                          Ptr VkSparseImageFormatProperties2 -- ^ pProperties+                                                                                             ->+                                                            IO ()+vkGetPhysicalDeviceSparseImageFormatProperties2Safe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetPhysicalDeviceSparseImageFormatProperties2)++{-# NOINLINE vkGetPhysicalDeviceSparseImageFormatProperties2Safe+             #-}+#endif++-- |+-- > void vkGetPhysicalDeviceSparseImageFormatProperties2+-- >     ( VkPhysicalDevice physicalDevice+-- >     , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo+-- >     , uint32_t* pPropertyCount+-- >     , VkSparseImageFormatProperties2* pProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceSparseImageFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceSparseImageFormatProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceSparseImageFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceSparseImageFormatProperties2+--+-- __Note:__ @vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe@ and @vkGetPhysicalDeviceSparseImageFormatProperties2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceSparseImageFormatProperties2@ is an alias+--           of @vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceSparseImageFormatProperties2Safe@.+--+vkGetPhysicalDeviceSparseImageFormatProperties2 ::+                                                VkPhysicalDevice -- ^ physicalDevice+                                                                 ->+                                                  Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo+                                                                                             ->+                                                    Ptr Word32 -- ^ pPropertyCount+                                                               ->+                                                      Ptr VkSparseImageFormatProperties2 -- ^ pProperties+                                                                                         -> IO ()+#ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceSparseImageFormatProperties2+  = vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe+#else+vkGetPhysicalDeviceSparseImageFormatProperties2+  = vkGetPhysicalDeviceSparseImageFormatProperties2Safe++#endif+{-# INLINE vkGetPhysicalDeviceSparseImageFormatProperties2 #-}++-- | > void vkGetPhysicalDeviceSparseImageFormatProperties2+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo+--   >     , uint32_t* pPropertyCount+--   >     , VkSparseImageFormatProperties2* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2 registry at www.khronos.org>+type HS_vkGetPhysicalDeviceSparseImageFormatProperties2 =+     VkPhysicalDevice -- ^ physicalDevice+                      ->+       Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo+                                                  ->+         Ptr Word32 -- ^ pPropertyCount+                    -> Ptr VkSparseImageFormatProperties2 -- ^ pProperties+                                                          -> IO ()++type PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 =+     FunPtr HS_vkGetPhysicalDeviceSparseImageFormatProperties2++foreign import ccall unsafe "dynamic"+               unwrapVkGetPhysicalDeviceSparseImageFormatProperties2Unsafe ::+               PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 ->+                 HS_vkGetPhysicalDeviceSparseImageFormatProperties2++foreign import ccall safe "dynamic"+               unwrapVkGetPhysicalDeviceSparseImageFormatProperties2Safe ::+               PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 ->+                 HS_vkGetPhysicalDeviceSparseImageFormatProperties2++instance VulkanProc+           "vkGetPhysicalDeviceSparseImageFormatProperties2"+         where+    type VkProcType "vkGetPhysicalDeviceSparseImageFormatProperties2" =+         HS_vkGetPhysicalDeviceSparseImageFormatProperties2+    vkProcSymbol = _VkGetPhysicalDeviceSparseImageFormatProperties2++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceSparseImageFormatProperties2Unsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceSparseImageFormatProperties2Safe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 =+        VkStructureType 1000059000++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 =+        VkStructureType 1000059001++pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: VkStructureType++pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 =+        VkStructureType 1000059002++pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 =+        VkStructureType 1000059003++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 =+        VkStructureType 1000059004++pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 =+        VkStructureType 1000059005++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 =+        VkStructureType 1000059006++pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 =+        VkStructureType 1000059007++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2+        = VkStructureType 1000059008++pattern VkTrimCommandPool :: CString++pattern VkTrimCommandPool <- (is_VkTrimCommandPool -> True)+  where+    VkTrimCommandPool = _VkTrimCommandPool++{-# INLINE _VkTrimCommandPool #-}++_VkTrimCommandPool :: CString+_VkTrimCommandPool = Ptr "vkTrimCommandPool\NUL"#++{-# INLINE is_VkTrimCommandPool #-}++is_VkTrimCommandPool :: CString -> Bool+is_VkTrimCommandPool = (EQ ==) . cmpCStrings _VkTrimCommandPool++type VkTrimCommandPool = "vkTrimCommandPool"++-- |+-- > void vkTrimCommandPool+-- >     ( VkDevice device+-- >     , VkCommandPool commandPool+-- >     , VkCommandPoolTrimFlags flags+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkTrimCommandPool vkTrimCommandPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myTrimCommandPool <- vkGetDeviceProc @VkTrimCommandPool vkDevice+--+-- or less efficient:+--+-- > myTrimCommandPool <- vkGetProc @VkTrimCommandPool+--+-- __Note:__ @vkTrimCommandPoolUnsafe@ and @vkTrimCommandPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkTrimCommandPool@ is an alias+--           of @vkTrimCommandPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkTrimCommandPoolSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe "vkTrimCommandPool"+               vkTrimCommandPoolUnsafe ::+               VkDevice -- ^ device+                        -> VkCommandPool -- ^ commandPool+                                         -> VkCommandPoolTrimFlags -- ^ flags+                                                                   -> IO ()++#else+vkTrimCommandPoolUnsafe ::+                        VkDevice -- ^ device+                                 -> VkCommandPool -- ^ commandPool+                                                  -> VkCommandPoolTrimFlags -- ^ flags+                                                                            -> IO ()+vkTrimCommandPoolUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkTrimCommandPool)++{-# NOINLINE vkTrimCommandPoolUnsafe #-}+#endif++-- |+-- > void vkTrimCommandPool+-- >     ( VkDevice device+-- >     , VkCommandPool commandPool+-- >     , VkCommandPoolTrimFlags flags+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkTrimCommandPool vkTrimCommandPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myTrimCommandPool <- vkGetDeviceProc @VkTrimCommandPool vkDevice+--+-- or less efficient:+--+-- > myTrimCommandPool <- vkGetProc @VkTrimCommandPool+--+-- __Note:__ @vkTrimCommandPoolUnsafe@ and @vkTrimCommandPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkTrimCommandPool@ is an alias+--           of @vkTrimCommandPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkTrimCommandPoolSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe "vkTrimCommandPool" vkTrimCommandPoolSafe+               :: VkDevice -- ^ device+                           -> VkCommandPool -- ^ commandPool+                                            -> VkCommandPoolTrimFlags -- ^ flags+                                                                      -> IO ()++#else+vkTrimCommandPoolSafe ::+                      VkDevice -- ^ device+                               -> VkCommandPool -- ^ commandPool+                                                -> VkCommandPoolTrimFlags -- ^ flags+                                                                          -> IO ()+vkTrimCommandPoolSafe+  = unsafeDupablePerformIO (vkGetProcSafe @VkTrimCommandPool)++{-# NOINLINE vkTrimCommandPoolSafe #-}+#endif++-- |+-- > void vkTrimCommandPool+-- >     ( VkDevice device+-- >     , VkCommandPool commandPool+-- >     , VkCommandPoolTrimFlags flags+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkTrimCommandPool vkTrimCommandPool registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myTrimCommandPool <- vkGetDeviceProc @VkTrimCommandPool vkDevice+--+-- or less efficient:+--+-- > myTrimCommandPool <- vkGetProc @VkTrimCommandPool+--+-- __Note:__ @vkTrimCommandPoolUnsafe@ and @vkTrimCommandPoolSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkTrimCommandPool@ is an alias+--           of @vkTrimCommandPoolUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkTrimCommandPoolSafe@.+--+vkTrimCommandPool ::+                  VkDevice -- ^ device+                           -> VkCommandPool -- ^ commandPool+                                            -> VkCommandPoolTrimFlags -- ^ flags+                                                                      -> IO ()+#ifdef UNSAFE_FFI_DEFAULT+vkTrimCommandPool = vkTrimCommandPoolUnsafe+#else+vkTrimCommandPool = vkTrimCommandPoolSafe++#endif+{-# INLINE vkTrimCommandPool #-}++-- | > void vkTrimCommandPool+--   >     ( VkDevice device+--   >     , VkCommandPool commandPool+--   >     , VkCommandPoolTrimFlags flags+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkTrimCommandPool vkTrimCommandPool registry at www.khronos.org>+type HS_vkTrimCommandPool =+     VkDevice -- ^ device+              -> VkCommandPool -- ^ commandPool+                               -> VkCommandPoolTrimFlags -- ^ flags+                                                         -> IO ()++type PFN_vkTrimCommandPool = FunPtr HS_vkTrimCommandPool++foreign import ccall unsafe "dynamic" unwrapVkTrimCommandPoolUnsafe+               :: PFN_vkTrimCommandPool -> HS_vkTrimCommandPool++foreign import ccall safe "dynamic" unwrapVkTrimCommandPoolSafe ::+               PFN_vkTrimCommandPool -> HS_vkTrimCommandPool++instance VulkanProc "vkTrimCommandPool" where+    type VkProcType "vkTrimCommandPool" = HS_vkTrimCommandPool+    vkProcSymbol = _VkTrimCommandPool++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkTrimCommandPoolUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkTrimCommandPoolSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VK_ERROR_OUT_OF_POOL_MEMORY :: VkResult++pattern VK_ERROR_OUT_OF_POOL_MEMORY = VkResult (-1000069000)++-- | Format can be used as the source image of image transfer commands+--+--   bitpos = @14@+pattern VK_FORMAT_FEATURE_TRANSFER_SRC_BIT ::+        VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_TRANSFER_SRC_BIT =+        VkFormatFeatureBitmask 16384++-- | Format can be used as the destination image of image transfer commands+--+--   bitpos = @15@+pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT ::+        VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT =+        VkFormatFeatureBitmask 32768++-- | The 3D image can be viewed as a 2D or 2D array image+--+--   bitpos = @5@+pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT ::+        VkImageCreateBitmask a++pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT =+        VkImageCreateBitmask 32++-- | bitpos = @7@+pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT ::+        VkImageCreateBitmask a++pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT =+        VkImageCreateBitmask 128++-- | bitpos = @8@+pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT ::+        VkImageCreateBitmask a++pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT =+        VkImageCreateBitmask 256++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES+        = VkStructureType 1000117000++pattern VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO+        = VkStructureType 1000117001++pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO =+        VkStructureType 1000117002++pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO+        = VkStructureType 1000117003++pattern VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL+        :: VkImageLayout++pattern VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL+        = VkImageLayout 1000117000++pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL+        :: VkImageLayout++pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL+        = VkImageLayout 1000117001++pattern VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO =+        VkStructureType 1000053000++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES =+        VkStructureType 1000053001++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES =+        VkStructureType 1000053002++-- | bitpos = @1@+pattern VK_DEPENDENCY_VIEW_LOCAL_BIT :: VkDependencyBitmask a++pattern VK_DEPENDENCY_VIEW_LOCAL_BIT = VkDependencyBitmask 2++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES+        = VkStructureType 1000120000++pattern VkGetDeviceQueue2 :: CString++pattern VkGetDeviceQueue2 <- (is_VkGetDeviceQueue2 -> True)+  where+    VkGetDeviceQueue2 = _VkGetDeviceQueue2++{-# INLINE _VkGetDeviceQueue2 #-}++_VkGetDeviceQueue2 :: CString+_VkGetDeviceQueue2 = Ptr "vkGetDeviceQueue2\NUL"#++{-# INLINE is_VkGetDeviceQueue2 #-}++is_VkGetDeviceQueue2 :: CString -> Bool+is_VkGetDeviceQueue2 = (EQ ==) . cmpCStrings _VkGetDeviceQueue2++type VkGetDeviceQueue2 = "vkGetDeviceQueue2"++-- |+-- > void vkGetDeviceQueue2+-- >     ( VkDevice device+-- >     , const VkDeviceQueueInfo2* pQueueInfo+-- >     , VkQueue* pQueue+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceQueue2 vkGetDeviceQueue2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceQueue2 <- vkGetDeviceProc @VkGetDeviceQueue2 vkDevice+--+-- or less efficient:+--+-- > myGetDeviceQueue2 <- vkGetProc @VkGetDeviceQueue2+--+-- __Note:__ @vkGetDeviceQueue2Unsafe@ and @vkGetDeviceQueue2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDeviceQueue2@ is an alias+--           of @vkGetDeviceQueue2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDeviceQueue2Safe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe "vkGetDeviceQueue2"+               vkGetDeviceQueue2Unsafe ::+               VkDevice -- ^ device+                        -> Ptr VkDeviceQueueInfo2 -- ^ pQueueInfo+                                                  -> Ptr VkQueue -- ^ pQueue+                                                                 -> IO ()++#else+vkGetDeviceQueue2Unsafe ::+                        VkDevice -- ^ device+                                 -> Ptr VkDeviceQueueInfo2 -- ^ pQueueInfo+                                                           -> Ptr VkQueue -- ^ pQueue+                                                                          -> IO ()+vkGetDeviceQueue2Unsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkGetDeviceQueue2)++{-# NOINLINE vkGetDeviceQueue2Unsafe #-}+#endif++-- |+-- > void vkGetDeviceQueue2+-- >     ( VkDevice device+-- >     , const VkDeviceQueueInfo2* pQueueInfo+-- >     , VkQueue* pQueue+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceQueue2 vkGetDeviceQueue2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceQueue2 <- vkGetDeviceProc @VkGetDeviceQueue2 vkDevice+--+-- or less efficient:+--+-- > myGetDeviceQueue2 <- vkGetProc @VkGetDeviceQueue2+--+-- __Note:__ @vkGetDeviceQueue2Unsafe@ and @vkGetDeviceQueue2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDeviceQueue2@ is an alias+--           of @vkGetDeviceQueue2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDeviceQueue2Safe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe "vkGetDeviceQueue2" vkGetDeviceQueue2Safe+               :: VkDevice -- ^ device+                           -> Ptr VkDeviceQueueInfo2 -- ^ pQueueInfo+                                                     -> Ptr VkQueue -- ^ pQueue+                                                                    -> IO ()++#else+vkGetDeviceQueue2Safe ::+                      VkDevice -- ^ device+                               -> Ptr VkDeviceQueueInfo2 -- ^ pQueueInfo+                                                         -> Ptr VkQueue -- ^ pQueue+                                                                        -> IO ()+vkGetDeviceQueue2Safe+  = unsafeDupablePerformIO (vkGetProcSafe @VkGetDeviceQueue2)++{-# NOINLINE vkGetDeviceQueue2Safe #-}+#endif++-- |+-- > void vkGetDeviceQueue2+-- >     ( VkDevice device+-- >     , const VkDeviceQueueInfo2* pQueueInfo+-- >     , VkQueue* pQueue+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceQueue2 vkGetDeviceQueue2 registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceQueue2 <- vkGetDeviceProc @VkGetDeviceQueue2 vkDevice+--+-- or less efficient:+--+-- > myGetDeviceQueue2 <- vkGetProc @VkGetDeviceQueue2+--+-- __Note:__ @vkGetDeviceQueue2Unsafe@ and @vkGetDeviceQueue2Safe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDeviceQueue2@ is an alias+--           of @vkGetDeviceQueue2Unsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDeviceQueue2Safe@.+--+vkGetDeviceQueue2 ::+                  VkDevice -- ^ device+                           -> Ptr VkDeviceQueueInfo2 -- ^ pQueueInfo+                                                     -> Ptr VkQueue -- ^ pQueue+                                                                    -> IO ()+#ifdef UNSAFE_FFI_DEFAULT+vkGetDeviceQueue2 = vkGetDeviceQueue2Unsafe+#else+vkGetDeviceQueue2 = vkGetDeviceQueue2Safe++#endif+{-# INLINE vkGetDeviceQueue2 #-}++-- | > void vkGetDeviceQueue2+--   >     ( VkDevice device+--   >     , const VkDeviceQueueInfo2* pQueueInfo+--   >     , VkQueue* pQueue+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceQueue2 vkGetDeviceQueue2 registry at www.khronos.org>+type HS_vkGetDeviceQueue2 =+     VkDevice -- ^ device+              -> Ptr VkDeviceQueueInfo2 -- ^ pQueueInfo+                                        -> Ptr VkQueue -- ^ pQueue+                                                       -> IO ()++type PFN_vkGetDeviceQueue2 = FunPtr HS_vkGetDeviceQueue2++foreign import ccall unsafe "dynamic" unwrapVkGetDeviceQueue2Unsafe+               :: PFN_vkGetDeviceQueue2 -> HS_vkGetDeviceQueue2++foreign import ccall safe "dynamic" unwrapVkGetDeviceQueue2Safe ::+               PFN_vkGetDeviceQueue2 -> HS_vkGetDeviceQueue2++instance VulkanProc "vkGetDeviceQueue2" where+    type VkProcType "vkGetDeviceQueue2" = HS_vkGetDeviceQueue2+    vkProcSymbol = _VkGetDeviceQueue2++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetDeviceQueue2Unsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetDeviceQueue2Safe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO =+        VkStructureType 1000145000++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES+        = VkStructureType 1000145001++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES+        = VkStructureType 1000145002++pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 =+        VkStructureType 1000145003++-- | Queues may support protected operations+--+--   bitpos = @4@+pattern VK_QUEUE_PROTECTED_BIT :: VkQueueBitmask a++pattern VK_QUEUE_PROTECTED_BIT = VkQueueBitmask 16++-- | Queue is a protected-capable device queue+--+--   bitpos = @0@+pattern VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT ::+        VkDeviceQueueCreateBitmask a++pattern VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT =+        VkDeviceQueueCreateBitmask 1++-- | Memory is protected+--+--   bitpos = @5@+pattern VK_MEMORY_PROPERTY_PROTECTED_BIT ::+        VkMemoryPropertyBitmask a++pattern VK_MEMORY_PROPERTY_PROTECTED_BIT =+        VkMemoryPropertyBitmask 32++-- | Buffer requires protected memory+--+--   bitpos = @3@+pattern VK_BUFFER_CREATE_PROTECTED_BIT :: VkBufferCreateBitmask a++pattern VK_BUFFER_CREATE_PROTECTED_BIT = VkBufferCreateBitmask 8++-- | Image requires protected memory+--+--   bitpos = @11@+pattern VK_IMAGE_CREATE_PROTECTED_BIT :: VkImageCreateBitmask a++pattern VK_IMAGE_CREATE_PROTECTED_BIT = VkImageCreateBitmask 2048++-- | Command buffers allocated from pool are protected command buffers+--+--   bitpos = @2@+pattern VK_COMMAND_POOL_CREATE_PROTECTED_BIT ::+        VkCommandPoolCreateBitmask a++pattern VK_COMMAND_POOL_CREATE_PROTECTED_BIT =+        VkCommandPoolCreateBitmask 4++pattern VkCreateSamplerYcbcrConversion :: CString++pattern VkCreateSamplerYcbcrConversion <-+        (is_VkCreateSamplerYcbcrConversion -> True)+  where+    VkCreateSamplerYcbcrConversion = _VkCreateSamplerYcbcrConversion++{-# INLINE _VkCreateSamplerYcbcrConversion #-}++_VkCreateSamplerYcbcrConversion :: CString+_VkCreateSamplerYcbcrConversion+  = Ptr "vkCreateSamplerYcbcrConversion\NUL"#++{-# INLINE is_VkCreateSamplerYcbcrConversion #-}++is_VkCreateSamplerYcbcrConversion :: CString -> Bool+is_VkCreateSamplerYcbcrConversion+  = (EQ ==) . cmpCStrings _VkCreateSamplerYcbcrConversion++type VkCreateSamplerYcbcrConversion =+     "vkCreateSamplerYcbcrConversion"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateSamplerYcbcrConversion+-- >     ( VkDevice device+-- >     , const VkSamplerYcbcrConversionCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkSamplerYcbcrConversion* pYcbcrConversion+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateSamplerYcbcrConversion <- vkGetDeviceProc @VkCreateSamplerYcbcrConversion vkDevice+--+-- or less efficient:+--+-- > myCreateSamplerYcbcrConversion <- vkGetProc @VkCreateSamplerYcbcrConversion+--+-- __Note:__ @vkCreateSamplerYcbcrConversionUnsafe@ and @vkCreateSamplerYcbcrConversionSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateSamplerYcbcrConversion@ is an alias+--           of @vkCreateSamplerYcbcrConversionUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateSamplerYcbcrConversionSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe "vkCreateSamplerYcbcrConversion"+               vkCreateSamplerYcbcrConversionUnsafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo+                                                        ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             ->+                     Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion+                                                  -> IO VkResult++#else+vkCreateSamplerYcbcrConversionUnsafe ::+                                     VkDevice -- ^ device+                                              ->+                                       Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo+                                                                              ->+                                         Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                   ->+                                           Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion+                                                                        -> IO VkResult+vkCreateSamplerYcbcrConversionUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkCreateSamplerYcbcrConversion)++{-# NOINLINE vkCreateSamplerYcbcrConversionUnsafe #-}+#endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateSamplerYcbcrConversion+-- >     ( VkDevice device+-- >     , const VkSamplerYcbcrConversionCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkSamplerYcbcrConversion* pYcbcrConversion+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateSamplerYcbcrConversion <- vkGetDeviceProc @VkCreateSamplerYcbcrConversion vkDevice+--+-- or less efficient:+--+-- > myCreateSamplerYcbcrConversion <- vkGetProc @VkCreateSamplerYcbcrConversion+--+-- __Note:__ @vkCreateSamplerYcbcrConversionUnsafe@ and @vkCreateSamplerYcbcrConversionSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateSamplerYcbcrConversion@ is an alias+--           of @vkCreateSamplerYcbcrConversionUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateSamplerYcbcrConversionSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe "vkCreateSamplerYcbcrConversion"+               vkCreateSamplerYcbcrConversionSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo+                                                        ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             ->+                     Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion+                                                  -> IO VkResult++#else+vkCreateSamplerYcbcrConversionSafe ::+                                   VkDevice -- ^ device+                                            ->+                                     Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo+                                                                            ->+                                       Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                 ->+                                         Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion+                                                                      -> IO VkResult+vkCreateSamplerYcbcrConversionSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkCreateSamplerYcbcrConversion)++{-# NOINLINE vkCreateSamplerYcbcrConversionSafe #-}+#endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateSamplerYcbcrConversion+-- >     ( VkDevice device+-- >     , const VkSamplerYcbcrConversionCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkSamplerYcbcrConversion* pYcbcrConversion+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateSamplerYcbcrConversion <- vkGetDeviceProc @VkCreateSamplerYcbcrConversion vkDevice+--+-- or less efficient:+--+-- > myCreateSamplerYcbcrConversion <- vkGetProc @VkCreateSamplerYcbcrConversion+--+-- __Note:__ @vkCreateSamplerYcbcrConversionUnsafe@ and @vkCreateSamplerYcbcrConversionSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateSamplerYcbcrConversion@ is an alias+--           of @vkCreateSamplerYcbcrConversionUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateSamplerYcbcrConversionSafe@.+--+vkCreateSamplerYcbcrConversion ::+                               VkDevice -- ^ device+                                        ->+                                 Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo+                                                                        ->+                                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                                             ->+                                     Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion+                                                                  -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkCreateSamplerYcbcrConversion+  = vkCreateSamplerYcbcrConversionUnsafe+#else+vkCreateSamplerYcbcrConversion = vkCreateSamplerYcbcrConversionSafe++#endif+{-# INLINE vkCreateSamplerYcbcrConversion #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateSamplerYcbcrConversion+--   >     ( VkDevice device+--   >     , const VkSamplerYcbcrConversionCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkSamplerYcbcrConversion* pYcbcrConversion+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion registry at www.khronos.org>+type HS_vkCreateSamplerYcbcrConversion =+     VkDevice -- ^ device+              ->+       Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo+                                              ->+         Ptr VkAllocationCallbacks -- ^ pAllocator+                                   ->+           Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion+                                        -> IO VkResult++type PFN_vkCreateSamplerYcbcrConversion =+     FunPtr HS_vkCreateSamplerYcbcrConversion++foreign import ccall unsafe "dynamic"+               unwrapVkCreateSamplerYcbcrConversionUnsafe ::+               PFN_vkCreateSamplerYcbcrConversion ->+                 HS_vkCreateSamplerYcbcrConversion++foreign import ccall safe "dynamic"+               unwrapVkCreateSamplerYcbcrConversionSafe ::+               PFN_vkCreateSamplerYcbcrConversion ->+                 HS_vkCreateSamplerYcbcrConversion++instance VulkanProc "vkCreateSamplerYcbcrConversion" where+    type VkProcType "vkCreateSamplerYcbcrConversion" =+         HS_vkCreateSamplerYcbcrConversion+    vkProcSymbol = _VkCreateSamplerYcbcrConversion++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateSamplerYcbcrConversionUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateSamplerYcbcrConversionSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkDestroySamplerYcbcrConversion :: CString++pattern VkDestroySamplerYcbcrConversion <-+        (is_VkDestroySamplerYcbcrConversion -> True)+  where+    VkDestroySamplerYcbcrConversion = _VkDestroySamplerYcbcrConversion++{-# INLINE _VkDestroySamplerYcbcrConversion #-}++_VkDestroySamplerYcbcrConversion :: CString+_VkDestroySamplerYcbcrConversion+  = Ptr "vkDestroySamplerYcbcrConversion\NUL"#++{-# INLINE is_VkDestroySamplerYcbcrConversion #-}++is_VkDestroySamplerYcbcrConversion :: CString -> Bool+is_VkDestroySamplerYcbcrConversion+  = (EQ ==) . cmpCStrings _VkDestroySamplerYcbcrConversion++type VkDestroySamplerYcbcrConversion =+     "vkDestroySamplerYcbcrConversion"++-- |+-- > void vkDestroySamplerYcbcrConversion+-- >     ( VkDevice device+-- >     , VkSamplerYcbcrConversion ycbcrConversion+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroySamplerYcbcrConversion <- vkGetDeviceProc @VkDestroySamplerYcbcrConversion vkDevice+--+-- or less efficient:+--+-- > myDestroySamplerYcbcrConversion <- vkGetProc @VkDestroySamplerYcbcrConversion+--+-- __Note:__ @vkDestroySamplerYcbcrConversionUnsafe@ and @vkDestroySamplerYcbcrConversionSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroySamplerYcbcrConversion@ is an alias+--           of @vkDestroySamplerYcbcrConversionUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroySamplerYcbcrConversionSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe "vkDestroySamplerYcbcrConversion"+               vkDestroySamplerYcbcrConversionUnsafe ::+               VkDevice -- ^ device+                        ->+                 VkSamplerYcbcrConversion -- ^ ycbcrConversion+                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                       -> IO ()++#else+vkDestroySamplerYcbcrConversionUnsafe ::+                                      VkDevice -- ^ device+                                               ->+                                        VkSamplerYcbcrConversion -- ^ ycbcrConversion+                                                                 ->+                                          Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                    -> IO ()+vkDestroySamplerYcbcrConversionUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkDestroySamplerYcbcrConversion)++{-# NOINLINE vkDestroySamplerYcbcrConversionUnsafe #-}+#endif++-- |+-- > void vkDestroySamplerYcbcrConversion+-- >     ( VkDevice device+-- >     , VkSamplerYcbcrConversion ycbcrConversion+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroySamplerYcbcrConversion <- vkGetDeviceProc @VkDestroySamplerYcbcrConversion vkDevice+--+-- or less efficient:+--+-- > myDestroySamplerYcbcrConversion <- vkGetProc @VkDestroySamplerYcbcrConversion+--+-- __Note:__ @vkDestroySamplerYcbcrConversionUnsafe@ and @vkDestroySamplerYcbcrConversionSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroySamplerYcbcrConversion@ is an alias+--           of @vkDestroySamplerYcbcrConversionUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroySamplerYcbcrConversionSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe "vkDestroySamplerYcbcrConversion"+               vkDestroySamplerYcbcrConversionSafe ::+               VkDevice -- ^ device+                        ->+                 VkSamplerYcbcrConversion -- ^ ycbcrConversion+                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                       -> IO ()++#else+vkDestroySamplerYcbcrConversionSafe ::+                                    VkDevice -- ^ device+                                             ->+                                      VkSamplerYcbcrConversion -- ^ ycbcrConversion+                                                               -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                                            -> IO ()+vkDestroySamplerYcbcrConversionSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkDestroySamplerYcbcrConversion)++{-# NOINLINE vkDestroySamplerYcbcrConversionSafe #-}+#endif++-- |+-- > void vkDestroySamplerYcbcrConversion+-- >     ( VkDevice device+-- >     , VkSamplerYcbcrConversion ycbcrConversion+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroySamplerYcbcrConversion <- vkGetDeviceProc @VkDestroySamplerYcbcrConversion vkDevice+--+-- or less efficient:+--+-- > myDestroySamplerYcbcrConversion <- vkGetProc @VkDestroySamplerYcbcrConversion+--+-- __Note:__ @vkDestroySamplerYcbcrConversionUnsafe@ and @vkDestroySamplerYcbcrConversionSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroySamplerYcbcrConversion@ is an alias+--           of @vkDestroySamplerYcbcrConversionUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroySamplerYcbcrConversionSafe@.+--+vkDestroySamplerYcbcrConversion ::+                                VkDevice -- ^ device+                                         ->+                                  VkSamplerYcbcrConversion -- ^ ycbcrConversion+                                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                                        -> IO ()+#ifdef UNSAFE_FFI_DEFAULT+vkDestroySamplerYcbcrConversion+  = vkDestroySamplerYcbcrConversionUnsafe+#else+vkDestroySamplerYcbcrConversion+  = vkDestroySamplerYcbcrConversionSafe++#endif+{-# INLINE vkDestroySamplerYcbcrConversion #-}++-- | > void vkDestroySamplerYcbcrConversion+--   >     ( VkDevice device+--   >     , VkSamplerYcbcrConversion ycbcrConversion+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion registry at www.khronos.org>+type HS_vkDestroySamplerYcbcrConversion =+     VkDevice -- ^ device+              ->+       VkSamplerYcbcrConversion -- ^ ycbcrConversion+                                -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                             -> IO ()++type PFN_vkDestroySamplerYcbcrConversion =+     FunPtr HS_vkDestroySamplerYcbcrConversion++foreign import ccall unsafe "dynamic"+               unwrapVkDestroySamplerYcbcrConversionUnsafe ::+               PFN_vkDestroySamplerYcbcrConversion ->+                 HS_vkDestroySamplerYcbcrConversion++foreign import ccall safe "dynamic"+               unwrapVkDestroySamplerYcbcrConversionSafe ::+               PFN_vkDestroySamplerYcbcrConversion ->+                 HS_vkDestroySamplerYcbcrConversion++instance VulkanProc "vkDestroySamplerYcbcrConversion" where+    type VkProcType "vkDestroySamplerYcbcrConversion" =+         HS_vkDestroySamplerYcbcrConversion+    vkProcSymbol = _VkDestroySamplerYcbcrConversion++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDestroySamplerYcbcrConversionUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroySamplerYcbcrConversionSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO =+        VkStructureType 1000156000++pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO =+        VkStructureType 1000156001++pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO =+        VkStructureType 1000156002++pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO =+        VkStructureType 1000156003++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES+        = VkStructureType 1000156004++pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES+        = VkStructureType 1000156005++pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION :: VkObjectType++pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION =+        VkObjectType 1000156000++pattern VK_FORMAT_G8B8G8R8_422_UNORM :: VkFormat++pattern VK_FORMAT_G8B8G8R8_422_UNORM = VkFormat 1000156000++pattern VK_FORMAT_B8G8R8G8_422_UNORM :: VkFormat++pattern VK_FORMAT_B8G8R8G8_422_UNORM = VkFormat 1000156001++pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM :: VkFormat++pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = VkFormat 1000156002++pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM :: VkFormat++pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = VkFormat 1000156003++pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM :: VkFormat++pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = VkFormat 1000156004++pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM :: VkFormat++pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = VkFormat 1000156005++pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM :: VkFormat++pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = VkFormat 1000156006++pattern VK_FORMAT_R10X6_UNORM_PACK16 :: VkFormat++pattern VK_FORMAT_R10X6_UNORM_PACK16 = VkFormat 1000156007++pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16 :: VkFormat++pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = VkFormat 1000156008++pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 :: VkFormat++pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 =+        VkFormat 1000156009++pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 ::+        VkFormat++pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 =+        VkFormat 1000156010++pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 ::+        VkFormat++pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 =+        VkFormat 1000156011++pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 ::+        VkFormat++pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 =+        VkFormat 1000156012++pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 ::+        VkFormat++pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 =+        VkFormat 1000156013++pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 ::+        VkFormat++pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 =+        VkFormat 1000156014++pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 ::+        VkFormat++pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 =+        VkFormat 1000156015++pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 ::+        VkFormat++pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 =+        VkFormat 1000156016++pattern VK_FORMAT_R12X4_UNORM_PACK16 :: VkFormat++pattern VK_FORMAT_R12X4_UNORM_PACK16 = VkFormat 1000156017++pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16 :: VkFormat++pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = VkFormat 1000156018++pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 :: VkFormat++pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 =+        VkFormat 1000156019++pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 ::+        VkFormat++pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 =+        VkFormat 1000156020++pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 ::+        VkFormat++pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 =+        VkFormat 1000156021++pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 ::+        VkFormat++pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 =+        VkFormat 1000156022++pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 ::+        VkFormat++pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 =+        VkFormat 1000156023++pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 ::+        VkFormat++pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 =+        VkFormat 1000156024++pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 ::+        VkFormat++pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 =+        VkFormat 1000156025++pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 ::+        VkFormat++pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 =+        VkFormat 1000156026++pattern VK_FORMAT_G16B16G16R16_422_UNORM :: VkFormat++pattern VK_FORMAT_G16B16G16R16_422_UNORM = VkFormat 1000156027++pattern VK_FORMAT_B16G16R16G16_422_UNORM :: VkFormat++pattern VK_FORMAT_B16G16R16G16_422_UNORM = VkFormat 1000156028++pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM :: VkFormat++pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM =+        VkFormat 1000156029++pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM :: VkFormat++pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = VkFormat 1000156030++pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM :: VkFormat++pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM =+        VkFormat 1000156031++pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM :: VkFormat++pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = VkFormat 1000156032++pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM :: VkFormat++pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM =+        VkFormat 1000156033++-- | bitpos = @4@+pattern VK_IMAGE_ASPECT_PLANE_0_BIT :: VkImageAspectBitmask a++pattern VK_IMAGE_ASPECT_PLANE_0_BIT = VkImageAspectBitmask 16++-- | bitpos = @5@+pattern VK_IMAGE_ASPECT_PLANE_1_BIT :: VkImageAspectBitmask a++pattern VK_IMAGE_ASPECT_PLANE_1_BIT = VkImageAspectBitmask 32++-- | bitpos = @6@+pattern VK_IMAGE_ASPECT_PLANE_2_BIT :: VkImageAspectBitmask a++pattern VK_IMAGE_ASPECT_PLANE_2_BIT = VkImageAspectBitmask 64++-- | bitpos = @9@+pattern VK_IMAGE_CREATE_DISJOINT_BIT :: VkImageCreateBitmask a++pattern VK_IMAGE_CREATE_DISJOINT_BIT = VkImageCreateBitmask 512++-- | Format can have midpoint rather than cosited chroma samples+--+--   bitpos = @17@+pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT ::+        VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT =+        VkFormatFeatureBitmask 131072++-- | Format can be used with linear filtering whilst color conversion is enabled+--+--   bitpos = @18@+pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT+        :: VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT+        = VkFormatFeatureBitmask 262144++-- | Format can have different chroma, min and mag filters+--+--   bitpos = @19@+pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT+        :: VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT+        = VkFormatFeatureBitmask 524288++-- | bitpos = @20@+pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT+        :: VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT+        = VkFormatFeatureBitmask 1048576++-- | bitpos = @21@+pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT+        :: VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT+        = VkFormatFeatureBitmask 2097152++-- | Format supports disjoint planes+--+--   bitpos = @22@+pattern VK_FORMAT_FEATURE_DISJOINT_BIT :: VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_DISJOINT_BIT =+        VkFormatFeatureBitmask 4194304++-- | Format can have cosited rather than midpoint chroma samples+--+--   bitpos = @23@+pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT ::+        VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT =+        VkFormatFeatureBitmask 8388608++pattern VkCreateDescriptorUpdateTemplate :: CString++pattern VkCreateDescriptorUpdateTemplate <-+        (is_VkCreateDescriptorUpdateTemplate -> True)+  where+    VkCreateDescriptorUpdateTemplate+      = _VkCreateDescriptorUpdateTemplate++{-# INLINE _VkCreateDescriptorUpdateTemplate #-}++_VkCreateDescriptorUpdateTemplate :: CString+_VkCreateDescriptorUpdateTemplate+  = Ptr "vkCreateDescriptorUpdateTemplate\NUL"#++{-# INLINE is_VkCreateDescriptorUpdateTemplate #-}++is_VkCreateDescriptorUpdateTemplate :: CString -> Bool+is_VkCreateDescriptorUpdateTemplate+  = (EQ ==) . cmpCStrings _VkCreateDescriptorUpdateTemplate++type VkCreateDescriptorUpdateTemplate =+     "vkCreateDescriptorUpdateTemplate"++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateDescriptorUpdateTemplate+-- >     ( VkDevice device+-- >     , const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateDescriptorUpdateTemplate <- vkGetDeviceProc @VkCreateDescriptorUpdateTemplate vkDevice+--+-- or less efficient:+--+-- > myCreateDescriptorUpdateTemplate <- vkGetProc @VkCreateDescriptorUpdateTemplate+--+-- __Note:__ @vkCreateDescriptorUpdateTemplateUnsafe@ and @vkCreateDescriptorUpdateTemplateSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateDescriptorUpdateTemplate@ is an alias+--           of @vkCreateDescriptorUpdateTemplateUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateDescriptorUpdateTemplateSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe "vkCreateDescriptorUpdateTemplate"+               vkCreateDescriptorUpdateTemplateUnsafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo+                                                          ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             ->+                     Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate+                                                    -> IO VkResult++#else+vkCreateDescriptorUpdateTemplateUnsafe ::+                                       VkDevice -- ^ device+                                                ->+                                         Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo+                                                                                  ->+                                           Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                     ->+                                             Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate+                                                                            -> IO VkResult+vkCreateDescriptorUpdateTemplateUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkCreateDescriptorUpdateTemplate)++{-# NOINLINE vkCreateDescriptorUpdateTemplateUnsafe #-}+#endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateDescriptorUpdateTemplate+-- >     ( VkDevice device+-- >     , const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateDescriptorUpdateTemplate <- vkGetDeviceProc @VkCreateDescriptorUpdateTemplate vkDevice+--+-- or less efficient:+--+-- > myCreateDescriptorUpdateTemplate <- vkGetProc @VkCreateDescriptorUpdateTemplate+--+-- __Note:__ @vkCreateDescriptorUpdateTemplateUnsafe@ and @vkCreateDescriptorUpdateTemplateSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateDescriptorUpdateTemplate@ is an alias+--           of @vkCreateDescriptorUpdateTemplateUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateDescriptorUpdateTemplateSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe "vkCreateDescriptorUpdateTemplate"+               vkCreateDescriptorUpdateTemplateSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo+                                                          ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             ->+                     Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate+                                                    -> IO VkResult++#else+vkCreateDescriptorUpdateTemplateSafe ::+                                     VkDevice -- ^ device+                                              ->+                                       Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo+                                                                                ->+                                         Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                   ->+                                           Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate+                                                                          -> IO VkResult+vkCreateDescriptorUpdateTemplateSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkCreateDescriptorUpdateTemplate)++{-# NOINLINE vkCreateDescriptorUpdateTemplateSafe #-}+#endif++-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateDescriptorUpdateTemplate+-- >     ( VkDevice device+-- >     , const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateDescriptorUpdateTemplate <- vkGetDeviceProc @VkCreateDescriptorUpdateTemplate vkDevice+--+-- or less efficient:+--+-- > myCreateDescriptorUpdateTemplate <- vkGetProc @VkCreateDescriptorUpdateTemplate+--+-- __Note:__ @vkCreateDescriptorUpdateTemplateUnsafe@ and @vkCreateDescriptorUpdateTemplateSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateDescriptorUpdateTemplate@ is an alias+--           of @vkCreateDescriptorUpdateTemplateUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateDescriptorUpdateTemplateSafe@.+--+vkCreateDescriptorUpdateTemplate ::+                                 VkDevice -- ^ device+                                          ->+                                   Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo+                                                                            ->+                                     Ptr VkAllocationCallbacks -- ^ pAllocator+                                                               ->+                                       Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate+                                                                      -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkCreateDescriptorUpdateTemplate+  = vkCreateDescriptorUpdateTemplateUnsafe+#else+vkCreateDescriptorUpdateTemplate+  = vkCreateDescriptorUpdateTemplateSafe++#endif+{-# INLINE vkCreateDescriptorUpdateTemplate #-}++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateDescriptorUpdateTemplate+--   >     ( VkDevice device+--   >     , const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate registry at www.khronos.org>+type HS_vkCreateDescriptorUpdateTemplate =+     VkDevice -- ^ device+              ->+       Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo+                                                ->+         Ptr VkAllocationCallbacks -- ^ pAllocator+                                   ->+           Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate+                                          -> IO VkResult++type PFN_vkCreateDescriptorUpdateTemplate =+     FunPtr HS_vkCreateDescriptorUpdateTemplate++foreign import ccall unsafe "dynamic"+               unwrapVkCreateDescriptorUpdateTemplateUnsafe ::+               PFN_vkCreateDescriptorUpdateTemplate ->+                 HS_vkCreateDescriptorUpdateTemplate++foreign import ccall safe "dynamic"+               unwrapVkCreateDescriptorUpdateTemplateSafe ::+               PFN_vkCreateDescriptorUpdateTemplate ->+                 HS_vkCreateDescriptorUpdateTemplate++instance VulkanProc "vkCreateDescriptorUpdateTemplate" where+    type VkProcType "vkCreateDescriptorUpdateTemplate" =+         HS_vkCreateDescriptorUpdateTemplate+    vkProcSymbol = _VkCreateDescriptorUpdateTemplate++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkCreateDescriptorUpdateTemplateUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateDescriptorUpdateTemplateSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkDestroyDescriptorUpdateTemplate :: CString++pattern VkDestroyDescriptorUpdateTemplate <-+        (is_VkDestroyDescriptorUpdateTemplate -> True)+  where+    VkDestroyDescriptorUpdateTemplate+      = _VkDestroyDescriptorUpdateTemplate++{-# INLINE _VkDestroyDescriptorUpdateTemplate #-}++_VkDestroyDescriptorUpdateTemplate :: CString+_VkDestroyDescriptorUpdateTemplate+  = Ptr "vkDestroyDescriptorUpdateTemplate\NUL"#++{-# INLINE is_VkDestroyDescriptorUpdateTemplate #-}++is_VkDestroyDescriptorUpdateTemplate :: CString -> Bool+is_VkDestroyDescriptorUpdateTemplate+  = (EQ ==) . cmpCStrings _VkDestroyDescriptorUpdateTemplate++type VkDestroyDescriptorUpdateTemplate =+     "vkDestroyDescriptorUpdateTemplate"++-- |+-- > void vkDestroyDescriptorUpdateTemplate+-- >     ( VkDevice device+-- >     , VkDescriptorUpdateTemplate descriptorUpdateTemplate+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyDescriptorUpdateTemplate <- vkGetDeviceProc @VkDestroyDescriptorUpdateTemplate vkDevice+--+-- or less efficient:+--+-- > myDestroyDescriptorUpdateTemplate <- vkGetProc @VkDestroyDescriptorUpdateTemplate+--+-- __Note:__ @vkDestroyDescriptorUpdateTemplateUnsafe@ and @vkDestroyDescriptorUpdateTemplateSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyDescriptorUpdateTemplate@ is an alias+--           of @vkDestroyDescriptorUpdateTemplateUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyDescriptorUpdateTemplateSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe "vkDestroyDescriptorUpdateTemplate"+               vkDestroyDescriptorUpdateTemplateUnsafe ::+               VkDevice -- ^ device+                        ->+                 VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                         -> IO ()++#else+vkDestroyDescriptorUpdateTemplateUnsafe ::+                                        VkDevice -- ^ device+                                                 ->+                                          VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+                                                                     ->+                                            Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                      -> IO ()+vkDestroyDescriptorUpdateTemplateUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkDestroyDescriptorUpdateTemplate)++{-# NOINLINE vkDestroyDescriptorUpdateTemplateUnsafe #-}+#endif++-- |+-- > void vkDestroyDescriptorUpdateTemplate+-- >     ( VkDevice device+-- >     , VkDescriptorUpdateTemplate descriptorUpdateTemplate+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyDescriptorUpdateTemplate <- vkGetDeviceProc @VkDestroyDescriptorUpdateTemplate vkDevice+--+-- or less efficient:+--+-- > myDestroyDescriptorUpdateTemplate <- vkGetProc @VkDestroyDescriptorUpdateTemplate+--+-- __Note:__ @vkDestroyDescriptorUpdateTemplateUnsafe@ and @vkDestroyDescriptorUpdateTemplateSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyDescriptorUpdateTemplate@ is an alias+--           of @vkDestroyDescriptorUpdateTemplateUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyDescriptorUpdateTemplateSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe "vkDestroyDescriptorUpdateTemplate"+               vkDestroyDescriptorUpdateTemplateSafe ::+               VkDevice -- ^ device+                        ->+                 VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                         -> IO ()++#else+vkDestroyDescriptorUpdateTemplateSafe ::+                                      VkDevice -- ^ device+                                               ->+                                        VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+                                                                   ->+                                          Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                    -> IO ()+vkDestroyDescriptorUpdateTemplateSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkDestroyDescriptorUpdateTemplate)++{-# NOINLINE vkDestroyDescriptorUpdateTemplateSafe #-}+#endif++-- |+-- > void vkDestroyDescriptorUpdateTemplate+-- >     ( VkDevice device+-- >     , VkDescriptorUpdateTemplate descriptorUpdateTemplate+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyDescriptorUpdateTemplate <- vkGetDeviceProc @VkDestroyDescriptorUpdateTemplate vkDevice+--+-- or less efficient:+--+-- > myDestroyDescriptorUpdateTemplate <- vkGetProc @VkDestroyDescriptorUpdateTemplate+--+-- __Note:__ @vkDestroyDescriptorUpdateTemplateUnsafe@ and @vkDestroyDescriptorUpdateTemplateSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroyDescriptorUpdateTemplate@ is an alias+--           of @vkDestroyDescriptorUpdateTemplateUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroyDescriptorUpdateTemplateSafe@.+--+vkDestroyDescriptorUpdateTemplate ::+                                  VkDevice -- ^ device+                                           ->+                                    VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+                                                               -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                                            -> IO ()+#ifdef UNSAFE_FFI_DEFAULT+vkDestroyDescriptorUpdateTemplate+  = vkDestroyDescriptorUpdateTemplateUnsafe+#else+vkDestroyDescriptorUpdateTemplate+  = vkDestroyDescriptorUpdateTemplateSafe++#endif+{-# INLINE vkDestroyDescriptorUpdateTemplate #-}++-- | > void vkDestroyDescriptorUpdateTemplate+--   >     ( VkDevice device+--   >     , VkDescriptorUpdateTemplate descriptorUpdateTemplate+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate registry at www.khronos.org>+type HS_vkDestroyDescriptorUpdateTemplate =+     VkDevice -- ^ device+              ->+       VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+                                  -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                               -> IO ()++type PFN_vkDestroyDescriptorUpdateTemplate =+     FunPtr HS_vkDestroyDescriptorUpdateTemplate++foreign import ccall unsafe "dynamic"+               unwrapVkDestroyDescriptorUpdateTemplateUnsafe ::+               PFN_vkDestroyDescriptorUpdateTemplate ->+                 HS_vkDestroyDescriptorUpdateTemplate++foreign import ccall safe "dynamic"+               unwrapVkDestroyDescriptorUpdateTemplateSafe ::+               PFN_vkDestroyDescriptorUpdateTemplate ->+                 HS_vkDestroyDescriptorUpdateTemplate++instance VulkanProc "vkDestroyDescriptorUpdateTemplate" where+    type VkProcType "vkDestroyDescriptorUpdateTemplate" =+         HS_vkDestroyDescriptorUpdateTemplate+    vkProcSymbol = _VkDestroyDescriptorUpdateTemplate++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkDestroyDescriptorUpdateTemplateUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroyDescriptorUpdateTemplateSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkUpdateDescriptorSetWithTemplate :: CString++pattern VkUpdateDescriptorSetWithTemplate <-+        (is_VkUpdateDescriptorSetWithTemplate -> True)+  where+    VkUpdateDescriptorSetWithTemplate+      = _VkUpdateDescriptorSetWithTemplate++{-# INLINE _VkUpdateDescriptorSetWithTemplate #-}++_VkUpdateDescriptorSetWithTemplate :: CString+_VkUpdateDescriptorSetWithTemplate+  = Ptr "vkUpdateDescriptorSetWithTemplate\NUL"#++{-# INLINE is_VkUpdateDescriptorSetWithTemplate #-}++is_VkUpdateDescriptorSetWithTemplate :: CString -> Bool+is_VkUpdateDescriptorSetWithTemplate+  = (EQ ==) . cmpCStrings _VkUpdateDescriptorSetWithTemplate++type VkUpdateDescriptorSetWithTemplate =+     "vkUpdateDescriptorSetWithTemplate"++-- |+-- > void vkUpdateDescriptorSetWithTemplate+-- >     ( VkDevice device+-- >     , VkDescriptorSet descriptorSet+-- >     , VkDescriptorUpdateTemplate descriptorUpdateTemplate+-- >     , const void* pData+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myUpdateDescriptorSetWithTemplate <- vkGetDeviceProc @VkUpdateDescriptorSetWithTemplate vkDevice+--+-- or less efficient:+--+-- > myUpdateDescriptorSetWithTemplate <- vkGetProc @VkUpdateDescriptorSetWithTemplate+--+-- __Note:__ @vkUpdateDescriptorSetWithTemplateUnsafe@ and @vkUpdateDescriptorSetWithTemplateSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkUpdateDescriptorSetWithTemplate@ is an alias+--           of @vkUpdateDescriptorSetWithTemplateUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkUpdateDescriptorSetWithTemplateSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe "vkUpdateDescriptorSetWithTemplate"+               vkUpdateDescriptorSetWithTemplateUnsafe ::+               VkDevice -- ^ device+                        ->+                 VkDescriptorSet -- ^ descriptorSet+                                 -> VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+                                                               -> Ptr Void -- ^ pData+                                                                           -> IO ()++#else+vkUpdateDescriptorSetWithTemplateUnsafe ::+                                        VkDevice -- ^ device+                                                 ->+                                          VkDescriptorSet -- ^ descriptorSet+                                                          ->+                                            VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+                                                                       -> Ptr Void -- ^ pData+                                                                                   -> IO ()+vkUpdateDescriptorSetWithTemplateUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkUpdateDescriptorSetWithTemplate)++{-# NOINLINE vkUpdateDescriptorSetWithTemplateUnsafe #-}+#endif++-- |+-- > void vkUpdateDescriptorSetWithTemplate+-- >     ( VkDevice device+-- >     , VkDescriptorSet descriptorSet+-- >     , VkDescriptorUpdateTemplate descriptorUpdateTemplate+-- >     , const void* pData+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myUpdateDescriptorSetWithTemplate <- vkGetDeviceProc @VkUpdateDescriptorSetWithTemplate vkDevice+--+-- or less efficient:+--+-- > myUpdateDescriptorSetWithTemplate <- vkGetProc @VkUpdateDescriptorSetWithTemplate+--+-- __Note:__ @vkUpdateDescriptorSetWithTemplateUnsafe@ and @vkUpdateDescriptorSetWithTemplateSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkUpdateDescriptorSetWithTemplate@ is an alias+--           of @vkUpdateDescriptorSetWithTemplateUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkUpdateDescriptorSetWithTemplateSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe "vkUpdateDescriptorSetWithTemplate"+               vkUpdateDescriptorSetWithTemplateSafe ::+               VkDevice -- ^ device+                        ->+                 VkDescriptorSet -- ^ descriptorSet+                                 -> VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+                                                               -> Ptr Void -- ^ pData+                                                                           -> IO ()++#else+vkUpdateDescriptorSetWithTemplateSafe ::+                                      VkDevice -- ^ device+                                               ->+                                        VkDescriptorSet -- ^ descriptorSet+                                                        ->+                                          VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+                                                                     -> Ptr Void -- ^ pData+                                                                                 -> IO ()+vkUpdateDescriptorSetWithTemplateSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkUpdateDescriptorSetWithTemplate)++{-# NOINLINE vkUpdateDescriptorSetWithTemplateSafe #-}+#endif++-- |+-- > void vkUpdateDescriptorSetWithTemplate+-- >     ( VkDevice device+-- >     , VkDescriptorSet descriptorSet+-- >     , VkDescriptorUpdateTemplate descriptorUpdateTemplate+-- >     , const void* pData+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myUpdateDescriptorSetWithTemplate <- vkGetDeviceProc @VkUpdateDescriptorSetWithTemplate vkDevice+--+-- or less efficient:+--+-- > myUpdateDescriptorSetWithTemplate <- vkGetProc @VkUpdateDescriptorSetWithTemplate+--+-- __Note:__ @vkUpdateDescriptorSetWithTemplateUnsafe@ and @vkUpdateDescriptorSetWithTemplateSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkUpdateDescriptorSetWithTemplate@ is an alias+--           of @vkUpdateDescriptorSetWithTemplateUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkUpdateDescriptorSetWithTemplateSafe@.+--+vkUpdateDescriptorSetWithTemplate ::+                                  VkDevice -- ^ device+                                           ->+                                    VkDescriptorSet -- ^ descriptorSet+                                                    ->+                                      VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+                                                                 -> Ptr Void -- ^ pData+                                                                             -> IO ()+#ifdef UNSAFE_FFI_DEFAULT+vkUpdateDescriptorSetWithTemplate+  = vkUpdateDescriptorSetWithTemplateUnsafe+#else+vkUpdateDescriptorSetWithTemplate+  = vkUpdateDescriptorSetWithTemplateSafe++#endif+{-# INLINE vkUpdateDescriptorSetWithTemplate #-}++-- | > void vkUpdateDescriptorSetWithTemplate+--   >     ( VkDevice device+--   >     , VkDescriptorSet descriptorSet+--   >     , VkDescriptorUpdateTemplate descriptorUpdateTemplate+--   >     , const void* pData+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate registry at www.khronos.org>+type HS_vkUpdateDescriptorSetWithTemplate =+     VkDevice -- ^ device+              ->+       VkDescriptorSet -- ^ descriptorSet+                       -> VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+                                                     -> Ptr Void -- ^ pData+                                                                 -> IO ()++type PFN_vkUpdateDescriptorSetWithTemplate =+     FunPtr HS_vkUpdateDescriptorSetWithTemplate++foreign import ccall unsafe "dynamic"+               unwrapVkUpdateDescriptorSetWithTemplateUnsafe ::+               PFN_vkUpdateDescriptorSetWithTemplate ->+                 HS_vkUpdateDescriptorSetWithTemplate++foreign import ccall safe "dynamic"+               unwrapVkUpdateDescriptorSetWithTemplateSafe ::+               PFN_vkUpdateDescriptorSetWithTemplate ->+                 HS_vkUpdateDescriptorSetWithTemplate++instance VulkanProc "vkUpdateDescriptorSetWithTemplate" where+    type VkProcType "vkUpdateDescriptorSetWithTemplate" =+         HS_vkUpdateDescriptorSetWithTemplate+    vkProcSymbol = _VkUpdateDescriptorSetWithTemplate++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkUpdateDescriptorSetWithTemplateUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkUpdateDescriptorSetWithTemplateSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO =+        VkStructureType 1000085000++pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE :: VkObjectType++pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE =+        VkObjectType 1000085000++pattern VkGetPhysicalDeviceExternalBufferProperties :: CString++pattern VkGetPhysicalDeviceExternalBufferProperties <-+        (is_VkGetPhysicalDeviceExternalBufferProperties -> True)+  where+    VkGetPhysicalDeviceExternalBufferProperties+      = _VkGetPhysicalDeviceExternalBufferProperties++{-# INLINE _VkGetPhysicalDeviceExternalBufferProperties #-}++_VkGetPhysicalDeviceExternalBufferProperties :: CString+_VkGetPhysicalDeviceExternalBufferProperties+  = Ptr "vkGetPhysicalDeviceExternalBufferProperties\NUL"#++{-# INLINE is_VkGetPhysicalDeviceExternalBufferProperties #-}++is_VkGetPhysicalDeviceExternalBufferProperties :: CString -> Bool+is_VkGetPhysicalDeviceExternalBufferProperties+  = (EQ ==) .+      cmpCStrings _VkGetPhysicalDeviceExternalBufferProperties++type VkGetPhysicalDeviceExternalBufferProperties =+     "vkGetPhysicalDeviceExternalBufferProperties"++-- |+-- > void vkGetPhysicalDeviceExternalBufferProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo+-- >     , VkExternalBufferProperties* pExternalBufferProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceExternalBufferProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalBufferProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceExternalBufferProperties <- vkGetProc @VkGetPhysicalDeviceExternalBufferProperties+--+-- __Note:__ @vkGetPhysicalDeviceExternalBufferPropertiesUnsafe@ and @vkGetPhysicalDeviceExternalBufferPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceExternalBufferProperties@ is an alias+--           of @vkGetPhysicalDeviceExternalBufferPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceExternalBufferPropertiesSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe+               "vkGetPhysicalDeviceExternalBufferProperties"+               vkGetPhysicalDeviceExternalBufferPropertiesUnsafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo+                                                        ->+                   Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties+                                                  -> IO ()++#else+vkGetPhysicalDeviceExternalBufferPropertiesUnsafe ::+                                                  VkPhysicalDevice -- ^ physicalDevice+                                                                   ->+                                                    Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo+                                                                                           ->+                                                      Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties+                                                                                     -> IO ()+vkGetPhysicalDeviceExternalBufferPropertiesUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetPhysicalDeviceExternalBufferProperties)++{-# NOINLINE vkGetPhysicalDeviceExternalBufferPropertiesUnsafe #-}+#endif++-- |+-- > void vkGetPhysicalDeviceExternalBufferProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo+-- >     , VkExternalBufferProperties* pExternalBufferProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceExternalBufferProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalBufferProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceExternalBufferProperties <- vkGetProc @VkGetPhysicalDeviceExternalBufferProperties+--+-- __Note:__ @vkGetPhysicalDeviceExternalBufferPropertiesUnsafe@ and @vkGetPhysicalDeviceExternalBufferPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceExternalBufferProperties@ is an alias+--           of @vkGetPhysicalDeviceExternalBufferPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceExternalBufferPropertiesSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe+               "vkGetPhysicalDeviceExternalBufferProperties"+               vkGetPhysicalDeviceExternalBufferPropertiesSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo+                                                        ->+                   Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties+                                                  -> IO ()++#else+vkGetPhysicalDeviceExternalBufferPropertiesSafe ::+                                                VkPhysicalDevice -- ^ physicalDevice+                                                                 ->+                                                  Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo+                                                                                         ->+                                                    Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties+                                                                                   -> IO ()+vkGetPhysicalDeviceExternalBufferPropertiesSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetPhysicalDeviceExternalBufferProperties)++{-# NOINLINE vkGetPhysicalDeviceExternalBufferPropertiesSafe #-}+#endif++-- |+-- > void vkGetPhysicalDeviceExternalBufferProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo+-- >     , VkExternalBufferProperties* pExternalBufferProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceExternalBufferProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalBufferProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceExternalBufferProperties <- vkGetProc @VkGetPhysicalDeviceExternalBufferProperties+--+-- __Note:__ @vkGetPhysicalDeviceExternalBufferPropertiesUnsafe@ and @vkGetPhysicalDeviceExternalBufferPropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceExternalBufferProperties@ is an alias+--           of @vkGetPhysicalDeviceExternalBufferPropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceExternalBufferPropertiesSafe@.+--+vkGetPhysicalDeviceExternalBufferProperties ::+                                            VkPhysicalDevice -- ^ physicalDevice+                                                             ->+                                              Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo+                                                                                     ->+                                                Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties+                                                                               -> IO ()+#ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceExternalBufferProperties+  = vkGetPhysicalDeviceExternalBufferPropertiesUnsafe+#else+vkGetPhysicalDeviceExternalBufferProperties+  = vkGetPhysicalDeviceExternalBufferPropertiesSafe++#endif+{-# INLINE vkGetPhysicalDeviceExternalBufferProperties #-}++-- | > void vkGetPhysicalDeviceExternalBufferProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo+--   >     , VkExternalBufferProperties* pExternalBufferProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties registry at www.khronos.org>+type HS_vkGetPhysicalDeviceExternalBufferProperties =+     VkPhysicalDevice -- ^ physicalDevice+                      ->+       Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo+                                              ->+         Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties+                                        -> IO ()++type PFN_vkGetPhysicalDeviceExternalBufferProperties =+     FunPtr HS_vkGetPhysicalDeviceExternalBufferProperties++foreign import ccall unsafe "dynamic"+               unwrapVkGetPhysicalDeviceExternalBufferPropertiesUnsafe ::+               PFN_vkGetPhysicalDeviceExternalBufferProperties ->+                 HS_vkGetPhysicalDeviceExternalBufferProperties++foreign import ccall safe "dynamic"+               unwrapVkGetPhysicalDeviceExternalBufferPropertiesSafe ::+               PFN_vkGetPhysicalDeviceExternalBufferProperties ->+                 HS_vkGetPhysicalDeviceExternalBufferProperties++instance VulkanProc "vkGetPhysicalDeviceExternalBufferProperties"+         where+    type VkProcType "vkGetPhysicalDeviceExternalBufferProperties" =+         HS_vkGetPhysicalDeviceExternalBufferProperties+    vkProcSymbol = _VkGetPhysicalDeviceExternalBufferProperties++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceExternalBufferPropertiesUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceExternalBufferPropertiesSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO+        = VkStructureType 1000071000++pattern VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES =+        VkStructureType 1000071001++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO =+        VkStructureType 1000071002++pattern VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES =+        VkStructureType 1000071003++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES =+        VkStructureType 1000071004++pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO =+        VkStructureType 1000072000++pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO =+        VkStructureType 1000072001++pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO =+        VkStructureType 1000072002++pattern VK_ERROR_INVALID_EXTERNAL_HANDLE :: VkResult++pattern VK_ERROR_INVALID_EXTERNAL_HANDLE = VkResult (-1000072003)++pattern VkGetPhysicalDeviceExternalFenceProperties :: CString++pattern VkGetPhysicalDeviceExternalFenceProperties <-+        (is_VkGetPhysicalDeviceExternalFenceProperties -> True)+  where+    VkGetPhysicalDeviceExternalFenceProperties+      = _VkGetPhysicalDeviceExternalFenceProperties++{-# INLINE _VkGetPhysicalDeviceExternalFenceProperties #-}++_VkGetPhysicalDeviceExternalFenceProperties :: CString+_VkGetPhysicalDeviceExternalFenceProperties+  = Ptr "vkGetPhysicalDeviceExternalFenceProperties\NUL"#++{-# INLINE is_VkGetPhysicalDeviceExternalFenceProperties #-}++is_VkGetPhysicalDeviceExternalFenceProperties :: CString -> Bool+is_VkGetPhysicalDeviceExternalFenceProperties+  = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceExternalFenceProperties++type VkGetPhysicalDeviceExternalFenceProperties =+     "vkGetPhysicalDeviceExternalFenceProperties"++-- |+-- > void vkGetPhysicalDeviceExternalFenceProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo+-- >     , VkExternalFenceProperties* pExternalFenceProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceExternalFenceProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalFenceProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceExternalFenceProperties <- vkGetProc @VkGetPhysicalDeviceExternalFenceProperties+--+-- __Note:__ @vkGetPhysicalDeviceExternalFencePropertiesUnsafe@ and @vkGetPhysicalDeviceExternalFencePropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceExternalFenceProperties@ is an alias+--           of @vkGetPhysicalDeviceExternalFencePropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceExternalFencePropertiesSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe+               "vkGetPhysicalDeviceExternalFenceProperties"+               vkGetPhysicalDeviceExternalFencePropertiesUnsafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo+                                                       ->+                   Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties+                                                 -> IO ()++#else+vkGetPhysicalDeviceExternalFencePropertiesUnsafe ::+                                                 VkPhysicalDevice -- ^ physicalDevice+                                                                  ->+                                                   Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo+                                                                                         ->+                                                     Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties+                                                                                   -> IO ()+vkGetPhysicalDeviceExternalFencePropertiesUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetPhysicalDeviceExternalFenceProperties)++{-# NOINLINE vkGetPhysicalDeviceExternalFencePropertiesUnsafe #-}+#endif++-- |+-- > void vkGetPhysicalDeviceExternalFenceProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo+-- >     , VkExternalFenceProperties* pExternalFenceProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceExternalFenceProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalFenceProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceExternalFenceProperties <- vkGetProc @VkGetPhysicalDeviceExternalFenceProperties+--+-- __Note:__ @vkGetPhysicalDeviceExternalFencePropertiesUnsafe@ and @vkGetPhysicalDeviceExternalFencePropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceExternalFenceProperties@ is an alias+--           of @vkGetPhysicalDeviceExternalFencePropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceExternalFencePropertiesSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe+               "vkGetPhysicalDeviceExternalFenceProperties"+               vkGetPhysicalDeviceExternalFencePropertiesSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo+                                                       ->+                   Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties+                                                 -> IO ()++#else+vkGetPhysicalDeviceExternalFencePropertiesSafe ::+                                               VkPhysicalDevice -- ^ physicalDevice+                                                                ->+                                                 Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo+                                                                                       ->+                                                   Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties+                                                                                 -> IO ()+vkGetPhysicalDeviceExternalFencePropertiesSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetPhysicalDeviceExternalFenceProperties)++{-# NOINLINE vkGetPhysicalDeviceExternalFencePropertiesSafe #-}+#endif++-- |+-- > void vkGetPhysicalDeviceExternalFenceProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo+-- >     , VkExternalFenceProperties* pExternalFenceProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceExternalFenceProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalFenceProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceExternalFenceProperties <- vkGetProc @VkGetPhysicalDeviceExternalFenceProperties+--+-- __Note:__ @vkGetPhysicalDeviceExternalFencePropertiesUnsafe@ and @vkGetPhysicalDeviceExternalFencePropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceExternalFenceProperties@ is an alias+--           of @vkGetPhysicalDeviceExternalFencePropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceExternalFencePropertiesSafe@.+--+vkGetPhysicalDeviceExternalFenceProperties ::+                                           VkPhysicalDevice -- ^ physicalDevice+                                                            ->+                                             Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo+                                                                                   ->+                                               Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties+                                                                             -> IO ()+#ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceExternalFenceProperties+  = vkGetPhysicalDeviceExternalFencePropertiesUnsafe+#else+vkGetPhysicalDeviceExternalFenceProperties+  = vkGetPhysicalDeviceExternalFencePropertiesSafe++#endif+{-# INLINE vkGetPhysicalDeviceExternalFenceProperties #-}++-- | > void vkGetPhysicalDeviceExternalFenceProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo+--   >     , VkExternalFenceProperties* pExternalFenceProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties registry at www.khronos.org>+type HS_vkGetPhysicalDeviceExternalFenceProperties =+     VkPhysicalDevice -- ^ physicalDevice+                      ->+       Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo+                                             ->+         Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties+                                       -> IO ()++type PFN_vkGetPhysicalDeviceExternalFenceProperties =+     FunPtr HS_vkGetPhysicalDeviceExternalFenceProperties++foreign import ccall unsafe "dynamic"+               unwrapVkGetPhysicalDeviceExternalFencePropertiesUnsafe ::+               PFN_vkGetPhysicalDeviceExternalFenceProperties ->+                 HS_vkGetPhysicalDeviceExternalFenceProperties++foreign import ccall safe "dynamic"+               unwrapVkGetPhysicalDeviceExternalFencePropertiesSafe ::+               PFN_vkGetPhysicalDeviceExternalFenceProperties ->+                 HS_vkGetPhysicalDeviceExternalFenceProperties++instance VulkanProc "vkGetPhysicalDeviceExternalFenceProperties"+         where+    type VkProcType "vkGetPhysicalDeviceExternalFenceProperties" =+         HS_vkGetPhysicalDeviceExternalFenceProperties+    vkProcSymbol = _VkGetPhysicalDeviceExternalFenceProperties++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceExternalFencePropertiesUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceExternalFencePropertiesSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO =+        VkStructureType 1000112000++pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES =+        VkStructureType 1000112001++pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO =+        VkStructureType 1000113000++pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO =+        VkStructureType 1000077000++pattern VkGetPhysicalDeviceExternalSemaphoreProperties :: CString++pattern VkGetPhysicalDeviceExternalSemaphoreProperties <-+        (is_VkGetPhysicalDeviceExternalSemaphoreProperties -> True)+  where+    VkGetPhysicalDeviceExternalSemaphoreProperties+      = _VkGetPhysicalDeviceExternalSemaphoreProperties++{-# INLINE _VkGetPhysicalDeviceExternalSemaphoreProperties #-}++_VkGetPhysicalDeviceExternalSemaphoreProperties :: CString+_VkGetPhysicalDeviceExternalSemaphoreProperties+  = Ptr "vkGetPhysicalDeviceExternalSemaphoreProperties\NUL"#++{-# INLINE is_VkGetPhysicalDeviceExternalSemaphoreProperties #-}++is_VkGetPhysicalDeviceExternalSemaphoreProperties ::+                                                  CString -> Bool+is_VkGetPhysicalDeviceExternalSemaphoreProperties+  = (EQ ==) .+      cmpCStrings _VkGetPhysicalDeviceExternalSemaphoreProperties++type VkGetPhysicalDeviceExternalSemaphoreProperties =+     "vkGetPhysicalDeviceExternalSemaphoreProperties"++-- |+-- > void vkGetPhysicalDeviceExternalSemaphoreProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo+-- >     , VkExternalSemaphoreProperties* pExternalSemaphoreProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceExternalSemaphoreProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalSemaphoreProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceExternalSemaphoreProperties <- vkGetProc @VkGetPhysicalDeviceExternalSemaphoreProperties+--+-- __Note:__ @vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe@ and @vkGetPhysicalDeviceExternalSemaphorePropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceExternalSemaphoreProperties@ is an alias+--           of @vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceExternalSemaphorePropertiesSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe+               "vkGetPhysicalDeviceExternalSemaphoreProperties"+               vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo+                                                           ->+                   Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties+                                                     -> IO ()++#else+vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe ::+                                                     VkPhysicalDevice -- ^ physicalDevice+                                                                      ->+                                                       Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo+                                                                                                 ->+                                                         Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties+                                                                                           -> IO ()+vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetPhysicalDeviceExternalSemaphoreProperties)++{-# NOINLINE vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe+             #-}+#endif++-- |+-- > void vkGetPhysicalDeviceExternalSemaphoreProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo+-- >     , VkExternalSemaphoreProperties* pExternalSemaphoreProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceExternalSemaphoreProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalSemaphoreProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceExternalSemaphoreProperties <- vkGetProc @VkGetPhysicalDeviceExternalSemaphoreProperties+--+-- __Note:__ @vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe@ and @vkGetPhysicalDeviceExternalSemaphorePropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceExternalSemaphoreProperties@ is an alias+--           of @vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceExternalSemaphorePropertiesSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe+               "vkGetPhysicalDeviceExternalSemaphoreProperties"+               vkGetPhysicalDeviceExternalSemaphorePropertiesSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo+                                                           ->+                   Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties+                                                     -> IO ()++#else+vkGetPhysicalDeviceExternalSemaphorePropertiesSafe ::+                                                   VkPhysicalDevice -- ^ physicalDevice+                                                                    ->+                                                     Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo+                                                                                               ->+                                                       Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties+                                                                                         -> IO ()+vkGetPhysicalDeviceExternalSemaphorePropertiesSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetPhysicalDeviceExternalSemaphoreProperties)++{-# NOINLINE vkGetPhysicalDeviceExternalSemaphorePropertiesSafe #-}+#endif++-- |+-- > void vkGetPhysicalDeviceExternalSemaphoreProperties+-- >     ( VkPhysicalDevice physicalDevice+-- >     , const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo+-- >     , VkExternalSemaphoreProperties* pExternalSemaphoreProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceExternalSemaphoreProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalSemaphoreProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceExternalSemaphoreProperties <- vkGetProc @VkGetPhysicalDeviceExternalSemaphoreProperties+--+-- __Note:__ @vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe@ and @vkGetPhysicalDeviceExternalSemaphorePropertiesSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceExternalSemaphoreProperties@ is an alias+--           of @vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceExternalSemaphorePropertiesSafe@.+--+vkGetPhysicalDeviceExternalSemaphoreProperties ::+                                               VkPhysicalDevice -- ^ physicalDevice+                                                                ->+                                                 Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo+                                                                                           ->+                                                   Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties+                                                                                     -> IO ()+#ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceExternalSemaphoreProperties+  = vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe+#else+vkGetPhysicalDeviceExternalSemaphoreProperties+  = vkGetPhysicalDeviceExternalSemaphorePropertiesSafe++#endif+{-# INLINE vkGetPhysicalDeviceExternalSemaphoreProperties #-}++-- | > void vkGetPhysicalDeviceExternalSemaphoreProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo+--   >     , VkExternalSemaphoreProperties* pExternalSemaphoreProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties registry at www.khronos.org>+type HS_vkGetPhysicalDeviceExternalSemaphoreProperties =+     VkPhysicalDevice -- ^ physicalDevice+                      ->+       Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo+                                                 ->+         Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties+                                           -> IO ()++type PFN_vkGetPhysicalDeviceExternalSemaphoreProperties =+     FunPtr HS_vkGetPhysicalDeviceExternalSemaphoreProperties++foreign import ccall unsafe "dynamic"+               unwrapVkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe ::+               PFN_vkGetPhysicalDeviceExternalSemaphoreProperties ->+                 HS_vkGetPhysicalDeviceExternalSemaphoreProperties++foreign import ccall safe "dynamic"+               unwrapVkGetPhysicalDeviceExternalSemaphorePropertiesSafe ::+               PFN_vkGetPhysicalDeviceExternalSemaphoreProperties ->+                 HS_vkGetPhysicalDeviceExternalSemaphoreProperties++instance VulkanProc+           "vkGetPhysicalDeviceExternalSemaphoreProperties"+         where+    type VkProcType "vkGetPhysicalDeviceExternalSemaphoreProperties" =+         HS_vkGetPhysicalDeviceExternalSemaphoreProperties+    vkProcSymbol = _VkGetPhysicalDeviceExternalSemaphoreProperties++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceExternalSemaphorePropertiesSafe++    {-# INLINE unwrapVkProcPtrSafe #-}++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO =+        VkStructureType 1000076000++pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES =+        VkStructureType 1000076001++pattern VkGetDescriptorSetLayoutSupport :: CString++pattern VkGetDescriptorSetLayoutSupport <-+        (is_VkGetDescriptorSetLayoutSupport -> True)+  where+    VkGetDescriptorSetLayoutSupport = _VkGetDescriptorSetLayoutSupport++{-# INLINE _VkGetDescriptorSetLayoutSupport #-}++_VkGetDescriptorSetLayoutSupport :: CString+_VkGetDescriptorSetLayoutSupport+  = Ptr "vkGetDescriptorSetLayoutSupport\NUL"#++{-# INLINE is_VkGetDescriptorSetLayoutSupport #-}++is_VkGetDescriptorSetLayoutSupport :: CString -> Bool+is_VkGetDescriptorSetLayoutSupport+  = (EQ ==) . cmpCStrings _VkGetDescriptorSetLayoutSupport++type VkGetDescriptorSetLayoutSupport =+     "vkGetDescriptorSetLayoutSupport"++-- |+-- > void vkGetDescriptorSetLayoutSupport+-- >     ( VkDevice device+-- >     , const VkDescriptorSetLayoutCreateInfo* pCreateInfo+-- >     , VkDescriptorSetLayoutSupport* pSupport+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDescriptorSetLayoutSupport <- vkGetDeviceProc @VkGetDescriptorSetLayoutSupport vkDevice+--+-- or less efficient:+--+-- > myGetDescriptorSetLayoutSupport <- vkGetProc @VkGetDescriptorSetLayoutSupport+--+-- __Note:__ @vkGetDescriptorSetLayoutSupportUnsafe@ and @vkGetDescriptorSetLayoutSupportSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDescriptorSetLayoutSupport@ is an alias+--           of @vkGetDescriptorSetLayoutSupportUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDescriptorSetLayoutSupportSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall unsafe "vkGetDescriptorSetLayoutSupport"+               vkGetDescriptorSetLayoutSupportUnsafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+                                                     ->+                   Ptr VkDescriptorSetLayoutSupport -- ^ pSupport+                                                    -> IO ()++#else+vkGetDescriptorSetLayoutSupportUnsafe ::+                                      VkDevice -- ^ device+                                               ->+                                        Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+                                                                            ->+                                          Ptr VkDescriptorSetLayoutSupport -- ^ pSupport+                                                                           -> IO ()+vkGetDescriptorSetLayoutSupportUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetDescriptorSetLayoutSupport)++{-# NOINLINE vkGetDescriptorSetLayoutSupportUnsafe #-}+#endif++-- |+-- > void vkGetDescriptorSetLayoutSupport+-- >     ( VkDevice device+-- >     , const VkDescriptorSetLayoutCreateInfo* pCreateInfo+-- >     , VkDescriptorSetLayoutSupport* pSupport+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDescriptorSetLayoutSupport <- vkGetDeviceProc @VkGetDescriptorSetLayoutSupport vkDevice+--+-- or less efficient:+--+-- > myGetDescriptorSetLayoutSupport <- vkGetProc @VkGetDescriptorSetLayoutSupport+--+-- __Note:__ @vkGetDescriptorSetLayoutSupportUnsafe@ and @vkGetDescriptorSetLayoutSupportSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDescriptorSetLayoutSupport@ is an alias+--           of @vkGetDescriptorSetLayoutSupportUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDescriptorSetLayoutSupportSafe@.+--+--+#ifdef NATIVE_FFI_VK_VERSION_1_1+foreign import ccall safe "vkGetDescriptorSetLayoutSupport"+               vkGetDescriptorSetLayoutSupportSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+                                                     ->+                   Ptr VkDescriptorSetLayoutSupport -- ^ pSupport+                                                    -> IO ()++#else+vkGetDescriptorSetLayoutSupportSafe ::+                                    VkDevice -- ^ device+                                             ->+                                      Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+                                                                          ->+                                        Ptr VkDescriptorSetLayoutSupport -- ^ pSupport+                                                                         -> IO ()+vkGetDescriptorSetLayoutSupportSafe+  = unsafeDupablePerformIO+      (vkGetProcSafe @VkGetDescriptorSetLayoutSupport)++{-# NOINLINE vkGetDescriptorSetLayoutSupportSafe #-}+#endif++-- |+-- > void vkGetDescriptorSetLayoutSupport+-- >     ( VkDevice device+-- >     , const VkDescriptorSetLayoutCreateInfo* pCreateInfo+-- >     , VkDescriptorSetLayoutSupport* pSupport+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-1@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDescriptorSetLayoutSupport <- vkGetDeviceProc @VkGetDescriptorSetLayoutSupport vkDevice+--+-- or less efficient:+--+-- > myGetDescriptorSetLayoutSupport <- vkGetProc @VkGetDescriptorSetLayoutSupport+--+-- __Note:__ @vkGetDescriptorSetLayoutSupportUnsafe@ and @vkGetDescriptorSetLayoutSupportSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDescriptorSetLayoutSupport@ is an alias+--           of @vkGetDescriptorSetLayoutSupportUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDescriptorSetLayoutSupportSafe@.+--+vkGetDescriptorSetLayoutSupport ::+                                VkDevice -- ^ device+                                         ->+                                  Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+                                                                      ->+                                    Ptr VkDescriptorSetLayoutSupport -- ^ pSupport+                                                                     -> IO ()+#ifdef UNSAFE_FFI_DEFAULT+vkGetDescriptorSetLayoutSupport+  = vkGetDescriptorSetLayoutSupportUnsafe+#else+vkGetDescriptorSetLayoutSupport+  = vkGetDescriptorSetLayoutSupportSafe++#endif+{-# INLINE vkGetDescriptorSetLayoutSupport #-}++-- | > void vkGetDescriptorSetLayoutSupport+--   >     ( VkDevice device+--   >     , const VkDescriptorSetLayoutCreateInfo* pCreateInfo+--   >     , VkDescriptorSetLayoutSupport* pSupport+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport registry at www.khronos.org>+type HS_vkGetDescriptorSetLayoutSupport =+     VkDevice -- ^ device+              ->+       Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+                                           ->+         Ptr VkDescriptorSetLayoutSupport -- ^ pSupport+                                          -> IO ()++type PFN_vkGetDescriptorSetLayoutSupport =+     FunPtr HS_vkGetDescriptorSetLayoutSupport++foreign import ccall unsafe "dynamic"+               unwrapVkGetDescriptorSetLayoutSupportUnsafe ::+               PFN_vkGetDescriptorSetLayoutSupport ->+                 HS_vkGetDescriptorSetLayoutSupport++foreign import ccall safe "dynamic"+               unwrapVkGetDescriptorSetLayoutSupportSafe ::+               PFN_vkGetDescriptorSetLayoutSupport ->+                 HS_vkGetDescriptorSetLayoutSupport++instance VulkanProc "vkGetDescriptorSetLayoutSupport" where+    type VkProcType "vkGetDescriptorSetLayoutSupport" =+         HS_vkGetDescriptorSetLayoutSupport+    vkProcSymbol = _VkGetDescriptorSetLayoutSupport++    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetDescriptorSetLayoutSupportUnsafe++    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetDescriptorSetLayoutSupportSafe++    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES         :: VkStructureType
src-gen/Graphics/Vulkan/Ext/VK_AMD_buffer_marker.hs view
@@ -25,10 +25,47 @@         -- Extension number: @180@         VkCmdWriteBufferMarkerAMD, pattern VkCmdWriteBufferMarkerAMD,         HS_vkCmdWriteBufferMarkerAMD, PFN_vkCmdWriteBufferMarkerAMD,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.Pipeline,-        module Graphics.Vulkan.Types.Handles,+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkPipelineBindPoint(..),+        VkPipelineCacheHeaderVersion(..), VkPipelineCreateBitmask(..),+        VkPipelineStageBitmask(..), VkPipelineCacheCreateFlagBits(..),+        VkPipelineColorBlendStateCreateFlagBits(..),+        VkPipelineCreateFlagBits(), VkPipelineCreateFlags(),+        VkPipelineDepthStencilStateCreateFlagBits(..),+        VkPipelineDynamicStateCreateFlagBits(..),+        VkPipelineInputAssemblyStateCreateFlagBits(..),+        VkPipelineLayoutCreateFlagBits(..),+        VkPipelineMultisampleStateCreateFlagBits(..),+        VkPipelineRasterizationStateCreateFlagBits(..),+        VkPipelineShaderStageCreateFlagBits(..), VkPipelineStageFlagBits(),+        VkPipelineStageFlags(),+        VkPipelineTessellationStateCreateFlagBits(..),+        VkPipelineVertexInputStateCreateFlagBits(..),+        VkPipelineViewportStateCreateFlagBits(..), VkBuffer, VkBufferView,+        VkBufferView_T(), VkBuffer_T(), VkCommandBuffer,+        VkCommandBuffer_T(), VkCommandPool, VkCommandPool_T(),+        VkDebugReportCallbackEXT, VkDebugReportCallbackEXT_T(),+        VkDebugUtilsMessengerEXT, VkDebugUtilsMessengerEXT_T(),+        VkDescriptorPool, VkDescriptorPool_T(), VkDescriptorSet,+        VkDescriptorSetLayout, VkDescriptorSetLayout_T(),+        VkDescriptorSet_T(), VkDescriptorUpdateTemplate,+        VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(),+        VkDescriptorUpdateTemplate_T(), VkDevice, VkDeviceMemory,+        VkDeviceMemory_T(), VkDevice_T(), VkDisplayKHR, VkDisplayKHR_T(),+        VkDisplayModeKHR, VkDisplayModeKHR_T(), VkEvent, VkEvent_T(),+        VkFence, VkFence_T(), VkFramebuffer, VkFramebuffer_T(), VkImage,+        VkImageView, VkImageView_T(), VkImage_T(),+        VkIndirectCommandsLayoutNVX, VkIndirectCommandsLayoutNVX_T(),+        VkInstance, VkInstance_T(), VkObjectTableNVX, VkObjectTableNVX_T(),+        VkPhysicalDevice, VkPhysicalDevice_T(), VkPipeline,+        VkPipelineCache, VkPipelineCache_T(), VkPipelineLayout,+        VkPipelineLayout_T(), VkPipeline_T(), VkQueryPool, VkQueryPool_T(),+        VkQueue, VkQueue_T(), VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),         VK_AMD_BUFFER_MARKER_SPEC_VERSION,         pattern VK_AMD_BUFFER_MARKER_SPEC_VERSION,         VK_AMD_BUFFER_MARKER_EXTENSION_NAME,@@ -45,7 +82,8 @@  pattern VkCmdWriteBufferMarkerAMD <-         (is_VkCmdWriteBufferMarkerAMD -> True)-  where VkCmdWriteBufferMarkerAMD = _VkCmdWriteBufferMarkerAMD+  where+    VkCmdWriteBufferMarkerAMD = _VkCmdWriteBufferMarkerAMD  {-# INLINE _VkCmdWriteBufferMarkerAMD #-} @@ -97,17 +135,17 @@                PFN_vkCmdWriteBufferMarkerAMD -> HS_vkCmdWriteBufferMarkerAMD  instance VulkanProc "vkCmdWriteBufferMarkerAMD" where-        type VkProcType "vkCmdWriteBufferMarkerAMD" =-             HS_vkCmdWriteBufferMarkerAMD-        vkProcSymbol = _VkCmdWriteBufferMarkerAMD+    type VkProcType "vkCmdWriteBufferMarkerAMD" =+         HS_vkCmdWriteBufferMarkerAMD+    vkProcSymbol = _VkCmdWriteBufferMarkerAMD -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdWriteBufferMarkerAMDUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdWriteBufferMarkerAMDUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdWriteBufferMarkerAMDSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdWriteBufferMarkerAMDSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_AMD_BUFFER_MARKER_SPEC_VERSION :: (Num a, Eq a) => a @@ -119,8 +157,9 @@  pattern VK_AMD_BUFFER_MARKER_EXTENSION_NAME <-         (is_VK_AMD_BUFFER_MARKER_EXTENSION_NAME -> True)-  where VK_AMD_BUFFER_MARKER_EXTENSION_NAME-          = _VK_AMD_BUFFER_MARKER_EXTENSION_NAME+  where+    VK_AMD_BUFFER_MARKER_EXTENSION_NAME+      = _VK_AMD_BUFFER_MARKER_EXTENSION_NAME  {-# INLINE _VK_AMD_BUFFER_MARKER_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_AMD_draw_indirect_count.hs view
@@ -28,9 +28,32 @@         pattern VkCmdDrawIndexedIndirectCountAMD,         HS_vkCmdDrawIndexedIndirectCountAMD,         PFN_vkCmdDrawIndexedIndirectCountAMD,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Handles,+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkBuffer, VkBufferView,+        VkBufferView_T(), VkBuffer_T(), VkCommandBuffer,+        VkCommandBuffer_T(), VkCommandPool, VkCommandPool_T(),+        VkDebugReportCallbackEXT, VkDebugReportCallbackEXT_T(),+        VkDebugUtilsMessengerEXT, VkDebugUtilsMessengerEXT_T(),+        VkDescriptorPool, VkDescriptorPool_T(), VkDescriptorSet,+        VkDescriptorSetLayout, VkDescriptorSetLayout_T(),+        VkDescriptorSet_T(), VkDescriptorUpdateTemplate,+        VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(),+        VkDescriptorUpdateTemplate_T(), VkDevice, VkDeviceMemory,+        VkDeviceMemory_T(), VkDevice_T(), VkDisplayKHR, VkDisplayKHR_T(),+        VkDisplayModeKHR, VkDisplayModeKHR_T(), VkEvent, VkEvent_T(),+        VkFence, VkFence_T(), VkFramebuffer, VkFramebuffer_T(), VkImage,+        VkImageView, VkImageView_T(), VkImage_T(),+        VkIndirectCommandsLayoutNVX, VkIndirectCommandsLayoutNVX_T(),+        VkInstance, VkInstance_T(), VkObjectTableNVX, VkObjectTableNVX_T(),+        VkPhysicalDevice, VkPhysicalDevice_T(), VkPipeline,+        VkPipelineCache, VkPipelineCache_T(), VkPipelineLayout,+        VkPipelineLayout_T(), VkPipeline_T(), VkQueryPool, VkQueryPool_T(),+        VkQueue, VkQueue_T(), VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),         VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION,         pattern VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION,         VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME,@@ -46,7 +69,8 @@  pattern VkCmdDrawIndirectCountAMD <-         (is_VkCmdDrawIndirectCountAMD -> True)-  where VkCmdDrawIndirectCountAMD = _VkCmdDrawIndirectCountAMD+  where+    VkCmdDrawIndirectCountAMD = _VkCmdDrawIndirectCountAMD  {-# INLINE _VkCmdDrawIndirectCountAMD #-} @@ -103,24 +127,25 @@                PFN_vkCmdDrawIndirectCountAMD -> HS_vkCmdDrawIndirectCountAMD  instance VulkanProc "vkCmdDrawIndirectCountAMD" where-        type VkProcType "vkCmdDrawIndirectCountAMD" =-             HS_vkCmdDrawIndirectCountAMD-        vkProcSymbol = _VkCmdDrawIndirectCountAMD+    type VkProcType "vkCmdDrawIndirectCountAMD" =+         HS_vkCmdDrawIndirectCountAMD+    vkProcSymbol = _VkCmdDrawIndirectCountAMD -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdDrawIndirectCountAMDUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdDrawIndirectCountAMDUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdDrawIndirectCountAMDSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdDrawIndirectCountAMDSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkCmdDrawIndexedIndirectCountAMD :: CString  pattern VkCmdDrawIndexedIndirectCountAMD <-         (is_VkCmdDrawIndexedIndirectCountAMD -> True)-  where VkCmdDrawIndexedIndirectCountAMD-          = _VkCmdDrawIndexedIndirectCountAMD+  where+    VkCmdDrawIndexedIndirectCountAMD+      = _VkCmdDrawIndexedIndirectCountAMD  {-# INLINE _VkCmdDrawIndexedIndirectCountAMD #-} @@ -181,18 +206,18 @@                  HS_vkCmdDrawIndexedIndirectCountAMD  instance VulkanProc "vkCmdDrawIndexedIndirectCountAMD" where-        type VkProcType "vkCmdDrawIndexedIndirectCountAMD" =-             HS_vkCmdDrawIndexedIndirectCountAMD-        vkProcSymbol = _VkCmdDrawIndexedIndirectCountAMD+    type VkProcType "vkCmdDrawIndexedIndirectCountAMD" =+         HS_vkCmdDrawIndexedIndirectCountAMD+    vkProcSymbol = _VkCmdDrawIndexedIndirectCountAMD -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkCmdDrawIndexedIndirectCountAMDUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkCmdDrawIndexedIndirectCountAMDUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdDrawIndexedIndirectCountAMDSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdDrawIndexedIndirectCountAMDSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION :: (Num a, Eq a) =>         a@@ -205,8 +230,9 @@  pattern VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME <-         (is_VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME -> True)-  where VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME-          = _VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME+  where+    VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME+      = _VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME  {-# INLINE _VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_AMD_gcn_shader.hs view
@@ -35,8 +35,9 @@  pattern VK_AMD_GCN_SHADER_EXTENSION_NAME <-         (is_VK_AMD_GCN_SHADER_EXTENSION_NAME -> True)-  where VK_AMD_GCN_SHADER_EXTENSION_NAME-          = _VK_AMD_GCN_SHADER_EXTENSION_NAME+  where+    VK_AMD_GCN_SHADER_EXTENSION_NAME+      = _VK_AMD_GCN_SHADER_EXTENSION_NAME  {-# INLINE _VK_AMD_GCN_SHADER_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_AMD_gpu_shader_half_float.hs view
@@ -36,8 +36,9 @@  pattern VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME <-         (is_VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME -> True)-  where VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME-          = _VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME+  where+    VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME+      = _VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME  {-# INLINE _VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_AMD_gpu_shader_int16.hs view
@@ -35,8 +35,9 @@  pattern VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME <-         (is_VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME -> True)-  where VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME-          = _VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME+  where+    VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME+      = _VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME  {-# INLINE _VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_AMD_mixed_attachment_samples.hs view
@@ -36,8 +36,9 @@  pattern VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME <-         (is_VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME -> True)-  where VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME-          = _VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME+  where+    VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME+      = _VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME  {-# INLINE _VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_AMD_negative_viewport_height.hs view
@@ -36,8 +36,9 @@  pattern VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME <-         (is_VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME -> True)-  where VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME-          = _VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME+  where+    VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME+      = _VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME  {-# INLINE _VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_AMD_rasterization_order.hs view
@@ -5,31 +5,58 @@ {-# LANGUAGE Strict          #-} {-# LANGUAGE ViewPatterns    #-} module Graphics.Vulkan.Ext.VK_AMD_rasterization_order-       (-- * Vulkan extension: @VK_AMD_rasterization_order@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @Daniel Rakos @drakos-amd@-        ---        -- author: @AMD@-        ---        -- type: @device@-        ---        -- Extension number: @19@-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.CullModeFlags,-        module Graphics.Vulkan.Types.Enum.FrontFace,-        module Graphics.Vulkan.Types.Bitmasks,+       (VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkCullModeBitmask(..), VkCullModeFlagBits(), VkCullModeFlags(),+        VkFrontFace(..), VkAndroidSurfaceCreateFlagsKHR(..),+        VkBufferViewCreateFlags(..), VkCommandPoolTrimFlags(..),+        VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..),         VkPipelineRasterizationStateCreateInfo,-        VkPipelineRasterizationStateCreateInfo',         VkPipelineRasterizationStateRasterizationOrderAMD,-        VkPipelineRasterizationStateRasterizationOrderAMD',-        module Graphics.Vulkan.Types.Enum.PolygonMode,-        module Graphics.Vulkan.Types.Enum.RasterizationOrderAMD,-        module Graphics.Vulkan.Types.Enum.StructureType,-        -- > #include "vk_platform.h"-        VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION,+        VkPolygonMode(..), VkRasterizationOrderAMD(..),+        VkStructureType(..), -- > #include "vk_platform.h"+                             VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION,         pattern VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION,         VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME,         pattern VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME,@@ -45,9 +72,7 @@ import Graphics.Vulkan.Types.Enum.RasterizationOrderAMD import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Struct.Pipeline            (VkPipelineRasterizationStateCreateInfo,-                                                         VkPipelineRasterizationStateCreateInfo',-                                                         VkPipelineRasterizationStateRasterizationOrderAMD,-                                                         VkPipelineRasterizationStateRasterizationOrderAMD')+                                                         VkPipelineRasterizationStateRasterizationOrderAMD)  pattern VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION :: (Num a, Eq a) =>         a@@ -60,8 +85,9 @@  pattern VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME <-         (is_VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME -> True)-  where VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME-          = _VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME+  where+    VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME+      = _VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME  {-# INLINE _VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_ballot.hs view
@@ -35,8 +35,9 @@  pattern VK_AMD_SHADER_BALLOT_EXTENSION_NAME <-         (is_VK_AMD_SHADER_BALLOT_EXTENSION_NAME -> True)-  where VK_AMD_SHADER_BALLOT_EXTENSION_NAME-          = _VK_AMD_SHADER_BALLOT_EXTENSION_NAME+  where+    VK_AMD_SHADER_BALLOT_EXTENSION_NAME+      = _VK_AMD_SHADER_BALLOT_EXTENSION_NAME  {-# INLINE _VK_AMD_SHADER_BALLOT_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_core_properties.hs view
@@ -22,18 +22,13 @@         --          -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes, VkPhysicalDeviceLimits,-        VkPhysicalDeviceLimits', VkPhysicalDeviceProperties,-        VkPhysicalDeviceProperties', VkPhysicalDeviceProperties2,-        VkPhysicalDeviceProperties2',+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkPhysicalDeviceLimits,+        VkPhysicalDeviceProperties, VkPhysicalDeviceProperties2,         VkPhysicalDeviceShaderCorePropertiesAMD,-        VkPhysicalDeviceShaderCorePropertiesAMD',-        VkPhysicalDeviceSparseProperties,-        VkPhysicalDeviceSparseProperties',-        module Graphics.Vulkan.Types.Enum.PhysicalDeviceType,-        module Graphics.Vulkan.Types.Enum.SampleCountFlags,-        module Graphics.Vulkan.Types.Enum.StructureType,+        VkPhysicalDeviceSparseProperties, VkPhysicalDeviceType(..),+        VkSampleCountBitmask(..), VkSampleCountFlagBits(),+        VkSampleCountFlags(), VkStructureType(..),         -- > #include "vk_platform.h"         VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION,         pattern VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION,@@ -48,15 +43,10 @@ import Graphics.Vulkan.Types.Enum.SampleCountFlags import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Struct.PhysicalDevice   (VkPhysicalDeviceLimits,-                                                      VkPhysicalDeviceLimits',                                                       VkPhysicalDeviceProperties,-                                                      VkPhysicalDeviceProperties',                                                       VkPhysicalDeviceProperties2,-                                                      VkPhysicalDeviceProperties2',                                                       VkPhysicalDeviceShaderCorePropertiesAMD,-                                                      VkPhysicalDeviceShaderCorePropertiesAMD',-                                                      VkPhysicalDeviceSparseProperties,-                                                      VkPhysicalDeviceSparseProperties')+                                                      VkPhysicalDeviceSparseProperties)  pattern VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION ::         (Num a, Eq a) => a@@ -69,8 +59,9 @@  pattern VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME <-         (is_VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME -> True)-  where VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME-          = _VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME+  where+    VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME+      = _VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME  {-# INLINE _VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_explicit_vertex_parameter.hs view
@@ -37,8 +37,9 @@  pattern VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME <-         (is_VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME -> True)-  where VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME-          = _VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME+  where+    VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME+      = _VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME  {-# INLINE _VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME            #-}
src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_fragment_mask.hs view
@@ -36,8 +36,9 @@  pattern VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME <-         (is_VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME -> True)-  where VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME-          = _VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME+  where+    VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME+      = _VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME  {-# INLINE _VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_image_load_store_lod.hs view
@@ -37,8 +37,9 @@  pattern VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME <-         (is_VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME -> True)-  where VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME-          = _VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME+  where+    VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME+      = _VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME  {-# INLINE _VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_info.hs view
@@ -23,15 +23,38 @@         -- type: @device@         --         -- Extension number: @43@-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.Shader, VkShaderResourceUsageAMD,-        VkShaderResourceUsageAMD', VkShaderStatisticsInfoAMD,-        VkShaderStatisticsInfoAMD', -- > #include "vk_platform.h"-                                    VkGetShaderInfoAMD,+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkShaderInfoTypeAMD(..),+        VkShaderStageBitmask(..), VkShaderStageFlagBits(),+        VkShaderStageFlags(), VkShaderResourceUsageAMD,+        VkShaderStatisticsInfoAMD, -- > #include "vk_platform.h"+                                   VkGetShaderInfoAMD,         pattern VkGetShaderInfoAMD, HS_vkGetShaderInfoAMD,-        PFN_vkGetShaderInfoAMD, module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Handles,+        PFN_vkGetShaderInfoAMD, VkResult(..), VkBuffer, VkBufferView,+        VkBufferView_T(), VkBuffer_T(), VkCommandBuffer,+        VkCommandBuffer_T(), VkCommandPool, VkCommandPool_T(),+        VkDebugReportCallbackEXT, VkDebugReportCallbackEXT_T(),+        VkDebugUtilsMessengerEXT, VkDebugUtilsMessengerEXT_T(),+        VkDescriptorPool, VkDescriptorPool_T(), VkDescriptorSet,+        VkDescriptorSetLayout, VkDescriptorSetLayout_T(),+        VkDescriptorSet_T(), VkDescriptorUpdateTemplate,+        VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(),+        VkDescriptorUpdateTemplate_T(), VkDevice, VkDeviceMemory,+        VkDeviceMemory_T(), VkDevice_T(), VkDisplayKHR, VkDisplayKHR_T(),+        VkDisplayModeKHR, VkDisplayModeKHR_T(), VkEvent, VkEvent_T(),+        VkFence, VkFence_T(), VkFramebuffer, VkFramebuffer_T(), VkImage,+        VkImageView, VkImageView_T(), VkImage_T(),+        VkIndirectCommandsLayoutNVX, VkIndirectCommandsLayoutNVX_T(),+        VkInstance, VkInstance_T(), VkObjectTableNVX, VkObjectTableNVX_T(),+        VkPhysicalDevice, VkPhysicalDevice_T(), VkPipeline,+        VkPipelineCache, VkPipelineCache_T(), VkPipelineLayout,+        VkPipelineLayout_T(), VkPipeline_T(), VkQueryPool, VkQueryPool_T(),+        VkQueue, VkQueue_T(), VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),         VK_AMD_SHADER_INFO_SPEC_VERSION,         pattern VK_AMD_SHADER_INFO_SPEC_VERSION,         VK_AMD_SHADER_INFO_EXTENSION_NAME,@@ -45,14 +68,13 @@ import Graphics.Vulkan.Types.Enum.Shader import Graphics.Vulkan.Types.Handles import Graphics.Vulkan.Types.Struct.Shader (VkShaderResourceUsageAMD,-                                            VkShaderResourceUsageAMD',-                                            VkShaderStatisticsInfoAMD,-                                            VkShaderStatisticsInfoAMD')+                                            VkShaderStatisticsInfoAMD)  pattern VkGetShaderInfoAMD :: CString  pattern VkGetShaderInfoAMD <- (is_VkGetShaderInfoAMD -> True)-  where VkGetShaderInfoAMD = _VkGetShaderInfoAMD+  where+    VkGetShaderInfoAMD = _VkGetShaderInfoAMD  {-# INLINE _VkGetShaderInfoAMD #-} @@ -102,16 +124,16 @@                PFN_vkGetShaderInfoAMD -> HS_vkGetShaderInfoAMD  instance VulkanProc "vkGetShaderInfoAMD" where-        type VkProcType "vkGetShaderInfoAMD" = HS_vkGetShaderInfoAMD-        vkProcSymbol = _VkGetShaderInfoAMD+    type VkProcType "vkGetShaderInfoAMD" = HS_vkGetShaderInfoAMD+    vkProcSymbol = _VkGetShaderInfoAMD -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetShaderInfoAMDUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetShaderInfoAMDUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetShaderInfoAMDSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetShaderInfoAMDSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_AMD_SHADER_INFO_SPEC_VERSION :: (Num a, Eq a) => a @@ -123,8 +145,9 @@  pattern VK_AMD_SHADER_INFO_EXTENSION_NAME <-         (is_VK_AMD_SHADER_INFO_EXTENSION_NAME -> True)-  where VK_AMD_SHADER_INFO_EXTENSION_NAME-          = _VK_AMD_SHADER_INFO_EXTENSION_NAME+  where+    VK_AMD_SHADER_INFO_EXTENSION_NAME+      = _VK_AMD_SHADER_INFO_EXTENSION_NAME  {-# INLINE _VK_AMD_SHADER_INFO_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_trinary_minmax.hs view
@@ -36,8 +36,9 @@  pattern VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME <-         (is_VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME -> True)-  where VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME-          = _VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME+  where+    VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME+      = _VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME  {-# INLINE _VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_AMD_texture_gather_bias_lod.hs view
@@ -5,30 +5,11 @@ {-# LANGUAGE Strict          #-} {-# LANGUAGE ViewPatterns    #-} module Graphics.Vulkan.Ext.VK_AMD_texture_gather_bias_lod-       (-- * Vulkan extension: @VK_AMD_texture_gather_bias_lod@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @Rex Xu @amdrexu@-        ---        -- author: @AMD@-        ---        -- type: @device@-        ---        -- Extension number: @42@-        ---        -- Required extensions: 'VK_KHR_get_physical_device_properties2'.-        ----        -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.-        module Graphics.Vulkan.Types.BaseTypes, VkExtent3D, VkExtent3D',-        VkImageFormatProperties, VkImageFormatProperties',-        VkImageFormatProperties2, VkImageFormatProperties2',-        module Graphics.Vulkan.Types.Enum.SampleCountFlags,-        module Graphics.Vulkan.Types.Enum.StructureType,+       (VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkExtent3D, VkImageFormatProperties, VkImageFormatProperties2,+        VkSampleCountBitmask(..), VkSampleCountFlagBits(),+        VkSampleCountFlags(), VkStructureType(..),         VkTextureLODGatherFormatPropertiesAMD,-        VkTextureLODGatherFormatPropertiesAMD',         -- > #include "vk_platform.h"         VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION,         pattern VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION,@@ -41,14 +22,10 @@ import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Enum.SampleCountFlags import Graphics.Vulkan.Types.Enum.StructureType-import Graphics.Vulkan.Types.Struct.Extent                              (VkExtent3D,-                                                                         VkExtent3D')+import Graphics.Vulkan.Types.Struct.Extent                              (VkExtent3D) import Graphics.Vulkan.Types.Struct.Image                               (VkImageFormatProperties,-                                                                         VkImageFormatProperties',-                                                                         VkImageFormatProperties2,-                                                                         VkImageFormatProperties2')-import Graphics.Vulkan.Types.Struct.TextureLODGatherFormatPropertiesAMD (VkTextureLODGatherFormatPropertiesAMD,-                                                                         VkTextureLODGatherFormatPropertiesAMD')+                                                                         VkImageFormatProperties2)+import Graphics.Vulkan.Types.Struct.TextureLODGatherFormatPropertiesAMD (VkTextureLODGatherFormatPropertiesAMD)  pattern VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION ::         (Num a, Eq a) => a@@ -61,8 +38,9 @@  pattern VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME <-         (is_VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME -> True)-  where VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME-          = _VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME+  where+    VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME+      = _VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME  {-# INLINE _VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_ANDROID_external_memory_android_hardware_buffer.hs view
@@ -30,32 +30,29 @@          -- ** Required extensions: 'VK_KHR_sampler_ycbcr_conversion', 'VK_KHR_external_memory', 'VK_EXT_queue_family_foreign'.         VkAndroidHardwareBufferFormatPropertiesANDROID,-        VkAndroidHardwareBufferFormatPropertiesANDROID',         VkAndroidHardwareBufferPropertiesANDROID,-        VkAndroidHardwareBufferPropertiesANDROID',-        VkAndroidHardwareBufferUsageANDROID,-        VkAndroidHardwareBufferUsageANDROID',-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.ChromaLocation,-        VkComponentMapping, VkComponentMapping',-        module Graphics.Vulkan.Types.Enum.ComponentSwizzle, VkExtent3D,-        VkExtent3D', VkExternalFormatANDROID, VkExternalFormatANDROID',-        module Graphics.Vulkan.Types.Enum.Filter,-        module Graphics.Vulkan.Types.Enum.Format,-        module Graphics.Vulkan.Types.Enum.Image, VkImageCreateInfo,-        VkImageCreateInfo', VkImageFormatProperties,-        VkImageFormatProperties', VkImageFormatProperties2,-        VkImageFormatProperties2',-        VkImportAndroidHardwareBufferInfoANDROID,-        VkImportAndroidHardwareBufferInfoANDROID', VkMemoryAllocateInfo,-        VkMemoryAllocateInfo', VkMemoryGetAndroidHardwareBufferInfoANDROID,-        VkMemoryGetAndroidHardwareBufferInfoANDROID',-        module Graphics.Vulkan.Types.Enum.SampleCountFlags,-        VkSamplerYcbcrConversionCreateInfo,-        VkSamplerYcbcrConversionCreateInfo',-        module Graphics.Vulkan.Types.Enum.Sampler,-        module Graphics.Vulkan.Types.Enum.SharingMode,-        module Graphics.Vulkan.Types.Enum.StructureType,+        VkAndroidHardwareBufferUsageANDROID, VkBool32(..),+        VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkChromaLocation(..), VkChromaLocationKHR(..), VkComponentMapping,+        VkComponentSwizzle(..), VkExtent3D, VkExternalFormatANDROID,+        VkFilter(..), VkFormat(..), VkFormatFeatureBitmask(..),+        VkFormatFeatureFlagBits(), VkFormatFeatureFlags(),+        VkImageAspectBitmask(..), VkImageCreateBitmask(..),+        VkImageLayout(..), VkImageTiling(..), VkImageType(..),+        VkImageUsageBitmask(..), VkImageViewType(..),+        VkImageAspectFlagBits(), VkImageAspectFlags(),+        VkImageCreateFlagBits(), VkImageCreateFlags(),+        VkImageUsageFlagBits(), VkImageUsageFlags(), VkImageCreateInfo,+        VkImageFormatProperties, VkImageFormatProperties2,+        VkImportAndroidHardwareBufferInfoANDROID, VkMemoryAllocateInfo,+        VkMemoryGetAndroidHardwareBufferInfoANDROID,+        VkSampleCountBitmask(..), VkSampleCountFlagBits(),+        VkSampleCountFlags(), VkSamplerYcbcrConversionCreateInfo,+        VkSamplerAddressMode(..), VkSamplerMipmapMode(..),+        VkSamplerReductionModeEXT(..), VkSamplerYcbcrModelConversion(..),+        VkSamplerYcbcrRange(..), VkSamplerCreateFlagBits(..),+        VkSamplerYcbcrModelConversionKHR(..), VkSamplerYcbcrRangeKHR(..),+        VkSharingMode(..), VkStructureType(..),         -- > #include "vk_platform.h"         VkGetAndroidHardwareBufferPropertiesANDROID,         pattern VkGetAndroidHardwareBufferPropertiesANDROID,@@ -65,10 +62,32 @@         pattern VkGetMemoryAndroidHardwareBufferANDROID,         HS_vkGetMemoryAndroidHardwareBufferANDROID,         PFN_vkGetMemoryAndroidHardwareBufferANDROID,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.PlatformAndroidKhr,+        module Graphics.Vulkan.Marshal, VkResult(..), VkBuffer,+        VkBufferView, VkBufferView_T(), VkBuffer_T(), VkCommandBuffer,+        VkCommandBuffer_T(), VkCommandPool, VkCommandPool_T(),+        VkDebugReportCallbackEXT, VkDebugReportCallbackEXT_T(),+        VkDebugUtilsMessengerEXT, VkDebugUtilsMessengerEXT_T(),+        VkDescriptorPool, VkDescriptorPool_T(), VkDescriptorSet,+        VkDescriptorSetLayout, VkDescriptorSetLayout_T(),+        VkDescriptorSet_T(), VkDescriptorUpdateTemplate,+        VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(),+        VkDescriptorUpdateTemplate_T(), VkDevice, VkDeviceMemory,+        VkDeviceMemory_T(), VkDevice_T(), VkDisplayKHR, VkDisplayKHR_T(),+        VkDisplayModeKHR, VkDisplayModeKHR_T(), VkEvent, VkEvent_T(),+        VkFence, VkFence_T(), VkFramebuffer, VkFramebuffer_T(), VkImage,+        VkImageView, VkImageView_T(), VkImage_T(),+        VkIndirectCommandsLayoutNVX, VkIndirectCommandsLayoutNVX_T(),+        VkInstance, VkInstance_T(), VkObjectTableNVX, VkObjectTableNVX_T(),+        VkPhysicalDevice, VkPhysicalDevice_T(), VkPipeline,+        VkPipelineCache, VkPipelineCache_T(), VkPipelineLayout,+        VkPipelineLayout_T(), VkPipeline_T(), VkQueryPool, VkQueryPool_T(),+        VkQueue, VkQueue_T(), VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkAndroidSurfaceCreateInfoKHR,         VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION,         pattern VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION,         VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME,@@ -88,8 +107,7 @@ import Graphics.Vulkan.Types.Defines                   (AHardwareBuffer) import Graphics.Vulkan.Types.Enum.ChromaLocation import Graphics.Vulkan.Types.Enum.ComponentSwizzle-import Graphics.Vulkan.Types.Enum.External             (VkExternalMemoryHandleTypeBitmask (..),-                                                        VkExternalMemoryHandleTypeFlagBits)+import Graphics.Vulkan.Types.Enum.External             (VkExternalMemoryHandleTypeBitmask (..)) import Graphics.Vulkan.Types.Enum.Filter import Graphics.Vulkan.Types.Enum.Format import Graphics.Vulkan.Types.Enum.Image@@ -99,27 +117,22 @@ import Graphics.Vulkan.Types.Enum.SharingMode import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.ComponentMapping   (VkComponentMapping,-                                                        VkComponentMapping')-import Graphics.Vulkan.Types.Struct.Extent             (VkExtent3D, VkExtent3D')+import Graphics.Vulkan.Types.Struct.ComponentMapping   (VkComponentMapping)+import Graphics.Vulkan.Types.Struct.Extent             (VkExtent3D) import Graphics.Vulkan.Types.Struct.Image              (VkImageCreateInfo,-                                                        VkImageCreateInfo',                                                         VkImageFormatProperties,-                                                        VkImageFormatProperties',-                                                        VkImageFormatProperties2,-                                                        VkImageFormatProperties2')-import Graphics.Vulkan.Types.Struct.Memory             (VkMemoryAllocateInfo,-                                                        VkMemoryAllocateInfo')+                                                        VkImageFormatProperties2)+import Graphics.Vulkan.Types.Struct.Memory             (VkMemoryAllocateInfo) import Graphics.Vulkan.Types.Struct.PlatformAndroidKhr-import Graphics.Vulkan.Types.Struct.Sampler            (VkSamplerYcbcrConversionCreateInfo,-                                                        VkSamplerYcbcrConversionCreateInfo')+import Graphics.Vulkan.Types.Struct.Sampler            (VkSamplerYcbcrConversionCreateInfo)  pattern VkGetAndroidHardwareBufferPropertiesANDROID :: CString  pattern VkGetAndroidHardwareBufferPropertiesANDROID <-         (is_VkGetAndroidHardwareBufferPropertiesANDROID -> True)-  where VkGetAndroidHardwareBufferPropertiesANDROID-          = _VkGetAndroidHardwareBufferPropertiesANDROID+  where+    VkGetAndroidHardwareBufferPropertiesANDROID+      = _VkGetAndroidHardwareBufferPropertiesANDROID  {-# INLINE _VkGetAndroidHardwareBufferPropertiesANDROID #-} @@ -171,26 +184,27 @@  instance VulkanProc "vkGetAndroidHardwareBufferPropertiesANDROID"          where-        type VkProcType "vkGetAndroidHardwareBufferPropertiesANDROID" =-             HS_vkGetAndroidHardwareBufferPropertiesANDROID-        vkProcSymbol = _VkGetAndroidHardwareBufferPropertiesANDROID+    type VkProcType "vkGetAndroidHardwareBufferPropertiesANDROID" =+         HS_vkGetAndroidHardwareBufferPropertiesANDROID+    vkProcSymbol = _VkGetAndroidHardwareBufferPropertiesANDROID -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetAndroidHardwareBufferPropertiesANDROIDUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetAndroidHardwareBufferPropertiesANDROIDUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetAndroidHardwareBufferPropertiesANDROIDSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetAndroidHardwareBufferPropertiesANDROIDSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetMemoryAndroidHardwareBufferANDROID :: CString  pattern VkGetMemoryAndroidHardwareBufferANDROID <-         (is_VkGetMemoryAndroidHardwareBufferANDROID -> True)-  where VkGetMemoryAndroidHardwareBufferANDROID-          = _VkGetMemoryAndroidHardwareBufferANDROID+  where+    VkGetMemoryAndroidHardwareBufferANDROID+      = _VkGetMemoryAndroidHardwareBufferANDROID  {-# INLINE _VkGetMemoryAndroidHardwareBufferANDROID #-} @@ -240,19 +254,19 @@                  HS_vkGetMemoryAndroidHardwareBufferANDROID  instance VulkanProc "vkGetMemoryAndroidHardwareBufferANDROID" where-        type VkProcType "vkGetMemoryAndroidHardwareBufferANDROID" =-             HS_vkGetMemoryAndroidHardwareBufferANDROID-        vkProcSymbol = _VkGetMemoryAndroidHardwareBufferANDROID+    type VkProcType "vkGetMemoryAndroidHardwareBufferANDROID" =+         HS_vkGetMemoryAndroidHardwareBufferANDROID+    vkProcSymbol = _VkGetMemoryAndroidHardwareBufferANDROID -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetMemoryAndroidHardwareBufferANDROIDUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetMemoryAndroidHardwareBufferANDROIDUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetMemoryAndroidHardwareBufferANDROIDSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetMemoryAndroidHardwareBufferANDROIDSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION         :: (Num a, Eq a) => a@@ -270,8 +284,9 @@         <-         (is_VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME            -> True)-  where VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME-          = _VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME+  where+    VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME+      = _VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME  {-# INLINE _VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME            #-}
src-gen/Graphics/Vulkan/Ext/VK_EXT_acquire_xlib_display.hs view
@@ -33,8 +33,31 @@         HS_vkAcquireXlibDisplayEXT, PFN_vkAcquireXlibDisplayEXT,         VkGetRandROutputDisplayEXT, pattern VkGetRandROutputDisplayEXT,         HS_vkGetRandROutputDisplayEXT, PFN_vkGetRandROutputDisplayEXT,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Handles,+        VkResult(..), VkBuffer, VkBufferView, VkBufferView_T(),+        VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),         VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION,         pattern VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION,         VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME,@@ -51,7 +74,8 @@  pattern VkAcquireXlibDisplayEXT <-         (is_VkAcquireXlibDisplayEXT -> True)-  where VkAcquireXlibDisplayEXT = _VkAcquireXlibDisplayEXT+  where+    VkAcquireXlibDisplayEXT = _VkAcquireXlibDisplayEXT  {-# INLINE _VkAcquireXlibDisplayEXT #-} @@ -95,23 +119,24 @@                PFN_vkAcquireXlibDisplayEXT -> HS_vkAcquireXlibDisplayEXT  instance VulkanProc "vkAcquireXlibDisplayEXT" where-        type VkProcType "vkAcquireXlibDisplayEXT" =-             HS_vkAcquireXlibDisplayEXT-        vkProcSymbol = _VkAcquireXlibDisplayEXT+    type VkProcType "vkAcquireXlibDisplayEXT" =+         HS_vkAcquireXlibDisplayEXT+    vkProcSymbol = _VkAcquireXlibDisplayEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkAcquireXlibDisplayEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkAcquireXlibDisplayEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkAcquireXlibDisplayEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkAcquireXlibDisplayEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetRandROutputDisplayEXT :: CString  pattern VkGetRandROutputDisplayEXT <-         (is_VkGetRandROutputDisplayEXT -> True)-  where VkGetRandROutputDisplayEXT = _VkGetRandROutputDisplayEXT+  where+    VkGetRandROutputDisplayEXT = _VkGetRandROutputDisplayEXT  {-# INLINE _VkGetRandROutputDisplayEXT #-} @@ -156,17 +181,17 @@                PFN_vkGetRandROutputDisplayEXT -> HS_vkGetRandROutputDisplayEXT  instance VulkanProc "vkGetRandROutputDisplayEXT" where-        type VkProcType "vkGetRandROutputDisplayEXT" =-             HS_vkGetRandROutputDisplayEXT-        vkProcSymbol = _VkGetRandROutputDisplayEXT+    type VkProcType "vkGetRandROutputDisplayEXT" =+         HS_vkGetRandROutputDisplayEXT+    vkProcSymbol = _VkGetRandROutputDisplayEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetRandROutputDisplayEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetRandROutputDisplayEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetRandROutputDisplayEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetRandROutputDisplayEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION ::         (Num a, Eq a) => a@@ -179,8 +204,9 @@  pattern VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME <-         (is_VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME -> True)-  where VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME-          = _VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME+  where+    VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME+      = _VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME  {-# INLINE _VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_EXT_blend_operation_advanced.hs view
@@ -17,34 +17,69 @@         -- type: @device@         --         -- Extension number: @149@-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.Blend,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.Color,-        module Graphics.Vulkan.Types.Bitmasks, VkDeviceCreateInfo,-        VkDeviceCreateInfo', module Graphics.Vulkan.Types.Enum.Device,-        VkDeviceQueueCreateInfo, VkDeviceQueueCreateInfo',-        module Graphics.Vulkan.Types.Enum.LogicOp,+        module Graphics.Vulkan.Marshal, VkBlendFactor(..), VkBlendOp(..),+        VkBlendOverlapEXT(..), VkBool32(..), VkDeviceSize(..), VkFlags(..),+        VkSampleMask(..), VkColorComponentBitmask(..), VkColorSpaceKHR(..),+        VkColorComponentFlagBits(), VkColorComponentFlags(),+        VkAndroidSurfaceCreateFlagsKHR(..), VkBufferViewCreateFlags(..),+        VkCommandPoolTrimFlags(..), VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkDeviceCreateInfo,+        VkDeviceEventTypeEXT(..), VkDeviceGroupPresentModeBitmaskKHR(..),+        VkDeviceCreateFlagBits(..), VkDeviceGroupPresentModeFlagBitsKHR(),+        VkDeviceGroupPresentModeFlagsKHR(), VkDeviceQueueCreateBitmask(..),+        VkDeviceQueueCreateFlagBits(), VkDeviceQueueCreateFlags(),+        VkDeviceQueueCreateInfo, VkLogicOp(..),         VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT,-        VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT',         VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT,-        VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT',-        VkPhysicalDeviceFeatures, VkPhysicalDeviceFeatures',-        VkPhysicalDeviceFeatures2, VkPhysicalDeviceFeatures2',-        VkPhysicalDeviceLimits, VkPhysicalDeviceLimits',-        VkPhysicalDeviceProperties, VkPhysicalDeviceProperties',-        VkPhysicalDeviceProperties2, VkPhysicalDeviceProperties2',-        VkPhysicalDeviceSparseProperties,-        VkPhysicalDeviceSparseProperties',-        module Graphics.Vulkan.Types.Enum.PhysicalDeviceType,+        VkPhysicalDeviceFeatures, VkPhysicalDeviceFeatures2,+        VkPhysicalDeviceLimits, VkPhysicalDeviceProperties,+        VkPhysicalDeviceProperties2, VkPhysicalDeviceSparseProperties,+        VkPhysicalDeviceType(..),         VkPipelineColorBlendAdvancedStateCreateInfoEXT,-        VkPipelineColorBlendAdvancedStateCreateInfoEXT',         VkPipelineColorBlendAttachmentState,-        VkPipelineColorBlendAttachmentState',-        VkPipelineColorBlendStateCreateInfo,-        VkPipelineColorBlendStateCreateInfo',-        module Graphics.Vulkan.Types.Enum.SampleCountFlags,-        module Graphics.Vulkan.Types.Enum.StructureType,+        VkPipelineColorBlendStateCreateInfo, VkSampleCountBitmask(..),+        VkSampleCountFlagBits(), VkSampleCountFlags(), VkStructureType(..),         -- > #include "vk_platform.h"         VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION,         pattern VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION,@@ -91,8 +126,7 @@ import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.AccessFlags              (VkAccessBitmask (..),-                                                            VkAccessFlagBits)+import Graphics.Vulkan.Types.Enum.AccessFlags              (VkAccessBitmask (..)) import Graphics.Vulkan.Types.Enum.Blend import Graphics.Vulkan.Types.Enum.Color import Graphics.Vulkan.Types.Enum.Device@@ -100,32 +134,18 @@ import Graphics.Vulkan.Types.Enum.PhysicalDeviceType import Graphics.Vulkan.Types.Enum.SampleCountFlags import Graphics.Vulkan.Types.Enum.StructureType-import Graphics.Vulkan.Types.Struct.Device                 (VkDeviceCreateInfo,-                                                            VkDeviceCreateInfo',-                                                            VkDeviceQueueCreateInfo,-                                                            VkDeviceQueueCreateInfo')+import Graphics.Vulkan.Types.Struct.Device                 (VkDeviceCreateInfo, VkDeviceQueueCreateInfo) import Graphics.Vulkan.Types.Struct.PhysicalDevice         (VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT,-                                                            VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT',                                                             VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT,-                                                            VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT',                                                             VkPhysicalDeviceFeatures2,-                                                            VkPhysicalDeviceFeatures2',                                                             VkPhysicalDeviceLimits,-                                                            VkPhysicalDeviceLimits',                                                             VkPhysicalDeviceProperties,-                                                            VkPhysicalDeviceProperties',                                                             VkPhysicalDeviceProperties2,-                                                            VkPhysicalDeviceProperties2',-                                                            VkPhysicalDeviceSparseProperties,-                                                            VkPhysicalDeviceSparseProperties')-import Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures (VkPhysicalDeviceFeatures,-                                                            VkPhysicalDeviceFeatures')+                                                            VkPhysicalDeviceSparseProperties)+import Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures (VkPhysicalDeviceFeatures) import Graphics.Vulkan.Types.Struct.Pipeline               (VkPipelineColorBlendAdvancedStateCreateInfoEXT,-                                                            VkPipelineColorBlendAdvancedStateCreateInfoEXT',                                                             VkPipelineColorBlendAttachmentState,-                                                            VkPipelineColorBlendAttachmentState',-                                                            VkPipelineColorBlendStateCreateInfo,-                                                            VkPipelineColorBlendStateCreateInfo')+                                                            VkPipelineColorBlendStateCreateInfo)  pattern VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION ::         (Num a, Eq a) => a@@ -138,8 +158,9 @@  pattern VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME <-         (is_VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME -> True)-  where VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME-          = _VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME+  where+    VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME+      = _VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME  {-# INLINE _VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_EXT_conservative_rasterization.hs view
@@ -22,27 +22,62 @@         --          -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.ConservativeRasterizationModeEXT,-        module Graphics.Vulkan.Types.Enum.CullModeFlags,-        module Graphics.Vulkan.Types.Enum.FrontFace,+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..),+        VkConservativeRasterizationModeEXT(..), VkCullModeBitmask(..),+        VkCullModeFlagBits(), VkCullModeFlags(), VkFrontFace(..),         VkPhysicalDeviceConservativeRasterizationPropertiesEXT,-        VkPhysicalDeviceConservativeRasterizationPropertiesEXT',-        VkPhysicalDeviceLimits, VkPhysicalDeviceLimits',-        VkPhysicalDeviceProperties, VkPhysicalDeviceProperties',-        VkPhysicalDeviceProperties2, VkPhysicalDeviceProperties2',-        VkPhysicalDeviceSparseProperties,-        VkPhysicalDeviceSparseProperties',-        module Graphics.Vulkan.Types.Enum.PhysicalDeviceType,-        module Graphics.Vulkan.Types.Bitmasks,+        VkPhysicalDeviceLimits, VkPhysicalDeviceProperties,+        VkPhysicalDeviceProperties2, VkPhysicalDeviceSparseProperties,+        VkPhysicalDeviceType(..), VkAndroidSurfaceCreateFlagsKHR(..),+        VkBufferViewCreateFlags(..), VkCommandPoolTrimFlags(..),+        VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..),         VkPipelineRasterizationConservativeStateCreateInfoEXT,-        VkPipelineRasterizationConservativeStateCreateInfoEXT',-        VkPipelineRasterizationStateCreateInfo,-        VkPipelineRasterizationStateCreateInfo',-        module Graphics.Vulkan.Types.Enum.PolygonMode,-        module Graphics.Vulkan.Types.Enum.SampleCountFlags,-        module Graphics.Vulkan.Types.Enum.StructureType,+        VkPipelineRasterizationStateCreateInfo, VkPolygonMode(..),+        VkSampleCountBitmask(..), VkSampleCountFlagBits(),+        VkSampleCountFlags(), VkStructureType(..),         -- > #include "vk_platform.h"         VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION,         pattern VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION,@@ -63,19 +98,12 @@ import Graphics.Vulkan.Types.Enum.SampleCountFlags import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Struct.PhysicalDevice                 (VkPhysicalDeviceConservativeRasterizationPropertiesEXT,-                                                                    VkPhysicalDeviceConservativeRasterizationPropertiesEXT',                                                                     VkPhysicalDeviceLimits,-                                                                    VkPhysicalDeviceLimits',                                                                     VkPhysicalDeviceProperties,-                                                                    VkPhysicalDeviceProperties',                                                                     VkPhysicalDeviceProperties2,-                                                                    VkPhysicalDeviceProperties2',-                                                                    VkPhysicalDeviceSparseProperties,-                                                                    VkPhysicalDeviceSparseProperties')+                                                                    VkPhysicalDeviceSparseProperties) import Graphics.Vulkan.Types.Struct.Pipeline                       (VkPipelineRasterizationConservativeStateCreateInfoEXT,-                                                                    VkPipelineRasterizationConservativeStateCreateInfoEXT',-                                                                    VkPipelineRasterizationStateCreateInfo,-                                                                    VkPipelineRasterizationStateCreateInfo')+                                                                    VkPipelineRasterizationStateCreateInfo)  pattern VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION ::         (Num a, Eq a) => a@@ -88,8 +116,9 @@  pattern VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME <-         (is_VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME -> True)-  where VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME-          = _VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME+  where+    VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME+      = _VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME  {-# INLINE _VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_EXT_debug_marker.hs view
@@ -28,11 +28,14 @@          -- ** Required extensions: 'VK_EXT_debug_report'.         module Graphics.Vulkan.Marshal, VkDebugMarkerMarkerInfoEXT,-        VkDebugMarkerMarkerInfoEXT', VkDebugMarkerObjectNameInfoEXT,-        VkDebugMarkerObjectNameInfoEXT', VkDebugMarkerObjectTagInfoEXT,-        VkDebugMarkerObjectTagInfoEXT',-        module Graphics.Vulkan.Types.Enum.Debug,-        module Graphics.Vulkan.Types.Enum.StructureType,+        VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT,+        VkDebugReportBitmaskEXT(..), VkDebugReportObjectTypeEXT(..),+        VkDebugUtilsMessageSeverityBitmaskEXT(..),+        VkDebugUtilsMessageTypeBitmaskEXT(..), VkDebugReportFlagBitsEXT(),+        VkDebugReportFlagsEXT(), VkDebugUtilsMessageSeverityFlagBitsEXT(),+        VkDebugUtilsMessageSeverityFlagsEXT(),+        VkDebugUtilsMessageTypeFlagBitsEXT(),+        VkDebugUtilsMessageTypeFlagsEXT(), VkStructureType(..),         -- > #include "vk_platform.h"         VkDebugMarkerSetObjectTagEXT, pattern VkDebugMarkerSetObjectTagEXT,         HS_vkDebugMarkerSetObjectTagEXT, PFN_vkDebugMarkerSetObjectTagEXT,@@ -45,10 +48,32 @@         pattern VkCmdDebugMarkerEndEXT, HS_vkCmdDebugMarkerEndEXT,         PFN_vkCmdDebugMarkerEndEXT, VkCmdDebugMarkerInsertEXT,         pattern VkCmdDebugMarkerInsertEXT, HS_vkCmdDebugMarkerInsertEXT,-        PFN_vkCmdDebugMarkerInsertEXT,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.Debug,+        PFN_vkCmdDebugMarkerInsertEXT, VkResult(..), VkBuffer,+        VkBufferView, VkBufferView_T(), VkBuffer_T(), VkCommandBuffer,+        VkCommandBuffer_T(), VkCommandPool, VkCommandPool_T(),+        VkDebugReportCallbackEXT, VkDebugReportCallbackEXT_T(),+        VkDebugUtilsMessengerEXT, VkDebugUtilsMessengerEXT_T(),+        VkDescriptorPool, VkDescriptorPool_T(), VkDescriptorSet,+        VkDescriptorSetLayout, VkDescriptorSetLayout_T(),+        VkDescriptorSet_T(), VkDescriptorUpdateTemplate,+        VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(),+        VkDescriptorUpdateTemplate_T(), VkDevice, VkDeviceMemory,+        VkDeviceMemory_T(), VkDevice_T(), VkDisplayKHR, VkDisplayKHR_T(),+        VkDisplayModeKHR, VkDisplayModeKHR_T(), VkEvent, VkEvent_T(),+        VkFence, VkFence_T(), VkFramebuffer, VkFramebuffer_T(), VkImage,+        VkImageView, VkImageView_T(), VkImage_T(),+        VkIndirectCommandsLayoutNVX, VkIndirectCommandsLayoutNVX_T(),+        VkInstance, VkInstance_T(), VkObjectTableNVX, VkObjectTableNVX_T(),+        VkPhysicalDevice, VkPhysicalDevice_T(), VkPipeline,+        VkPipelineCache, VkPipelineCache_T(), VkPipelineLayout,+        VkPipelineLayout_T(), VkPipeline_T(), VkQueryPool, VkQueryPool_T(),+        VkQueue, VkQueue_T(), VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkDebugReportCallbackCreateInfoEXT, VkDebugUtilsObjectTagInfoEXT,         VK_EXT_DEBUG_MARKER_SPEC_VERSION,         pattern VK_EXT_DEBUG_MARKER_SPEC_VERSION,         VK_EXT_DEBUG_MARKER_EXTENSION_NAME,@@ -70,7 +95,8 @@  pattern VkDebugMarkerSetObjectTagEXT <-         (is_VkDebugMarkerSetObjectTagEXT -> True)-  where VkDebugMarkerSetObjectTagEXT = _VkDebugMarkerSetObjectTagEXT+  where+    VkDebugMarkerSetObjectTagEXT = _VkDebugMarkerSetObjectTagEXT  {-# INLINE _VkDebugMarkerSetObjectTagEXT #-} @@ -113,24 +139,24 @@                PFN_vkDebugMarkerSetObjectTagEXT -> HS_vkDebugMarkerSetObjectTagEXT  instance VulkanProc "vkDebugMarkerSetObjectTagEXT" where-        type VkProcType "vkDebugMarkerSetObjectTagEXT" =-             HS_vkDebugMarkerSetObjectTagEXT-        vkProcSymbol = _VkDebugMarkerSetObjectTagEXT+    type VkProcType "vkDebugMarkerSetObjectTagEXT" =+         HS_vkDebugMarkerSetObjectTagEXT+    vkProcSymbol = _VkDebugMarkerSetObjectTagEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDebugMarkerSetObjectTagEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDebugMarkerSetObjectTagEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDebugMarkerSetObjectTagEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDebugMarkerSetObjectTagEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkDebugMarkerSetObjectNameEXT :: CString  pattern VkDebugMarkerSetObjectNameEXT <-         (is_VkDebugMarkerSetObjectNameEXT -> True)-  where VkDebugMarkerSetObjectNameEXT-          = _VkDebugMarkerSetObjectNameEXT+  where+    VkDebugMarkerSetObjectNameEXT = _VkDebugMarkerSetObjectNameEXT  {-# INLINE _VkDebugMarkerSetObjectNameEXT #-} @@ -176,23 +202,24 @@                  HS_vkDebugMarkerSetObjectNameEXT  instance VulkanProc "vkDebugMarkerSetObjectNameEXT" where-        type VkProcType "vkDebugMarkerSetObjectNameEXT" =-             HS_vkDebugMarkerSetObjectNameEXT-        vkProcSymbol = _VkDebugMarkerSetObjectNameEXT+    type VkProcType "vkDebugMarkerSetObjectNameEXT" =+         HS_vkDebugMarkerSetObjectNameEXT+    vkProcSymbol = _VkDebugMarkerSetObjectNameEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDebugMarkerSetObjectNameEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDebugMarkerSetObjectNameEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDebugMarkerSetObjectNameEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDebugMarkerSetObjectNameEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkCmdDebugMarkerBeginEXT :: CString  pattern VkCmdDebugMarkerBeginEXT <-         (is_VkCmdDebugMarkerBeginEXT -> True)-  where VkCmdDebugMarkerBeginEXT = _VkCmdDebugMarkerBeginEXT+  where+    VkCmdDebugMarkerBeginEXT = _VkCmdDebugMarkerBeginEXT  {-# INLINE _VkCmdDebugMarkerBeginEXT #-} @@ -234,23 +261,24 @@                PFN_vkCmdDebugMarkerBeginEXT -> HS_vkCmdDebugMarkerBeginEXT  instance VulkanProc "vkCmdDebugMarkerBeginEXT" where-        type VkProcType "vkCmdDebugMarkerBeginEXT" =-             HS_vkCmdDebugMarkerBeginEXT-        vkProcSymbol = _VkCmdDebugMarkerBeginEXT+    type VkProcType "vkCmdDebugMarkerBeginEXT" =+         HS_vkCmdDebugMarkerBeginEXT+    vkProcSymbol = _VkCmdDebugMarkerBeginEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdDebugMarkerBeginEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdDebugMarkerBeginEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdDebugMarkerBeginEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdDebugMarkerBeginEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkCmdDebugMarkerEndEXT :: CString  pattern VkCmdDebugMarkerEndEXT <-         (is_VkCmdDebugMarkerEndEXT -> True)-  where VkCmdDebugMarkerEndEXT = _VkCmdDebugMarkerEndEXT+  where+    VkCmdDebugMarkerEndEXT = _VkCmdDebugMarkerEndEXT  {-# INLINE _VkCmdDebugMarkerEndEXT #-} @@ -288,23 +316,24 @@                PFN_vkCmdDebugMarkerEndEXT -> HS_vkCmdDebugMarkerEndEXT  instance VulkanProc "vkCmdDebugMarkerEndEXT" where-        type VkProcType "vkCmdDebugMarkerEndEXT" =-             HS_vkCmdDebugMarkerEndEXT-        vkProcSymbol = _VkCmdDebugMarkerEndEXT+    type VkProcType "vkCmdDebugMarkerEndEXT" =+         HS_vkCmdDebugMarkerEndEXT+    vkProcSymbol = _VkCmdDebugMarkerEndEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdDebugMarkerEndEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdDebugMarkerEndEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdDebugMarkerEndEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdDebugMarkerEndEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkCmdDebugMarkerInsertEXT :: CString  pattern VkCmdDebugMarkerInsertEXT <-         (is_VkCmdDebugMarkerInsertEXT -> True)-  where VkCmdDebugMarkerInsertEXT = _VkCmdDebugMarkerInsertEXT+  where+    VkCmdDebugMarkerInsertEXT = _VkCmdDebugMarkerInsertEXT  {-# INLINE _VkCmdDebugMarkerInsertEXT #-} @@ -346,17 +375,17 @@                PFN_vkCmdDebugMarkerInsertEXT -> HS_vkCmdDebugMarkerInsertEXT  instance VulkanProc "vkCmdDebugMarkerInsertEXT" where-        type VkProcType "vkCmdDebugMarkerInsertEXT" =-             HS_vkCmdDebugMarkerInsertEXT-        vkProcSymbol = _VkCmdDebugMarkerInsertEXT+    type VkProcType "vkCmdDebugMarkerInsertEXT" =+         HS_vkCmdDebugMarkerInsertEXT+    vkProcSymbol = _VkCmdDebugMarkerInsertEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdDebugMarkerInsertEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdDebugMarkerInsertEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdDebugMarkerInsertEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdDebugMarkerInsertEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_EXT_DEBUG_MARKER_SPEC_VERSION :: (Num a, Eq a) => a @@ -368,8 +397,9 @@  pattern VK_EXT_DEBUG_MARKER_EXTENSION_NAME <-         (is_VK_EXT_DEBUG_MARKER_EXTENSION_NAME -> True)-  where VK_EXT_DEBUG_MARKER_EXTENSION_NAME-          = _VK_EXT_DEBUG_MARKER_EXTENSION_NAME+  where+    VK_EXT_DEBUG_MARKER_EXTENSION_NAME+      = _VK_EXT_DEBUG_MARKER_EXTENSION_NAME  {-# INLINE _VK_EXT_DEBUG_MARKER_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_EXT_debug_report.hs view
@@ -24,16 +24,62 @@         -- type: @instance@         --         -- Extension number: @12@-        module Graphics.Vulkan.Marshal, VkApplicationInfo,-        VkApplicationInfo', module Graphics.Vulkan.Types.BaseTypes,-        VkDebugReportCallbackCreateInfoEXT,-        VkDebugReportCallbackCreateInfoEXT',-        module Graphics.Vulkan.Types.Enum.Debug,-        module Graphics.Vulkan.Types.Bitmasks, VkInstanceCreateInfo,-        VkInstanceCreateInfo',-        module Graphics.Vulkan.Types.Enum.StructureType,-        -- > #include "vk_platform.h"-        VkCreateDebugReportCallbackEXT,+        module Graphics.Vulkan.Marshal, VkApplicationInfo, VkBool32(..),+        VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkDebugReportCallbackCreateInfoEXT, VkDebugReportBitmaskEXT(..),+        VkDebugReportObjectTypeEXT(..),+        VkDebugUtilsMessageSeverityBitmaskEXT(..),+        VkDebugUtilsMessageTypeBitmaskEXT(..), VkDebugReportFlagBitsEXT(),+        VkDebugReportFlagsEXT(), VkDebugUtilsMessageSeverityFlagBitsEXT(),+        VkDebugUtilsMessageSeverityFlagsEXT(),+        VkDebugUtilsMessageTypeFlagBitsEXT(),+        VkDebugUtilsMessageTypeFlagsEXT(),+        VkAndroidSurfaceCreateFlagsKHR(..), VkBufferViewCreateFlags(..),+        VkCommandPoolTrimFlags(..), VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkInstanceCreateInfo,+        VkStructureType(..), -- > #include "vk_platform.h"+                             VkCreateDebugReportCallbackEXT,         pattern VkCreateDebugReportCallbackEXT,         HS_vkCreateDebugReportCallbackEXT,         PFN_vkCreateDebugReportCallbackEXT,@@ -42,17 +88,52 @@         HS_vkDestroyDebugReportCallbackEXT,         PFN_vkDestroyDebugReportCallbackEXT, VkDebugReportMessageEXT,         pattern VkDebugReportMessageEXT, HS_vkDebugReportMessageEXT,-        PFN_vkDebugReportMessageEXT,-        module Graphics.Vulkan.Types.Enum.InternalAllocationType,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Enum.SystemAllocationScope,-        module Graphics.Vulkan.Types.Funcpointers,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.AllocationCallbacks,-        module Graphics.Vulkan.Types.Struct.ApplicationInfo,-        module Graphics.Vulkan.Types.Struct.Debug,-        module Graphics.Vulkan.Types.Struct.InstanceCreateInfo,-        VK_EXT_DEBUG_REPORT_SPEC_VERSION,+        PFN_vkDebugReportMessageEXT, VkInternalAllocationType(..),+        VkResult(..), VkSystemAllocationScope(..), newVkAllocationFunction,+        newVkDebugReportCallbackEXT, newVkDebugUtilsMessengerCallbackEXT,+        newVkFreeFunction, newVkInternalAllocationNotification,+        newVkInternalFreeNotification, newVkReallocationFunction,+        newVkVoidFunction, unwrapVkAllocationFunction,+        unwrapVkDebugReportCallbackEXT,+        unwrapVkDebugUtilsMessengerCallbackEXT, unwrapVkFreeFunction,+        unwrapVkInternalAllocationNotification,+        unwrapVkInternalFreeNotification, unwrapVkReallocationFunction,+        unwrapVkVoidFunction, HS_vkAllocationFunction,+        HS_vkDebugReportCallbackEXT, HS_vkDebugUtilsMessengerCallbackEXT,+        HS_vkFreeFunction, HS_vkInternalAllocationNotification,+        HS_vkInternalFreeNotification, HS_vkReallocationFunction,+        HS_vkVoidFunction, PFN_vkAllocationFunction,+        PFN_vkDebugReportCallbackEXT, PFN_vkDebugUtilsMessengerCallbackEXT,+        PFN_vkFreeFunction, PFN_vkInternalAllocationNotification,+        PFN_vkInternalFreeNotification, PFN_vkReallocationFunction,+        PFN_vkVoidFunction, VkBuffer, VkBufferView, VkBufferView_T(),+        VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkAllocationCallbacks, VkDebugMarkerMarkerInfoEXT,+        VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT,+        VkDebugUtilsObjectTagInfoEXT, VK_EXT_DEBUG_REPORT_SPEC_VERSION,         pattern VK_EXT_DEBUG_REPORT_SPEC_VERSION,         VK_EXT_DEBUG_REPORT_EXTENSION_NAME,         pattern VK_EXT_DEBUG_REPORT_EXTENSION_NAME,@@ -86,8 +167,8 @@  pattern VkCreateDebugReportCallbackEXT <-         (is_VkCreateDebugReportCallbackEXT -> True)-  where VkCreateDebugReportCallbackEXT-          = _VkCreateDebugReportCallbackEXT+  where+    VkCreateDebugReportCallbackEXT = _VkCreateDebugReportCallbackEXT  {-# INLINE _VkCreateDebugReportCallbackEXT #-} @@ -140,24 +221,24 @@                  HS_vkCreateDebugReportCallbackEXT  instance VulkanProc "vkCreateDebugReportCallbackEXT" where-        type VkProcType "vkCreateDebugReportCallbackEXT" =-             HS_vkCreateDebugReportCallbackEXT-        vkProcSymbol = _VkCreateDebugReportCallbackEXT+    type VkProcType "vkCreateDebugReportCallbackEXT" =+         HS_vkCreateDebugReportCallbackEXT+    vkProcSymbol = _VkCreateDebugReportCallbackEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateDebugReportCallbackEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateDebugReportCallbackEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateDebugReportCallbackEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateDebugReportCallbackEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkDestroyDebugReportCallbackEXT :: CString  pattern VkDestroyDebugReportCallbackEXT <-         (is_VkDestroyDebugReportCallbackEXT -> True)-  where VkDestroyDebugReportCallbackEXT-          = _VkDestroyDebugReportCallbackEXT+  where+    VkDestroyDebugReportCallbackEXT = _VkDestroyDebugReportCallbackEXT  {-# INLINE _VkDestroyDebugReportCallbackEXT #-} @@ -202,23 +283,24 @@                  HS_vkDestroyDebugReportCallbackEXT  instance VulkanProc "vkDestroyDebugReportCallbackEXT" where-        type VkProcType "vkDestroyDebugReportCallbackEXT" =-             HS_vkDestroyDebugReportCallbackEXT-        vkProcSymbol = _VkDestroyDebugReportCallbackEXT+    type VkProcType "vkDestroyDebugReportCallbackEXT" =+         HS_vkDestroyDebugReportCallbackEXT+    vkProcSymbol = _VkDestroyDebugReportCallbackEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDestroyDebugReportCallbackEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDestroyDebugReportCallbackEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroyDebugReportCallbackEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroyDebugReportCallbackEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkDebugReportMessageEXT :: CString  pattern VkDebugReportMessageEXT <-         (is_VkDebugReportMessageEXT -> True)-  where VkDebugReportMessageEXT = _VkDebugReportMessageEXT+  where+    VkDebugReportMessageEXT = _VkDebugReportMessageEXT  {-# INLINE _VkDebugReportMessageEXT #-} @@ -271,17 +353,17 @@                PFN_vkDebugReportMessageEXT -> HS_vkDebugReportMessageEXT  instance VulkanProc "vkDebugReportMessageEXT" where-        type VkProcType "vkDebugReportMessageEXT" =-             HS_vkDebugReportMessageEXT-        vkProcSymbol = _VkDebugReportMessageEXT+    type VkProcType "vkDebugReportMessageEXT" =+         HS_vkDebugReportMessageEXT+    vkProcSymbol = _VkDebugReportMessageEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDebugReportMessageEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDebugReportMessageEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDebugReportMessageEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDebugReportMessageEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_EXT_DEBUG_REPORT_SPEC_VERSION :: (Num a, Eq a) => a @@ -293,8 +375,9 @@  pattern VK_EXT_DEBUG_REPORT_EXTENSION_NAME <-         (is_VK_EXT_DEBUG_REPORT_EXTENSION_NAME -> True)-  where VK_EXT_DEBUG_REPORT_EXTENSION_NAME-          = _VK_EXT_DEBUG_REPORT_EXTENSION_NAME+  where+    VK_EXT_DEBUG_REPORT_EXTENSION_NAME+      = _VK_EXT_DEBUG_REPORT_EXTENSION_NAME  {-# INLINE _VK_EXT_DEBUG_REPORT_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_EXT_debug_utils.hs view
@@ -23,19 +23,66 @@         -- type: @instance@         --         -- Extension number: @129@-        module Graphics.Vulkan.Marshal, VkApplicationInfo,-        VkApplicationInfo', module Graphics.Vulkan.Types.BaseTypes,-        VkDebugUtilsLabelEXT, VkDebugUtilsLabelEXT',-        module Graphics.Vulkan.Types.Enum.Debug,+        module Graphics.Vulkan.Marshal, VkApplicationInfo, VkBool32(..),+        VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkDebugUtilsLabelEXT, VkDebugReportBitmaskEXT(..),+        VkDebugReportObjectTypeEXT(..),+        VkDebugUtilsMessageSeverityBitmaskEXT(..),+        VkDebugUtilsMessageTypeBitmaskEXT(..), VkDebugReportFlagBitsEXT(),+        VkDebugReportFlagsEXT(), VkDebugUtilsMessageSeverityFlagBitsEXT(),+        VkDebugUtilsMessageSeverityFlagsEXT(),+        VkDebugUtilsMessageTypeFlagBitsEXT(),+        VkDebugUtilsMessageTypeFlagsEXT(),         VkDebugUtilsMessengerCallbackDataEXT,-        VkDebugUtilsMessengerCallbackDataEXT',-        module Graphics.Vulkan.Types.Bitmasks,-        VkDebugUtilsMessengerCreateInfoEXT,-        VkDebugUtilsMessengerCreateInfoEXT', VkDebugUtilsObjectNameInfoEXT,-        VkDebugUtilsObjectNameInfoEXT', VkDebugUtilsObjectTagInfoEXT,-        VkDebugUtilsObjectTagInfoEXT', VkInstanceCreateInfo,-        VkInstanceCreateInfo', module Graphics.Vulkan.Types.Enum.Object,-        module Graphics.Vulkan.Types.Enum.StructureType,+        VkAndroidSurfaceCreateFlagsKHR(..), VkBufferViewCreateFlags(..),+        VkCommandPoolTrimFlags(..), VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..),+        VkDebugUtilsMessengerCreateInfoEXT, VkDebugUtilsObjectNameInfoEXT,+        VkDebugUtilsObjectTagInfoEXT, VkInstanceCreateInfo,+        VkObjectEntryTypeNVX(..), VkObjectEntryUsageBitmaskNVX(..),+        VkObjectType(..), VkObjectEntryUsageFlagBitsNVX(),+        VkObjectEntryUsageFlagsNVX(), VkStructureType(..),         -- > #include "vk_platform.h"         VkSetDebugUtilsObjectNameEXT, pattern VkSetDebugUtilsObjectNameEXT,         HS_vkSetDebugUtilsObjectNameEXT, PFN_vkSetDebugUtilsObjectNameEXT,@@ -68,19 +115,52 @@         PFN_vkDestroyDebugUtilsMessengerEXT, VkSubmitDebugUtilsMessageEXT,         pattern VkSubmitDebugUtilsMessageEXT,         HS_vkSubmitDebugUtilsMessageEXT, PFN_vkSubmitDebugUtilsMessageEXT,-        module Graphics.Vulkan.Types.Enum.InternalAllocationType,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Enum.SystemAllocationScope,-        module Graphics.Vulkan.Types.Funcpointers,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.AllocationCallbacks,-        module Graphics.Vulkan.Types.Struct.ApplicationInfo,-        module Graphics.Vulkan.Types.Struct.Debug,-        module Graphics.Vulkan.Types.Struct.DebugUtilsLabelEXT,-        module Graphics.Vulkan.Types.Struct.DebugUtilsMessengerCallbackDataEXT,-        module Graphics.Vulkan.Types.Struct.DebugUtilsMessengerCreateInfoEXT,-        module Graphics.Vulkan.Types.Struct.DebugUtilsObjectNameInfoEXT,-        module Graphics.Vulkan.Types.Struct.InstanceCreateInfo,+        VkInternalAllocationType(..), VkResult(..),+        VkSystemAllocationScope(..), newVkAllocationFunction,+        newVkDebugReportCallbackEXT, newVkDebugUtilsMessengerCallbackEXT,+        newVkFreeFunction, newVkInternalAllocationNotification,+        newVkInternalFreeNotification, newVkReallocationFunction,+        newVkVoidFunction, unwrapVkAllocationFunction,+        unwrapVkDebugReportCallbackEXT,+        unwrapVkDebugUtilsMessengerCallbackEXT, unwrapVkFreeFunction,+        unwrapVkInternalAllocationNotification,+        unwrapVkInternalFreeNotification, unwrapVkReallocationFunction,+        unwrapVkVoidFunction, HS_vkAllocationFunction,+        HS_vkDebugReportCallbackEXT, HS_vkDebugUtilsMessengerCallbackEXT,+        HS_vkFreeFunction, HS_vkInternalAllocationNotification,+        HS_vkInternalFreeNotification, HS_vkReallocationFunction,+        HS_vkVoidFunction, PFN_vkAllocationFunction,+        PFN_vkDebugReportCallbackEXT, PFN_vkDebugUtilsMessengerCallbackEXT,+        PFN_vkFreeFunction, PFN_vkInternalAllocationNotification,+        PFN_vkInternalFreeNotification, PFN_vkReallocationFunction,+        PFN_vkVoidFunction, VkBuffer, VkBufferView, VkBufferView_T(),+        VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkAllocationCallbacks, VkDebugMarkerMarkerInfoEXT,+        VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT,+        VkDebugReportCallbackCreateInfoEXT,         VK_EXT_DEBUG_UTILS_SPEC_VERSION,         pattern VK_EXT_DEBUG_UTILS_SPEC_VERSION,         VK_EXT_DEBUG_UTILS_EXTENSION_NAME,@@ -118,7 +198,8 @@  pattern VkSetDebugUtilsObjectNameEXT <-         (is_VkSetDebugUtilsObjectNameEXT -> True)-  where VkSetDebugUtilsObjectNameEXT = _VkSetDebugUtilsObjectNameEXT+  where+    VkSetDebugUtilsObjectNameEXT = _VkSetDebugUtilsObjectNameEXT  {-# INLINE _VkSetDebugUtilsObjectNameEXT #-} @@ -161,23 +242,24 @@                PFN_vkSetDebugUtilsObjectNameEXT -> HS_vkSetDebugUtilsObjectNameEXT  instance VulkanProc "vkSetDebugUtilsObjectNameEXT" where-        type VkProcType "vkSetDebugUtilsObjectNameEXT" =-             HS_vkSetDebugUtilsObjectNameEXT-        vkProcSymbol = _VkSetDebugUtilsObjectNameEXT+    type VkProcType "vkSetDebugUtilsObjectNameEXT" =+         HS_vkSetDebugUtilsObjectNameEXT+    vkProcSymbol = _VkSetDebugUtilsObjectNameEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkSetDebugUtilsObjectNameEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkSetDebugUtilsObjectNameEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkSetDebugUtilsObjectNameEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkSetDebugUtilsObjectNameEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkSetDebugUtilsObjectTagEXT :: CString  pattern VkSetDebugUtilsObjectTagEXT <-         (is_VkSetDebugUtilsObjectTagEXT -> True)-  where VkSetDebugUtilsObjectTagEXT = _VkSetDebugUtilsObjectTagEXT+  where+    VkSetDebugUtilsObjectTagEXT = _VkSetDebugUtilsObjectTagEXT  {-# INLINE _VkSetDebugUtilsObjectTagEXT #-} @@ -220,24 +302,24 @@                PFN_vkSetDebugUtilsObjectTagEXT -> HS_vkSetDebugUtilsObjectTagEXT  instance VulkanProc "vkSetDebugUtilsObjectTagEXT" where-        type VkProcType "vkSetDebugUtilsObjectTagEXT" =-             HS_vkSetDebugUtilsObjectTagEXT-        vkProcSymbol = _VkSetDebugUtilsObjectTagEXT+    type VkProcType "vkSetDebugUtilsObjectTagEXT" =+         HS_vkSetDebugUtilsObjectTagEXT+    vkProcSymbol = _VkSetDebugUtilsObjectTagEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkSetDebugUtilsObjectTagEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkSetDebugUtilsObjectTagEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkSetDebugUtilsObjectTagEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkSetDebugUtilsObjectTagEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkQueueBeginDebugUtilsLabelEXT :: CString  pattern VkQueueBeginDebugUtilsLabelEXT <-         (is_VkQueueBeginDebugUtilsLabelEXT -> True)-  where VkQueueBeginDebugUtilsLabelEXT-          = _VkQueueBeginDebugUtilsLabelEXT+  where+    VkQueueBeginDebugUtilsLabelEXT = _VkQueueBeginDebugUtilsLabelEXT  {-# INLINE _VkQueueBeginDebugUtilsLabelEXT #-} @@ -279,23 +361,24 @@                  HS_vkQueueBeginDebugUtilsLabelEXT  instance VulkanProc "vkQueueBeginDebugUtilsLabelEXT" where-        type VkProcType "vkQueueBeginDebugUtilsLabelEXT" =-             HS_vkQueueBeginDebugUtilsLabelEXT-        vkProcSymbol = _VkQueueBeginDebugUtilsLabelEXT+    type VkProcType "vkQueueBeginDebugUtilsLabelEXT" =+         HS_vkQueueBeginDebugUtilsLabelEXT+    vkProcSymbol = _VkQueueBeginDebugUtilsLabelEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkQueueBeginDebugUtilsLabelEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkQueueBeginDebugUtilsLabelEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkQueueBeginDebugUtilsLabelEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkQueueBeginDebugUtilsLabelEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkQueueEndDebugUtilsLabelEXT :: CString  pattern VkQueueEndDebugUtilsLabelEXT <-         (is_VkQueueEndDebugUtilsLabelEXT -> True)-  where VkQueueEndDebugUtilsLabelEXT = _VkQueueEndDebugUtilsLabelEXT+  where+    VkQueueEndDebugUtilsLabelEXT = _VkQueueEndDebugUtilsLabelEXT  {-# INLINE _VkQueueEndDebugUtilsLabelEXT #-} @@ -331,24 +414,24 @@                PFN_vkQueueEndDebugUtilsLabelEXT -> HS_vkQueueEndDebugUtilsLabelEXT  instance VulkanProc "vkQueueEndDebugUtilsLabelEXT" where-        type VkProcType "vkQueueEndDebugUtilsLabelEXT" =-             HS_vkQueueEndDebugUtilsLabelEXT-        vkProcSymbol = _VkQueueEndDebugUtilsLabelEXT+    type VkProcType "vkQueueEndDebugUtilsLabelEXT" =+         HS_vkQueueEndDebugUtilsLabelEXT+    vkProcSymbol = _VkQueueEndDebugUtilsLabelEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkQueueEndDebugUtilsLabelEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkQueueEndDebugUtilsLabelEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkQueueEndDebugUtilsLabelEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkQueueEndDebugUtilsLabelEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkQueueInsertDebugUtilsLabelEXT :: CString  pattern VkQueueInsertDebugUtilsLabelEXT <-         (is_VkQueueInsertDebugUtilsLabelEXT -> True)-  where VkQueueInsertDebugUtilsLabelEXT-          = _VkQueueInsertDebugUtilsLabelEXT+  where+    VkQueueInsertDebugUtilsLabelEXT = _VkQueueInsertDebugUtilsLabelEXT  {-# INLINE _VkQueueInsertDebugUtilsLabelEXT #-} @@ -390,23 +473,24 @@                  HS_vkQueueInsertDebugUtilsLabelEXT  instance VulkanProc "vkQueueInsertDebugUtilsLabelEXT" where-        type VkProcType "vkQueueInsertDebugUtilsLabelEXT" =-             HS_vkQueueInsertDebugUtilsLabelEXT-        vkProcSymbol = _VkQueueInsertDebugUtilsLabelEXT+    type VkProcType "vkQueueInsertDebugUtilsLabelEXT" =+         HS_vkQueueInsertDebugUtilsLabelEXT+    vkProcSymbol = _VkQueueInsertDebugUtilsLabelEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkQueueInsertDebugUtilsLabelEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkQueueInsertDebugUtilsLabelEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkQueueInsertDebugUtilsLabelEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkQueueInsertDebugUtilsLabelEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkCmdBeginDebugUtilsLabelEXT :: CString  pattern VkCmdBeginDebugUtilsLabelEXT <-         (is_VkCmdBeginDebugUtilsLabelEXT -> True)-  where VkCmdBeginDebugUtilsLabelEXT = _VkCmdBeginDebugUtilsLabelEXT+  where+    VkCmdBeginDebugUtilsLabelEXT = _VkCmdBeginDebugUtilsLabelEXT  {-# INLINE _VkCmdBeginDebugUtilsLabelEXT #-} @@ -449,23 +533,24 @@                PFN_vkCmdBeginDebugUtilsLabelEXT -> HS_vkCmdBeginDebugUtilsLabelEXT  instance VulkanProc "vkCmdBeginDebugUtilsLabelEXT" where-        type VkProcType "vkCmdBeginDebugUtilsLabelEXT" =-             HS_vkCmdBeginDebugUtilsLabelEXT-        vkProcSymbol = _VkCmdBeginDebugUtilsLabelEXT+    type VkProcType "vkCmdBeginDebugUtilsLabelEXT" =+         HS_vkCmdBeginDebugUtilsLabelEXT+    vkProcSymbol = _VkCmdBeginDebugUtilsLabelEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdBeginDebugUtilsLabelEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdBeginDebugUtilsLabelEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdBeginDebugUtilsLabelEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdBeginDebugUtilsLabelEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkCmdEndDebugUtilsLabelEXT :: CString  pattern VkCmdEndDebugUtilsLabelEXT <-         (is_VkCmdEndDebugUtilsLabelEXT -> True)-  where VkCmdEndDebugUtilsLabelEXT = _VkCmdEndDebugUtilsLabelEXT+  where+    VkCmdEndDebugUtilsLabelEXT = _VkCmdEndDebugUtilsLabelEXT  {-# INLINE _VkCmdEndDebugUtilsLabelEXT #-} @@ -504,24 +589,24 @@                PFN_vkCmdEndDebugUtilsLabelEXT -> HS_vkCmdEndDebugUtilsLabelEXT  instance VulkanProc "vkCmdEndDebugUtilsLabelEXT" where-        type VkProcType "vkCmdEndDebugUtilsLabelEXT" =-             HS_vkCmdEndDebugUtilsLabelEXT-        vkProcSymbol = _VkCmdEndDebugUtilsLabelEXT+    type VkProcType "vkCmdEndDebugUtilsLabelEXT" =+         HS_vkCmdEndDebugUtilsLabelEXT+    vkProcSymbol = _VkCmdEndDebugUtilsLabelEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdEndDebugUtilsLabelEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdEndDebugUtilsLabelEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdEndDebugUtilsLabelEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdEndDebugUtilsLabelEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkCmdInsertDebugUtilsLabelEXT :: CString  pattern VkCmdInsertDebugUtilsLabelEXT <-         (is_VkCmdInsertDebugUtilsLabelEXT -> True)-  where VkCmdInsertDebugUtilsLabelEXT-          = _VkCmdInsertDebugUtilsLabelEXT+  where+    VkCmdInsertDebugUtilsLabelEXT = _VkCmdInsertDebugUtilsLabelEXT  {-# INLINE _VkCmdInsertDebugUtilsLabelEXT #-} @@ -567,24 +652,24 @@                  HS_vkCmdInsertDebugUtilsLabelEXT  instance VulkanProc "vkCmdInsertDebugUtilsLabelEXT" where-        type VkProcType "vkCmdInsertDebugUtilsLabelEXT" =-             HS_vkCmdInsertDebugUtilsLabelEXT-        vkProcSymbol = _VkCmdInsertDebugUtilsLabelEXT+    type VkProcType "vkCmdInsertDebugUtilsLabelEXT" =+         HS_vkCmdInsertDebugUtilsLabelEXT+    vkProcSymbol = _VkCmdInsertDebugUtilsLabelEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdInsertDebugUtilsLabelEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdInsertDebugUtilsLabelEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdInsertDebugUtilsLabelEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdInsertDebugUtilsLabelEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkCreateDebugUtilsMessengerEXT :: CString  pattern VkCreateDebugUtilsMessengerEXT <-         (is_VkCreateDebugUtilsMessengerEXT -> True)-  where VkCreateDebugUtilsMessengerEXT-          = _VkCreateDebugUtilsMessengerEXT+  where+    VkCreateDebugUtilsMessengerEXT = _VkCreateDebugUtilsMessengerEXT  {-# INLINE _VkCreateDebugUtilsMessengerEXT #-} @@ -637,24 +722,24 @@                  HS_vkCreateDebugUtilsMessengerEXT  instance VulkanProc "vkCreateDebugUtilsMessengerEXT" where-        type VkProcType "vkCreateDebugUtilsMessengerEXT" =-             HS_vkCreateDebugUtilsMessengerEXT-        vkProcSymbol = _VkCreateDebugUtilsMessengerEXT+    type VkProcType "vkCreateDebugUtilsMessengerEXT" =+         HS_vkCreateDebugUtilsMessengerEXT+    vkProcSymbol = _VkCreateDebugUtilsMessengerEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateDebugUtilsMessengerEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateDebugUtilsMessengerEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateDebugUtilsMessengerEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateDebugUtilsMessengerEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkDestroyDebugUtilsMessengerEXT :: CString  pattern VkDestroyDebugUtilsMessengerEXT <-         (is_VkDestroyDebugUtilsMessengerEXT -> True)-  where VkDestroyDebugUtilsMessengerEXT-          = _VkDestroyDebugUtilsMessengerEXT+  where+    VkDestroyDebugUtilsMessengerEXT = _VkDestroyDebugUtilsMessengerEXT  {-# INLINE _VkDestroyDebugUtilsMessengerEXT #-} @@ -699,23 +784,24 @@                  HS_vkDestroyDebugUtilsMessengerEXT  instance VulkanProc "vkDestroyDebugUtilsMessengerEXT" where-        type VkProcType "vkDestroyDebugUtilsMessengerEXT" =-             HS_vkDestroyDebugUtilsMessengerEXT-        vkProcSymbol = _VkDestroyDebugUtilsMessengerEXT+    type VkProcType "vkDestroyDebugUtilsMessengerEXT" =+         HS_vkDestroyDebugUtilsMessengerEXT+    vkProcSymbol = _VkDestroyDebugUtilsMessengerEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDestroyDebugUtilsMessengerEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDestroyDebugUtilsMessengerEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroyDebugUtilsMessengerEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroyDebugUtilsMessengerEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkSubmitDebugUtilsMessageEXT :: CString  pattern VkSubmitDebugUtilsMessageEXT <-         (is_VkSubmitDebugUtilsMessageEXT -> True)-  where VkSubmitDebugUtilsMessageEXT = _VkSubmitDebugUtilsMessageEXT+  where+    VkSubmitDebugUtilsMessageEXT = _VkSubmitDebugUtilsMessageEXT  {-# INLINE _VkSubmitDebugUtilsMessageEXT #-} @@ -761,17 +847,17 @@                PFN_vkSubmitDebugUtilsMessageEXT -> HS_vkSubmitDebugUtilsMessageEXT  instance VulkanProc "vkSubmitDebugUtilsMessageEXT" where-        type VkProcType "vkSubmitDebugUtilsMessageEXT" =-             HS_vkSubmitDebugUtilsMessageEXT-        vkProcSymbol = _VkSubmitDebugUtilsMessageEXT+    type VkProcType "vkSubmitDebugUtilsMessageEXT" =+         HS_vkSubmitDebugUtilsMessageEXT+    vkProcSymbol = _VkSubmitDebugUtilsMessageEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkSubmitDebugUtilsMessageEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkSubmitDebugUtilsMessageEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkSubmitDebugUtilsMessageEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkSubmitDebugUtilsMessageEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_EXT_DEBUG_UTILS_SPEC_VERSION :: (Num a, Eq a) => a @@ -783,8 +869,9 @@  pattern VK_EXT_DEBUG_UTILS_EXTENSION_NAME <-         (is_VK_EXT_DEBUG_UTILS_EXTENSION_NAME -> True)-  where VK_EXT_DEBUG_UTILS_EXTENSION_NAME-          = _VK_EXT_DEBUG_UTILS_EXTENSION_NAME+  where+    VK_EXT_DEBUG_UTILS_EXTENSION_NAME+      = _VK_EXT_DEBUG_UTILS_EXTENSION_NAME  {-# INLINE _VK_EXT_DEBUG_UTILS_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_EXT_depth_range_unrestricted.hs view
@@ -36,8 +36,9 @@  pattern VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME <-         (is_VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME -> True)-  where VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME-          = _VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME+  where+    VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME+      = _VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME  {-# INLINE _VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_EXT_descriptor_indexing.hs view
@@ -22,37 +22,79 @@         --          -- ** Required extensions: 'VK_KHR_get_physical_device_properties2', 'VK_KHR_maintenance3'.-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.Descriptor,-        VkDescriptorSetAllocateInfo, VkDescriptorSetAllocateInfo',-        VkDescriptorSetLayoutBinding, VkDescriptorSetLayoutBinding',+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkDescriptorBindingBitmaskEXT(..),+        VkDescriptorPoolCreateBitmask(..), VkDescriptorType(..),+        VkDescriptorUpdateTemplateType(..),+        VkDescriptorBindingFlagBitsEXT(), VkDescriptorBindingFlagsEXT(),+        VkDescriptorPoolCreateFlagBits(), VkDescriptorPoolCreateFlags(),+        VkDescriptorSetLayoutCreateBitmask(..),+        VkDescriptorSetLayoutCreateFlagBits(),+        VkDescriptorSetLayoutCreateFlags(),+        VkDescriptorUpdateTemplateTypeKHR(..), VkDescriptorSetAllocateInfo,+        VkDescriptorSetLayoutBinding,         VkDescriptorSetLayoutBindingFlagsCreateInfoEXT,-        VkDescriptorSetLayoutBindingFlagsCreateInfoEXT',-        VkDescriptorSetLayoutCreateInfo, VkDescriptorSetLayoutCreateInfo',-        VkDescriptorSetLayoutSupport, VkDescriptorSetLayoutSupport',+        VkDescriptorSetLayoutCreateInfo, VkDescriptorSetLayoutSupport,         VkDescriptorSetVariableDescriptorCountAllocateInfoEXT,-        VkDescriptorSetVariableDescriptorCountAllocateInfoEXT',         VkDescriptorSetVariableDescriptorCountLayoutSupportEXT,-        VkDescriptorSetVariableDescriptorCountLayoutSupportEXT',-        module Graphics.Vulkan.Types.Bitmasks, VkDeviceCreateInfo,-        VkDeviceCreateInfo', module Graphics.Vulkan.Types.Enum.Device,-        VkDeviceQueueCreateInfo, VkDeviceQueueCreateInfo',+        VkAndroidSurfaceCreateFlagsKHR(..), VkBufferViewCreateFlags(..),+        VkCommandPoolTrimFlags(..), VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkDeviceCreateInfo,+        VkDeviceEventTypeEXT(..), VkDeviceGroupPresentModeBitmaskKHR(..),+        VkDeviceCreateFlagBits(..), VkDeviceGroupPresentModeFlagBitsKHR(),+        VkDeviceGroupPresentModeFlagsKHR(), VkDeviceQueueCreateBitmask(..),+        VkDeviceQueueCreateFlagBits(), VkDeviceQueueCreateFlags(),+        VkDeviceQueueCreateInfo,         VkPhysicalDeviceDescriptorIndexingFeaturesEXT,-        VkPhysicalDeviceDescriptorIndexingFeaturesEXT',         VkPhysicalDeviceDescriptorIndexingPropertiesEXT,-        VkPhysicalDeviceDescriptorIndexingPropertiesEXT',-        VkPhysicalDeviceFeatures, VkPhysicalDeviceFeatures',-        VkPhysicalDeviceFeatures2, VkPhysicalDeviceFeatures2',-        VkPhysicalDeviceLimits, VkPhysicalDeviceLimits',-        VkPhysicalDeviceProperties, VkPhysicalDeviceProperties',-        VkPhysicalDeviceProperties2, VkPhysicalDeviceProperties2',-        VkPhysicalDeviceSparseProperties,-        VkPhysicalDeviceSparseProperties',-        module Graphics.Vulkan.Types.Enum.PhysicalDeviceType,-        module Graphics.Vulkan.Types.Enum.SampleCountFlags,-        module Graphics.Vulkan.Types.Enum.Shader,-        module Graphics.Vulkan.Types.Enum.StructureType,+        VkPhysicalDeviceFeatures, VkPhysicalDeviceFeatures2,+        VkPhysicalDeviceLimits, VkPhysicalDeviceProperties,+        VkPhysicalDeviceProperties2, VkPhysicalDeviceSparseProperties,+        VkPhysicalDeviceType(..), VkSampleCountBitmask(..),+        VkSampleCountFlagBits(), VkSampleCountFlags(),+        VkShaderInfoTypeAMD(..), VkShaderStageBitmask(..),+        VkShaderStageFlagBits(), VkShaderStageFlags(), VkStructureType(..),         -- > #include "vk_platform.h"         VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION,         pattern VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION,@@ -79,39 +121,21 @@ import Graphics.Vulkan.Types.Enum.Shader import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Struct.Descriptor             (VkDescriptorSetAllocateInfo,-                                                            VkDescriptorSetAllocateInfo',                                                             VkDescriptorSetLayoutBinding,-                                                            VkDescriptorSetLayoutBinding',                                                             VkDescriptorSetLayoutBindingFlagsCreateInfoEXT,-                                                            VkDescriptorSetLayoutBindingFlagsCreateInfoEXT',                                                             VkDescriptorSetLayoutCreateInfo,-                                                            VkDescriptorSetLayoutCreateInfo',                                                             VkDescriptorSetLayoutSupport,-                                                            VkDescriptorSetLayoutSupport',                                                             VkDescriptorSetVariableDescriptorCountAllocateInfoEXT,-                                                            VkDescriptorSetVariableDescriptorCountAllocateInfoEXT',-                                                            VkDescriptorSetVariableDescriptorCountLayoutSupportEXT,-                                                            VkDescriptorSetVariableDescriptorCountLayoutSupportEXT')-import Graphics.Vulkan.Types.Struct.Device                 (VkDeviceCreateInfo,-                                                            VkDeviceCreateInfo',-                                                            VkDeviceQueueCreateInfo,-                                                            VkDeviceQueueCreateInfo')+                                                            VkDescriptorSetVariableDescriptorCountLayoutSupportEXT)+import Graphics.Vulkan.Types.Struct.Device                 (VkDeviceCreateInfo, VkDeviceQueueCreateInfo) import Graphics.Vulkan.Types.Struct.PhysicalDevice         (VkPhysicalDeviceDescriptorIndexingFeaturesEXT,-                                                            VkPhysicalDeviceDescriptorIndexingFeaturesEXT',                                                             VkPhysicalDeviceDescriptorIndexingPropertiesEXT,-                                                            VkPhysicalDeviceDescriptorIndexingPropertiesEXT',                                                             VkPhysicalDeviceFeatures2,-                                                            VkPhysicalDeviceFeatures2',                                                             VkPhysicalDeviceLimits,-                                                            VkPhysicalDeviceLimits',                                                             VkPhysicalDeviceProperties,-                                                            VkPhysicalDeviceProperties',                                                             VkPhysicalDeviceProperties2,-                                                            VkPhysicalDeviceProperties2',-                                                            VkPhysicalDeviceSparseProperties,-                                                            VkPhysicalDeviceSparseProperties')-import Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures (VkPhysicalDeviceFeatures,-                                                            VkPhysicalDeviceFeatures')+                                                            VkPhysicalDeviceSparseProperties)+import Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures (VkPhysicalDeviceFeatures)  pattern VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION :: (Num a, Eq a) =>         a@@ -124,8 +148,9 @@  pattern VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME <-         (is_VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME -> True)-  where VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME-          = _VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME+  where+    VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME+      = _VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME  {-# INLINE _VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_EXT_direct_mode_display.hs view
@@ -28,9 +28,32 @@          -- ** Required extensions: 'VK_KHR_display'.         VkReleaseDisplayEXT, pattern VkReleaseDisplayEXT,-        HS_vkReleaseDisplayEXT, PFN_vkReleaseDisplayEXT,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Handles,+        HS_vkReleaseDisplayEXT, PFN_vkReleaseDisplayEXT, VkResult(..),+        VkBuffer, VkBufferView, VkBufferView_T(), VkBuffer_T(),+        VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),         VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION,         pattern VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION,         VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME,@@ -45,7 +68,8 @@ pattern VkReleaseDisplayEXT :: CString  pattern VkReleaseDisplayEXT <- (is_VkReleaseDisplayEXT -> True)-  where VkReleaseDisplayEXT = _VkReleaseDisplayEXT+  where+    VkReleaseDisplayEXT = _VkReleaseDisplayEXT  {-# INLINE _VkReleaseDisplayEXT #-} @@ -82,16 +106,16 @@                :: PFN_vkReleaseDisplayEXT -> HS_vkReleaseDisplayEXT  instance VulkanProc "vkReleaseDisplayEXT" where-        type VkProcType "vkReleaseDisplayEXT" = HS_vkReleaseDisplayEXT-        vkProcSymbol = _VkReleaseDisplayEXT+    type VkProcType "vkReleaseDisplayEXT" = HS_vkReleaseDisplayEXT+    vkProcSymbol = _VkReleaseDisplayEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkReleaseDisplayEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkReleaseDisplayEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkReleaseDisplayEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkReleaseDisplayEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION :: (Num a, Eq a) =>         a@@ -104,8 +128,9 @@  pattern VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME <-         (is_VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME -> True)-  where VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME-          = _VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME+  where+    VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME+      = _VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME  {-# INLINE _VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_EXT_discard_rectangles.hs view
@@ -27,71 +27,128 @@         --          -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.Blend,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.Color,-        module Graphics.Vulkan.Types.Enum.CompareOp,-        module Graphics.Vulkan.Types.Enum.CullModeFlags,-        module Graphics.Vulkan.Types.Enum.DiscardRectangleModeEXT,-        module Graphics.Vulkan.Types.Enum.DynamicState, VkExtent2D,-        VkExtent2D', module Graphics.Vulkan.Types.Enum.Format,-        module Graphics.Vulkan.Types.Enum.FrontFace,-        VkGraphicsPipelineCreateInfo, VkGraphicsPipelineCreateInfo',-        module Graphics.Vulkan.Types.Enum.LogicOp, VkOffset2D, VkOffset2D',+        module Graphics.Vulkan.Marshal, VkBlendFactor(..), VkBlendOp(..),+        VkBlendOverlapEXT(..), VkBool32(..), VkDeviceSize(..), VkFlags(..),+        VkSampleMask(..), VkColorComponentBitmask(..), VkColorSpaceKHR(..),+        VkColorComponentFlagBits(), VkColorComponentFlags(),+        VkCompareOp(..), VkCullModeBitmask(..), VkCullModeFlagBits(),+        VkCullModeFlags(), VkDiscardRectangleModeEXT(..),+        VkDynamicState(..), VkExtent2D, VkFormat(..),+        VkFormatFeatureBitmask(..), VkFormatFeatureFlagBits(),+        VkFormatFeatureFlags(), VkFrontFace(..),+        VkGraphicsPipelineCreateInfo, VkLogicOp(..), VkOffset2D,         VkPhysicalDeviceDiscardRectanglePropertiesEXT,-        VkPhysicalDeviceDiscardRectanglePropertiesEXT',-        VkPhysicalDeviceLimits, VkPhysicalDeviceLimits',-        VkPhysicalDeviceProperties, VkPhysicalDeviceProperties',-        VkPhysicalDeviceProperties2, VkPhysicalDeviceProperties2',-        VkPhysicalDeviceSparseProperties,-        VkPhysicalDeviceSparseProperties',-        module Graphics.Vulkan.Types.Enum.PhysicalDeviceType,-        VkPipelineColorBlendAttachmentState,-        VkPipelineColorBlendAttachmentState',-        module Graphics.Vulkan.Types.Bitmasks,-        VkPipelineColorBlendStateCreateInfo,-        VkPipelineColorBlendStateCreateInfo',-        module Graphics.Vulkan.Types.Enum.Pipeline,+        VkPhysicalDeviceLimits, VkPhysicalDeviceProperties,+        VkPhysicalDeviceProperties2, VkPhysicalDeviceSparseProperties,+        VkPhysicalDeviceType(..), VkPipelineColorBlendAttachmentState,+        VkAndroidSurfaceCreateFlagsKHR(..), VkBufferViewCreateFlags(..),+        VkCommandPoolTrimFlags(..), VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..),+        VkPipelineColorBlendStateCreateInfo, VkPipelineBindPoint(..),+        VkPipelineCacheHeaderVersion(..), VkPipelineCreateBitmask(..),+        VkPipelineStageBitmask(..), VkPipelineCacheCreateFlagBits(..),+        VkPipelineColorBlendStateCreateFlagBits(..),+        VkPipelineCreateFlagBits(), VkPipelineCreateFlags(),+        VkPipelineDepthStencilStateCreateFlagBits(..),+        VkPipelineDynamicStateCreateFlagBits(..),+        VkPipelineInputAssemblyStateCreateFlagBits(..),+        VkPipelineLayoutCreateFlagBits(..),+        VkPipelineMultisampleStateCreateFlagBits(..),+        VkPipelineRasterizationStateCreateFlagBits(..),+        VkPipelineShaderStageCreateFlagBits(..), VkPipelineStageFlagBits(),+        VkPipelineStageFlags(),+        VkPipelineTessellationStateCreateFlagBits(..),+        VkPipelineVertexInputStateCreateFlagBits(..),+        VkPipelineViewportStateCreateFlagBits(..),         VkPipelineDepthStencilStateCreateInfo,-        VkPipelineDepthStencilStateCreateInfo',         VkPipelineDiscardRectangleStateCreateInfoEXT,-        VkPipelineDiscardRectangleStateCreateInfoEXT',         VkPipelineDynamicStateCreateInfo,-        VkPipelineDynamicStateCreateInfo',         VkPipelineInputAssemblyStateCreateInfo,-        VkPipelineInputAssemblyStateCreateInfo',         VkPipelineMultisampleStateCreateInfo,-        VkPipelineMultisampleStateCreateInfo',         VkPipelineRasterizationStateCreateInfo,-        VkPipelineRasterizationStateCreateInfo',-        VkPipelineShaderStageCreateInfo, VkPipelineShaderStageCreateInfo',+        VkPipelineShaderStageCreateInfo,         VkPipelineTessellationStateCreateInfo,-        VkPipelineTessellationStateCreateInfo',         VkPipelineVertexInputStateCreateInfo,-        VkPipelineVertexInputStateCreateInfo',-        VkPipelineViewportStateCreateInfo,-        VkPipelineViewportStateCreateInfo',-        module Graphics.Vulkan.Types.Enum.PolygonMode,-        module Graphics.Vulkan.Types.Enum.PrimitiveTopology, VkRect2D,-        VkRect2D', module Graphics.Vulkan.Types.Enum.SampleCountFlags,-        module Graphics.Vulkan.Types.Enum.Shader, VkSpecializationInfo,-        VkSpecializationInfo', VkSpecializationMapEntry,-        VkSpecializationMapEntry',-        module Graphics.Vulkan.Types.Enum.Stencil, VkStencilOpState,-        VkStencilOpState', module Graphics.Vulkan.Types.Enum.StructureType,-        VkVertexInputAttributeDescription,-        VkVertexInputAttributeDescription',-        VkVertexInputBindingDescription, VkVertexInputBindingDescription',-        module Graphics.Vulkan.Types.Enum.VertexInputRate, VkViewport,-        VkViewport', -- > #include "vk_platform.h"-                     VkCmdSetDiscardRectangleEXT,+        VkPipelineViewportStateCreateInfo, VkPolygonMode(..),+        VkPrimitiveTopology(..), VkRect2D, VkSampleCountBitmask(..),+        VkSampleCountFlagBits(), VkSampleCountFlags(),+        VkShaderInfoTypeAMD(..), VkShaderStageBitmask(..),+        VkShaderStageFlagBits(), VkShaderStageFlags(),+        VkSpecializationInfo, VkSpecializationMapEntry,+        VkStencilFaceBitmask(..), VkStencilOp(..), VkStencilFaceFlagBits(),+        VkStencilFaceFlags(), VkStencilOpState, VkStructureType(..),+        VkVertexInputAttributeDescription, VkVertexInputBindingDescription,+        VkVertexInputRate(..), VkViewport, -- > #include "vk_platform.h"+                                           VkCmdSetDiscardRectangleEXT,         pattern VkCmdSetDiscardRectangleEXT,         HS_vkCmdSetDiscardRectangleEXT, PFN_vkCmdSetDiscardRectangleEXT,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.Extent,-        module Graphics.Vulkan.Types.Struct.Offset,-        module Graphics.Vulkan.Types.Struct.Rect,+        VkBuffer, VkBufferView, VkBufferView_T(), VkBuffer_T(),+        VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkExtent3D, VkOffset3D, VkRectLayerKHR,         VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION,         pattern VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION,         VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME,@@ -127,60 +184,36 @@ import Graphics.Vulkan.Types.Struct.Extent import Graphics.Vulkan.Types.Struct.Offset import Graphics.Vulkan.Types.Struct.PhysicalDevice        (VkPhysicalDeviceDiscardRectanglePropertiesEXT,-                                                           VkPhysicalDeviceDiscardRectanglePropertiesEXT',                                                            VkPhysicalDeviceLimits,-                                                           VkPhysicalDeviceLimits',                                                            VkPhysicalDeviceProperties,-                                                           VkPhysicalDeviceProperties',                                                            VkPhysicalDeviceProperties2,-                                                           VkPhysicalDeviceProperties2',-                                                           VkPhysicalDeviceSparseProperties,-                                                           VkPhysicalDeviceSparseProperties')+                                                           VkPhysicalDeviceSparseProperties) import Graphics.Vulkan.Types.Struct.Pipeline              (VkGraphicsPipelineCreateInfo,-                                                           VkGraphicsPipelineCreateInfo',                                                            VkPipelineColorBlendAttachmentState,-                                                           VkPipelineColorBlendAttachmentState',                                                            VkPipelineColorBlendStateCreateInfo,-                                                           VkPipelineColorBlendStateCreateInfo',                                                            VkPipelineDepthStencilStateCreateInfo,-                                                           VkPipelineDepthStencilStateCreateInfo',                                                            VkPipelineDiscardRectangleStateCreateInfoEXT,-                                                           VkPipelineDiscardRectangleStateCreateInfoEXT',                                                            VkPipelineDynamicStateCreateInfo,-                                                           VkPipelineDynamicStateCreateInfo',                                                            VkPipelineInputAssemblyStateCreateInfo,-                                                           VkPipelineInputAssemblyStateCreateInfo',                                                            VkPipelineMultisampleStateCreateInfo,-                                                           VkPipelineMultisampleStateCreateInfo',                                                            VkPipelineRasterizationStateCreateInfo,-                                                           VkPipelineRasterizationStateCreateInfo',                                                            VkPipelineShaderStageCreateInfo,-                                                           VkPipelineShaderStageCreateInfo',                                                            VkPipelineTessellationStateCreateInfo,-                                                           VkPipelineTessellationStateCreateInfo',                                                            VkPipelineVertexInputStateCreateInfo,-                                                           VkPipelineVertexInputStateCreateInfo',-                                                           VkPipelineViewportStateCreateInfo,-                                                           VkPipelineViewportStateCreateInfo')+                                                           VkPipelineViewportStateCreateInfo) import Graphics.Vulkan.Types.Struct.Rect-import Graphics.Vulkan.Types.Struct.Specialization        (VkSpecializationInfo,-                                                           VkSpecializationInfo',-                                                           VkSpecializationMapEntry,-                                                           VkSpecializationMapEntry')-import Graphics.Vulkan.Types.Struct.StencilOpState        (VkStencilOpState,-                                                           VkStencilOpState')+import Graphics.Vulkan.Types.Struct.Specialization        (VkSpecializationInfo, VkSpecializationMapEntry)+import Graphics.Vulkan.Types.Struct.StencilOpState        (VkStencilOpState) import Graphics.Vulkan.Types.Struct.VertexInput           (VkVertexInputAttributeDescription,-                                                           VkVertexInputAttributeDescription',-                                                           VkVertexInputBindingDescription,-                                                           VkVertexInputBindingDescription')-import Graphics.Vulkan.Types.Struct.Viewport              (VkViewport,-                                                           VkViewport')+                                                           VkVertexInputBindingDescription)+import Graphics.Vulkan.Types.Struct.Viewport              (VkViewport)  pattern VkCmdSetDiscardRectangleEXT :: CString  pattern VkCmdSetDiscardRectangleEXT <-         (is_VkCmdSetDiscardRectangleEXT -> True)-  where VkCmdSetDiscardRectangleEXT = _VkCmdSetDiscardRectangleEXT+  where+    VkCmdSetDiscardRectangleEXT = _VkCmdSetDiscardRectangleEXT  {-# INLINE _VkCmdSetDiscardRectangleEXT #-} @@ -227,17 +260,17 @@                PFN_vkCmdSetDiscardRectangleEXT -> HS_vkCmdSetDiscardRectangleEXT  instance VulkanProc "vkCmdSetDiscardRectangleEXT" where-        type VkProcType "vkCmdSetDiscardRectangleEXT" =-             HS_vkCmdSetDiscardRectangleEXT-        vkProcSymbol = _VkCmdSetDiscardRectangleEXT+    type VkProcType "vkCmdSetDiscardRectangleEXT" =+         HS_vkCmdSetDiscardRectangleEXT+    vkProcSymbol = _VkCmdSetDiscardRectangleEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdSetDiscardRectangleEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdSetDiscardRectangleEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdSetDiscardRectangleEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdSetDiscardRectangleEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION :: (Num a, Eq a) =>         a@@ -250,8 +283,9 @@  pattern VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME <-         (is_VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME -> True)-  where VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME-          = _VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME+  where+    VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME+      = _VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME  {-# INLINE _VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_EXT_display_control.hs view
@@ -11,57 +11,104 @@ {-# LANGUAGE TypeFamilies             #-} {-# LANGUAGE ViewPatterns             #-} module Graphics.Vulkan.Ext.VK_EXT_display_control-       (-- * Vulkan extension: @VK_EXT_display_control@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @James Jones @cubanismo@-        ---        -- author: @NV@-        ---        -- type: @device@-        ---        -- Extension number: @92@-        ---        -- Required extensions: 'VK_EXT_display_surface_counter', 'VK_KHR_swapchain'.-        ----        -- ** Required extensions: 'VK_EXT_display_surface_counter', 'VK_KHR_swapchain'.-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.Color,-        module Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR,-        VkDeviceEventInfoEXT, VkDeviceEventInfoEXT',-        module Graphics.Vulkan.Types.Enum.Device, VkDisplayEventInfoEXT,-        VkDisplayEventInfoEXT', module Graphics.Vulkan.Types.Enum.Display,-        VkDisplayPowerInfoEXT, VkDisplayPowerInfoEXT', VkExtent2D,-        VkExtent2D', module Graphics.Vulkan.Types.Enum.Format,-        module Graphics.Vulkan.Types.Enum.Image,-        module Graphics.Vulkan.Types.Enum.PresentModeKHR,-        module Graphics.Vulkan.Types.Enum.SharingMode,-        module Graphics.Vulkan.Types.Enum.StructureType,-        module Graphics.Vulkan.Types.Enum.Surface,-        VkSwapchainCounterCreateInfoEXT, VkSwapchainCounterCreateInfoEXT',-        module Graphics.Vulkan.Types.Enum.SwapchainCreateFlagsKHR,-        VkSwapchainCreateInfoKHR, VkSwapchainCreateInfoKHR',-        -- > #include "vk_platform.h"-        VkDisplayPowerControlEXT, pattern VkDisplayPowerControlEXT,-        HS_vkDisplayPowerControlEXT, PFN_vkDisplayPowerControlEXT,-        VkRegisterDeviceEventEXT, pattern VkRegisterDeviceEventEXT,-        HS_vkRegisterDeviceEventEXT, PFN_vkRegisterDeviceEventEXT,-        VkRegisterDisplayEventEXT, pattern VkRegisterDisplayEventEXT,-        HS_vkRegisterDisplayEventEXT, PFN_vkRegisterDisplayEventEXT,-        VkGetSwapchainCounterEXT, pattern VkGetSwapchainCounterEXT,-        HS_vkGetSwapchainCounterEXT, PFN_vkGetSwapchainCounterEXT,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.InternalAllocationType,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Enum.SystemAllocationScope,-        module Graphics.Vulkan.Types.Funcpointers,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.AllocationCallbacks,-        module Graphics.Vulkan.Types.Struct.Device,-        module Graphics.Vulkan.Types.Struct.Display,+       (VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkColorComponentBitmask(..), VkColorSpaceKHR(..),+        VkColorComponentFlagBits(), VkColorComponentFlags(),+        VkCompositeAlphaBitmaskKHR(..), VkCompositeAlphaFlagBitsKHR(),+        VkCompositeAlphaFlagsKHR(), VkDeviceEventInfoEXT,+        VkDeviceEventTypeEXT(..), VkDeviceGroupPresentModeBitmaskKHR(..),+        VkDeviceCreateFlagBits(..), VkDeviceGroupPresentModeFlagBitsKHR(),+        VkDeviceGroupPresentModeFlagsKHR(), VkDeviceQueueCreateBitmask(..),+        VkDeviceQueueCreateFlagBits(), VkDeviceQueueCreateFlags(),+        VkDisplayEventInfoEXT, VkDisplayEventTypeEXT(..),+        VkDisplayPlaneAlphaBitmaskKHR(..), VkDisplayPowerStateEXT(..),+        VkDisplayPlaneAlphaFlagBitsKHR(), VkDisplayPlaneAlphaFlagsKHR(),+        VkDisplayPowerInfoEXT, VkExtent2D, VkFormat(..),+        VkFormatFeatureBitmask(..), VkFormatFeatureFlagBits(),+        VkFormatFeatureFlags(), VkImageAspectBitmask(..),+        VkImageCreateBitmask(..), VkImageLayout(..), VkImageTiling(..),+        VkImageType(..), VkImageUsageBitmask(..), VkImageViewType(..),+        VkImageAspectFlagBits(), VkImageAspectFlags(),+        VkImageCreateFlagBits(), VkImageCreateFlags(),+        VkImageUsageFlagBits(), VkImageUsageFlags(), VkPresentModeKHR(..),+        VkSharingMode(..), VkStructureType(..),+        VkSurfaceCounterBitmaskEXT(..), VkSurfaceTransformBitmaskKHR(..),+        VkSurfaceCounterFlagBitsEXT(), VkSurfaceCounterFlagsEXT(),+        VkSurfaceTransformFlagBitsKHR(), VkSurfaceTransformFlagsKHR(),+        VkSwapchainCounterCreateInfoEXT, VkSwapchainCreateBitmaskKHR(..),+        VkSwapchainCreateFlagBitsKHR(), VkSwapchainCreateFlagsKHR(),+        VkSwapchainCreateInfoKHR, -- > #include "vk_platform.h"+                                  VkDisplayPowerControlEXT,+        pattern VkDisplayPowerControlEXT, HS_vkDisplayPowerControlEXT,+        PFN_vkDisplayPowerControlEXT, VkRegisterDeviceEventEXT,+        pattern VkRegisterDeviceEventEXT, HS_vkRegisterDeviceEventEXT,+        PFN_vkRegisterDeviceEventEXT, VkRegisterDisplayEventEXT,+        pattern VkRegisterDisplayEventEXT, HS_vkRegisterDisplayEventEXT,+        PFN_vkRegisterDisplayEventEXT, VkGetSwapchainCounterEXT,+        pattern VkGetSwapchainCounterEXT, HS_vkGetSwapchainCounterEXT,+        PFN_vkGetSwapchainCounterEXT, module Graphics.Vulkan.Marshal,+        VkInternalAllocationType(..), VkResult(..),+        VkSystemAllocationScope(..), newVkAllocationFunction,+        newVkDebugReportCallbackEXT, newVkDebugUtilsMessengerCallbackEXT,+        newVkFreeFunction, newVkInternalAllocationNotification,+        newVkInternalFreeNotification, newVkReallocationFunction,+        newVkVoidFunction, unwrapVkAllocationFunction,+        unwrapVkDebugReportCallbackEXT,+        unwrapVkDebugUtilsMessengerCallbackEXT, unwrapVkFreeFunction,+        unwrapVkInternalAllocationNotification,+        unwrapVkInternalFreeNotification, unwrapVkReallocationFunction,+        unwrapVkVoidFunction, HS_vkAllocationFunction,+        HS_vkDebugReportCallbackEXT, HS_vkDebugUtilsMessengerCallbackEXT,+        HS_vkFreeFunction, HS_vkInternalAllocationNotification,+        HS_vkInternalFreeNotification, HS_vkReallocationFunction,+        HS_vkVoidFunction, PFN_vkAllocationFunction,+        PFN_vkDebugReportCallbackEXT, PFN_vkDebugUtilsMessengerCallbackEXT,+        PFN_vkFreeFunction, PFN_vkInternalAllocationNotification,+        PFN_vkInternalFreeNotification, PFN_vkReallocationFunction,+        PFN_vkVoidFunction, VkBuffer, VkBufferView, VkBufferView_T(),+        VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkAllocationCallbacks, VkDeviceCreateInfo,+        VkDeviceGeneratedCommandsFeaturesNVX,+        VkDeviceGeneratedCommandsLimitsNVX, VkDeviceGroupBindSparseInfo,+        VkDeviceGroupBindSparseInfoKHR,+        VkDeviceGroupCommandBufferBeginInfo,+        VkDeviceGroupCommandBufferBeginInfoKHR,+        VkDeviceGroupDeviceCreateInfo, VkDeviceGroupDeviceCreateInfoKHR,+        VkDeviceGroupPresentCapabilitiesKHR, VkDeviceGroupPresentInfoKHR,+        VkDeviceGroupRenderPassBeginInfo,+        VkDeviceGroupRenderPassBeginInfoKHR, VkDeviceGroupSubmitInfo,+        VkDeviceGroupSubmitInfoKHR, VkDeviceGroupSwapchainCreateInfoKHR,+        VkDeviceQueueCreateInfo, VkDeviceQueueGlobalPriorityCreateInfoEXT,+        VkDeviceQueueInfo2, VkDisplayModeCreateInfoKHR,+        VkDisplayModeParametersKHR, VkDisplayModeProperties2KHR,+        VkDisplayModePropertiesKHR, VkDisplayPlaneCapabilities2KHR,+        VkDisplayPlaneCapabilitiesKHR, VkDisplayPlaneInfo2KHR,+        VkDisplayPlaneProperties2KHR, VkDisplayPlanePropertiesKHR,+        VkDisplayPresentInfoKHR, VkDisplayProperties2KHR,+        VkDisplayPropertiesKHR, VkDisplaySurfaceCreateInfoKHR,         VK_EXT_DISPLAY_CONTROL_SPEC_VERSION,         pattern VK_EXT_DISPLAY_CONTROL_SPEC_VERSION,         VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME,@@ -94,18 +141,16 @@ import Graphics.Vulkan.Types.Struct.AllocationCallbacks import Graphics.Vulkan.Types.Struct.Device import Graphics.Vulkan.Types.Struct.Display-import Graphics.Vulkan.Types.Struct.Extent                (VkExtent2D,-                                                           VkExtent2D')+import Graphics.Vulkan.Types.Struct.Extent                (VkExtent2D) import Graphics.Vulkan.Types.Struct.SwapchainC            (VkSwapchainCounterCreateInfoEXT,-                                                           VkSwapchainCounterCreateInfoEXT',-                                                           VkSwapchainCreateInfoKHR,-                                                           VkSwapchainCreateInfoKHR')+                                                           VkSwapchainCreateInfoKHR)  pattern VkDisplayPowerControlEXT :: CString  pattern VkDisplayPowerControlEXT <-         (is_VkDisplayPowerControlEXT -> True)-  where VkDisplayPowerControlEXT = _VkDisplayPowerControlEXT+  where+    VkDisplayPowerControlEXT = _VkDisplayPowerControlEXT  {-# INLINE _VkDisplayPowerControlEXT #-} @@ -148,23 +193,24 @@                PFN_vkDisplayPowerControlEXT -> HS_vkDisplayPowerControlEXT  instance VulkanProc "vkDisplayPowerControlEXT" where-        type VkProcType "vkDisplayPowerControlEXT" =-             HS_vkDisplayPowerControlEXT-        vkProcSymbol = _VkDisplayPowerControlEXT+    type VkProcType "vkDisplayPowerControlEXT" =+         HS_vkDisplayPowerControlEXT+    vkProcSymbol = _VkDisplayPowerControlEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDisplayPowerControlEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDisplayPowerControlEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDisplayPowerControlEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDisplayPowerControlEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkRegisterDeviceEventEXT :: CString  pattern VkRegisterDeviceEventEXT <-         (is_VkRegisterDeviceEventEXT -> True)-  where VkRegisterDeviceEventEXT = _VkRegisterDeviceEventEXT+  where+    VkRegisterDeviceEventEXT = _VkRegisterDeviceEventEXT  {-# INLINE _VkRegisterDeviceEventEXT #-} @@ -210,23 +256,24 @@                PFN_vkRegisterDeviceEventEXT -> HS_vkRegisterDeviceEventEXT  instance VulkanProc "vkRegisterDeviceEventEXT" where-        type VkProcType "vkRegisterDeviceEventEXT" =-             HS_vkRegisterDeviceEventEXT-        vkProcSymbol = _VkRegisterDeviceEventEXT+    type VkProcType "vkRegisterDeviceEventEXT" =+         HS_vkRegisterDeviceEventEXT+    vkProcSymbol = _VkRegisterDeviceEventEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkRegisterDeviceEventEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkRegisterDeviceEventEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkRegisterDeviceEventEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkRegisterDeviceEventEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkRegisterDisplayEventEXT :: CString  pattern VkRegisterDisplayEventEXT <-         (is_VkRegisterDisplayEventEXT -> True)-  where VkRegisterDisplayEventEXT = _VkRegisterDisplayEventEXT+  where+    VkRegisterDisplayEventEXT = _VkRegisterDisplayEventEXT  {-# INLINE _VkRegisterDisplayEventEXT #-} @@ -275,23 +322,24 @@                PFN_vkRegisterDisplayEventEXT -> HS_vkRegisterDisplayEventEXT  instance VulkanProc "vkRegisterDisplayEventEXT" where-        type VkProcType "vkRegisterDisplayEventEXT" =-             HS_vkRegisterDisplayEventEXT-        vkProcSymbol = _VkRegisterDisplayEventEXT+    type VkProcType "vkRegisterDisplayEventEXT" =+         HS_vkRegisterDisplayEventEXT+    vkProcSymbol = _VkRegisterDisplayEventEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkRegisterDisplayEventEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkRegisterDisplayEventEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkRegisterDisplayEventEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkRegisterDisplayEventEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetSwapchainCounterEXT :: CString  pattern VkGetSwapchainCounterEXT <-         (is_VkGetSwapchainCounterEXT -> True)-  where VkGetSwapchainCounterEXT = _VkGetSwapchainCounterEXT+  where+    VkGetSwapchainCounterEXT = _VkGetSwapchainCounterEXT  {-# INLINE _VkGetSwapchainCounterEXT #-} @@ -339,17 +387,17 @@                PFN_vkGetSwapchainCounterEXT -> HS_vkGetSwapchainCounterEXT  instance VulkanProc "vkGetSwapchainCounterEXT" where-        type VkProcType "vkGetSwapchainCounterEXT" =-             HS_vkGetSwapchainCounterEXT-        vkProcSymbol = _VkGetSwapchainCounterEXT+    type VkProcType "vkGetSwapchainCounterEXT" =+         HS_vkGetSwapchainCounterEXT+    vkProcSymbol = _VkGetSwapchainCounterEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetSwapchainCounterEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetSwapchainCounterEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetSwapchainCounterEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetSwapchainCounterEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_EXT_DISPLAY_CONTROL_SPEC_VERSION :: (Num a, Eq a) => a @@ -361,8 +409,9 @@  pattern VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME <-         (is_VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME -> True)-  where VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME-          = _VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME+  where+    VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME+      = _VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME  {-# INLINE _VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_EXT_display_surface_counter.hs view
@@ -28,22 +28,51 @@         --          -- ** Required extensions: 'VK_KHR_display'.-        module Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR,-        VkExtent2D, VkExtent2D', module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.Image,-        module Graphics.Vulkan.Types.Enum.StructureType,-        VkSurfaceCapabilities2EXT, VkSurfaceCapabilities2EXT',-        module Graphics.Vulkan.Types.Enum.Surface,+        VkCompositeAlphaBitmaskKHR(..), VkCompositeAlphaFlagBitsKHR(),+        VkCompositeAlphaFlagsKHR(), VkExtent2D, VkBool32(..),+        VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkImageAspectBitmask(..), VkImageCreateBitmask(..),+        VkImageLayout(..), VkImageTiling(..), VkImageType(..),+        VkImageUsageBitmask(..), VkImageViewType(..),+        VkImageAspectFlagBits(), VkImageAspectFlags(),+        VkImageCreateFlagBits(), VkImageCreateFlags(),+        VkImageUsageFlagBits(), VkImageUsageFlags(), VkStructureType(..),+        VkSurfaceCapabilities2EXT, VkSurfaceCounterBitmaskEXT(..),+        VkSurfaceTransformBitmaskKHR(..), VkSurfaceCounterFlagBitsEXT(),+        VkSurfaceCounterFlagsEXT(), VkSurfaceTransformFlagBitsKHR(),+        VkSurfaceTransformFlagsKHR(),         -- > #include "vk_platform.h"         VkGetPhysicalDeviceSurfaceCapabilities2EXT,         pattern VkGetPhysicalDeviceSurfaceCapabilities2EXT,         HS_vkGetPhysicalDeviceSurfaceCapabilities2EXT,         PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.Extent,-        module Graphics.Vulkan.Types.Struct.Surface,+        module Graphics.Vulkan.Marshal, VkResult(..), VkBuffer,+        VkBufferView, VkBufferView_T(), VkBuffer_T(), VkCommandBuffer,+        VkCommandBuffer_T(), VkCommandPool, VkCommandPool_T(),+        VkDebugReportCallbackEXT, VkDebugReportCallbackEXT_T(),+        VkDebugUtilsMessengerEXT, VkDebugUtilsMessengerEXT_T(),+        VkDescriptorPool, VkDescriptorPool_T(), VkDescriptorSet,+        VkDescriptorSetLayout, VkDescriptorSetLayout_T(),+        VkDescriptorSet_T(), VkDescriptorUpdateTemplate,+        VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(),+        VkDescriptorUpdateTemplate_T(), VkDevice, VkDeviceMemory,+        VkDeviceMemory_T(), VkDevice_T(), VkDisplayKHR, VkDisplayKHR_T(),+        VkDisplayModeKHR, VkDisplayModeKHR_T(), VkEvent, VkEvent_T(),+        VkFence, VkFence_T(), VkFramebuffer, VkFramebuffer_T(), VkImage,+        VkImageView, VkImageView_T(), VkImage_T(),+        VkIndirectCommandsLayoutNVX, VkIndirectCommandsLayoutNVX_T(),+        VkInstance, VkInstance_T(), VkObjectTableNVX, VkObjectTableNVX_T(),+        VkPhysicalDevice, VkPhysicalDevice_T(), VkPipeline,+        VkPipelineCache, VkPipelineCache_T(), VkPipelineLayout,+        VkPipelineLayout_T(), VkPipeline_T(), VkQueryPool, VkQueryPool_T(),+        VkQueue, VkQueue_T(), VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkExtent3D, VkSurfaceCapabilities2KHR, VkSurfaceCapabilitiesKHR,+        VkSurfaceFormat2KHR, VkSurfaceFormatKHR,         VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION,         pattern VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION,         VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME,@@ -68,8 +97,9 @@  pattern VkGetPhysicalDeviceSurfaceCapabilities2EXT <-         (is_VkGetPhysicalDeviceSurfaceCapabilities2EXT -> True)-  where VkGetPhysicalDeviceSurfaceCapabilities2EXT-          = _VkGetPhysicalDeviceSurfaceCapabilities2EXT+  where+    VkGetPhysicalDeviceSurfaceCapabilities2EXT+      = _VkGetPhysicalDeviceSurfaceCapabilities2EXT  {-# INLINE _VkGetPhysicalDeviceSurfaceCapabilities2EXT #-} @@ -119,19 +149,19 @@  instance VulkanProc "vkGetPhysicalDeviceSurfaceCapabilities2EXT"          where-        type VkProcType "vkGetPhysicalDeviceSurfaceCapabilities2EXT" =-             HS_vkGetPhysicalDeviceSurfaceCapabilities2EXT-        vkProcSymbol = _VkGetPhysicalDeviceSurfaceCapabilities2EXT+    type VkProcType "vkGetPhysicalDeviceSurfaceCapabilities2EXT" =+         HS_vkGetPhysicalDeviceSurfaceCapabilities2EXT+    vkProcSymbol = _VkGetPhysicalDeviceSurfaceCapabilities2EXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceSurfaceCapabilities2EXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceSurfaceCapabilities2EXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceSurfaceCapabilities2EXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceSurfaceCapabilities2EXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION ::         (Num a, Eq a) => a@@ -144,8 +174,9 @@  pattern VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME <-         (is_VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME -> True)-  where VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME-          = _VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME+  where+    VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME+      = _VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME  {-# INLINE _VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_EXT_external_memory_dma_buf.hs view
@@ -30,8 +30,7 @@        where import GHC.Ptr                             (Ptr (..)) import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.Enum.External (VkExternalMemoryHandleTypeBitmask (..),-                                            VkExternalMemoryHandleTypeFlagBits)+import Graphics.Vulkan.Types.Enum.External (VkExternalMemoryHandleTypeBitmask (..))  pattern VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION ::         (Num a, Eq a) => a@@ -44,8 +43,9 @@  pattern VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME <-         (is_VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME -> True)-  where VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME-          = _VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME+  where+    VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME+      = _VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME  {-# INLINE _VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_EXT_external_memory_host.hs view
@@ -28,32 +28,120 @@         --          -- ** Required extensions: 'VK_KHR_external_memory'.-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.External,-        module Graphics.Vulkan.Types.Bitmasks,-        VkImportMemoryHostPointerInfoEXT,-        VkImportMemoryHostPointerInfoEXT', VkMemoryAllocateInfo,-        VkMemoryAllocateInfo', VkMemoryHostPointerPropertiesEXT,-        VkMemoryHostPointerPropertiesEXT',+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkExternalFenceFeatureBitmask(..),+        VkExternalFenceHandleTypeBitmask(..),+        VkExternalMemoryFeatureBitmask(..),+        VkExternalMemoryFeatureBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmask(..),+        VkExternalSemaphoreFeatureBitmask(..),+        VkExternalSemaphoreHandleTypeBitmask(..),+        VkExternalFenceFeatureFlagBits(),+        VkExternalFenceFeatureFlagBitsKHR(..),+        VkExternalFenceFeatureFlags(), VkExternalFenceHandleTypeFlagBits(),+        VkExternalFenceHandleTypeFlagBitsKHR(..),+        VkExternalFenceHandleTypeFlags(),+        VkExternalMemoryFeatureFlagBits(),+        VkExternalMemoryFeatureFlagBitsKHR(..),+        VkExternalMemoryFeatureFlagBitsNV(),+        VkExternalMemoryFeatureFlags(), VkExternalMemoryFeatureFlagsNV(),+        VkExternalMemoryHandleTypeFlagBits(),+        VkExternalMemoryHandleTypeFlagBitsKHR(..),+        VkExternalMemoryHandleTypeFlagBitsNV(),+        VkExternalMemoryHandleTypeFlags(),+        VkExternalMemoryHandleTypeFlagsNV(),+        VkExternalSemaphoreFeatureFlagBits(),+        VkExternalSemaphoreFeatureFlagBitsKHR(..),+        VkExternalSemaphoreFeatureFlags(),+        VkExternalSemaphoreHandleTypeFlagBits(),+        VkExternalSemaphoreHandleTypeFlagBitsKHR(..),+        VkExternalSemaphoreHandleTypeFlags(),+        VkAndroidSurfaceCreateFlagsKHR(..), VkBufferViewCreateFlags(..),+        VkCommandPoolTrimFlags(..), VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkImportMemoryHostPointerInfoEXT,+        VkMemoryAllocateInfo, VkMemoryHostPointerPropertiesEXT,         VkPhysicalDeviceExternalMemoryHostPropertiesEXT,-        VkPhysicalDeviceExternalMemoryHostPropertiesEXT',-        VkPhysicalDeviceLimits, VkPhysicalDeviceLimits',-        VkPhysicalDeviceProperties, VkPhysicalDeviceProperties',-        VkPhysicalDeviceProperties2, VkPhysicalDeviceProperties2',-        VkPhysicalDeviceSparseProperties,-        VkPhysicalDeviceSparseProperties',-        module Graphics.Vulkan.Types.Enum.PhysicalDeviceType,-        module Graphics.Vulkan.Types.Enum.SampleCountFlags,-        module Graphics.Vulkan.Types.Enum.StructureType,+        VkPhysicalDeviceLimits, VkPhysicalDeviceProperties,+        VkPhysicalDeviceProperties2, VkPhysicalDeviceSparseProperties,+        VkPhysicalDeviceType(..), VkSampleCountBitmask(..),+        VkSampleCountFlagBits(), VkSampleCountFlags(), VkStructureType(..),         -- > #include "vk_platform.h"         VkGetMemoryHostPointerPropertiesEXT,         pattern VkGetMemoryHostPointerPropertiesEXT,         HS_vkGetMemoryHostPointerPropertiesEXT,-        PFN_vkGetMemoryHostPointerPropertiesEXT,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.Memory,+        PFN_vkGetMemoryHostPointerPropertiesEXT, VkResult(..), VkBuffer,+        VkBufferView, VkBufferView_T(), VkBuffer_T(), VkCommandBuffer,+        VkCommandBuffer_T(), VkCommandPool, VkCommandPool_T(),+        VkDebugReportCallbackEXT, VkDebugReportCallbackEXT_T(),+        VkDebugUtilsMessengerEXT, VkDebugUtilsMessengerEXT_T(),+        VkDescriptorPool, VkDescriptorPool_T(), VkDescriptorSet,+        VkDescriptorSetLayout, VkDescriptorSetLayout_T(),+        VkDescriptorSet_T(), VkDescriptorUpdateTemplate,+        VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(),+        VkDescriptorUpdateTemplate_T(), VkDevice, VkDeviceMemory,+        VkDeviceMemory_T(), VkDevice_T(), VkDisplayKHR, VkDisplayKHR_T(),+        VkDisplayModeKHR, VkDisplayModeKHR_T(), VkEvent, VkEvent_T(),+        VkFence, VkFence_T(), VkFramebuffer, VkFramebuffer_T(), VkImage,+        VkImageView, VkImageView_T(), VkImage_T(),+        VkIndirectCommandsLayoutNVX, VkIndirectCommandsLayoutNVX_T(),+        VkInstance, VkInstance_T(), VkObjectTableNVX, VkObjectTableNVX_T(),+        VkPhysicalDevice, VkPhysicalDevice_T(), VkPipeline,+        VkPipelineCache, VkPipelineCache_T(), VkPipelineLayout,+        VkPipelineLayout_T(), VkPipeline_T(), VkQueryPool, VkQueryPool_T(),+        VkQueue, VkQueue_T(), VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkMemoryAllocateFlagsInfo, VkMemoryAllocateFlagsInfoKHR,+        VkMemoryBarrier, VkMemoryDedicatedAllocateInfo,+        VkMemoryDedicatedAllocateInfoKHR, VkMemoryDedicatedRequirements,+        VkMemoryDedicatedRequirementsKHR, VkMemoryFdPropertiesKHR,+        VkMemoryGetFdInfoKHR, VkMemoryHeap, VkMemoryRequirements,+        VkMemoryRequirements2, VkMemoryRequirements2KHR, VkMemoryType,         VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION,         pattern VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION,         VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME,@@ -75,26 +163,21 @@ import Graphics.Vulkan.Types.Enum.SampleCountFlags import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.Import           (VkImportMemoryHostPointerInfoEXT,-                                                      VkImportMemoryHostPointerInfoEXT')+import Graphics.Vulkan.Types.Struct.Import           (VkImportMemoryHostPointerInfoEXT) import Graphics.Vulkan.Types.Struct.Memory import Graphics.Vulkan.Types.Struct.PhysicalDevice   (VkPhysicalDeviceExternalMemoryHostPropertiesEXT,-                                                      VkPhysicalDeviceExternalMemoryHostPropertiesEXT',                                                       VkPhysicalDeviceLimits,-                                                      VkPhysicalDeviceLimits',                                                       VkPhysicalDeviceProperties,-                                                      VkPhysicalDeviceProperties',                                                       VkPhysicalDeviceProperties2,-                                                      VkPhysicalDeviceProperties2',-                                                      VkPhysicalDeviceSparseProperties,-                                                      VkPhysicalDeviceSparseProperties')+                                                      VkPhysicalDeviceSparseProperties)  pattern VkGetMemoryHostPointerPropertiesEXT :: CString  pattern VkGetMemoryHostPointerPropertiesEXT <-         (is_VkGetMemoryHostPointerPropertiesEXT -> True)-  where VkGetMemoryHostPointerPropertiesEXT-          = _VkGetMemoryHostPointerPropertiesEXT+  where+    VkGetMemoryHostPointerPropertiesEXT+      = _VkGetMemoryHostPointerPropertiesEXT  {-# INLINE _VkGetMemoryHostPointerPropertiesEXT #-} @@ -146,18 +229,18 @@                  HS_vkGetMemoryHostPointerPropertiesEXT  instance VulkanProc "vkGetMemoryHostPointerPropertiesEXT" where-        type VkProcType "vkGetMemoryHostPointerPropertiesEXT" =-             HS_vkGetMemoryHostPointerPropertiesEXT-        vkProcSymbol = _VkGetMemoryHostPointerPropertiesEXT+    type VkProcType "vkGetMemoryHostPointerPropertiesEXT" =+         HS_vkGetMemoryHostPointerPropertiesEXT+    vkProcSymbol = _VkGetMemoryHostPointerPropertiesEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetMemoryHostPointerPropertiesEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetMemoryHostPointerPropertiesEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetMemoryHostPointerPropertiesEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetMemoryHostPointerPropertiesEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION ::         (Num a, Eq a) => a@@ -170,8 +253,9 @@  pattern VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME <-         (is_VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME -> True)-  where VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME-          = _VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME+  where+    VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME+      = _VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME  {-# INLINE _VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_EXT_global_priority.hs view
@@ -17,12 +17,14 @@         -- type: @device@         --         -- Extension number: @175@-        module Graphics.Vulkan.Types.Enum.Device, VkDeviceQueueCreateInfo,-        VkDeviceQueueCreateInfo', VkDeviceQueueGlobalPriorityCreateInfoEXT,-        VkDeviceQueueGlobalPriorityCreateInfoEXT',-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.Queue,-        module Graphics.Vulkan.Types.Enum.StructureType,+        VkDeviceEventTypeEXT(..), VkDeviceGroupPresentModeBitmaskKHR(..),+        VkDeviceCreateFlagBits(..), VkDeviceGroupPresentModeFlagBitsKHR(),+        VkDeviceGroupPresentModeFlagsKHR(), VkDeviceQueueCreateBitmask(..),+        VkDeviceQueueCreateFlagBits(), VkDeviceQueueCreateFlags(),+        VkDeviceQueueCreateInfo, VkDeviceQueueGlobalPriorityCreateInfoEXT,+        VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkQueueBitmask(..), VkQueueGlobalPriorityEXT(..),+        VkQueueFlagBits(), VkQueueFlags(), VkStructureType(..),         -- > #include "vk_platform.h"         VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION,         pattern VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION,@@ -38,10 +40,7 @@ import Graphics.Vulkan.Types.Enum.Queue import Graphics.Vulkan.Types.Enum.Result        (VkResult (..)) import Graphics.Vulkan.Types.Enum.StructureType-import Graphics.Vulkan.Types.Struct.Device      (VkDeviceQueueCreateInfo,-                                                 VkDeviceQueueCreateInfo',-                                                 VkDeviceQueueGlobalPriorityCreateInfoEXT,-                                                 VkDeviceQueueGlobalPriorityCreateInfoEXT')+import Graphics.Vulkan.Types.Struct.Device      (VkDeviceQueueCreateInfo, VkDeviceQueueGlobalPriorityCreateInfoEXT)  pattern VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION :: (Num a, Eq a) => a @@ -53,8 +52,9 @@  pattern VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME <-         (is_VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME -> True)-  where VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME-          = _VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME+  where+    VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME+      = _VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME  {-# INLINE _VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_EXT_hdr_metadata.hs view
@@ -27,14 +27,34 @@         --          -- ** Required extensions: 'VK_KHR_swapchain'.-        VkHdrMetadataEXT, VkHdrMetadataEXT',-        module Graphics.Vulkan.Types.Enum.StructureType, VkXYColorEXT,-        VkXYColorEXT', -- > #include "vk_platform.h"-                       VkSetHdrMetadataEXT, pattern VkSetHdrMetadataEXT,-        HS_vkSetHdrMetadataEXT, PFN_vkSetHdrMetadataEXT,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.HdrMetadataEXT,-        module Graphics.Vulkan.Types.Struct.XYColorEXT,+        VkHdrMetadataEXT, VkStructureType(..), VkXYColorEXT,+        -- > #include "vk_platform.h"+        VkSetHdrMetadataEXT, pattern VkSetHdrMetadataEXT,+        HS_vkSetHdrMetadataEXT, PFN_vkSetHdrMetadataEXT, VkBuffer,+        VkBufferView, VkBufferView_T(), VkBuffer_T(), VkCommandBuffer,+        VkCommandBuffer_T(), VkCommandPool, VkCommandPool_T(),+        VkDebugReportCallbackEXT, VkDebugReportCallbackEXT_T(),+        VkDebugUtilsMessengerEXT, VkDebugUtilsMessengerEXT_T(),+        VkDescriptorPool, VkDescriptorPool_T(), VkDescriptorSet,+        VkDescriptorSetLayout, VkDescriptorSetLayout_T(),+        VkDescriptorSet_T(), VkDescriptorUpdateTemplate,+        VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(),+        VkDescriptorUpdateTemplate_T(), VkDevice, VkDeviceMemory,+        VkDeviceMemory_T(), VkDevice_T(), VkDisplayKHR, VkDisplayKHR_T(),+        VkDisplayModeKHR, VkDisplayModeKHR_T(), VkEvent, VkEvent_T(),+        VkFence, VkFence_T(), VkFramebuffer, VkFramebuffer_T(), VkImage,+        VkImageView, VkImageView_T(), VkImage_T(),+        VkIndirectCommandsLayoutNVX, VkIndirectCommandsLayoutNVX_T(),+        VkInstance, VkInstance_T(), VkObjectTableNVX, VkObjectTableNVX_T(),+        VkPhysicalDevice, VkPhysicalDevice_T(), VkPipeline,+        VkPipelineCache, VkPipelineCache_T(), VkPipelineLayout,+        VkPipelineLayout_T(), VkPipeline_T(), VkQueryPool, VkQueryPool_T(),+        VkQueue, VkQueue_T(), VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),         VK_EXT_HDR_METADATA_SPEC_VERSION,         pattern VK_EXT_HDR_METADATA_SPEC_VERSION,         VK_EXT_HDR_METADATA_EXTENSION_NAME,@@ -52,7 +72,8 @@ pattern VkSetHdrMetadataEXT :: CString  pattern VkSetHdrMetadataEXT <- (is_VkSetHdrMetadataEXT -> True)-  where VkSetHdrMetadataEXT = _VkSetHdrMetadataEXT+  where+    VkSetHdrMetadataEXT = _VkSetHdrMetadataEXT  {-# INLINE _VkSetHdrMetadataEXT #-} @@ -92,16 +113,16 @@                :: PFN_vkSetHdrMetadataEXT -> HS_vkSetHdrMetadataEXT  instance VulkanProc "vkSetHdrMetadataEXT" where-        type VkProcType "vkSetHdrMetadataEXT" = HS_vkSetHdrMetadataEXT-        vkProcSymbol = _VkSetHdrMetadataEXT+    type VkProcType "vkSetHdrMetadataEXT" = HS_vkSetHdrMetadataEXT+    vkProcSymbol = _VkSetHdrMetadataEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkSetHdrMetadataEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkSetHdrMetadataEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkSetHdrMetadataEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkSetHdrMetadataEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_EXT_HDR_METADATA_SPEC_VERSION :: (Num a, Eq a) => a @@ -113,8 +134,9 @@  pattern VK_EXT_HDR_METADATA_EXTENSION_NAME <-         (is_VK_EXT_HDR_METADATA_EXTENSION_NAME -> True)-  where VK_EXT_HDR_METADATA_EXTENSION_NAME-          = _VK_EXT_HDR_METADATA_EXTENSION_NAME+  where+    VK_EXT_HDR_METADATA_EXTENSION_NAME+      = _VK_EXT_HDR_METADATA_EXTENSION_NAME  {-# INLINE _VK_EXT_HDR_METADATA_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_EXT_post_depth_coverage.hs view
@@ -36,8 +36,9 @@  pattern VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME <-         (is_VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME -> True)-  where VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME-          = _VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME+  where+    VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME+      = _VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME  {-# INLINE _VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_EXT_queue_family_foreign.hs view
@@ -43,8 +43,9 @@  pattern VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME <-         (is_VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME -> True)-  where VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME-          = _VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME+  where+    VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME+      = _VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME  {-# INLINE _VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_EXT_sample_locations.hs view
@@ -23,50 +23,115 @@         -- type: @device@         --         -- Extension number: @144@-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.AccessFlags,-        VkAttachmentSampleLocationsEXT, VkAttachmentSampleLocationsEXT',-        module Graphics.Vulkan.Types.BaseTypes, VkClearColorValue,-        VkClearColorValue', VkClearDepthStencilValue,-        VkClearDepthStencilValue', VkClearValue, VkClearValue', VkExtent2D,-        VkExtent2D', module Graphics.Vulkan.Types.Enum.Image,-        VkImageMemoryBarrier, VkImageMemoryBarrier',-        VkImageSubresourceRange, VkImageSubresourceRange',-        VkMultisamplePropertiesEXT, VkMultisamplePropertiesEXT',-        VkOffset2D, VkOffset2D', VkPhysicalDeviceLimits,-        VkPhysicalDeviceLimits', VkPhysicalDeviceProperties,-        VkPhysicalDeviceProperties', VkPhysicalDeviceProperties2,-        VkPhysicalDeviceProperties2',+        module Graphics.Vulkan.Marshal, VkAccessBitmask(..),+        VkAccessFlagBits(), VkAccessFlags(),+        VkAttachmentSampleLocationsEXT, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkClearColorValue,+        VkClearDepthStencilValue, VkClearValue, VkExtent2D,+        VkImageAspectBitmask(..), VkImageCreateBitmask(..),+        VkImageLayout(..), VkImageTiling(..), VkImageType(..),+        VkImageUsageBitmask(..), VkImageViewType(..),+        VkImageAspectFlagBits(), VkImageAspectFlags(),+        VkImageCreateFlagBits(), VkImageCreateFlags(),+        VkImageUsageFlagBits(), VkImageUsageFlags(), VkImageMemoryBarrier,+        VkImageSubresourceRange, VkMultisamplePropertiesEXT, VkOffset2D,+        VkPhysicalDeviceLimits, VkPhysicalDeviceProperties,+        VkPhysicalDeviceProperties2,         VkPhysicalDeviceSampleLocationsPropertiesEXT,-        VkPhysicalDeviceSampleLocationsPropertiesEXT',-        VkPhysicalDeviceSparseProperties,-        VkPhysicalDeviceSparseProperties',-        module Graphics.Vulkan.Types.Enum.PhysicalDeviceType,-        module Graphics.Vulkan.Types.Bitmasks,+        VkPhysicalDeviceSparseProperties, VkPhysicalDeviceType(..),+        VkAndroidSurfaceCreateFlagsKHR(..), VkBufferViewCreateFlags(..),+        VkCommandPoolTrimFlags(..), VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..),         VkPipelineMultisampleStateCreateInfo,-        VkPipelineMultisampleStateCreateInfo',-        VkPipelineSampleLocationsStateCreateInfoEXT,-        VkPipelineSampleLocationsStateCreateInfoEXT', VkRect2D, VkRect2D',-        VkRenderPassBeginInfo, VkRenderPassBeginInfo',-        VkRenderPassSampleLocationsBeginInfoEXT,-        VkRenderPassSampleLocationsBeginInfoEXT',-        module Graphics.Vulkan.Types.Enum.SampleCountFlags,-        VkSampleLocationEXT, VkSampleLocationEXT',-        VkSampleLocationsInfoEXT, VkSampleLocationsInfoEXT',-        module Graphics.Vulkan.Types.Enum.StructureType,-        VkSubpassSampleLocationsEXT, VkSubpassSampleLocationsEXT',-        -- > #include "vk_platform.h"-        VkCmdSetSampleLocationsEXT, pattern VkCmdSetSampleLocationsEXT,-        HS_vkCmdSetSampleLocationsEXT, PFN_vkCmdSetSampleLocationsEXT,+        VkPipelineSampleLocationsStateCreateInfoEXT, VkRect2D,+        VkRenderPassBeginInfo, VkRenderPassSampleLocationsBeginInfoEXT,+        VkSampleCountBitmask(..), VkSampleCountFlagBits(),+        VkSampleCountFlags(), VkSampleLocationEXT,+        VkSampleLocationsInfoEXT, VkStructureType(..),+        VkSubpassSampleLocationsEXT, -- > #include "vk_platform.h"+                                     VkCmdSetSampleLocationsEXT,+        pattern VkCmdSetSampleLocationsEXT, HS_vkCmdSetSampleLocationsEXT,+        PFN_vkCmdSetSampleLocationsEXT,         VkGetPhysicalDeviceMultisamplePropertiesEXT,         pattern VkGetPhysicalDeviceMultisamplePropertiesEXT,         HS_vkGetPhysicalDeviceMultisamplePropertiesEXT,-        PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.Extent,-        module Graphics.Vulkan.Types.Struct.Image,-        module Graphics.Vulkan.Types.Struct.MultisamplePropertiesEXT,-        module Graphics.Vulkan.Types.Struct.SampleLocation,+        PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT, VkBuffer,+        VkBufferView, VkBufferView_T(), VkBuffer_T(), VkCommandBuffer,+        VkCommandBuffer_T(), VkCommandPool, VkCommandPool_T(),+        VkDebugReportCallbackEXT, VkDebugReportCallbackEXT_T(),+        VkDebugUtilsMessengerEXT, VkDebugUtilsMessengerEXT_T(),+        VkDescriptorPool, VkDescriptorPool_T(), VkDescriptorSet,+        VkDescriptorSetLayout, VkDescriptorSetLayout_T(),+        VkDescriptorSet_T(), VkDescriptorUpdateTemplate,+        VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(),+        VkDescriptorUpdateTemplate_T(), VkDevice, VkDeviceMemory,+        VkDeviceMemory_T(), VkDevice_T(), VkDisplayKHR, VkDisplayKHR_T(),+        VkDisplayModeKHR, VkDisplayModeKHR_T(), VkEvent, VkEvent_T(),+        VkFence, VkFence_T(), VkFramebuffer, VkFramebuffer_T(), VkImage,+        VkImageView, VkImageView_T(), VkImage_T(),+        VkIndirectCommandsLayoutNVX, VkIndirectCommandsLayoutNVX_T(),+        VkInstance, VkInstance_T(), VkObjectTableNVX, VkObjectTableNVX_T(),+        VkPhysicalDevice, VkPhysicalDevice_T(), VkPipeline,+        VkPipelineCache, VkPipelineCache_T(), VkPipelineLayout,+        VkPipelineLayout_T(), VkPipeline_T(), VkQueryPool, VkQueryPool_T(),+        VkQueue, VkQueue_T(), VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkExtent3D, VkImageBlit, VkImageCopy, VkImageCreateInfo,+        VkImageFormatListCreateInfoKHR, VkImageFormatProperties,+        VkImageFormatProperties2, VkImageFormatProperties2KHR,+        VkImageMemoryRequirementsInfo2, VkImageMemoryRequirementsInfo2KHR,+        VkImagePlaneMemoryRequirementsInfo,+        VkImagePlaneMemoryRequirementsInfoKHR, VkImageResolve,+        VkImageSparseMemoryRequirementsInfo2,+        VkImageSparseMemoryRequirementsInfo2KHR, VkImageSubresource,+        VkImageSubresourceLayers, VkImageSwapchainCreateInfoKHR,+        VkImageViewCreateInfo, VkImageViewUsageCreateInfo,+        VkImageViewUsageCreateInfoKHR,         VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION,         pattern VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION,         VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME,@@ -91,48 +156,32 @@ import Graphics.Vulkan.Types.Enum.SampleCountFlags import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.Attachment               (VkAttachmentSampleLocationsEXT,-                                                              VkAttachmentSampleLocationsEXT')-import Graphics.Vulkan.Types.Struct.Clear                    (VkClearColorValue,-                                                              VkClearColorValue',-                                                              VkClearDepthStencilValue,-                                                              VkClearDepthStencilValue',-                                                              VkClearValue,-                                                              VkClearValue')+import Graphics.Vulkan.Types.Struct.Attachment               (VkAttachmentSampleLocationsEXT)+import Graphics.Vulkan.Types.Struct.Clear                    (VkClearColorValue, VkClearDepthStencilValue,+                                                              VkClearValue) import Graphics.Vulkan.Types.Struct.Extent import Graphics.Vulkan.Types.Struct.Image import Graphics.Vulkan.Types.Struct.MultisamplePropertiesEXT-import Graphics.Vulkan.Types.Struct.Offset                   (VkOffset2D,-                                                              VkOffset2D')+import Graphics.Vulkan.Types.Struct.Offset                   (VkOffset2D) import Graphics.Vulkan.Types.Struct.PhysicalDevice           (VkPhysicalDeviceLimits,-                                                              VkPhysicalDeviceLimits',                                                               VkPhysicalDeviceProperties,-                                                              VkPhysicalDeviceProperties',                                                               VkPhysicalDeviceProperties2,-                                                              VkPhysicalDeviceProperties2',                                                               VkPhysicalDeviceSampleLocationsPropertiesEXT,-                                                              VkPhysicalDeviceSampleLocationsPropertiesEXT',-                                                              VkPhysicalDeviceSparseProperties,-                                                              VkPhysicalDeviceSparseProperties')+                                                              VkPhysicalDeviceSparseProperties) import Graphics.Vulkan.Types.Struct.Pipeline                 (VkPipelineMultisampleStateCreateInfo,-                                                              VkPipelineMultisampleStateCreateInfo',-                                                              VkPipelineSampleLocationsStateCreateInfoEXT,-                                                              VkPipelineSampleLocationsStateCreateInfoEXT')-import Graphics.Vulkan.Types.Struct.Rect                     (VkRect2D,-                                                              VkRect2D')+                                                              VkPipelineSampleLocationsStateCreateInfoEXT)+import Graphics.Vulkan.Types.Struct.Rect                     (VkRect2D) import Graphics.Vulkan.Types.Struct.RenderPass               (VkRenderPassBeginInfo,-                                                              VkRenderPassBeginInfo',-                                                              VkRenderPassSampleLocationsBeginInfoEXT,-                                                              VkRenderPassSampleLocationsBeginInfoEXT')+                                                              VkRenderPassSampleLocationsBeginInfoEXT) import Graphics.Vulkan.Types.Struct.SampleLocation-import Graphics.Vulkan.Types.Struct.Subpass                  (VkSubpassSampleLocationsEXT,-                                                              VkSubpassSampleLocationsEXT')+import Graphics.Vulkan.Types.Struct.Subpass                  (VkSubpassSampleLocationsEXT)  pattern VkCmdSetSampleLocationsEXT :: CString  pattern VkCmdSetSampleLocationsEXT <-         (is_VkCmdSetSampleLocationsEXT -> True)-  where VkCmdSetSampleLocationsEXT = _VkCmdSetSampleLocationsEXT+  where+    VkCmdSetSampleLocationsEXT = _VkCmdSetSampleLocationsEXT  {-# INLINE _VkCmdSetSampleLocationsEXT #-} @@ -174,24 +223,25 @@                PFN_vkCmdSetSampleLocationsEXT -> HS_vkCmdSetSampleLocationsEXT  instance VulkanProc "vkCmdSetSampleLocationsEXT" where-        type VkProcType "vkCmdSetSampleLocationsEXT" =-             HS_vkCmdSetSampleLocationsEXT-        vkProcSymbol = _VkCmdSetSampleLocationsEXT+    type VkProcType "vkCmdSetSampleLocationsEXT" =+         HS_vkCmdSetSampleLocationsEXT+    vkProcSymbol = _VkCmdSetSampleLocationsEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdSetSampleLocationsEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdSetSampleLocationsEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdSetSampleLocationsEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdSetSampleLocationsEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetPhysicalDeviceMultisamplePropertiesEXT :: CString  pattern VkGetPhysicalDeviceMultisamplePropertiesEXT <-         (is_VkGetPhysicalDeviceMultisamplePropertiesEXT -> True)-  where VkGetPhysicalDeviceMultisamplePropertiesEXT-          = _VkGetPhysicalDeviceMultisamplePropertiesEXT+  where+    VkGetPhysicalDeviceMultisamplePropertiesEXT+      = _VkGetPhysicalDeviceMultisamplePropertiesEXT  {-# INLINE _VkGetPhysicalDeviceMultisamplePropertiesEXT #-} @@ -238,19 +288,19 @@  instance VulkanProc "vkGetPhysicalDeviceMultisamplePropertiesEXT"          where-        type VkProcType "vkGetPhysicalDeviceMultisamplePropertiesEXT" =-             HS_vkGetPhysicalDeviceMultisamplePropertiesEXT-        vkProcSymbol = _VkGetPhysicalDeviceMultisamplePropertiesEXT+    type VkProcType "vkGetPhysicalDeviceMultisamplePropertiesEXT" =+         HS_vkGetPhysicalDeviceMultisamplePropertiesEXT+    vkProcSymbol = _VkGetPhysicalDeviceMultisamplePropertiesEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceMultisamplePropertiesEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceMultisamplePropertiesEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceMultisamplePropertiesEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceMultisamplePropertiesEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION :: (Num a, Eq a) => a @@ -262,8 +312,9 @@  pattern VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME <-         (is_VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME -> True)-  where VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME-          = _VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME+  where+    VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME+      = _VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME  {-# INLINE _VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_EXT_sampler_filter_minmax.hs view
@@ -22,25 +22,63 @@         --          -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.BorderColor,-        module Graphics.Vulkan.Types.Enum.CompareOp,-        module Graphics.Vulkan.Types.Enum.Filter, VkPhysicalDeviceLimits,-        VkPhysicalDeviceLimits', VkPhysicalDeviceProperties,-        VkPhysicalDeviceProperties', VkPhysicalDeviceProperties2,-        VkPhysicalDeviceProperties2',+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkBorderColor(..), VkCompareOp(..),+        VkFilter(..), VkPhysicalDeviceLimits, VkPhysicalDeviceProperties,+        VkPhysicalDeviceProperties2,         VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT,-        VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT',-        VkPhysicalDeviceSparseProperties,-        VkPhysicalDeviceSparseProperties',-        module Graphics.Vulkan.Types.Enum.PhysicalDeviceType,-        module Graphics.Vulkan.Types.Enum.SampleCountFlags,-        module Graphics.Vulkan.Types.Enum.Sampler,-        module Graphics.Vulkan.Types.Bitmasks, VkSamplerCreateInfo,-        VkSamplerCreateInfo', VkSamplerReductionModeCreateInfoEXT,-        VkSamplerReductionModeCreateInfoEXT',-        module Graphics.Vulkan.Types.Enum.StructureType,+        VkPhysicalDeviceSparseProperties, VkPhysicalDeviceType(..),+        VkSampleCountBitmask(..), VkSampleCountFlagBits(),+        VkSampleCountFlags(), VkSamplerAddressMode(..),+        VkSamplerMipmapMode(..), VkSamplerReductionModeEXT(..),+        VkSamplerYcbcrModelConversion(..), VkSamplerYcbcrRange(..),+        VkSamplerCreateFlagBits(..), VkSamplerYcbcrModelConversionKHR(..),+        VkSamplerYcbcrRangeKHR(..), VkAndroidSurfaceCreateFlagsKHR(..),+        VkBufferViewCreateFlags(..), VkCommandPoolTrimFlags(..),+        VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkSamplerCreateInfo,+        VkSamplerReductionModeCreateInfoEXT, VkStructureType(..),         -- > #include "vk_platform.h"         VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION,         pattern VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION,@@ -57,26 +95,17 @@ import Graphics.Vulkan.Types.Enum.BorderColor import Graphics.Vulkan.Types.Enum.CompareOp import Graphics.Vulkan.Types.Enum.Filter-import Graphics.Vulkan.Types.Enum.Format             (VkFormatFeatureBitmask (..),-                                                      VkFormatFeatureFlagBits)+import Graphics.Vulkan.Types.Enum.Format             (VkFormatFeatureBitmask (..)) import Graphics.Vulkan.Types.Enum.PhysicalDeviceType import Graphics.Vulkan.Types.Enum.SampleCountFlags import Graphics.Vulkan.Types.Enum.Sampler import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Struct.PhysicalDevice   (VkPhysicalDeviceLimits,-                                                      VkPhysicalDeviceLimits',                                                       VkPhysicalDeviceProperties,-                                                      VkPhysicalDeviceProperties',                                                       VkPhysicalDeviceProperties2,-                                                      VkPhysicalDeviceProperties2',                                                       VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT,-                                                      VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT',-                                                      VkPhysicalDeviceSparseProperties,-                                                      VkPhysicalDeviceSparseProperties')-import Graphics.Vulkan.Types.Struct.Sampler          (VkSamplerCreateInfo,-                                                      VkSamplerCreateInfo',-                                                      VkSamplerReductionModeCreateInfoEXT,-                                                      VkSamplerReductionModeCreateInfoEXT')+                                                      VkPhysicalDeviceSparseProperties)+import Graphics.Vulkan.Types.Struct.Sampler          (VkSamplerCreateInfo, VkSamplerReductionModeCreateInfoEXT)  pattern VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION ::         (Num a, Eq a) => a@@ -89,8 +118,9 @@  pattern VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME <-         (is_VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME -> True)-  where VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME-          = _VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME+  where+    VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME+      = _VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME  {-# INLINE _VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_EXT_shader_stencil_export.hs view
@@ -36,8 +36,9 @@  pattern VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME <-         (is_VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME -> True)-  where VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME-          = _VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME+  where+    VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME+      = _VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME  {-# INLINE _VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_EXT_shader_subgroup_ballot.hs view
@@ -36,8 +36,9 @@  pattern VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME <-         (is_VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME -> True)-  where VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME-          = _VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME+  where+    VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME+      = _VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME  {-# INLINE _VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_EXT_shader_subgroup_vote.hs view
@@ -36,8 +36,9 @@  pattern VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME <-         (is_VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME -> True)-  where VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME-          = _VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME+  where+    VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME+      = _VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME  {-# INLINE _VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_EXT_shader_viewport_index_layer.hs view
@@ -37,8 +37,9 @@  pattern VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME <-         (is_VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME -> True)-  where VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME-          = _VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME+  where+    VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME+      = _VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME  {-# INLINE _VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_EXT_swapchain_colorspace.hs view
@@ -56,8 +56,9 @@  pattern VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME <-         (is_VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME -> True)-  where VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME-          = _VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME+  where+    VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME+      = _VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME  {-# INLINE _VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_EXT_validation_cache.hs view
@@ -23,15 +23,55 @@         -- type: @device@         --         -- Extension number: @161@-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Bitmasks, VkShaderModuleCreateInfo,-        VkShaderModuleCreateInfo',-        VkShaderModuleValidationCacheCreateInfoEXT,-        VkShaderModuleValidationCacheCreateInfoEXT',-        module Graphics.Vulkan.Types.Enum.StructureType,-        VkValidationCacheCreateInfoEXT, VkValidationCacheCreateInfoEXT',-        module Graphics.Vulkan.Types.Enum.ValidationC,+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkAndroidSurfaceCreateFlagsKHR(..),+        VkBufferViewCreateFlags(..), VkCommandPoolTrimFlags(..),+        VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkShaderModuleCreateInfo,+        VkShaderModuleValidationCacheCreateInfoEXT, VkStructureType(..),+        VkValidationCacheCreateInfoEXT,+        VkValidationCacheHeaderVersionEXT(..), VkValidationCheckEXT(..),         -- > #include "vk_platform.h"         VkCreateValidationCacheEXT, pattern VkCreateValidationCacheEXT,         HS_vkCreateValidationCacheEXT, PFN_vkCreateValidationCacheEXT,@@ -41,13 +81,50 @@         HS_vkMergeValidationCachesEXT, PFN_vkMergeValidationCachesEXT,         VkGetValidationCacheDataEXT, pattern VkGetValidationCacheDataEXT,         HS_vkGetValidationCacheDataEXT, PFN_vkGetValidationCacheDataEXT,-        module Graphics.Vulkan.Types.Enum.InternalAllocationType,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Enum.SystemAllocationScope,-        module Graphics.Vulkan.Types.Funcpointers,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.AllocationCallbacks,-        module Graphics.Vulkan.Types.Struct.Validation,+        VkInternalAllocationType(..), VkResult(..),+        VkSystemAllocationScope(..), newVkAllocationFunction,+        newVkDebugReportCallbackEXT, newVkDebugUtilsMessengerCallbackEXT,+        newVkFreeFunction, newVkInternalAllocationNotification,+        newVkInternalFreeNotification, newVkReallocationFunction,+        newVkVoidFunction, unwrapVkAllocationFunction,+        unwrapVkDebugReportCallbackEXT,+        unwrapVkDebugUtilsMessengerCallbackEXT, unwrapVkFreeFunction,+        unwrapVkInternalAllocationNotification,+        unwrapVkInternalFreeNotification, unwrapVkReallocationFunction,+        unwrapVkVoidFunction, HS_vkAllocationFunction,+        HS_vkDebugReportCallbackEXT, HS_vkDebugUtilsMessengerCallbackEXT,+        HS_vkFreeFunction, HS_vkInternalAllocationNotification,+        HS_vkInternalFreeNotification, HS_vkReallocationFunction,+        HS_vkVoidFunction, PFN_vkAllocationFunction,+        PFN_vkDebugReportCallbackEXT, PFN_vkDebugUtilsMessengerCallbackEXT,+        PFN_vkFreeFunction, PFN_vkInternalAllocationNotification,+        PFN_vkInternalFreeNotification, PFN_vkReallocationFunction,+        PFN_vkVoidFunction, VkBuffer, VkBufferView, VkBufferView_T(),+        VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkAllocationCallbacks, VkValidationFlagsEXT,         VK_EXT_VALIDATION_CACHE_SPEC_VERSION,         pattern VK_EXT_VALIDATION_CACHE_SPEC_VERSION,         VK_EXT_VALIDATION_CACHE_EXTENSION_NAME,@@ -73,16 +150,15 @@ import Graphics.Vulkan.Types.Handles import Graphics.Vulkan.Types.Struct.AllocationCallbacks import Graphics.Vulkan.Types.Struct.Shader               (VkShaderModuleCreateInfo,-                                                          VkShaderModuleCreateInfo',-                                                          VkShaderModuleValidationCacheCreateInfoEXT,-                                                          VkShaderModuleValidationCacheCreateInfoEXT')+                                                          VkShaderModuleValidationCacheCreateInfoEXT) import Graphics.Vulkan.Types.Struct.Validation  pattern VkCreateValidationCacheEXT :: CString  pattern VkCreateValidationCacheEXT <-         (is_VkCreateValidationCacheEXT -> True)-  where VkCreateValidationCacheEXT = _VkCreateValidationCacheEXT+  where+    VkCreateValidationCacheEXT = _VkCreateValidationCacheEXT  {-# INLINE _VkCreateValidationCacheEXT #-} @@ -131,23 +207,24 @@                PFN_vkCreateValidationCacheEXT -> HS_vkCreateValidationCacheEXT  instance VulkanProc "vkCreateValidationCacheEXT" where-        type VkProcType "vkCreateValidationCacheEXT" =-             HS_vkCreateValidationCacheEXT-        vkProcSymbol = _VkCreateValidationCacheEXT+    type VkProcType "vkCreateValidationCacheEXT" =+         HS_vkCreateValidationCacheEXT+    vkProcSymbol = _VkCreateValidationCacheEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateValidationCacheEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateValidationCacheEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateValidationCacheEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateValidationCacheEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkDestroyValidationCacheEXT :: CString  pattern VkDestroyValidationCacheEXT <-         (is_VkDestroyValidationCacheEXT -> True)-  where VkDestroyValidationCacheEXT = _VkDestroyValidationCacheEXT+  where+    VkDestroyValidationCacheEXT = _VkDestroyValidationCacheEXT  {-# INLINE _VkDestroyValidationCacheEXT #-} @@ -189,23 +266,24 @@                PFN_vkDestroyValidationCacheEXT -> HS_vkDestroyValidationCacheEXT  instance VulkanProc "vkDestroyValidationCacheEXT" where-        type VkProcType "vkDestroyValidationCacheEXT" =-             HS_vkDestroyValidationCacheEXT-        vkProcSymbol = _VkDestroyValidationCacheEXT+    type VkProcType "vkDestroyValidationCacheEXT" =+         HS_vkDestroyValidationCacheEXT+    vkProcSymbol = _VkDestroyValidationCacheEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDestroyValidationCacheEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDestroyValidationCacheEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroyValidationCacheEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroyValidationCacheEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkMergeValidationCachesEXT :: CString  pattern VkMergeValidationCachesEXT <-         (is_VkMergeValidationCachesEXT -> True)-  where VkMergeValidationCachesEXT = _VkMergeValidationCachesEXT+  where+    VkMergeValidationCachesEXT = _VkMergeValidationCachesEXT  {-# INLINE _VkMergeValidationCachesEXT #-} @@ -253,23 +331,24 @@                PFN_vkMergeValidationCachesEXT -> HS_vkMergeValidationCachesEXT  instance VulkanProc "vkMergeValidationCachesEXT" where-        type VkProcType "vkMergeValidationCachesEXT" =-             HS_vkMergeValidationCachesEXT-        vkProcSymbol = _VkMergeValidationCachesEXT+    type VkProcType "vkMergeValidationCachesEXT" =+         HS_vkMergeValidationCachesEXT+    vkProcSymbol = _VkMergeValidationCachesEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkMergeValidationCachesEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkMergeValidationCachesEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkMergeValidationCachesEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkMergeValidationCachesEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetValidationCacheDataEXT :: CString  pattern VkGetValidationCacheDataEXT <-         (is_VkGetValidationCacheDataEXT -> True)-  where VkGetValidationCacheDataEXT = _VkGetValidationCacheDataEXT+  where+    VkGetValidationCacheDataEXT = _VkGetValidationCacheDataEXT  {-# INLINE _VkGetValidationCacheDataEXT #-} @@ -317,17 +396,17 @@                PFN_vkGetValidationCacheDataEXT -> HS_vkGetValidationCacheDataEXT  instance VulkanProc "vkGetValidationCacheDataEXT" where-        type VkProcType "vkGetValidationCacheDataEXT" =-             HS_vkGetValidationCacheDataEXT-        vkProcSymbol = _VkGetValidationCacheDataEXT+    type VkProcType "vkGetValidationCacheDataEXT" =+         HS_vkGetValidationCacheDataEXT+    vkProcSymbol = _VkGetValidationCacheDataEXT -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetValidationCacheDataEXTUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetValidationCacheDataEXTUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetValidationCacheDataEXTSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetValidationCacheDataEXTSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_EXT_VALIDATION_CACHE_SPEC_VERSION :: (Num a, Eq a) => a @@ -339,8 +418,9 @@  pattern VK_EXT_VALIDATION_CACHE_EXTENSION_NAME <-         (is_VK_EXT_VALIDATION_CACHE_EXTENSION_NAME -> True)-  where VK_EXT_VALIDATION_CACHE_EXTENSION_NAME-          = _VK_EXT_VALIDATION_CACHE_EXTENSION_NAME+  where+    VK_EXT_VALIDATION_CACHE_EXTENSION_NAME+      = _VK_EXT_VALIDATION_CACHE_EXTENSION_NAME  {-# INLINE _VK_EXT_VALIDATION_CACHE_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_EXT_validation_flags.hs view
@@ -17,13 +17,54 @@         -- type: @instance@         --         -- Extension number: @62@-        module Graphics.Vulkan.Marshal, VkApplicationInfo,-        VkApplicationInfo', module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Bitmasks, VkInstanceCreateInfo,-        VkInstanceCreateInfo',-        module Graphics.Vulkan.Types.Enum.StructureType,-        module Graphics.Vulkan.Types.Enum.ValidationC,-        VkValidationFlagsEXT, VkValidationFlagsEXT',+        module Graphics.Vulkan.Marshal, VkApplicationInfo, VkBool32(..),+        VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkAndroidSurfaceCreateFlagsKHR(..), VkBufferViewCreateFlags(..),+        VkCommandPoolTrimFlags(..), VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkInstanceCreateInfo,+        VkStructureType(..), VkValidationCacheHeaderVersionEXT(..),+        VkValidationCheckEXT(..), VkValidationFlagsEXT,         -- > #include "vk_platform.h"         VK_EXT_VALIDATION_FLAGS_SPEC_VERSION,         pattern VK_EXT_VALIDATION_FLAGS_SPEC_VERSION,@@ -37,12 +78,9 @@ import Graphics.Vulkan.Types.Bitmasks import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Enum.ValidationC-import Graphics.Vulkan.Types.Struct.ApplicationInfo    (VkApplicationInfo,-                                                        VkApplicationInfo')-import Graphics.Vulkan.Types.Struct.InstanceCreateInfo (VkInstanceCreateInfo,-                                                        VkInstanceCreateInfo')-import Graphics.Vulkan.Types.Struct.Validation         (VkValidationFlagsEXT,-                                                        VkValidationFlagsEXT')+import Graphics.Vulkan.Types.Struct.ApplicationInfo    (VkApplicationInfo)+import Graphics.Vulkan.Types.Struct.InstanceCreateInfo (VkInstanceCreateInfo)+import Graphics.Vulkan.Types.Struct.Validation         (VkValidationFlagsEXT)  pattern VK_EXT_VALIDATION_FLAGS_SPEC_VERSION :: (Num a, Eq a) => a @@ -54,8 +92,9 @@  pattern VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME <-         (is_VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME -> True)-  where VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME-          = _VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME+  where+    VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME+      = _VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME  {-# INLINE _VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_EXT_vertex_attribute_divisor.hs view
@@ -22,29 +22,62 @@         --          -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.Format, VkPhysicalDeviceLimits,-        VkPhysicalDeviceLimits', VkPhysicalDeviceProperties,-        VkPhysicalDeviceProperties', VkPhysicalDeviceProperties2,-        VkPhysicalDeviceProperties2', VkPhysicalDeviceSparseProperties,-        VkPhysicalDeviceSparseProperties',-        module Graphics.Vulkan.Types.Enum.PhysicalDeviceType,+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkFormat(..),+        VkFormatFeatureBitmask(..), VkFormatFeatureFlagBits(),+        VkFormatFeatureFlags(), VkPhysicalDeviceLimits,+        VkPhysicalDeviceProperties, VkPhysicalDeviceProperties2,+        VkPhysicalDeviceSparseProperties, VkPhysicalDeviceType(..),         VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT,-        VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT',         VkPipelineVertexInputDivisorStateCreateInfoEXT,-        VkPipelineVertexInputDivisorStateCreateInfoEXT',-        module Graphics.Vulkan.Types.Bitmasks,-        VkPipelineVertexInputStateCreateInfo,-        VkPipelineVertexInputStateCreateInfo',-        module Graphics.Vulkan.Types.Enum.SampleCountFlags,-        module Graphics.Vulkan.Types.Enum.StructureType,-        VkVertexInputAttributeDescription,-        VkVertexInputAttributeDescription',-        VkVertexInputBindingDescription, VkVertexInputBindingDescription',-        VkVertexInputBindingDivisorDescriptionEXT,-        VkVertexInputBindingDivisorDescriptionEXT',-        module Graphics.Vulkan.Types.Enum.VertexInputRate,+        VkAndroidSurfaceCreateFlagsKHR(..), VkBufferViewCreateFlags(..),+        VkCommandPoolTrimFlags(..), VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..),+        VkPipelineVertexInputStateCreateInfo, VkSampleCountBitmask(..),+        VkSampleCountFlagBits(), VkSampleCountFlags(), VkStructureType(..),+        VkVertexInputAttributeDescription, VkVertexInputBindingDescription,+        VkVertexInputBindingDivisorDescriptionEXT, VkVertexInputRate(..),         -- > #include "vk_platform.h"         VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION,         pattern VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION,@@ -63,25 +96,15 @@ import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Enum.VertexInputRate import Graphics.Vulkan.Types.Struct.PhysicalDevice   (VkPhysicalDeviceLimits,-                                                      VkPhysicalDeviceLimits',                                                       VkPhysicalDeviceProperties,-                                                      VkPhysicalDeviceProperties',                                                       VkPhysicalDeviceProperties2,-                                                      VkPhysicalDeviceProperties2',                                                       VkPhysicalDeviceSparseProperties,-                                                      VkPhysicalDeviceSparseProperties',-                                                      VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT,-                                                      VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT')+                                                      VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT) import Graphics.Vulkan.Types.Struct.Pipeline         (VkPipelineVertexInputDivisorStateCreateInfoEXT,-                                                      VkPipelineVertexInputDivisorStateCreateInfoEXT',-                                                      VkPipelineVertexInputStateCreateInfo,-                                                      VkPipelineVertexInputStateCreateInfo')+                                                      VkPipelineVertexInputStateCreateInfo) import Graphics.Vulkan.Types.Struct.VertexInput      (VkVertexInputAttributeDescription,-                                                      VkVertexInputAttributeDescription',                                                       VkVertexInputBindingDescription,-                                                      VkVertexInputBindingDescription',-                                                      VkVertexInputBindingDivisorDescriptionEXT,-                                                      VkVertexInputBindingDivisorDescriptionEXT')+                                                      VkVertexInputBindingDivisorDescriptionEXT)  pattern VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION ::         (Num a, Eq a) => a@@ -94,8 +117,9 @@  pattern VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME <-         (is_VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME -> True)-  where VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME-          = _VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME+  where+    VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME+      = _VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME  {-# INLINE _VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_GOOGLE_display_timing.hs view
@@ -27,13 +27,9 @@         --          -- ** Required extensions: 'VK_KHR_swapchain'.-        VkPastPresentationTimingGOOGLE, VkPastPresentationTimingGOOGLE',-        VkPresentInfoKHR, VkPresentInfoKHR', VkPresentTimeGOOGLE,-        VkPresentTimeGOOGLE', VkPresentTimesInfoGOOGLE,-        VkPresentTimesInfoGOOGLE', VkRefreshCycleDurationGOOGLE,-        VkRefreshCycleDurationGOOGLE',-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Enum.StructureType,+        VkPastPresentationTimingGOOGLE, VkPresentInfoKHR,+        VkPresentTimeGOOGLE, VkPresentTimesInfoGOOGLE,+        VkRefreshCycleDurationGOOGLE, VkResult(..), VkStructureType(..),         -- > #include "vk_platform.h"         VkGetRefreshCycleDurationGOOGLE,         pattern VkGetRefreshCycleDurationGOOGLE,@@ -43,10 +39,31 @@         pattern VkGetPastPresentationTimingGOOGLE,         HS_vkGetPastPresentationTimingGOOGLE,         PFN_vkGetPastPresentationTimingGOOGLE,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.PastPresentationTimingGOOGLE,-        module Graphics.Vulkan.Types.Struct.RefreshCycleDurationGOOGLE,+        module Graphics.Vulkan.Marshal, VkBuffer, VkBufferView,+        VkBufferView_T(), VkBuffer_T(), VkCommandBuffer,+        VkCommandBuffer_T(), VkCommandPool, VkCommandPool_T(),+        VkDebugReportCallbackEXT, VkDebugReportCallbackEXT_T(),+        VkDebugUtilsMessengerEXT, VkDebugUtilsMessengerEXT_T(),+        VkDescriptorPool, VkDescriptorPool_T(), VkDescriptorSet,+        VkDescriptorSetLayout, VkDescriptorSetLayout_T(),+        VkDescriptorSet_T(), VkDescriptorUpdateTemplate,+        VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(),+        VkDescriptorUpdateTemplate_T(), VkDevice, VkDeviceMemory,+        VkDeviceMemory_T(), VkDevice_T(), VkDisplayKHR, VkDisplayKHR_T(),+        VkDisplayModeKHR, VkDisplayModeKHR_T(), VkEvent, VkEvent_T(),+        VkFence, VkFence_T(), VkFramebuffer, VkFramebuffer_T(), VkImage,+        VkImageView, VkImageView_T(), VkImage_T(),+        VkIndirectCommandsLayoutNVX, VkIndirectCommandsLayoutNVX_T(),+        VkInstance, VkInstance_T(), VkObjectTableNVX, VkObjectTableNVX_T(),+        VkPhysicalDevice, VkPhysicalDevice_T(), VkPipeline,+        VkPipelineCache, VkPipelineCache_T(), VkPipelineLayout,+        VkPipelineLayout_T(), VkPipeline_T(), VkQueryPool, VkQueryPool_T(),+        VkQueue, VkQueue_T(), VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),         VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION,         pattern VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION,         VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME,@@ -61,19 +78,16 @@ import Graphics.Vulkan.Types.Handles import Graphics.Vulkan.Types.Struct.PastPresentationTimingGOOGLE import Graphics.Vulkan.Types.Struct.Present                      (VkPresentInfoKHR,-                                                                  VkPresentInfoKHR',                                                                   VkPresentTimeGOOGLE,-                                                                  VkPresentTimeGOOGLE',-                                                                  VkPresentTimesInfoGOOGLE,-                                                                  VkPresentTimesInfoGOOGLE')+                                                                  VkPresentTimesInfoGOOGLE) import Graphics.Vulkan.Types.Struct.RefreshCycleDurationGOOGLE  pattern VkGetRefreshCycleDurationGOOGLE :: CString  pattern VkGetRefreshCycleDurationGOOGLE <-         (is_VkGetRefreshCycleDurationGOOGLE -> True)-  where VkGetRefreshCycleDurationGOOGLE-          = _VkGetRefreshCycleDurationGOOGLE+  where+    VkGetRefreshCycleDurationGOOGLE = _VkGetRefreshCycleDurationGOOGLE  {-# INLINE _VkGetRefreshCycleDurationGOOGLE #-} @@ -122,24 +136,25 @@                  HS_vkGetRefreshCycleDurationGOOGLE  instance VulkanProc "vkGetRefreshCycleDurationGOOGLE" where-        type VkProcType "vkGetRefreshCycleDurationGOOGLE" =-             HS_vkGetRefreshCycleDurationGOOGLE-        vkProcSymbol = _VkGetRefreshCycleDurationGOOGLE+    type VkProcType "vkGetRefreshCycleDurationGOOGLE" =+         HS_vkGetRefreshCycleDurationGOOGLE+    vkProcSymbol = _VkGetRefreshCycleDurationGOOGLE -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetRefreshCycleDurationGOOGLEUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetRefreshCycleDurationGOOGLEUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetRefreshCycleDurationGOOGLESafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetRefreshCycleDurationGOOGLESafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetPastPresentationTimingGOOGLE :: CString  pattern VkGetPastPresentationTimingGOOGLE <-         (is_VkGetPastPresentationTimingGOOGLE -> True)-  where VkGetPastPresentationTimingGOOGLE-          = _VkGetPastPresentationTimingGOOGLE+  where+    VkGetPastPresentationTimingGOOGLE+      = _VkGetPastPresentationTimingGOOGLE  {-# INLINE _VkGetPastPresentationTimingGOOGLE #-} @@ -191,18 +206,18 @@                  HS_vkGetPastPresentationTimingGOOGLE  instance VulkanProc "vkGetPastPresentationTimingGOOGLE" where-        type VkProcType "vkGetPastPresentationTimingGOOGLE" =-             HS_vkGetPastPresentationTimingGOOGLE-        vkProcSymbol = _VkGetPastPresentationTimingGOOGLE+    type VkProcType "vkGetPastPresentationTimingGOOGLE" =+         HS_vkGetPastPresentationTimingGOOGLE+    vkProcSymbol = _VkGetPastPresentationTimingGOOGLE -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPastPresentationTimingGOOGLEUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPastPresentationTimingGOOGLEUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetPastPresentationTimingGOOGLESafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetPastPresentationTimingGOOGLESafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION :: (Num a, Eq a) => a @@ -214,8 +229,9 @@  pattern VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME <-         (is_VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME -> True)-  where VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME-          = _VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME+  where+    VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME+      = _VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME  {-# INLINE _VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_IMG_filter_cubic.hs view
@@ -27,8 +27,7 @@ import GHC.Ptr                           (Ptr (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.Enum.Filter (VkFilter (..))-import Graphics.Vulkan.Types.Enum.Format (VkFormatFeatureBitmask (..),-                                          VkFormatFeatureFlagBits)+import Graphics.Vulkan.Types.Enum.Format (VkFormatFeatureBitmask (..))  pattern VK_IMG_FILTER_CUBIC_SPEC_VERSION :: (Num a, Eq a) => a @@ -40,8 +39,9 @@  pattern VK_IMG_FILTER_CUBIC_EXTENSION_NAME <-         (is_VK_IMG_FILTER_CUBIC_EXTENSION_NAME -> True)-  where VK_IMG_FILTER_CUBIC_EXTENSION_NAME-          = _VK_IMG_FILTER_CUBIC_EXTENSION_NAME+  where+    VK_IMG_FILTER_CUBIC_EXTENSION_NAME+      = _VK_IMG_FILTER_CUBIC_EXTENSION_NAME  {-# INLINE _VK_IMG_FILTER_CUBIC_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_IMG_format_pvrtc.hs view
@@ -44,8 +44,9 @@  pattern VK_IMG_FORMAT_PVRTC_EXTENSION_NAME <-         (is_VK_IMG_FORMAT_PVRTC_EXTENSION_NAME -> True)-  where VK_IMG_FORMAT_PVRTC_EXTENSION_NAME-          = _VK_IMG_FORMAT_PVRTC_EXTENSION_NAME+  where+    VK_IMG_FORMAT_PVRTC_EXTENSION_NAME+      = _VK_IMG_FORMAT_PVRTC_EXTENSION_NAME  {-# INLINE _VK_IMG_FORMAT_PVRTC_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_16bit_storage.hs view
@@ -23,7 +23,7 @@         --          -- ** Required extensions: 'VK_KHR_get_physical_device_properties2', 'VK_KHR_storage_buffer_storage_class'.-        module Graphics.Vulkan.Types.Struct.PhysicalDevice,+        VkPhysicalDevice16BitStorageFeaturesKHR,         VK_KHR_16BIT_STORAGE_SPEC_VERSION,         pattern VK_KHR_16BIT_STORAGE_SPEC_VERSION,         VK_KHR_16BIT_STORAGE_EXTENSION_NAME,@@ -33,7 +33,7 @@ import GHC.Ptr                                     (Ptr (..)) import Graphics.Vulkan.Core_1_1                    (pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES) import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.Struct.PhysicalDevice+import Graphics.Vulkan.Types.Struct.PhysicalDevice (VkPhysicalDevice16BitStorageFeaturesKHR)  pattern VK_KHR_16BIT_STORAGE_SPEC_VERSION :: (Num a, Eq a) => a @@ -45,8 +45,9 @@  pattern VK_KHR_16BIT_STORAGE_EXTENSION_NAME <-         (is_VK_KHR_16BIT_STORAGE_EXTENSION_NAME -> True)-  where VK_KHR_16BIT_STORAGE_EXTENSION_NAME-          = _VK_KHR_16BIT_STORAGE_EXTENSION_NAME+  where+    VK_KHR_16BIT_STORAGE_EXTENSION_NAME+      = _VK_KHR_16BIT_STORAGE_EXTENSION_NAME  {-# INLINE _VK_KHR_16BIT_STORAGE_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_android_surface.hs view
@@ -12,42 +12,110 @@ {-# LANGUAGE TypeFamilies             #-} {-# LANGUAGE ViewPatterns             #-} module Graphics.Vulkan.Ext.VK_KHR_android_surface-       (-- * Vulkan extension: @VK_KHR_android_surface@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @Jesse Hall @critsec@-        ---        -- author: @KHR@-        ---        -- type: @instance@-        ---        -- platform: @android@-        ---        -- Extension number: @9@-        ---        -- Required extensions: 'VK_KHR_surface'.-        ----        -- ** Required extensions: 'VK_KHR_surface'.-        module Graphics.Vulkan.Types.Bitmasks,-        VkAndroidSurfaceCreateInfoKHR, VkAndroidSurfaceCreateInfoKHR',-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.StructureType,-        -- > #include "vk_platform.h"-        VkCreateAndroidSurfaceKHR, pattern VkCreateAndroidSurfaceKHR,-        HS_vkCreateAndroidSurfaceKHR, PFN_vkCreateAndroidSurfaceKHR,-        vkCreateAndroidSurfaceKHR, vkCreateAndroidSurfaceKHRUnsafe,-        vkCreateAndroidSurfaceKHRSafe, module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Defines,-        module Graphics.Vulkan.Types.Enum.InternalAllocationType,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Enum.SystemAllocationScope,-        module Graphics.Vulkan.Types.Funcpointers,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.AllocationCallbacks,-        module Graphics.Vulkan.Types.Struct.PlatformAndroidKhr,+       (VkAndroidSurfaceCreateFlagsKHR(..), VkBufferViewCreateFlags(..),+        VkCommandPoolTrimFlags(..), VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkAndroidSurfaceCreateInfoKHR,+        VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkStructureType(..), -- > #include "vk_platform.h"+                             VkCreateAndroidSurfaceKHR,+        pattern VkCreateAndroidSurfaceKHR, HS_vkCreateAndroidSurfaceKHR,+        PFN_vkCreateAndroidSurfaceKHR, vkCreateAndroidSurfaceKHR,+        vkCreateAndroidSurfaceKHRUnsafe, vkCreateAndroidSurfaceKHRSafe,+        module Graphics.Vulkan.Marshal, _VK_MAKE_VERSION,+        _VK_VERSION_MAJOR, _VK_VERSION_MINOR, _VK_VERSION_PATCH,+        pattern VK_API_VERSION_1_0, pattern VK_API_VERSION_1_1,+        pattern VK_HEADER_VERSION, AHardwareBuffer(), ANativeWindow(),+        VK_API_VERSION_1_0, VK_API_VERSION_1_1, VK_HEADER_VERSION,+        VkInternalAllocationType(..), VkResult(..),+        VkSystemAllocationScope(..), newVkAllocationFunction,+        newVkDebugReportCallbackEXT, newVkDebugUtilsMessengerCallbackEXT,+        newVkFreeFunction, newVkInternalAllocationNotification,+        newVkInternalFreeNotification, newVkReallocationFunction,+        newVkVoidFunction, unwrapVkAllocationFunction,+        unwrapVkDebugReportCallbackEXT,+        unwrapVkDebugUtilsMessengerCallbackEXT, unwrapVkFreeFunction,+        unwrapVkInternalAllocationNotification,+        unwrapVkInternalFreeNotification, unwrapVkReallocationFunction,+        unwrapVkVoidFunction, HS_vkAllocationFunction,+        HS_vkDebugReportCallbackEXT, HS_vkDebugUtilsMessengerCallbackEXT,+        HS_vkFreeFunction, HS_vkInternalAllocationNotification,+        HS_vkInternalFreeNotification, HS_vkReallocationFunction,+        HS_vkVoidFunction, PFN_vkAllocationFunction,+        PFN_vkDebugReportCallbackEXT, PFN_vkDebugUtilsMessengerCallbackEXT,+        PFN_vkFreeFunction, PFN_vkInternalAllocationNotification,+        PFN_vkInternalFreeNotification, PFN_vkReallocationFunction,+        PFN_vkVoidFunction, VkBuffer, VkBufferView, VkBufferView_T(),+        VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkAllocationCallbacks,+        VkAndroidHardwareBufferFormatPropertiesANDROID,+        VkAndroidHardwareBufferPropertiesANDROID,+        VkAndroidHardwareBufferUsageANDROID, VkExternalFormatANDROID,+        VkImportAndroidHardwareBufferInfoANDROID,+        VkMemoryGetAndroidHardwareBufferInfoANDROID,         VK_KHR_ANDROID_SURFACE_SPEC_VERSION,         pattern VK_KHR_ANDROID_SURFACE_SPEC_VERSION,         VK_KHR_ANDROID_SURFACE_EXTENSION_NAME,@@ -74,7 +142,8 @@  pattern VkCreateAndroidSurfaceKHR <-         (is_VkCreateAndroidSurfaceKHR -> True)-  where VkCreateAndroidSurfaceKHR = _VkCreateAndroidSurfaceKHR+  where+    VkCreateAndroidSurfaceKHR = _VkCreateAndroidSurfaceKHR  {-# INLINE _VkCreateAndroidSurfaceKHR #-} @@ -286,17 +355,17 @@                PFN_vkCreateAndroidSurfaceKHR -> HS_vkCreateAndroidSurfaceKHR  instance VulkanProc "vkCreateAndroidSurfaceKHR" where-        type VkProcType "vkCreateAndroidSurfaceKHR" =-             HS_vkCreateAndroidSurfaceKHR-        vkProcSymbol = _VkCreateAndroidSurfaceKHR+    type VkProcType "vkCreateAndroidSurfaceKHR" =+         HS_vkCreateAndroidSurfaceKHR+    vkProcSymbol = _VkCreateAndroidSurfaceKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateAndroidSurfaceKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateAndroidSurfaceKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateAndroidSurfaceKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateAndroidSurfaceKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_ANDROID_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a @@ -308,8 +377,9 @@  pattern VK_KHR_ANDROID_SURFACE_EXTENSION_NAME <-         (is_VK_KHR_ANDROID_SURFACE_EXTENSION_NAME -> True)-  where VK_KHR_ANDROID_SURFACE_EXTENSION_NAME-          = _VK_KHR_ANDROID_SURFACE_EXTENSION_NAME+  where+    VK_KHR_ANDROID_SURFACE_EXTENSION_NAME+      = _VK_KHR_ANDROID_SURFACE_EXTENSION_NAME  {-# INLINE _VK_KHR_ANDROID_SURFACE_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_bind_memory2.hs view
@@ -23,15 +23,44 @@         -- type: @device@         --         -- Extension number: @158@-        module Graphics.Vulkan.Types.Struct.Bind, VkBindBufferMemory2KHR,-        pattern VkBindBufferMemory2KHR, HS_vkBindBufferMemory2KHR,-        PFN_vkBindBufferMemory2KHR, VkBindImageMemory2KHR,-        pattern VkBindImageMemory2KHR, HS_vkBindImageMemory2KHR,-        PFN_vkBindImageMemory2KHR, module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Enum.StructureType,-        module Graphics.Vulkan.Types.Handles,+        VkBindBufferMemoryInfoKHR, VkBindImageMemoryInfoKHR,+        VkBindBufferMemory2KHR, pattern VkBindBufferMemory2KHR,+        HS_vkBindBufferMemory2KHR, PFN_vkBindBufferMemory2KHR,+        VkBindImageMemory2KHR, pattern VkBindImageMemory2KHR,+        HS_vkBindImageMemory2KHR, PFN_vkBindImageMemory2KHR,+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkResult(..), VkStructureType(..),+        VkBuffer, VkBufferView, VkBufferView_T(), VkBuffer_T(),+        VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkBindBufferMemoryDeviceGroupInfo,+        VkBindBufferMemoryDeviceGroupInfoKHR, VkBindBufferMemoryInfo,+        VkBindImageMemoryDeviceGroupInfo,+        VkBindImageMemoryDeviceGroupInfoKHR, VkBindImageMemoryInfo,+        VkBindImageMemorySwapchainInfoKHR, VkBindImagePlaneMemoryInfo,+        VkBindImagePlaneMemoryInfoKHR, VkBindSparseInfo,         VK_KHR_BIND_MEMORY_2_SPEC_VERSION,         pattern VK_KHR_BIND_MEMORY_2_SPEC_VERSION,         VK_KHR_BIND_MEMORY_2_EXTENSION_NAME,@@ -56,7 +85,8 @@  pattern VkBindBufferMemory2KHR <-         (is_VkBindBufferMemory2KHR -> True)-  where VkBindBufferMemory2KHR = _VkBindBufferMemory2KHR+  where+    VkBindBufferMemory2KHR = _VkBindBufferMemory2KHR  {-# INLINE _VkBindBufferMemory2KHR #-} @@ -101,22 +131,23 @@                PFN_vkBindBufferMemory2KHR -> HS_vkBindBufferMemory2KHR  instance VulkanProc "vkBindBufferMemory2KHR" where-        type VkProcType "vkBindBufferMemory2KHR" =-             HS_vkBindBufferMemory2KHR-        vkProcSymbol = _VkBindBufferMemory2KHR+    type VkProcType "vkBindBufferMemory2KHR" =+         HS_vkBindBufferMemory2KHR+    vkProcSymbol = _VkBindBufferMemory2KHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkBindBufferMemory2KHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkBindBufferMemory2KHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkBindBufferMemory2KHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkBindBufferMemory2KHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkBindImageMemory2KHR :: CString  pattern VkBindImageMemory2KHR <- (is_VkBindImageMemory2KHR -> True)-  where VkBindImageMemory2KHR = _VkBindImageMemory2KHR+  where+    VkBindImageMemory2KHR = _VkBindImageMemory2KHR  {-# INLINE _VkBindImageMemory2KHR #-} @@ -160,16 +191,16 @@                :: PFN_vkBindImageMemory2KHR -> HS_vkBindImageMemory2KHR  instance VulkanProc "vkBindImageMemory2KHR" where-        type VkProcType "vkBindImageMemory2KHR" = HS_vkBindImageMemory2KHR-        vkProcSymbol = _VkBindImageMemory2KHR+    type VkProcType "vkBindImageMemory2KHR" = HS_vkBindImageMemory2KHR+    vkProcSymbol = _VkBindImageMemory2KHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkBindImageMemory2KHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkBindImageMemory2KHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkBindImageMemory2KHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkBindImageMemory2KHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_BIND_MEMORY_2_SPEC_VERSION :: (Num a, Eq a) => a @@ -181,8 +212,9 @@  pattern VK_KHR_BIND_MEMORY_2_EXTENSION_NAME <-         (is_VK_KHR_BIND_MEMORY_2_EXTENSION_NAME -> True)-  where VK_KHR_BIND_MEMORY_2_EXTENSION_NAME-          = _VK_KHR_BIND_MEMORY_2_EXTENSION_NAME+  where+    VK_KHR_BIND_MEMORY_2_EXTENSION_NAME+      = _VK_KHR_BIND_MEMORY_2_EXTENSION_NAME  {-# INLINE _VK_KHR_BIND_MEMORY_2_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_dedicated_allocation.hs view
@@ -23,7 +23,8 @@         --          -- ** Required extensions: 'VK_KHR_get_memory_requirements2'.-        module Graphics.Vulkan.Types.Struct.Memory,+        VkMemoryDedicatedAllocateInfoKHR,+        VkMemoryDedicatedRequirementsKHR,         VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION,         pattern VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION,         VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME,@@ -35,7 +36,8 @@ import Graphics.Vulkan.Core_1_1            (pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,                                             pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS) import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.Struct.Memory+import Graphics.Vulkan.Types.Struct.Memory (VkMemoryDedicatedAllocateInfoKHR,+                                            VkMemoryDedicatedRequirementsKHR)  pattern VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION ::         (Num a, Eq a) => a@@ -48,8 +50,9 @@  pattern VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME <-         (is_VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME -> True)-  where VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME-          = _VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME+  where+    VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME+      = _VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME  {-# INLINE _VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_descriptor_update_template.hs view
@@ -11,21 +11,61 @@ {-# LANGUAGE TypeFamilies             #-} {-# LANGUAGE ViewPatterns             #-} module Graphics.Vulkan.Ext.VK_KHR_descriptor_update_template-       (-- * Vulkan extension: @VK_KHR_descriptor_update_template@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @Markus Tavenrath @mtavenrath@-        ---        -- author: @KHR@-        ---        -- type: @device@-        ---        -- Extension number: @86@-        module Graphics.Vulkan.Types.Bitmasks,-        module Graphics.Vulkan.Types.Struct.Descriptor,-        module Graphics.Vulkan.Types.Enum.Descriptor,+       (VkAndroidSurfaceCreateFlagsKHR(..), VkBufferViewCreateFlags(..),+        VkCommandPoolTrimFlags(..), VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..),+        VkDescriptorUpdateTemplateCreateInfoKHR,+        VkDescriptorUpdateTemplateEntryKHR,+        VkDescriptorBindingBitmaskEXT(..),+        VkDescriptorPoolCreateBitmask(..), VkDescriptorType(..),+        VkDescriptorUpdateTemplateType(..),+        VkDescriptorBindingFlagBitsEXT(), VkDescriptorBindingFlagsEXT(),+        VkDescriptorPoolCreateFlagBits(), VkDescriptorPoolCreateFlags(),+        VkDescriptorSetLayoutCreateBitmask(..),+        VkDescriptorSetLayoutCreateFlagBits(),+        VkDescriptorSetLayoutCreateFlags(),+        VkDescriptorUpdateTemplateTypeKHR(..),         VkCreateDescriptorUpdateTemplateKHR,         pattern VkCreateDescriptorUpdateTemplateKHR,         HS_vkCreateDescriptorUpdateTemplateKHR,@@ -38,16 +78,77 @@         pattern VkUpdateDescriptorSetWithTemplateKHR,         HS_vkUpdateDescriptorSetWithTemplateKHR,         PFN_vkUpdateDescriptorSetWithTemplateKHR,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.InternalAllocationType,-        module Graphics.Vulkan.Types.Enum.Pipeline,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Enum.StructureType,-        module Graphics.Vulkan.Types.Enum.SystemAllocationScope,-        module Graphics.Vulkan.Types.Funcpointers,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.AllocationCallbacks,+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkInternalAllocationType(..),+        VkPipelineBindPoint(..), VkPipelineCacheHeaderVersion(..),+        VkPipelineCreateBitmask(..), VkPipelineStageBitmask(..),+        VkPipelineCacheCreateFlagBits(..),+        VkPipelineColorBlendStateCreateFlagBits(..),+        VkPipelineCreateFlagBits(), VkPipelineCreateFlags(),+        VkPipelineDepthStencilStateCreateFlagBits(..),+        VkPipelineDynamicStateCreateFlagBits(..),+        VkPipelineInputAssemblyStateCreateFlagBits(..),+        VkPipelineLayoutCreateFlagBits(..),+        VkPipelineMultisampleStateCreateFlagBits(..),+        VkPipelineRasterizationStateCreateFlagBits(..),+        VkPipelineShaderStageCreateFlagBits(..), VkPipelineStageFlagBits(),+        VkPipelineStageFlags(),+        VkPipelineTessellationStateCreateFlagBits(..),+        VkPipelineVertexInputStateCreateFlagBits(..),+        VkPipelineViewportStateCreateFlagBits(..), VkResult(..),+        VkStructureType(..), VkSystemAllocationScope(..),+        newVkAllocationFunction, newVkDebugReportCallbackEXT,+        newVkDebugUtilsMessengerCallbackEXT, newVkFreeFunction,+        newVkInternalAllocationNotification, newVkInternalFreeNotification,+        newVkReallocationFunction, newVkVoidFunction,+        unwrapVkAllocationFunction, unwrapVkDebugReportCallbackEXT,+        unwrapVkDebugUtilsMessengerCallbackEXT, unwrapVkFreeFunction,+        unwrapVkInternalAllocationNotification,+        unwrapVkInternalFreeNotification, unwrapVkReallocationFunction,+        unwrapVkVoidFunction, HS_vkAllocationFunction,+        HS_vkDebugReportCallbackEXT, HS_vkDebugUtilsMessengerCallbackEXT,+        HS_vkFreeFunction, HS_vkInternalAllocationNotification,+        HS_vkInternalFreeNotification, HS_vkReallocationFunction,+        HS_vkVoidFunction, PFN_vkAllocationFunction,+        PFN_vkDebugReportCallbackEXT, PFN_vkDebugUtilsMessengerCallbackEXT,+        PFN_vkFreeFunction, PFN_vkInternalAllocationNotification,+        PFN_vkInternalFreeNotification, PFN_vkReallocationFunction,+        PFN_vkVoidFunction, VkBuffer, VkBufferView, VkBufferView_T(),+        VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkAllocationCallbacks, VkDescriptorBufferInfo,+        VkDescriptorImageInfo, VkDescriptorPoolCreateInfo,+        VkDescriptorPoolSize, VkDescriptorSetAllocateInfo,+        VkDescriptorSetLayoutBinding,+        VkDescriptorSetLayoutBindingFlagsCreateInfoEXT,+        VkDescriptorSetLayoutCreateInfo, VkDescriptorSetLayoutSupport,+        VkDescriptorSetLayoutSupportKHR,+        VkDescriptorSetVariableDescriptorCountAllocateInfoEXT,+        VkDescriptorSetVariableDescriptorCountLayoutSupportEXT,+        VkDescriptorUpdateTemplateCreateInfo,+        VkDescriptorUpdateTemplateEntry,         VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION,         pattern VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION,         VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME,@@ -90,8 +191,9 @@  pattern VkCreateDescriptorUpdateTemplateKHR <-         (is_VkCreateDescriptorUpdateTemplateKHR -> True)-  where VkCreateDescriptorUpdateTemplateKHR-          = _VkCreateDescriptorUpdateTemplateKHR+  where+    VkCreateDescriptorUpdateTemplateKHR+      = _VkCreateDescriptorUpdateTemplateKHR  {-# INLINE _VkCreateDescriptorUpdateTemplateKHR #-} @@ -146,25 +248,26 @@                  HS_vkCreateDescriptorUpdateTemplateKHR  instance VulkanProc "vkCreateDescriptorUpdateTemplateKHR" where-        type VkProcType "vkCreateDescriptorUpdateTemplateKHR" =-             HS_vkCreateDescriptorUpdateTemplateKHR-        vkProcSymbol = _VkCreateDescriptorUpdateTemplateKHR+    type VkProcType "vkCreateDescriptorUpdateTemplateKHR" =+         HS_vkCreateDescriptorUpdateTemplateKHR+    vkProcSymbol = _VkCreateDescriptorUpdateTemplateKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkCreateDescriptorUpdateTemplateKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkCreateDescriptorUpdateTemplateKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateDescriptorUpdateTemplateKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateDescriptorUpdateTemplateKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkDestroyDescriptorUpdateTemplateKHR :: CString  pattern VkDestroyDescriptorUpdateTemplateKHR <-         (is_VkDestroyDescriptorUpdateTemplateKHR -> True)-  where VkDestroyDescriptorUpdateTemplateKHR-          = _VkDestroyDescriptorUpdateTemplateKHR+  where+    VkDestroyDescriptorUpdateTemplateKHR+      = _VkDestroyDescriptorUpdateTemplateKHR  {-# INLINE _VkDestroyDescriptorUpdateTemplateKHR #-} @@ -211,26 +314,27 @@                  HS_vkDestroyDescriptorUpdateTemplateKHR  instance VulkanProc "vkDestroyDescriptorUpdateTemplateKHR" where-        type VkProcType "vkDestroyDescriptorUpdateTemplateKHR" =-             HS_vkDestroyDescriptorUpdateTemplateKHR-        vkProcSymbol = _VkDestroyDescriptorUpdateTemplateKHR+    type VkProcType "vkDestroyDescriptorUpdateTemplateKHR" =+         HS_vkDestroyDescriptorUpdateTemplateKHR+    vkProcSymbol = _VkDestroyDescriptorUpdateTemplateKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkDestroyDescriptorUpdateTemplateKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkDestroyDescriptorUpdateTemplateKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkDestroyDescriptorUpdateTemplateKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkDestroyDescriptorUpdateTemplateKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkUpdateDescriptorSetWithTemplateKHR :: CString  pattern VkUpdateDescriptorSetWithTemplateKHR <-         (is_VkUpdateDescriptorSetWithTemplateKHR -> True)-  where VkUpdateDescriptorSetWithTemplateKHR-          = _VkUpdateDescriptorSetWithTemplateKHR+  where+    VkUpdateDescriptorSetWithTemplateKHR+      = _VkUpdateDescriptorSetWithTemplateKHR  {-# INLINE _VkUpdateDescriptorSetWithTemplateKHR #-} @@ -279,19 +383,19 @@                  HS_vkUpdateDescriptorSetWithTemplateKHR  instance VulkanProc "vkUpdateDescriptorSetWithTemplateKHR" where-        type VkProcType "vkUpdateDescriptorSetWithTemplateKHR" =-             HS_vkUpdateDescriptorSetWithTemplateKHR-        vkProcSymbol = _VkUpdateDescriptorSetWithTemplateKHR+    type VkProcType "vkUpdateDescriptorSetWithTemplateKHR" =+         HS_vkUpdateDescriptorSetWithTemplateKHR+    vkProcSymbol = _VkUpdateDescriptorSetWithTemplateKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkUpdateDescriptorSetWithTemplateKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkUpdateDescriptorSetWithTemplateKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkUpdateDescriptorSetWithTemplateKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkUpdateDescriptorSetWithTemplateKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION ::         (Num a, Eq a) => a@@ -304,8 +408,9 @@  pattern VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME <-         (is_VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME -> True)-  where VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME-          = _VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME+  where+    VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME+      = _VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME  {-# INLINE _VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_device_group.hs view
@@ -29,12 +29,61 @@         --          -- ** Required extensions: 'VK_KHR_device_group_creation'.-        module Graphics.Vulkan.Types.Struct.Device,-        module Graphics.Vulkan.Types.Enum.Memory,-        module Graphics.Vulkan.Types.Struct.Memory,-        module Graphics.Vulkan.Types.Bitmasks,-        module Graphics.Vulkan.Types.Enum.PeerMemoryFeatureFlag,-        VkGetDeviceGroupPeerMemoryFeaturesKHR,+        VkDeviceGroupBindSparseInfoKHR,+        VkDeviceGroupCommandBufferBeginInfoKHR,+        VkDeviceGroupRenderPassBeginInfoKHR, VkDeviceGroupSubmitInfoKHR,+        VkMemoryAllocateBitmask(..), VkMemoryHeapBitmask(..),+        VkMemoryPropertyBitmask(..), VkMemoryAllocateFlagBits(),+        VkMemoryAllocateFlagBitsKHR(..), VkMemoryAllocateFlags(),+        VkMemoryHeapFlagBits(), VkMemoryHeapFlags(),+        VkMemoryPropertyFlagBits(), VkMemoryPropertyFlags(),+        VkMemoryAllocateFlagsInfoKHR, VkAndroidSurfaceCreateFlagsKHR(..),+        VkBufferViewCreateFlags(..), VkCommandPoolTrimFlags(..),+        VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureBitmask(..),+        VkPeerMemoryFeatureFlagBits(), VkPeerMemoryFeatureFlagBitsKHR(..),+        VkPeerMemoryFeatureFlags(), VkGetDeviceGroupPeerMemoryFeaturesKHR,         pattern VkGetDeviceGroupPeerMemoryFeaturesKHR,         HS_vkGetDeviceGroupPeerMemoryFeaturesKHR,         PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR, VkCmdSetDeviceMaskKHR,@@ -42,8 +91,32 @@         PFN_vkCmdSetDeviceMaskKHR, VkCmdDispatchBaseKHR,         pattern VkCmdDispatchBaseKHR, HS_vkCmdDispatchBaseKHR,         PFN_vkCmdDispatchBaseKHR, module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Handles,+        VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkBuffer, VkBufferView, VkBufferView_T(), VkBuffer_T(),+        VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),         VK_KHR_DEVICE_GROUP_SPEC_VERSION,         pattern VK_KHR_DEVICE_GROUP_SPEC_VERSION,         VK_KHR_DEVICE_GROUP_EXTENSION_NAME,@@ -62,15 +135,18 @@         pattern VK_PIPELINE_CREATE_DISPATCH_BASE_KHR,         pattern VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR,         -- ** Required extensions: 'VK_KHR_bind_memory2', 'VK_KHR_device_group_creation'.-        module Graphics.Vulkan.Types.Struct.Bind,+        VkBindBufferMemoryDeviceGroupInfoKHR,+        VkBindImageMemoryDeviceGroupInfoKHR,         pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR,         pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR,         pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR,         -- ** Required extensions: 'VK_KHR_surface', 'VK_KHR_device_group_creation'.-        VkDeviceGroupPresentCapabilitiesKHR,-        VkDeviceGroupPresentCapabilitiesKHR',-        module Graphics.Vulkan.Types.Enum.Device,-        module Graphics.Vulkan.Types.Enum.StructureType,+        VkDeviceGroupPresentCapabilitiesKHR, VkDeviceEventTypeEXT(..),+        VkDeviceGroupPresentModeBitmaskKHR(..), VkDeviceCreateFlagBits(..),+        VkDeviceGroupPresentModeFlagBitsKHR(),+        VkDeviceGroupPresentModeFlagsKHR(), VkDeviceQueueCreateBitmask(..),+        VkDeviceQueueCreateFlagBits(), VkDeviceQueueCreateFlags(),+        VkStructureType(..),         -- > #include "vk_platform.h"         pattern VkGetDeviceGroupPresentCapabilitiesKHR,         HS_vkGetDeviceGroupPresentCapabilitiesKHR,@@ -83,27 +159,28 @@         PFN_vkGetPhysicalDevicePresentRectanglesKHR,         pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR,         -- ** Required extensions: 'VK_KHR_swapchain', 'VK_KHR_device_group_creation'.-        VkAcquireNextImageInfoKHR, VkAcquireNextImageInfoKHR',-        VkBindImageMemoryInfo, VkBindImageMemoryInfo',-        VkBindImageMemorySwapchainInfoKHR,-        VkBindImageMemorySwapchainInfoKHR',-        module Graphics.Vulkan.Types.Enum.Color,-        module Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR,-        VkDeviceGroupPresentInfoKHR, VkDeviceGroupPresentInfoKHR',-        VkDeviceGroupSwapchainCreateInfoKHR,-        VkDeviceGroupSwapchainCreateInfoKHR', VkExtent2D, VkExtent2D',-        VkExtent3D, VkExtent3D', module Graphics.Vulkan.Types.Enum.Format,-        module Graphics.Vulkan.Types.Enum.Image, VkImageCreateInfo,-        VkImageCreateInfo', VkImageSwapchainCreateInfoKHR,-        VkImageSwapchainCreateInfoKHR', VkPresentInfoKHR,-        VkPresentInfoKHR',-        module Graphics.Vulkan.Types.Enum.PresentModeKHR,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Enum.SampleCountFlags,-        module Graphics.Vulkan.Types.Enum.SharingMode,-        module Graphics.Vulkan.Types.Enum.Surface,-        module Graphics.Vulkan.Types.Enum.SwapchainCreateFlagsKHR,-        VkSwapchainCreateInfoKHR, VkSwapchainCreateInfoKHR',+        VkAcquireNextImageInfoKHR, VkBindImageMemoryInfo,+        VkBindImageMemorySwapchainInfoKHR, VkColorComponentBitmask(..),+        VkColorSpaceKHR(..), VkColorComponentFlagBits(),+        VkColorComponentFlags(), VkCompositeAlphaBitmaskKHR(..),+        VkCompositeAlphaFlagBitsKHR(), VkCompositeAlphaFlagsKHR(),+        VkDeviceGroupPresentInfoKHR, VkDeviceGroupSwapchainCreateInfoKHR,+        VkExtent2D, VkExtent3D, VkFormat(..), VkFormatFeatureBitmask(..),+        VkFormatFeatureFlagBits(), VkFormatFeatureFlags(),+        VkImageAspectBitmask(..), VkImageCreateBitmask(..),+        VkImageLayout(..), VkImageTiling(..), VkImageType(..),+        VkImageUsageBitmask(..), VkImageViewType(..),+        VkImageAspectFlagBits(), VkImageAspectFlags(),+        VkImageCreateFlagBits(), VkImageCreateFlags(),+        VkImageUsageFlagBits(), VkImageUsageFlags(), VkImageCreateInfo,+        VkImageSwapchainCreateInfoKHR, VkPresentInfoKHR,+        VkPresentModeKHR(..), VkResult(..), VkSampleCountBitmask(..),+        VkSampleCountFlagBits(), VkSampleCountFlags(), VkSharingMode(..),+        VkSurfaceCounterBitmaskEXT(..), VkSurfaceTransformBitmaskKHR(..),+        VkSurfaceCounterFlagBitsEXT(), VkSurfaceCounterFlagsEXT(),+        VkSurfaceTransformFlagBitsKHR(), VkSurfaceTransformFlagsKHR(),+        VkSwapchainCreateBitmaskKHR(..), VkSwapchainCreateFlagBitsKHR(),+        VkSwapchainCreateFlagsKHR(), VkSwapchainCreateInfoKHR,         -- > #include "vk_platform.h"         pattern VkAcquireNextImage2KHR, HS_vkAcquireNextImage2KHR,         PFN_vkAcquireNextImage2KHR,@@ -164,30 +241,32 @@ import Graphics.Vulkan.Types.Enum.Surface import Graphics.Vulkan.Types.Enum.SwapchainCreateFlagsKHR import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.AcquireNextImageInfoKHR (VkAcquireNextImageInfoKHR,-                                                             VkAcquireNextImageInfoKHR')-import Graphics.Vulkan.Types.Struct.Bind-import Graphics.Vulkan.Types.Struct.Device+import Graphics.Vulkan.Types.Struct.AcquireNextImageInfoKHR (VkAcquireNextImageInfoKHR)+import Graphics.Vulkan.Types.Struct.Bind                    (VkBindBufferMemoryDeviceGroupInfoKHR,+                                                             VkBindImageMemoryDeviceGroupInfoKHR,+                                                             VkBindImageMemoryInfo,+                                                             VkBindImageMemorySwapchainInfoKHR)+import Graphics.Vulkan.Types.Struct.Device                  (VkDeviceGroupBindSparseInfoKHR,+                                                             VkDeviceGroupCommandBufferBeginInfoKHR,+                                                             VkDeviceGroupPresentCapabilitiesKHR,+                                                             VkDeviceGroupPresentInfoKHR,+                                                             VkDeviceGroupRenderPassBeginInfoKHR,+                                                             VkDeviceGroupSubmitInfoKHR,+                                                             VkDeviceGroupSwapchainCreateInfoKHR) import Graphics.Vulkan.Types.Struct.Extent                  (VkExtent2D,-                                                             VkExtent2D',-                                                             VkExtent3D,-                                                             VkExtent3D')-import Graphics.Vulkan.Types.Struct.Image                   (VkImageCreateInfo,-                                                             VkImageCreateInfo',-                                                             VkImageSwapchainCreateInfoKHR,-                                                             VkImageSwapchainCreateInfoKHR')-import Graphics.Vulkan.Types.Struct.Memory-import Graphics.Vulkan.Types.Struct.Present                 (VkPresentInfoKHR,-                                                             VkPresentInfoKHR')-import Graphics.Vulkan.Types.Struct.SwapchainC              (VkSwapchainCreateInfoKHR,-                                                             VkSwapchainCreateInfoKHR')+                                                             VkExtent3D)+import Graphics.Vulkan.Types.Struct.Image                   (VkImageCreateInfo, VkImageSwapchainCreateInfoKHR)+import Graphics.Vulkan.Types.Struct.Memory                  (VkMemoryAllocateFlagsInfoKHR)+import Graphics.Vulkan.Types.Struct.Present                 (VkPresentInfoKHR)+import Graphics.Vulkan.Types.Struct.SwapchainC              (VkSwapchainCreateInfoKHR)  pattern VkGetDeviceGroupPeerMemoryFeaturesKHR :: CString  pattern VkGetDeviceGroupPeerMemoryFeaturesKHR <-         (is_VkGetDeviceGroupPeerMemoryFeaturesKHR -> True)-  where VkGetDeviceGroupPeerMemoryFeaturesKHR-          = _VkGetDeviceGroupPeerMemoryFeaturesKHR+  where+    VkGetDeviceGroupPeerMemoryFeaturesKHR+      = _VkGetDeviceGroupPeerMemoryFeaturesKHR  {-# INLINE _VkGetDeviceGroupPeerMemoryFeaturesKHR #-} @@ -238,24 +317,25 @@                  HS_vkGetDeviceGroupPeerMemoryFeaturesKHR  instance VulkanProc "vkGetDeviceGroupPeerMemoryFeaturesKHR" where-        type VkProcType "vkGetDeviceGroupPeerMemoryFeaturesKHR" =-             HS_vkGetDeviceGroupPeerMemoryFeaturesKHR-        vkProcSymbol = _VkGetDeviceGroupPeerMemoryFeaturesKHR+    type VkProcType "vkGetDeviceGroupPeerMemoryFeaturesKHR" =+         HS_vkGetDeviceGroupPeerMemoryFeaturesKHR+    vkProcSymbol = _VkGetDeviceGroupPeerMemoryFeaturesKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetDeviceGroupPeerMemoryFeaturesKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetDeviceGroupPeerMemoryFeaturesKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetDeviceGroupPeerMemoryFeaturesKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetDeviceGroupPeerMemoryFeaturesKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkCmdSetDeviceMaskKHR :: CString  pattern VkCmdSetDeviceMaskKHR <- (is_VkCmdSetDeviceMaskKHR -> True)-  where VkCmdSetDeviceMaskKHR = _VkCmdSetDeviceMaskKHR+  where+    VkCmdSetDeviceMaskKHR = _VkCmdSetDeviceMaskKHR  {-# INLINE _VkCmdSetDeviceMaskKHR #-} @@ -296,21 +376,22 @@                :: PFN_vkCmdSetDeviceMaskKHR -> HS_vkCmdSetDeviceMaskKHR  instance VulkanProc "vkCmdSetDeviceMaskKHR" where-        type VkProcType "vkCmdSetDeviceMaskKHR" = HS_vkCmdSetDeviceMaskKHR-        vkProcSymbol = _VkCmdSetDeviceMaskKHR+    type VkProcType "vkCmdSetDeviceMaskKHR" = HS_vkCmdSetDeviceMaskKHR+    vkProcSymbol = _VkCmdSetDeviceMaskKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdSetDeviceMaskKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdSetDeviceMaskKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdSetDeviceMaskKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdSetDeviceMaskKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkCmdDispatchBaseKHR :: CString  pattern VkCmdDispatchBaseKHR <- (is_VkCmdDispatchBaseKHR -> True)-  where VkCmdDispatchBaseKHR = _VkCmdDispatchBaseKHR+  where+    VkCmdDispatchBaseKHR = _VkCmdDispatchBaseKHR  {-# INLINE _VkCmdDispatchBaseKHR #-} @@ -363,16 +444,16 @@                :: PFN_vkCmdDispatchBaseKHR -> HS_vkCmdDispatchBaseKHR  instance VulkanProc "vkCmdDispatchBaseKHR" where-        type VkProcType "vkCmdDispatchBaseKHR" = HS_vkCmdDispatchBaseKHR-        vkProcSymbol = _VkCmdDispatchBaseKHR+    type VkProcType "vkCmdDispatchBaseKHR" = HS_vkCmdDispatchBaseKHR+    vkProcSymbol = _VkCmdDispatchBaseKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdDispatchBaseKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdDispatchBaseKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdDispatchBaseKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdDispatchBaseKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_DEVICE_GROUP_SPEC_VERSION :: (Num a, Eq a) => a @@ -384,8 +465,9 @@  pattern VK_KHR_DEVICE_GROUP_EXTENSION_NAME <-         (is_VK_KHR_DEVICE_GROUP_EXTENSION_NAME -> True)-  where VK_KHR_DEVICE_GROUP_EXTENSION_NAME-          = _VK_KHR_DEVICE_GROUP_EXTENSION_NAME+  where+    VK_KHR_DEVICE_GROUP_EXTENSION_NAME+      = _VK_KHR_DEVICE_GROUP_EXTENSION_NAME  {-# INLINE _VK_KHR_DEVICE_GROUP_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_device_group_creation.hs view
@@ -23,17 +23,91 @@         -- type: @instance@         --         -- Extension number: @71@-        module Graphics.Vulkan.Types.Struct.Device,-        module Graphics.Vulkan.Types.Struct.PhysicalDevice,+        VkDeviceGroupDeviceCreateInfoKHR,+        VkPhysicalDeviceGroupPropertiesKHR,         VkEnumeratePhysicalDeviceGroupsKHR,         pattern VkEnumeratePhysicalDeviceGroupsKHR,         HS_vkEnumeratePhysicalDeviceGroupsKHR,         PFN_vkEnumeratePhysicalDeviceGroupsKHR,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Enum.StructureType,-        module Graphics.Vulkan.Types.Handles,+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkResult(..), VkStructureType(..),+        VkBuffer, VkBufferView, VkBufferView_T(), VkBuffer_T(),+        VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkPhysicalDevice16BitStorageFeatures,+        VkPhysicalDevice16BitStorageFeaturesKHR,+        VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT,+        VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT,+        VkPhysicalDeviceConservativeRasterizationPropertiesEXT,+        VkPhysicalDeviceDescriptorIndexingFeaturesEXT,+        VkPhysicalDeviceDescriptorIndexingPropertiesEXT,+        VkPhysicalDeviceDiscardRectanglePropertiesEXT,+        VkPhysicalDeviceExternalBufferInfo,+        VkPhysicalDeviceExternalBufferInfoKHR,+        VkPhysicalDeviceExternalFenceInfo,+        VkPhysicalDeviceExternalFenceInfoKHR,+        VkPhysicalDeviceExternalImageFormatInfo,+        VkPhysicalDeviceExternalImageFormatInfoKHR,+        VkPhysicalDeviceExternalMemoryHostPropertiesEXT,+        VkPhysicalDeviceExternalSemaphoreInfo,+        VkPhysicalDeviceExternalSemaphoreInfoKHR,+        VkPhysicalDeviceFeatures2, VkPhysicalDeviceFeatures2KHR,+        VkPhysicalDeviceGroupProperties, VkPhysicalDeviceIDProperties,+        VkPhysicalDeviceIDPropertiesKHR, VkPhysicalDeviceImageFormatInfo2,+        VkPhysicalDeviceImageFormatInfo2KHR, VkPhysicalDeviceLimits,+        VkPhysicalDeviceMaintenance3Properties,+        VkPhysicalDeviceMaintenance3PropertiesKHR,+        VkPhysicalDeviceMemoryProperties,+        VkPhysicalDeviceMemoryProperties2,+        VkPhysicalDeviceMemoryProperties2KHR,+        VkPhysicalDeviceMultiviewFeatures,+        VkPhysicalDeviceMultiviewFeaturesKHR,+        VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,+        VkPhysicalDeviceMultiviewProperties,+        VkPhysicalDeviceMultiviewPropertiesKHR,+        VkPhysicalDevicePointClippingProperties,+        VkPhysicalDevicePointClippingPropertiesKHR,+        VkPhysicalDeviceProperties, VkPhysicalDeviceProperties2,+        VkPhysicalDeviceProperties2KHR,+        VkPhysicalDeviceProtectedMemoryFeatures,+        VkPhysicalDeviceProtectedMemoryProperties,+        VkPhysicalDevicePushDescriptorPropertiesKHR,+        VkPhysicalDeviceSampleLocationsPropertiesEXT,+        VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT,+        VkPhysicalDeviceSamplerYcbcrConversionFeatures,+        VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR,+        VkPhysicalDeviceShaderCorePropertiesAMD,+        VkPhysicalDeviceShaderDrawParameterFeatures,+        VkPhysicalDeviceSparseImageFormatInfo2,+        VkPhysicalDeviceSparseImageFormatInfo2KHR,+        VkPhysicalDeviceSparseProperties,+        VkPhysicalDeviceSubgroupProperties,+        VkPhysicalDeviceSurfaceInfo2KHR,+        VkPhysicalDeviceVariablePointerFeatures,+        VkPhysicalDeviceVariablePointerFeaturesKHR,+        VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT,         VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION,         pattern VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION,         VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME,@@ -54,15 +128,16 @@ import Graphics.Vulkan.Types.Enum.Result import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.Device+import Graphics.Vulkan.Types.Struct.Device         (VkDeviceGroupDeviceCreateInfoKHR) import Graphics.Vulkan.Types.Struct.PhysicalDevice  pattern VkEnumeratePhysicalDeviceGroupsKHR :: CString  pattern VkEnumeratePhysicalDeviceGroupsKHR <-         (is_VkEnumeratePhysicalDeviceGroupsKHR -> True)-  where VkEnumeratePhysicalDeviceGroupsKHR-          = _VkEnumeratePhysicalDeviceGroupsKHR+  where+    VkEnumeratePhysicalDeviceGroupsKHR+      = _VkEnumeratePhysicalDeviceGroupsKHR  {-# INLINE _VkEnumeratePhysicalDeviceGroupsKHR #-} @@ -113,18 +188,18 @@                  HS_vkEnumeratePhysicalDeviceGroupsKHR  instance VulkanProc "vkEnumeratePhysicalDeviceGroupsKHR" where-        type VkProcType "vkEnumeratePhysicalDeviceGroupsKHR" =-             HS_vkEnumeratePhysicalDeviceGroupsKHR-        vkProcSymbol = _VkEnumeratePhysicalDeviceGroupsKHR+    type VkProcType "vkEnumeratePhysicalDeviceGroupsKHR" =+         HS_vkEnumeratePhysicalDeviceGroupsKHR+    vkProcSymbol = _VkEnumeratePhysicalDeviceGroupsKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkEnumeratePhysicalDeviceGroupsKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkEnumeratePhysicalDeviceGroupsKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkEnumeratePhysicalDeviceGroupsKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkEnumeratePhysicalDeviceGroupsKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION ::         (Num a, Eq a) => a@@ -137,8 +212,9 @@  pattern VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME <-         (is_VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME -> True)-  where VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME-          = _VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME+  where+    VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME+      = _VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME  {-# INLINE _VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_display.hs view
@@ -29,20 +29,62 @@         --          -- ** Required extensions: 'VK_KHR_surface'.-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Bitmasks, VkDisplayModeCreateInfoKHR,-        VkDisplayModeCreateInfoKHR', VkDisplayModeParametersKHR,-        VkDisplayModeParametersKHR', VkDisplayModePropertiesKHR,-        VkDisplayModePropertiesKHR',-        module Graphics.Vulkan.Types.Enum.Display,-        VkDisplayPlaneCapabilitiesKHR, VkDisplayPlaneCapabilitiesKHR',-        VkDisplayPlanePropertiesKHR, VkDisplayPlanePropertiesKHR',-        VkDisplayPropertiesKHR, VkDisplayPropertiesKHR',-        VkDisplaySurfaceCreateInfoKHR, VkDisplaySurfaceCreateInfoKHR',-        VkExtent2D, VkExtent2D', VkOffset2D, VkOffset2D',-        module Graphics.Vulkan.Types.Enum.StructureType,-        module Graphics.Vulkan.Types.Enum.Surface,+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkAndroidSurfaceCreateFlagsKHR(..),+        VkBufferViewCreateFlags(..), VkCommandPoolTrimFlags(..),+        VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkDisplayModeCreateInfoKHR,+        VkDisplayModeParametersKHR, VkDisplayModePropertiesKHR,+        VkDisplayEventTypeEXT(..), VkDisplayPlaneAlphaBitmaskKHR(..),+        VkDisplayPowerStateEXT(..), VkDisplayPlaneAlphaFlagBitsKHR(),+        VkDisplayPlaneAlphaFlagsKHR(), VkDisplayPlaneCapabilitiesKHR,+        VkDisplayPlanePropertiesKHR, VkDisplayPropertiesKHR,+        VkDisplaySurfaceCreateInfoKHR, VkExtent2D, VkOffset2D,+        VkStructureType(..), VkSurfaceCounterBitmaskEXT(..),+        VkSurfaceTransformBitmaskKHR(..), VkSurfaceCounterFlagBitsEXT(),+        VkSurfaceCounterFlagsEXT(), VkSurfaceTransformFlagBitsKHR(),+        VkSurfaceTransformFlagsKHR(),         -- > #include "vk_platform.h"         VkGetPhysicalDeviceDisplayPropertiesKHR,         pattern VkGetPhysicalDeviceDisplayPropertiesKHR,@@ -86,16 +128,54 @@         HS_vkCreateDisplayPlaneSurfaceKHR,         PFN_vkCreateDisplayPlaneSurfaceKHR, vkCreateDisplayPlaneSurfaceKHR,         vkCreateDisplayPlaneSurfaceKHRUnsafe,-        vkCreateDisplayPlaneSurfaceKHRSafe,-        module Graphics.Vulkan.Types.Enum.InternalAllocationType,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Enum.SystemAllocationScope,-        module Graphics.Vulkan.Types.Funcpointers,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.AllocationCallbacks,-        module Graphics.Vulkan.Types.Struct.Display,-        module Graphics.Vulkan.Types.Struct.Extent,-        module Graphics.Vulkan.Types.Struct.Offset,+        vkCreateDisplayPlaneSurfaceKHRSafe, VkInternalAllocationType(..),+        VkResult(..), VkSystemAllocationScope(..), newVkAllocationFunction,+        newVkDebugReportCallbackEXT, newVkDebugUtilsMessengerCallbackEXT,+        newVkFreeFunction, newVkInternalAllocationNotification,+        newVkInternalFreeNotification, newVkReallocationFunction,+        newVkVoidFunction, unwrapVkAllocationFunction,+        unwrapVkDebugReportCallbackEXT,+        unwrapVkDebugUtilsMessengerCallbackEXT, unwrapVkFreeFunction,+        unwrapVkInternalAllocationNotification,+        unwrapVkInternalFreeNotification, unwrapVkReallocationFunction,+        unwrapVkVoidFunction, HS_vkAllocationFunction,+        HS_vkDebugReportCallbackEXT, HS_vkDebugUtilsMessengerCallbackEXT,+        HS_vkFreeFunction, HS_vkInternalAllocationNotification,+        HS_vkInternalFreeNotification, HS_vkReallocationFunction,+        HS_vkVoidFunction, PFN_vkAllocationFunction,+        PFN_vkDebugReportCallbackEXT, PFN_vkDebugUtilsMessengerCallbackEXT,+        PFN_vkFreeFunction, PFN_vkInternalAllocationNotification,+        PFN_vkInternalFreeNotification, PFN_vkReallocationFunction,+        PFN_vkVoidFunction, VkBuffer, VkBufferView, VkBufferView_T(),+        VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkAllocationCallbacks, VkDisplayEventInfoEXT,+        VkDisplayModeProperties2KHR, VkDisplayPlaneCapabilities2KHR,+        VkDisplayPlaneInfo2KHR, VkDisplayPlaneProperties2KHR,+        VkDisplayPowerInfoEXT, VkDisplayPresentInfoKHR,+        VkDisplayProperties2KHR, VkExtent3D, VkOffset3D,         VK_KHR_DISPLAY_SPEC_VERSION, pattern VK_KHR_DISPLAY_SPEC_VERSION,         VK_KHR_DISPLAY_EXTENSION_NAME,         pattern VK_KHR_DISPLAY_EXTENSION_NAME,@@ -128,8 +208,9 @@  pattern VkGetPhysicalDeviceDisplayPropertiesKHR <-         (is_VkGetPhysicalDeviceDisplayPropertiesKHR -> True)-  where VkGetPhysicalDeviceDisplayPropertiesKHR-          = _VkGetPhysicalDeviceDisplayPropertiesKHR+  where+    VkGetPhysicalDeviceDisplayPropertiesKHR+      = _VkGetPhysicalDeviceDisplayPropertiesKHR  {-# INLINE _VkGetPhysicalDeviceDisplayPropertiesKHR #-} @@ -335,26 +416,27 @@                  HS_vkGetPhysicalDeviceDisplayPropertiesKHR  instance VulkanProc "vkGetPhysicalDeviceDisplayPropertiesKHR" where-        type VkProcType "vkGetPhysicalDeviceDisplayPropertiesKHR" =-             HS_vkGetPhysicalDeviceDisplayPropertiesKHR-        vkProcSymbol = _VkGetPhysicalDeviceDisplayPropertiesKHR+    type VkProcType "vkGetPhysicalDeviceDisplayPropertiesKHR" =+         HS_vkGetPhysicalDeviceDisplayPropertiesKHR+    vkProcSymbol = _VkGetPhysicalDeviceDisplayPropertiesKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceDisplayPropertiesKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceDisplayPropertiesKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceDisplayPropertiesKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceDisplayPropertiesKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetPhysicalDeviceDisplayPlanePropertiesKHR :: CString  pattern VkGetPhysicalDeviceDisplayPlanePropertiesKHR <-         (is_VkGetPhysicalDeviceDisplayPlanePropertiesKHR -> True)-  where VkGetPhysicalDeviceDisplayPlanePropertiesKHR-          = _VkGetPhysicalDeviceDisplayPlanePropertiesKHR+  where+    VkGetPhysicalDeviceDisplayPlanePropertiesKHR+      = _VkGetPhysicalDeviceDisplayPlanePropertiesKHR  {-# INLINE _VkGetPhysicalDeviceDisplayPlanePropertiesKHR #-} @@ -565,26 +647,27 @@  instance VulkanProc "vkGetPhysicalDeviceDisplayPlanePropertiesKHR"          where-        type VkProcType "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" =-             HS_vkGetPhysicalDeviceDisplayPlanePropertiesKHR-        vkProcSymbol = _VkGetPhysicalDeviceDisplayPlanePropertiesKHR+    type VkProcType "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" =+         HS_vkGetPhysicalDeviceDisplayPlanePropertiesKHR+    vkProcSymbol = _VkGetPhysicalDeviceDisplayPlanePropertiesKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceDisplayPlanePropertiesKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceDisplayPlanePropertiesKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetDisplayPlaneSupportedDisplaysKHR :: CString  pattern VkGetDisplayPlaneSupportedDisplaysKHR <-         (is_VkGetDisplayPlaneSupportedDisplaysKHR -> True)-  where VkGetDisplayPlaneSupportedDisplaysKHR-          = _VkGetDisplayPlaneSupportedDisplaysKHR+  where+    VkGetDisplayPlaneSupportedDisplaysKHR+      = _VkGetDisplayPlaneSupportedDisplaysKHR  {-# INLINE _VkGetDisplayPlaneSupportedDisplaysKHR #-} @@ -798,26 +881,26 @@                  HS_vkGetDisplayPlaneSupportedDisplaysKHR  instance VulkanProc "vkGetDisplayPlaneSupportedDisplaysKHR" where-        type VkProcType "vkGetDisplayPlaneSupportedDisplaysKHR" =-             HS_vkGetDisplayPlaneSupportedDisplaysKHR-        vkProcSymbol = _VkGetDisplayPlaneSupportedDisplaysKHR+    type VkProcType "vkGetDisplayPlaneSupportedDisplaysKHR" =+         HS_vkGetDisplayPlaneSupportedDisplaysKHR+    vkProcSymbol = _VkGetDisplayPlaneSupportedDisplaysKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetDisplayPlaneSupportedDisplaysKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetDisplayPlaneSupportedDisplaysKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetDisplayPlaneSupportedDisplaysKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetDisplayPlaneSupportedDisplaysKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetDisplayModePropertiesKHR :: CString  pattern VkGetDisplayModePropertiesKHR <-         (is_VkGetDisplayModePropertiesKHR -> True)-  where VkGetDisplayModePropertiesKHR-          = _VkGetDisplayModePropertiesKHR+  where+    VkGetDisplayModePropertiesKHR = _VkGetDisplayModePropertiesKHR  {-# INLINE _VkGetDisplayModePropertiesKHR #-} @@ -1034,23 +1117,24 @@                  HS_vkGetDisplayModePropertiesKHR  instance VulkanProc "vkGetDisplayModePropertiesKHR" where-        type VkProcType "vkGetDisplayModePropertiesKHR" =-             HS_vkGetDisplayModePropertiesKHR-        vkProcSymbol = _VkGetDisplayModePropertiesKHR+    type VkProcType "vkGetDisplayModePropertiesKHR" =+         HS_vkGetDisplayModePropertiesKHR+    vkProcSymbol = _VkGetDisplayModePropertiesKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetDisplayModePropertiesKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetDisplayModePropertiesKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetDisplayModePropertiesKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetDisplayModePropertiesKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkCreateDisplayModeKHR :: CString  pattern VkCreateDisplayModeKHR <-         (is_VkCreateDisplayModeKHR -> True)-  where VkCreateDisplayModeKHR = _VkCreateDisplayModeKHR+  where+    VkCreateDisplayModeKHR = _VkCreateDisplayModeKHR  {-# INLINE _VkCreateDisplayModeKHR #-} @@ -1276,24 +1360,25 @@                PFN_vkCreateDisplayModeKHR -> HS_vkCreateDisplayModeKHR  instance VulkanProc "vkCreateDisplayModeKHR" where-        type VkProcType "vkCreateDisplayModeKHR" =-             HS_vkCreateDisplayModeKHR-        vkProcSymbol = _VkCreateDisplayModeKHR+    type VkProcType "vkCreateDisplayModeKHR" =+         HS_vkCreateDisplayModeKHR+    vkProcSymbol = _VkCreateDisplayModeKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateDisplayModeKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateDisplayModeKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateDisplayModeKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateDisplayModeKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetDisplayPlaneCapabilitiesKHR :: CString  pattern VkGetDisplayPlaneCapabilitiesKHR <-         (is_VkGetDisplayPlaneCapabilitiesKHR -> True)-  where VkGetDisplayPlaneCapabilitiesKHR-          = _VkGetDisplayPlaneCapabilitiesKHR+  where+    VkGetDisplayPlaneCapabilitiesKHR+      = _VkGetDisplayPlaneCapabilitiesKHR  {-# INLINE _VkGetDisplayPlaneCapabilitiesKHR #-} @@ -1513,25 +1598,25 @@                  HS_vkGetDisplayPlaneCapabilitiesKHR  instance VulkanProc "vkGetDisplayPlaneCapabilitiesKHR" where-        type VkProcType "vkGetDisplayPlaneCapabilitiesKHR" =-             HS_vkGetDisplayPlaneCapabilitiesKHR-        vkProcSymbol = _VkGetDisplayPlaneCapabilitiesKHR+    type VkProcType "vkGetDisplayPlaneCapabilitiesKHR" =+         HS_vkGetDisplayPlaneCapabilitiesKHR+    vkProcSymbol = _VkGetDisplayPlaneCapabilitiesKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetDisplayPlaneCapabilitiesKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetDisplayPlaneCapabilitiesKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetDisplayPlaneCapabilitiesKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetDisplayPlaneCapabilitiesKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkCreateDisplayPlaneSurfaceKHR :: CString  pattern VkCreateDisplayPlaneSurfaceKHR <-         (is_VkCreateDisplayPlaneSurfaceKHR -> True)-  where VkCreateDisplayPlaneSurfaceKHR-          = _VkCreateDisplayPlaneSurfaceKHR+  where+    VkCreateDisplayPlaneSurfaceKHR = _VkCreateDisplayPlaneSurfaceKHR  {-# INLINE _VkCreateDisplayPlaneSurfaceKHR #-} @@ -1750,17 +1835,17 @@                  HS_vkCreateDisplayPlaneSurfaceKHR  instance VulkanProc "vkCreateDisplayPlaneSurfaceKHR" where-        type VkProcType "vkCreateDisplayPlaneSurfaceKHR" =-             HS_vkCreateDisplayPlaneSurfaceKHR-        vkProcSymbol = _VkCreateDisplayPlaneSurfaceKHR+    type VkProcType "vkCreateDisplayPlaneSurfaceKHR" =+         HS_vkCreateDisplayPlaneSurfaceKHR+    vkProcSymbol = _VkCreateDisplayPlaneSurfaceKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateDisplayPlaneSurfaceKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateDisplayPlaneSurfaceKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateDisplayPlaneSurfaceKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateDisplayPlaneSurfaceKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_DISPLAY_SPEC_VERSION :: (Num a, Eq a) => a @@ -1772,8 +1857,8 @@  pattern VK_KHR_DISPLAY_EXTENSION_NAME <-         (is_VK_KHR_DISPLAY_EXTENSION_NAME -> True)-  where VK_KHR_DISPLAY_EXTENSION_NAME-          = _VK_KHR_DISPLAY_EXTENSION_NAME+  where+    VK_KHR_DISPLAY_EXTENSION_NAME = _VK_KHR_DISPLAY_EXTENSION_NAME  {-# INLINE _VK_KHR_DISPLAY_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_display_swapchain.hs view
@@ -12,49 +12,75 @@ {-# LANGUAGE TypeFamilies             #-} {-# LANGUAGE ViewPatterns             #-} module Graphics.Vulkan.Ext.VK_KHR_display_swapchain-       (-- * Vulkan extension: @VK_KHR_display_swapchain@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @James Jones @cubanismo@-        ---        -- author: @KHR@-        ---        -- type: @device@-        ---        -- Extension number: @4@-        ---        -- Required extensions: 'VK_KHR_swapchain', 'VK_KHR_display'.-        ----        -- ** Required extensions: 'VK_KHR_swapchain', 'VK_KHR_display'.-        module Graphics.Vulkan.Types.BaseTypes, VkDisplayPresentInfoKHR,-        VkDisplayPresentInfoKHR', VkExtent2D, VkExtent2D', VkOffset2D,-        VkOffset2D', VkPresentInfoKHR, VkPresentInfoKHR', VkRect2D,-        VkRect2D', module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Enum.StructureType,+       (VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkDisplayPresentInfoKHR, VkExtent2D, VkOffset2D, VkPresentInfoKHR,+        VkRect2D, VkResult(..), VkStructureType(..),         -- > #include "vk_platform.h"         VkCreateSharedSwapchainsKHR, pattern VkCreateSharedSwapchainsKHR,         HS_vkCreateSharedSwapchainsKHR, PFN_vkCreateSharedSwapchainsKHR,         vkCreateSharedSwapchainsKHR, vkCreateSharedSwapchainsKHRUnsafe,         vkCreateSharedSwapchainsKHRSafe, module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.Color,-        module Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR,-        module Graphics.Vulkan.Types.Enum.Format,-        module Graphics.Vulkan.Types.Enum.Image,-        module Graphics.Vulkan.Types.Enum.InternalAllocationType,-        module Graphics.Vulkan.Types.Enum.PresentModeKHR,-        module Graphics.Vulkan.Types.Enum.SharingMode,-        module Graphics.Vulkan.Types.Enum.Surface,-        module Graphics.Vulkan.Types.Enum.SwapchainCreateFlagsKHR,-        module Graphics.Vulkan.Types.Enum.SystemAllocationScope,-        module Graphics.Vulkan.Types.Funcpointers,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.AllocationCallbacks,-        module Graphics.Vulkan.Types.Struct.Extent,-        module Graphics.Vulkan.Types.Struct.SwapchainC,-        VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION,+        VkColorComponentBitmask(..), VkColorSpaceKHR(..),+        VkColorComponentFlagBits(), VkColorComponentFlags(),+        VkCompositeAlphaBitmaskKHR(..), VkCompositeAlphaFlagBitsKHR(),+        VkCompositeAlphaFlagsKHR(), VkFormat(..),+        VkFormatFeatureBitmask(..), VkFormatFeatureFlagBits(),+        VkFormatFeatureFlags(), VkImageAspectBitmask(..),+        VkImageCreateBitmask(..), VkImageLayout(..), VkImageTiling(..),+        VkImageType(..), VkImageUsageBitmask(..), VkImageViewType(..),+        VkImageAspectFlagBits(), VkImageAspectFlags(),+        VkImageCreateFlagBits(), VkImageCreateFlags(),+        VkImageUsageFlagBits(), VkImageUsageFlags(),+        VkInternalAllocationType(..), VkPresentModeKHR(..),+        VkSharingMode(..), VkSurfaceCounterBitmaskEXT(..),+        VkSurfaceTransformBitmaskKHR(..), VkSurfaceCounterFlagBitsEXT(),+        VkSurfaceCounterFlagsEXT(), VkSurfaceTransformFlagBitsKHR(),+        VkSurfaceTransformFlagsKHR(), VkSwapchainCreateBitmaskKHR(..),+        VkSwapchainCreateFlagBitsKHR(), VkSwapchainCreateFlagsKHR(),+        VkSystemAllocationScope(..), newVkAllocationFunction,+        newVkDebugReportCallbackEXT, newVkDebugUtilsMessengerCallbackEXT,+        newVkFreeFunction, newVkInternalAllocationNotification,+        newVkInternalFreeNotification, newVkReallocationFunction,+        newVkVoidFunction, unwrapVkAllocationFunction,+        unwrapVkDebugReportCallbackEXT,+        unwrapVkDebugUtilsMessengerCallbackEXT, unwrapVkFreeFunction,+        unwrapVkInternalAllocationNotification,+        unwrapVkInternalFreeNotification, unwrapVkReallocationFunction,+        unwrapVkVoidFunction, HS_vkAllocationFunction,+        HS_vkDebugReportCallbackEXT, HS_vkDebugUtilsMessengerCallbackEXT,+        HS_vkFreeFunction, HS_vkInternalAllocationNotification,+        HS_vkInternalFreeNotification, HS_vkReallocationFunction,+        HS_vkVoidFunction, PFN_vkAllocationFunction,+        PFN_vkDebugReportCallbackEXT, PFN_vkDebugUtilsMessengerCallbackEXT,+        PFN_vkFreeFunction, PFN_vkInternalAllocationNotification,+        PFN_vkInternalFreeNotification, PFN_vkReallocationFunction,+        PFN_vkVoidFunction, VkBuffer, VkBufferView, VkBufferView_T(),+        VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkAllocationCallbacks, VkExtent3D, VkSwapchainCounterCreateInfoEXT,+        VkSwapchainCreateInfoKHR, VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION,         pattern VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION,         VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME,         pattern VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME,@@ -80,14 +106,11 @@ import Graphics.Vulkan.Types.Funcpointers import Graphics.Vulkan.Types.Handles import Graphics.Vulkan.Types.Struct.AllocationCallbacks-import Graphics.Vulkan.Types.Struct.Display               (VkDisplayPresentInfoKHR,-                                                           VkDisplayPresentInfoKHR')+import Graphics.Vulkan.Types.Struct.Display               (VkDisplayPresentInfoKHR) import Graphics.Vulkan.Types.Struct.Extent-import Graphics.Vulkan.Types.Struct.Offset                (VkOffset2D,-                                                           VkOffset2D')-import Graphics.Vulkan.Types.Struct.Present               (VkPresentInfoKHR,-                                                           VkPresentInfoKHR')-import Graphics.Vulkan.Types.Struct.Rect                  (VkRect2D, VkRect2D')+import Graphics.Vulkan.Types.Struct.Offset                (VkOffset2D)+import Graphics.Vulkan.Types.Struct.Present               (VkPresentInfoKHR)+import Graphics.Vulkan.Types.Struct.Rect                  (VkRect2D) import Graphics.Vulkan.Types.Struct.SwapchainC import System.IO.Unsafe                                   (unsafeDupablePerformIO) @@ -95,7 +118,8 @@  pattern VkCreateSharedSwapchainsKHR <-         (is_VkCreateSharedSwapchainsKHR -> True)-  where VkCreateSharedSwapchainsKHR = _VkCreateSharedSwapchainsKHR+  where+    VkCreateSharedSwapchainsKHR = _VkCreateSharedSwapchainsKHR  {-# INLINE _VkCreateSharedSwapchainsKHR #-} @@ -326,17 +350,17 @@                PFN_vkCreateSharedSwapchainsKHR -> HS_vkCreateSharedSwapchainsKHR  instance VulkanProc "vkCreateSharedSwapchainsKHR" where-        type VkProcType "vkCreateSharedSwapchainsKHR" =-             HS_vkCreateSharedSwapchainsKHR-        vkProcSymbol = _VkCreateSharedSwapchainsKHR+    type VkProcType "vkCreateSharedSwapchainsKHR" =+         HS_vkCreateSharedSwapchainsKHR+    vkProcSymbol = _VkCreateSharedSwapchainsKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateSharedSwapchainsKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateSharedSwapchainsKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateSharedSwapchainsKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateSharedSwapchainsKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION :: (Num a, Eq a) => a @@ -348,8 +372,9 @@  pattern VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME <-         (is_VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME -> True)-  where VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME-          = _VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME+  where+    VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME+      = _VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME  {-# INLINE _VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_draw_indirect_count.hs view
@@ -28,9 +28,32 @@         pattern VkCmdDrawIndexedIndirectCountKHR,         HS_vkCmdDrawIndexedIndirectCountKHR,         PFN_vkCmdDrawIndexedIndirectCountKHR,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Handles,+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkBuffer, VkBufferView,+        VkBufferView_T(), VkBuffer_T(), VkCommandBuffer,+        VkCommandBuffer_T(), VkCommandPool, VkCommandPool_T(),+        VkDebugReportCallbackEXT, VkDebugReportCallbackEXT_T(),+        VkDebugUtilsMessengerEXT, VkDebugUtilsMessengerEXT_T(),+        VkDescriptorPool, VkDescriptorPool_T(), VkDescriptorSet,+        VkDescriptorSetLayout, VkDescriptorSetLayout_T(),+        VkDescriptorSet_T(), VkDescriptorUpdateTemplate,+        VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(),+        VkDescriptorUpdateTemplate_T(), VkDevice, VkDeviceMemory,+        VkDeviceMemory_T(), VkDevice_T(), VkDisplayKHR, VkDisplayKHR_T(),+        VkDisplayModeKHR, VkDisplayModeKHR_T(), VkEvent, VkEvent_T(),+        VkFence, VkFence_T(), VkFramebuffer, VkFramebuffer_T(), VkImage,+        VkImageView, VkImageView_T(), VkImage_T(),+        VkIndirectCommandsLayoutNVX, VkIndirectCommandsLayoutNVX_T(),+        VkInstance, VkInstance_T(), VkObjectTableNVX, VkObjectTableNVX_T(),+        VkPhysicalDevice, VkPhysicalDevice_T(), VkPipeline,+        VkPipelineCache, VkPipelineCache_T(), VkPipelineLayout,+        VkPipelineLayout_T(), VkPipeline_T(), VkQueryPool, VkQueryPool_T(),+        VkQueue, VkQueue_T(), VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),         VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION,         pattern VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION,         VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME,@@ -46,7 +69,8 @@  pattern VkCmdDrawIndirectCountKHR <-         (is_VkCmdDrawIndirectCountKHR -> True)-  where VkCmdDrawIndirectCountKHR = _VkCmdDrawIndirectCountKHR+  where+    VkCmdDrawIndirectCountKHR = _VkCmdDrawIndirectCountKHR  {-# INLINE _VkCmdDrawIndirectCountKHR #-} @@ -103,24 +127,25 @@                PFN_vkCmdDrawIndirectCountKHR -> HS_vkCmdDrawIndirectCountKHR  instance VulkanProc "vkCmdDrawIndirectCountKHR" where-        type VkProcType "vkCmdDrawIndirectCountKHR" =-             HS_vkCmdDrawIndirectCountKHR-        vkProcSymbol = _VkCmdDrawIndirectCountKHR+    type VkProcType "vkCmdDrawIndirectCountKHR" =+         HS_vkCmdDrawIndirectCountKHR+    vkProcSymbol = _VkCmdDrawIndirectCountKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdDrawIndirectCountKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdDrawIndirectCountKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdDrawIndirectCountKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdDrawIndirectCountKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkCmdDrawIndexedIndirectCountKHR :: CString  pattern VkCmdDrawIndexedIndirectCountKHR <-         (is_VkCmdDrawIndexedIndirectCountKHR -> True)-  where VkCmdDrawIndexedIndirectCountKHR-          = _VkCmdDrawIndexedIndirectCountKHR+  where+    VkCmdDrawIndexedIndirectCountKHR+      = _VkCmdDrawIndexedIndirectCountKHR  {-# INLINE _VkCmdDrawIndexedIndirectCountKHR #-} @@ -181,18 +206,18 @@                  HS_vkCmdDrawIndexedIndirectCountKHR  instance VulkanProc "vkCmdDrawIndexedIndirectCountKHR" where-        type VkProcType "vkCmdDrawIndexedIndirectCountKHR" =-             HS_vkCmdDrawIndexedIndirectCountKHR-        vkProcSymbol = _VkCmdDrawIndexedIndirectCountKHR+    type VkProcType "vkCmdDrawIndexedIndirectCountKHR" =+         HS_vkCmdDrawIndexedIndirectCountKHR+    vkProcSymbol = _VkCmdDrawIndexedIndirectCountKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkCmdDrawIndexedIndirectCountKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkCmdDrawIndexedIndirectCountKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdDrawIndexedIndirectCountKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdDrawIndexedIndirectCountKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION :: (Num a, Eq a) =>         a@@ -205,8 +230,9 @@  pattern VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME <-         (is_VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME -> True)-  where VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME-          = _VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME+  where+    VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME+      = _VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME  {-# INLINE _VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_fence.hs view
@@ -23,9 +23,54 @@         --          -- ** Required extensions: 'VK_KHR_external_fence_capabilities'.-        module Graphics.Vulkan.Types.Struct.Export,-        module Graphics.Vulkan.Types.Enum.Fence,-        module Graphics.Vulkan.Types.Bitmasks,+        VkExportFenceCreateInfoKHR, VkFenceCreateBitmask(..),+        VkFenceImportBitmask(..), VkFenceCreateFlagBits(),+        VkFenceCreateFlags(), VkFenceImportFlagBits(),+        VkFenceImportFlagBitsKHR(..), VkFenceImportFlags(),+        VkAndroidSurfaceCreateFlagsKHR(..), VkBufferViewCreateFlags(..),+        VkCommandPoolTrimFlags(..), VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..),         VK_KHR_EXTERNAL_FENCE_SPEC_VERSION,         pattern VK_KHR_EXTERNAL_FENCE_SPEC_VERSION,         VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME,@@ -38,7 +83,7 @@ import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.Bitmasks import Graphics.Vulkan.Types.Enum.Fence-import Graphics.Vulkan.Types.Struct.Export+import Graphics.Vulkan.Types.Struct.Export (VkExportFenceCreateInfoKHR)  pattern VK_KHR_EXTERNAL_FENCE_SPEC_VERSION :: (Num a, Eq a) => a @@ -50,8 +95,9 @@  pattern VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME <-         (is_VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME -> True)-  where VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME-          = _VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME+  where+    VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME+      = _VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME  {-# INLINE _VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_fence_capabilities.hs view
@@ -28,18 +28,173 @@         --          -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.-        module Graphics.Vulkan.Types.Enum.External,-        module Graphics.Vulkan.Types.Bitmasks,-        module Graphics.Vulkan.Types.Struct.External,-        module Graphics.Vulkan.Types.Struct.PhysicalDevice,+        VkExternalFenceFeatureBitmask(..),+        VkExternalFenceHandleTypeBitmask(..),+        VkExternalMemoryFeatureBitmask(..),+        VkExternalMemoryFeatureBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmask(..),+        VkExternalSemaphoreFeatureBitmask(..),+        VkExternalSemaphoreHandleTypeBitmask(..),+        VkExternalFenceFeatureFlagBits(),+        VkExternalFenceFeatureFlagBitsKHR(..),+        VkExternalFenceFeatureFlags(), VkExternalFenceHandleTypeFlagBits(),+        VkExternalFenceHandleTypeFlagBitsKHR(..),+        VkExternalFenceHandleTypeFlags(),+        VkExternalMemoryFeatureFlagBits(),+        VkExternalMemoryFeatureFlagBitsKHR(..),+        VkExternalMemoryFeatureFlagBitsNV(),+        VkExternalMemoryFeatureFlags(), VkExternalMemoryFeatureFlagsNV(),+        VkExternalMemoryHandleTypeFlagBits(),+        VkExternalMemoryHandleTypeFlagBitsKHR(..),+        VkExternalMemoryHandleTypeFlagBitsNV(),+        VkExternalMemoryHandleTypeFlags(),+        VkExternalMemoryHandleTypeFlagsNV(),+        VkExternalSemaphoreFeatureFlagBits(),+        VkExternalSemaphoreFeatureFlagBitsKHR(..),+        VkExternalSemaphoreFeatureFlags(),+        VkExternalSemaphoreHandleTypeFlagBits(),+        VkExternalSemaphoreHandleTypeFlagBitsKHR(..),+        VkExternalSemaphoreHandleTypeFlags(),+        VkAndroidSurfaceCreateFlagsKHR(..), VkBufferViewCreateFlags(..),+        VkCommandPoolTrimFlags(..), VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkExternalFencePropertiesKHR,+        VkPhysicalDeviceExternalFenceInfoKHR,+        VkPhysicalDeviceIDPropertiesKHR,         VkGetPhysicalDeviceExternalFencePropertiesKHR,         pattern VkGetPhysicalDeviceExternalFencePropertiesKHR,         HS_vkGetPhysicalDeviceExternalFencePropertiesKHR,         PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.StructureType,-        module Graphics.Vulkan.Types.Handles,+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkStructureType(..), VkBuffer,+        VkBufferView, VkBufferView_T(), VkBuffer_T(), VkCommandBuffer,+        VkCommandBuffer_T(), VkCommandPool, VkCommandPool_T(),+        VkDebugReportCallbackEXT, VkDebugReportCallbackEXT_T(),+        VkDebugUtilsMessengerEXT, VkDebugUtilsMessengerEXT_T(),+        VkDescriptorPool, VkDescriptorPool_T(), VkDescriptorSet,+        VkDescriptorSetLayout, VkDescriptorSetLayout_T(),+        VkDescriptorSet_T(), VkDescriptorUpdateTemplate,+        VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(),+        VkDescriptorUpdateTemplate_T(), VkDevice, VkDeviceMemory,+        VkDeviceMemory_T(), VkDevice_T(), VkDisplayKHR, VkDisplayKHR_T(),+        VkDisplayModeKHR, VkDisplayModeKHR_T(), VkEvent, VkEvent_T(),+        VkFence, VkFence_T(), VkFramebuffer, VkFramebuffer_T(), VkImage,+        VkImageView, VkImageView_T(), VkImage_T(),+        VkIndirectCommandsLayoutNVX, VkIndirectCommandsLayoutNVX_T(),+        VkInstance, VkInstance_T(), VkObjectTableNVX, VkObjectTableNVX_T(),+        VkPhysicalDevice, VkPhysicalDevice_T(), VkPipeline,+        VkPipelineCache, VkPipelineCache_T(), VkPipelineLayout,+        VkPipelineLayout_T(), VkPipeline_T(), VkQueryPool, VkQueryPool_T(),+        VkQueue, VkQueue_T(), VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkExternalBufferProperties, VkExternalBufferPropertiesKHR,+        VkExternalFenceProperties, VkExternalImageFormatProperties,+        VkExternalImageFormatPropertiesKHR,+        VkExternalImageFormatPropertiesNV,+        VkExternalMemoryBufferCreateInfo,+        VkExternalMemoryBufferCreateInfoKHR,+        VkExternalMemoryImageCreateInfo,+        VkExternalMemoryImageCreateInfoKHR,+        VkExternalMemoryImageCreateInfoNV, VkExternalMemoryProperties,+        VkExternalMemoryPropertiesKHR, VkExternalSemaphoreProperties,+        VkExternalSemaphorePropertiesKHR,+        VkPhysicalDevice16BitStorageFeatures,+        VkPhysicalDevice16BitStorageFeaturesKHR,+        VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT,+        VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT,+        VkPhysicalDeviceConservativeRasterizationPropertiesEXT,+        VkPhysicalDeviceDescriptorIndexingFeaturesEXT,+        VkPhysicalDeviceDescriptorIndexingPropertiesEXT,+        VkPhysicalDeviceDiscardRectanglePropertiesEXT,+        VkPhysicalDeviceExternalBufferInfo,+        VkPhysicalDeviceExternalBufferInfoKHR,+        VkPhysicalDeviceExternalFenceInfo,+        VkPhysicalDeviceExternalImageFormatInfo,+        VkPhysicalDeviceExternalImageFormatInfoKHR,+        VkPhysicalDeviceExternalMemoryHostPropertiesEXT,+        VkPhysicalDeviceExternalSemaphoreInfo,+        VkPhysicalDeviceExternalSemaphoreInfoKHR,+        VkPhysicalDeviceFeatures2, VkPhysicalDeviceFeatures2KHR,+        VkPhysicalDeviceGroupProperties,+        VkPhysicalDeviceGroupPropertiesKHR, VkPhysicalDeviceIDProperties,+        VkPhysicalDeviceImageFormatInfo2,+        VkPhysicalDeviceImageFormatInfo2KHR, VkPhysicalDeviceLimits,+        VkPhysicalDeviceMaintenance3Properties,+        VkPhysicalDeviceMaintenance3PropertiesKHR,+        VkPhysicalDeviceMemoryProperties,+        VkPhysicalDeviceMemoryProperties2,+        VkPhysicalDeviceMemoryProperties2KHR,+        VkPhysicalDeviceMultiviewFeatures,+        VkPhysicalDeviceMultiviewFeaturesKHR,+        VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,+        VkPhysicalDeviceMultiviewProperties,+        VkPhysicalDeviceMultiviewPropertiesKHR,+        VkPhysicalDevicePointClippingProperties,+        VkPhysicalDevicePointClippingPropertiesKHR,+        VkPhysicalDeviceProperties, VkPhysicalDeviceProperties2,+        VkPhysicalDeviceProperties2KHR,+        VkPhysicalDeviceProtectedMemoryFeatures,+        VkPhysicalDeviceProtectedMemoryProperties,+        VkPhysicalDevicePushDescriptorPropertiesKHR,+        VkPhysicalDeviceSampleLocationsPropertiesEXT,+        VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT,+        VkPhysicalDeviceSamplerYcbcrConversionFeatures,+        VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR,+        VkPhysicalDeviceShaderCorePropertiesAMD,+        VkPhysicalDeviceShaderDrawParameterFeatures,+        VkPhysicalDeviceSparseImageFormatInfo2,+        VkPhysicalDeviceSparseImageFormatInfo2KHR,+        VkPhysicalDeviceSparseProperties,+        VkPhysicalDeviceSubgroupProperties,+        VkPhysicalDeviceSurfaceInfo2KHR,+        VkPhysicalDeviceVariablePointerFeatures,+        VkPhysicalDeviceVariablePointerFeaturesKHR,+        VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT,         VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION,         pattern VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION,         VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME,@@ -72,8 +227,9 @@  pattern VkGetPhysicalDeviceExternalFencePropertiesKHR <-         (is_VkGetPhysicalDeviceExternalFencePropertiesKHR -> True)-  where VkGetPhysicalDeviceExternalFencePropertiesKHR-          = _VkGetPhysicalDeviceExternalFencePropertiesKHR+  where+    VkGetPhysicalDeviceExternalFencePropertiesKHR+      = _VkGetPhysicalDeviceExternalFencePropertiesKHR  {-# INLINE _VkGetPhysicalDeviceExternalFencePropertiesKHR #-} @@ -123,19 +279,19 @@  instance VulkanProc "vkGetPhysicalDeviceExternalFencePropertiesKHR"          where-        type VkProcType "vkGetPhysicalDeviceExternalFencePropertiesKHR" =-             HS_vkGetPhysicalDeviceExternalFencePropertiesKHR-        vkProcSymbol = _VkGetPhysicalDeviceExternalFencePropertiesKHR+    type VkProcType "vkGetPhysicalDeviceExternalFencePropertiesKHR" =+         HS_vkGetPhysicalDeviceExternalFencePropertiesKHR+    vkProcSymbol = _VkGetPhysicalDeviceExternalFencePropertiesKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceExternalFencePropertiesKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceExternalFencePropertiesKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceExternalFencePropertiesKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceExternalFencePropertiesKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION ::         (Num a, Eq a) => a@@ -149,8 +305,9 @@  pattern VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME <-         (is_VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME -> True)-  where VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME-          = _VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME+  where+    VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME+      = _VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME  {-# INLINE _VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_fence_fd.hs view
@@ -27,20 +27,70 @@         --          -- ** Required extensions: 'VK_KHR_external_fence'.-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.External, VkFenceGetFdInfoKHR,-        VkFenceGetFdInfoKHR', module Graphics.Vulkan.Types.Enum.Fence,-        module Graphics.Vulkan.Types.BaseTypes, VkImportFenceFdInfoKHR,-        VkImportFenceFdInfoKHR',-        module Graphics.Vulkan.Types.Enum.StructureType,+        module Graphics.Vulkan.Marshal, VkExternalFenceFeatureBitmask(..),+        VkExternalFenceHandleTypeBitmask(..),+        VkExternalMemoryFeatureBitmask(..),+        VkExternalMemoryFeatureBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmask(..),+        VkExternalSemaphoreFeatureBitmask(..),+        VkExternalSemaphoreHandleTypeBitmask(..),+        VkExternalFenceFeatureFlagBits(),+        VkExternalFenceFeatureFlagBitsKHR(..),+        VkExternalFenceFeatureFlags(), VkExternalFenceHandleTypeFlagBits(),+        VkExternalFenceHandleTypeFlagBitsKHR(..),+        VkExternalFenceHandleTypeFlags(),+        VkExternalMemoryFeatureFlagBits(),+        VkExternalMemoryFeatureFlagBitsKHR(..),+        VkExternalMemoryFeatureFlagBitsNV(),+        VkExternalMemoryFeatureFlags(), VkExternalMemoryFeatureFlagsNV(),+        VkExternalMemoryHandleTypeFlagBits(),+        VkExternalMemoryHandleTypeFlagBitsKHR(..),+        VkExternalMemoryHandleTypeFlagBitsNV(),+        VkExternalMemoryHandleTypeFlags(),+        VkExternalMemoryHandleTypeFlagsNV(),+        VkExternalSemaphoreFeatureFlagBits(),+        VkExternalSemaphoreFeatureFlagBitsKHR(..),+        VkExternalSemaphoreFeatureFlags(),+        VkExternalSemaphoreHandleTypeFlagBits(),+        VkExternalSemaphoreHandleTypeFlagBitsKHR(..),+        VkExternalSemaphoreHandleTypeFlags(), VkFenceGetFdInfoKHR,+        VkFenceCreateBitmask(..), VkFenceImportBitmask(..),+        VkFenceCreateFlagBits(), VkFenceCreateFlags(),+        VkFenceImportFlagBits(), VkFenceImportFlagBitsKHR(..),+        VkFenceImportFlags(), VkBool32(..), VkDeviceSize(..), VkFlags(..),+        VkSampleMask(..), VkImportFenceFdInfoKHR, VkStructureType(..),         -- > #include "vk_platform.h"         VkImportFenceFdKHR, pattern VkImportFenceFdKHR,         HS_vkImportFenceFdKHR, PFN_vkImportFenceFdKHR, VkGetFenceFdKHR,         pattern VkGetFenceFdKHR, HS_vkGetFenceFdKHR, PFN_vkGetFenceFdKHR,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.Fence,-        module Graphics.Vulkan.Types.Struct.Import,+        VkResult(..), VkBuffer, VkBufferView, VkBufferView_T(),+        VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkFenceCreateInfo, VkImportMemoryFdInfoKHR,+        VkImportMemoryHostPointerInfoEXT, VkImportSemaphoreFdInfoKHR,         VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION,         pattern VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION,         VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME,@@ -63,7 +113,8 @@ pattern VkImportFenceFdKHR :: CString  pattern VkImportFenceFdKHR <- (is_VkImportFenceFdKHR -> True)-  where VkImportFenceFdKHR = _VkImportFenceFdKHR+  where+    VkImportFenceFdKHR = _VkImportFenceFdKHR  {-# INLINE _VkImportFenceFdKHR #-} @@ -102,21 +153,22 @@                PFN_vkImportFenceFdKHR -> HS_vkImportFenceFdKHR  instance VulkanProc "vkImportFenceFdKHR" where-        type VkProcType "vkImportFenceFdKHR" = HS_vkImportFenceFdKHR-        vkProcSymbol = _VkImportFenceFdKHR+    type VkProcType "vkImportFenceFdKHR" = HS_vkImportFenceFdKHR+    vkProcSymbol = _VkImportFenceFdKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkImportFenceFdKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkImportFenceFdKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkImportFenceFdKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkImportFenceFdKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetFenceFdKHR :: CString  pattern VkGetFenceFdKHR <- (is_VkGetFenceFdKHR -> True)-  where VkGetFenceFdKHR = _VkGetFenceFdKHR+  where+    VkGetFenceFdKHR = _VkGetFenceFdKHR  {-# INLINE _VkGetFenceFdKHR #-} @@ -156,16 +208,16 @@                PFN_vkGetFenceFdKHR -> HS_vkGetFenceFdKHR  instance VulkanProc "vkGetFenceFdKHR" where-        type VkProcType "vkGetFenceFdKHR" = HS_vkGetFenceFdKHR-        vkProcSymbol = _VkGetFenceFdKHR+    type VkProcType "vkGetFenceFdKHR" = HS_vkGetFenceFdKHR+    vkProcSymbol = _VkGetFenceFdKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetFenceFdKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetFenceFdKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetFenceFdKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetFenceFdKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION :: (Num a, Eq a) => a @@ -177,8 +229,9 @@  pattern VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME <-         (is_VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME -> True)-  where VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME-          = _VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME+  where+    VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME+      = _VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME  {-# INLINE _VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_fence_win32.hs view
@@ -29,24 +29,82 @@         --          -- ** Required extensions: 'VK_KHR_external_fence'.-        VkExportFenceWin32HandleInfoKHR, VkExportFenceWin32HandleInfoKHR',-        module Graphics.Vulkan.Types.Enum.External,-        module Graphics.Vulkan.Types.Enum.Fence, VkFenceCreateInfo,-        VkFenceCreateInfo', VkFenceGetWin32HandleInfoKHR,-        VkFenceGetWin32HandleInfoKHR',-        module Graphics.Vulkan.Types.BaseTypes,-        VkImportFenceWin32HandleInfoKHR, VkImportFenceWin32HandleInfoKHR',-        module Graphics.Vulkan.Types.Enum.StructureType,+        VkExportFenceWin32HandleInfoKHR,+        VkExternalFenceFeatureBitmask(..),+        VkExternalFenceHandleTypeBitmask(..),+        VkExternalMemoryFeatureBitmask(..),+        VkExternalMemoryFeatureBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmask(..),+        VkExternalSemaphoreFeatureBitmask(..),+        VkExternalSemaphoreHandleTypeBitmask(..),+        VkExternalFenceFeatureFlagBits(),+        VkExternalFenceFeatureFlagBitsKHR(..),+        VkExternalFenceFeatureFlags(), VkExternalFenceHandleTypeFlagBits(),+        VkExternalFenceHandleTypeFlagBitsKHR(..),+        VkExternalFenceHandleTypeFlags(),+        VkExternalMemoryFeatureFlagBits(),+        VkExternalMemoryFeatureFlagBitsKHR(..),+        VkExternalMemoryFeatureFlagBitsNV(),+        VkExternalMemoryFeatureFlags(), VkExternalMemoryFeatureFlagsNV(),+        VkExternalMemoryHandleTypeFlagBits(),+        VkExternalMemoryHandleTypeFlagBitsKHR(..),+        VkExternalMemoryHandleTypeFlagBitsNV(),+        VkExternalMemoryHandleTypeFlags(),+        VkExternalMemoryHandleTypeFlagsNV(),+        VkExternalSemaphoreFeatureFlagBits(),+        VkExternalSemaphoreFeatureFlagBitsKHR(..),+        VkExternalSemaphoreFeatureFlags(),+        VkExternalSemaphoreHandleTypeFlagBits(),+        VkExternalSemaphoreHandleTypeFlagBitsKHR(..),+        VkExternalSemaphoreHandleTypeFlags(), VkFenceCreateBitmask(..),+        VkFenceImportBitmask(..), VkFenceCreateFlagBits(),+        VkFenceCreateFlags(), VkFenceImportFlagBits(),+        VkFenceImportFlagBitsKHR(..), VkFenceImportFlags(),+        VkFenceCreateInfo, VkFenceGetWin32HandleInfoKHR, VkBool32(..),+        VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkImportFenceWin32HandleInfoKHR, VkStructureType(..),         -- > #include "vk_platform.h"         VkImportFenceWin32HandleKHR, pattern VkImportFenceWin32HandleKHR,         HS_vkImportFenceWin32HandleKHR, PFN_vkImportFenceWin32HandleKHR,         VkGetFenceWin32HandleKHR, pattern VkGetFenceWin32HandleKHR,         HS_vkGetFenceWin32HandleKHR, PFN_vkGetFenceWin32HandleKHR,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Include,-        module Graphics.Vulkan.Types.Struct.PlatformWin32Khr,+        module Graphics.Vulkan.Marshal, VkResult(..), VkBuffer,+        VkBufferView, VkBufferView_T(), VkBuffer_T(), VkCommandBuffer,+        VkCommandBuffer_T(), VkCommandPool, VkCommandPool_T(),+        VkDebugReportCallbackEXT, VkDebugReportCallbackEXT_T(),+        VkDebugUtilsMessengerEXT, VkDebugUtilsMessengerEXT_T(),+        VkDescriptorPool, VkDescriptorPool_T(), VkDescriptorSet,+        VkDescriptorSetLayout, VkDescriptorSetLayout_T(),+        VkDescriptorSet_T(), VkDescriptorUpdateTemplate,+        VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(),+        VkDescriptorUpdateTemplate_T(), VkDevice, VkDeviceMemory,+        VkDeviceMemory_T(), VkDevice_T(), VkDisplayKHR, VkDisplayKHR_T(),+        VkDisplayModeKHR, VkDisplayModeKHR_T(), VkEvent, VkEvent_T(),+        VkFence, VkFence_T(), VkFramebuffer, VkFramebuffer_T(), VkImage,+        VkImageView, VkImageView_T(), VkImage_T(),+        VkIndirectCommandsLayoutNVX, VkIndirectCommandsLayoutNVX_T(),+        VkInstance, VkInstance_T(), VkObjectTableNVX, VkObjectTableNVX_T(),+        VkPhysicalDevice, VkPhysicalDevice_T(), VkPipeline,+        VkPipelineCache, VkPipelineCache_T(), VkPipelineLayout,+        VkPipelineLayout_T(), VkPipeline_T(), VkQueryPool, VkQueryPool_T(),+        VkQueue, VkQueue_T(), VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        DWORD, Display, HANDLE, HINSTANCE, HWND, LPCWSTR, MirConnection,+        MirSurface, RROutput, SECURITY_ATTRIBUTES, VisualID, Window,+        WlDisplay, WlSurface, XcbConnectionT, XcbVisualidT, XcbWindowT,+        VkD3D12FenceSubmitInfoKHR, VkExportMemoryWin32HandleInfoKHR,+        VkExportMemoryWin32HandleInfoNV,+        VkExportSemaphoreWin32HandleInfoKHR,+        VkImportMemoryWin32HandleInfoKHR, VkImportMemoryWin32HandleInfoNV,+        VkImportSemaphoreWin32HandleInfoKHR, VkMemoryGetWin32HandleInfoKHR,+        VkMemoryWin32HandlePropertiesKHR, VkSemaphoreGetWin32HandleInfoKHR,+        VkWin32KeyedMutexAcquireReleaseInfoKHR,+        VkWin32KeyedMutexAcquireReleaseInfoNV, VkWin32SurfaceCreateInfoKHR,         VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION,         pattern VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION,         VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME,@@ -65,15 +123,15 @@ import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles import Graphics.Vulkan.Types.Include-import Graphics.Vulkan.Types.Struct.Fence            (VkFenceCreateInfo,-                                                      VkFenceCreateInfo')+import Graphics.Vulkan.Types.Struct.Fence            (VkFenceCreateInfo) import Graphics.Vulkan.Types.Struct.PlatformWin32Khr  pattern VkImportFenceWin32HandleKHR :: CString  pattern VkImportFenceWin32HandleKHR <-         (is_VkImportFenceWin32HandleKHR -> True)-  where VkImportFenceWin32HandleKHR = _VkImportFenceWin32HandleKHR+  where+    VkImportFenceWin32HandleKHR = _VkImportFenceWin32HandleKHR  {-# INLINE _VkImportFenceWin32HandleKHR #-} @@ -116,23 +174,24 @@                PFN_vkImportFenceWin32HandleKHR -> HS_vkImportFenceWin32HandleKHR  instance VulkanProc "vkImportFenceWin32HandleKHR" where-        type VkProcType "vkImportFenceWin32HandleKHR" =-             HS_vkImportFenceWin32HandleKHR-        vkProcSymbol = _VkImportFenceWin32HandleKHR+    type VkProcType "vkImportFenceWin32HandleKHR" =+         HS_vkImportFenceWin32HandleKHR+    vkProcSymbol = _VkImportFenceWin32HandleKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkImportFenceWin32HandleKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkImportFenceWin32HandleKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkImportFenceWin32HandleKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkImportFenceWin32HandleKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetFenceWin32HandleKHR :: CString  pattern VkGetFenceWin32HandleKHR <-         (is_VkGetFenceWin32HandleKHR -> True)-  where VkGetFenceWin32HandleKHR = _VkGetFenceWin32HandleKHR+  where+    VkGetFenceWin32HandleKHR = _VkGetFenceWin32HandleKHR  {-# INLINE _VkGetFenceWin32HandleKHR #-} @@ -177,17 +236,17 @@                PFN_vkGetFenceWin32HandleKHR -> HS_vkGetFenceWin32HandleKHR  instance VulkanProc "vkGetFenceWin32HandleKHR" where-        type VkProcType "vkGetFenceWin32HandleKHR" =-             HS_vkGetFenceWin32HandleKHR-        vkProcSymbol = _VkGetFenceWin32HandleKHR+    type VkProcType "vkGetFenceWin32HandleKHR" =+         HS_vkGetFenceWin32HandleKHR+    vkProcSymbol = _VkGetFenceWin32HandleKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetFenceWin32HandleKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetFenceWin32HandleKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetFenceWin32HandleKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetFenceWin32HandleKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION ::         (Num a, Eq a) => a@@ -200,8 +259,9 @@  pattern VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME <-         (is_VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME -> True)-  where VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME-          = _VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME+  where+    VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME+      = _VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME  {-# INLINE _VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_memory.hs view
@@ -23,8 +23,9 @@         --          -- ** Required extensions: 'VK_KHR_external_memory_capabilities'.-        module Graphics.Vulkan.Types.Struct.Export,-        module Graphics.Vulkan.Types.Struct.External,+        VkExportMemoryAllocateInfoKHR,+        VkExternalMemoryBufferCreateInfoKHR,+        VkExternalMemoryImageCreateInfoKHR,         VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION,         pattern VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION,         VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME,@@ -42,8 +43,9 @@                                               pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,                                               pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO) import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.Struct.Export-import Graphics.Vulkan.Types.Struct.External+import Graphics.Vulkan.Types.Struct.Export   (VkExportMemoryAllocateInfoKHR)+import Graphics.Vulkan.Types.Struct.External (VkExternalMemoryBufferCreateInfoKHR,+                                              VkExternalMemoryImageCreateInfoKHR)  pattern VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION :: (Num a, Eq a) => a @@ -55,8 +57,9 @@  pattern VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME <-         (is_VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME -> True)-  where VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME-          = _VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME+  where+    VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME+      = _VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME  {-# INLINE _VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_memory_capabilities.hs view
@@ -28,19 +28,176 @@         --          -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.-        module Graphics.Vulkan.Types.Struct.External,-        module Graphics.Vulkan.Types.Enum.External,-        module Graphics.Vulkan.Types.Bitmasks,-        module Graphics.Vulkan.Types.Struct.PhysicalDevice,+        VkExternalBufferPropertiesKHR, VkExternalImageFormatPropertiesKHR,+        VkExternalFenceFeatureBitmask(..),+        VkExternalFenceHandleTypeBitmask(..),+        VkExternalMemoryFeatureBitmask(..),+        VkExternalMemoryFeatureBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmask(..),+        VkExternalSemaphoreFeatureBitmask(..),+        VkExternalSemaphoreHandleTypeBitmask(..),+        VkExternalFenceFeatureFlagBits(),+        VkExternalFenceFeatureFlagBitsKHR(..),+        VkExternalFenceFeatureFlags(), VkExternalFenceHandleTypeFlagBits(),+        VkExternalFenceHandleTypeFlagBitsKHR(..),+        VkExternalFenceHandleTypeFlags(),+        VkExternalMemoryFeatureFlagBits(),+        VkExternalMemoryFeatureFlagBitsKHR(..),+        VkExternalMemoryFeatureFlagBitsNV(),+        VkExternalMemoryFeatureFlags(), VkExternalMemoryFeatureFlagsNV(),+        VkExternalMemoryHandleTypeFlagBits(),+        VkExternalMemoryHandleTypeFlagBitsKHR(..),+        VkExternalMemoryHandleTypeFlagBitsNV(),+        VkExternalMemoryHandleTypeFlags(),+        VkExternalMemoryHandleTypeFlagsNV(),+        VkExternalSemaphoreFeatureFlagBits(),+        VkExternalSemaphoreFeatureFlagBitsKHR(..),+        VkExternalSemaphoreFeatureFlags(),+        VkExternalSemaphoreHandleTypeFlagBits(),+        VkExternalSemaphoreHandleTypeFlagBitsKHR(..),+        VkExternalSemaphoreHandleTypeFlags(),+        VkAndroidSurfaceCreateFlagsKHR(..), VkBufferViewCreateFlags(..),+        VkCommandPoolTrimFlags(..), VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkExternalMemoryPropertiesKHR,+        VkPhysicalDeviceExternalBufferInfoKHR,+        VkPhysicalDeviceExternalImageFormatInfoKHR,+        VkPhysicalDeviceIDPropertiesKHR,         VkGetPhysicalDeviceExternalBufferPropertiesKHR,         pattern VkGetPhysicalDeviceExternalBufferPropertiesKHR,         HS_vkGetPhysicalDeviceExternalBufferPropertiesKHR,         PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.Buffer,-        module Graphics.Vulkan.Types.Enum.StructureType,-        module Graphics.Vulkan.Types.Handles,+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkBufferCreateBitmask(..),+        VkBufferUsageBitmask(..), VkBufferCreateFlagBits(),+        VkBufferCreateFlags(), VkBufferUsageFlagBits(),+        VkBufferUsageFlags(), VkBufferViewCreateFlagBits(..),+        VkStructureType(..), VkBuffer, VkBufferView, VkBufferView_T(),+        VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkExternalBufferProperties, VkExternalFenceProperties,+        VkExternalFencePropertiesKHR, VkExternalImageFormatProperties,+        VkExternalImageFormatPropertiesNV,+        VkExternalMemoryBufferCreateInfo,+        VkExternalMemoryBufferCreateInfoKHR,+        VkExternalMemoryImageCreateInfo,+        VkExternalMemoryImageCreateInfoKHR,+        VkExternalMemoryImageCreateInfoNV, VkExternalMemoryProperties,+        VkExternalSemaphoreProperties, VkExternalSemaphorePropertiesKHR,+        VkPhysicalDevice16BitStorageFeatures,+        VkPhysicalDevice16BitStorageFeaturesKHR,+        VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT,+        VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT,+        VkPhysicalDeviceConservativeRasterizationPropertiesEXT,+        VkPhysicalDeviceDescriptorIndexingFeaturesEXT,+        VkPhysicalDeviceDescriptorIndexingPropertiesEXT,+        VkPhysicalDeviceDiscardRectanglePropertiesEXT,+        VkPhysicalDeviceExternalBufferInfo,+        VkPhysicalDeviceExternalFenceInfo,+        VkPhysicalDeviceExternalFenceInfoKHR,+        VkPhysicalDeviceExternalImageFormatInfo,+        VkPhysicalDeviceExternalMemoryHostPropertiesEXT,+        VkPhysicalDeviceExternalSemaphoreInfo,+        VkPhysicalDeviceExternalSemaphoreInfoKHR,+        VkPhysicalDeviceFeatures2, VkPhysicalDeviceFeatures2KHR,+        VkPhysicalDeviceGroupProperties,+        VkPhysicalDeviceGroupPropertiesKHR, VkPhysicalDeviceIDProperties,+        VkPhysicalDeviceImageFormatInfo2,+        VkPhysicalDeviceImageFormatInfo2KHR, VkPhysicalDeviceLimits,+        VkPhysicalDeviceMaintenance3Properties,+        VkPhysicalDeviceMaintenance3PropertiesKHR,+        VkPhysicalDeviceMemoryProperties,+        VkPhysicalDeviceMemoryProperties2,+        VkPhysicalDeviceMemoryProperties2KHR,+        VkPhysicalDeviceMultiviewFeatures,+        VkPhysicalDeviceMultiviewFeaturesKHR,+        VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,+        VkPhysicalDeviceMultiviewProperties,+        VkPhysicalDeviceMultiviewPropertiesKHR,+        VkPhysicalDevicePointClippingProperties,+        VkPhysicalDevicePointClippingPropertiesKHR,+        VkPhysicalDeviceProperties, VkPhysicalDeviceProperties2,+        VkPhysicalDeviceProperties2KHR,+        VkPhysicalDeviceProtectedMemoryFeatures,+        VkPhysicalDeviceProtectedMemoryProperties,+        VkPhysicalDevicePushDescriptorPropertiesKHR,+        VkPhysicalDeviceSampleLocationsPropertiesEXT,+        VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT,+        VkPhysicalDeviceSamplerYcbcrConversionFeatures,+        VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR,+        VkPhysicalDeviceShaderCorePropertiesAMD,+        VkPhysicalDeviceShaderDrawParameterFeatures,+        VkPhysicalDeviceSparseImageFormatInfo2,+        VkPhysicalDeviceSparseImageFormatInfo2KHR,+        VkPhysicalDeviceSparseProperties,+        VkPhysicalDeviceSubgroupProperties,+        VkPhysicalDeviceSurfaceInfo2KHR,+        VkPhysicalDeviceVariablePointerFeatures,+        VkPhysicalDeviceVariablePointerFeaturesKHR,+        VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT,         VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION,         pattern VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION,         VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME,@@ -84,8 +241,9 @@  pattern VkGetPhysicalDeviceExternalBufferPropertiesKHR <-         (is_VkGetPhysicalDeviceExternalBufferPropertiesKHR -> True)-  where VkGetPhysicalDeviceExternalBufferPropertiesKHR-          = _VkGetPhysicalDeviceExternalBufferPropertiesKHR+  where+    VkGetPhysicalDeviceExternalBufferPropertiesKHR+      = _VkGetPhysicalDeviceExternalBufferPropertiesKHR  {-# INLINE _VkGetPhysicalDeviceExternalBufferPropertiesKHR #-} @@ -137,19 +295,19 @@ instance VulkanProc            "vkGetPhysicalDeviceExternalBufferPropertiesKHR"          where-        type VkProcType "vkGetPhysicalDeviceExternalBufferPropertiesKHR" =-             HS_vkGetPhysicalDeviceExternalBufferPropertiesKHR-        vkProcSymbol = _VkGetPhysicalDeviceExternalBufferPropertiesKHR+    type VkProcType "vkGetPhysicalDeviceExternalBufferPropertiesKHR" =+         HS_vkGetPhysicalDeviceExternalBufferPropertiesKHR+    vkProcSymbol = _VkGetPhysicalDeviceExternalBufferPropertiesKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceExternalBufferPropertiesKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceExternalBufferPropertiesKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceExternalBufferPropertiesKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceExternalBufferPropertiesKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION ::         (Num a, Eq a) => a@@ -163,8 +321,9 @@  pattern VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME <-         (is_VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME -> True)-  where VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME-          = _VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME+  where+    VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME+      = _VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME  {-# INLINE _VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_memory_fd.hs view
@@ -28,22 +28,72 @@         --          -- ** Required extensions: 'VK_KHR_external_memory'.-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.External,-        VkImportMemoryFdInfoKHR, VkImportMemoryFdInfoKHR',-        VkMemoryAllocateInfo, VkMemoryAllocateInfo',-        VkMemoryFdPropertiesKHR, VkMemoryFdPropertiesKHR',-        VkMemoryGetFdInfoKHR, VkMemoryGetFdInfoKHR',-        module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h"-                                                         VkGetMemoryFdKHR,+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkExternalFenceFeatureBitmask(..),+        VkExternalFenceHandleTypeBitmask(..),+        VkExternalMemoryFeatureBitmask(..),+        VkExternalMemoryFeatureBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmask(..),+        VkExternalSemaphoreFeatureBitmask(..),+        VkExternalSemaphoreHandleTypeBitmask(..),+        VkExternalFenceFeatureFlagBits(),+        VkExternalFenceFeatureFlagBitsKHR(..),+        VkExternalFenceFeatureFlags(), VkExternalFenceHandleTypeFlagBits(),+        VkExternalFenceHandleTypeFlagBitsKHR(..),+        VkExternalFenceHandleTypeFlags(),+        VkExternalMemoryFeatureFlagBits(),+        VkExternalMemoryFeatureFlagBitsKHR(..),+        VkExternalMemoryFeatureFlagBitsNV(),+        VkExternalMemoryFeatureFlags(), VkExternalMemoryFeatureFlagsNV(),+        VkExternalMemoryHandleTypeFlagBits(),+        VkExternalMemoryHandleTypeFlagBitsKHR(..),+        VkExternalMemoryHandleTypeFlagBitsNV(),+        VkExternalMemoryHandleTypeFlags(),+        VkExternalMemoryHandleTypeFlagsNV(),+        VkExternalSemaphoreFeatureFlagBits(),+        VkExternalSemaphoreFeatureFlagBitsKHR(..),+        VkExternalSemaphoreFeatureFlags(),+        VkExternalSemaphoreHandleTypeFlagBits(),+        VkExternalSemaphoreHandleTypeFlagBitsKHR(..),+        VkExternalSemaphoreHandleTypeFlags(), VkImportMemoryFdInfoKHR,+        VkMemoryAllocateInfo, VkMemoryFdPropertiesKHR,+        VkMemoryGetFdInfoKHR, VkStructureType(..), -- > #include "vk_platform.h"+                                                   VkGetMemoryFdKHR,         pattern VkGetMemoryFdKHR, HS_vkGetMemoryFdKHR,         PFN_vkGetMemoryFdKHR, VkGetMemoryFdPropertiesKHR,         pattern VkGetMemoryFdPropertiesKHR, HS_vkGetMemoryFdPropertiesKHR,-        PFN_vkGetMemoryFdPropertiesKHR,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.Memory,+        PFN_vkGetMemoryFdPropertiesKHR, VkResult(..), VkBuffer,+        VkBufferView, VkBufferView_T(), VkBuffer_T(), VkCommandBuffer,+        VkCommandBuffer_T(), VkCommandPool, VkCommandPool_T(),+        VkDebugReportCallbackEXT, VkDebugReportCallbackEXT_T(),+        VkDebugUtilsMessengerEXT, VkDebugUtilsMessengerEXT_T(),+        VkDescriptorPool, VkDescriptorPool_T(), VkDescriptorSet,+        VkDescriptorSetLayout, VkDescriptorSetLayout_T(),+        VkDescriptorSet_T(), VkDescriptorUpdateTemplate,+        VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(),+        VkDescriptorUpdateTemplate_T(), VkDevice, VkDeviceMemory,+        VkDeviceMemory_T(), VkDevice_T(), VkDisplayKHR, VkDisplayKHR_T(),+        VkDisplayModeKHR, VkDisplayModeKHR_T(), VkEvent, VkEvent_T(),+        VkFence, VkFence_T(), VkFramebuffer, VkFramebuffer_T(), VkImage,+        VkImageView, VkImageView_T(), VkImage_T(),+        VkIndirectCommandsLayoutNVX, VkIndirectCommandsLayoutNVX_T(),+        VkInstance, VkInstance_T(), VkObjectTableNVX, VkObjectTableNVX_T(),+        VkPhysicalDevice, VkPhysicalDevice_T(), VkPipeline,+        VkPipelineCache, VkPipelineCache_T(), VkPipelineLayout,+        VkPipelineLayout_T(), VkPipeline_T(), VkQueryPool, VkQueryPool_T(),+        VkQueue, VkQueue_T(), VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkMemoryAllocateFlagsInfo, VkMemoryAllocateFlagsInfoKHR,+        VkMemoryBarrier, VkMemoryDedicatedAllocateInfo,+        VkMemoryDedicatedAllocateInfoKHR, VkMemoryDedicatedRequirements,+        VkMemoryDedicatedRequirementsKHR, VkMemoryHeap,+        VkMemoryHostPointerPropertiesEXT, VkMemoryRequirements,+        VkMemoryRequirements2, VkMemoryRequirements2KHR, VkMemoryType,         VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION,         pattern VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION,         VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME,@@ -60,14 +110,14 @@ import Graphics.Vulkan.Types.Enum.Result import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.Import      (VkImportMemoryFdInfoKHR,-                                                 VkImportMemoryFdInfoKHR')+import Graphics.Vulkan.Types.Struct.Import      (VkImportMemoryFdInfoKHR) import Graphics.Vulkan.Types.Struct.Memory  pattern VkGetMemoryFdKHR :: CString  pattern VkGetMemoryFdKHR <- (is_VkGetMemoryFdKHR -> True)-  where VkGetMemoryFdKHR = _VkGetMemoryFdKHR+  where+    VkGetMemoryFdKHR = _VkGetMemoryFdKHR  {-# INLINE _VkGetMemoryFdKHR #-} @@ -107,22 +157,23 @@                PFN_vkGetMemoryFdKHR -> HS_vkGetMemoryFdKHR  instance VulkanProc "vkGetMemoryFdKHR" where-        type VkProcType "vkGetMemoryFdKHR" = HS_vkGetMemoryFdKHR-        vkProcSymbol = _VkGetMemoryFdKHR+    type VkProcType "vkGetMemoryFdKHR" = HS_vkGetMemoryFdKHR+    vkProcSymbol = _VkGetMemoryFdKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetMemoryFdKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetMemoryFdKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetMemoryFdKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetMemoryFdKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetMemoryFdPropertiesKHR :: CString  pattern VkGetMemoryFdPropertiesKHR <-         (is_VkGetMemoryFdPropertiesKHR -> True)-  where VkGetMemoryFdPropertiesKHR = _VkGetMemoryFdPropertiesKHR+  where+    VkGetMemoryFdPropertiesKHR = _VkGetMemoryFdPropertiesKHR  {-# INLINE _VkGetMemoryFdPropertiesKHR #-} @@ -170,17 +221,17 @@                PFN_vkGetMemoryFdPropertiesKHR -> HS_vkGetMemoryFdPropertiesKHR  instance VulkanProc "vkGetMemoryFdPropertiesKHR" where-        type VkProcType "vkGetMemoryFdPropertiesKHR" =-             HS_vkGetMemoryFdPropertiesKHR-        vkProcSymbol = _VkGetMemoryFdPropertiesKHR+    type VkProcType "vkGetMemoryFdPropertiesKHR" =+         HS_vkGetMemoryFdPropertiesKHR+    vkProcSymbol = _VkGetMemoryFdPropertiesKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetMemoryFdPropertiesKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetMemoryFdPropertiesKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetMemoryFdPropertiesKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetMemoryFdPropertiesKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION :: (Num a, Eq a) =>         a@@ -193,8 +244,9 @@  pattern VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME <-         (is_VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME -> True)-  where VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME-          = _VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME+  where+    VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME+      = _VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME  {-# INLINE _VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_memory_win32.hs view
@@ -11,46 +11,78 @@ {-# LANGUAGE TypeFamilies             #-} {-# LANGUAGE ViewPatterns             #-} module Graphics.Vulkan.Ext.VK_KHR_external_memory_win32-       (-- * Vulkan extension: @VK_KHR_external_memory_win32@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @James Jones @cubanismo@-        ---        -- author: @KHR@-        ---        -- type: @device@-        ---        -- platform: @win32@-        ---        -- Extension number: @74@-        ---        -- Required extensions: 'VK_KHR_external_memory'.-        ----        -- ** Required extensions: 'VK_KHR_external_memory'.-        module Graphics.Vulkan.Types.BaseTypes,+       (VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),         VkExportMemoryWin32HandleInfoKHR,-        VkExportMemoryWin32HandleInfoKHR',-        module Graphics.Vulkan.Types.Enum.External,-        VkImportMemoryWin32HandleInfoKHR,-        VkImportMemoryWin32HandleInfoKHR', VkMemoryAllocateInfo,-        VkMemoryAllocateInfo', VkMemoryGetWin32HandleInfoKHR,-        VkMemoryGetWin32HandleInfoKHR', VkMemoryWin32HandlePropertiesKHR,-        VkMemoryWin32HandlePropertiesKHR',-        module Graphics.Vulkan.Types.Enum.StructureType,-        -- > #include "vk_platform.h"-        VkGetMemoryWin32HandleKHR, pattern VkGetMemoryWin32HandleKHR,-        HS_vkGetMemoryWin32HandleKHR, PFN_vkGetMemoryWin32HandleKHR,-        VkGetMemoryWin32HandlePropertiesKHR,+        VkExternalFenceFeatureBitmask(..),+        VkExternalFenceHandleTypeBitmask(..),+        VkExternalMemoryFeatureBitmask(..),+        VkExternalMemoryFeatureBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmask(..),+        VkExternalSemaphoreFeatureBitmask(..),+        VkExternalSemaphoreHandleTypeBitmask(..),+        VkExternalFenceFeatureFlagBits(),+        VkExternalFenceFeatureFlagBitsKHR(..),+        VkExternalFenceFeatureFlags(), VkExternalFenceHandleTypeFlagBits(),+        VkExternalFenceHandleTypeFlagBitsKHR(..),+        VkExternalFenceHandleTypeFlags(),+        VkExternalMemoryFeatureFlagBits(),+        VkExternalMemoryFeatureFlagBitsKHR(..),+        VkExternalMemoryFeatureFlagBitsNV(),+        VkExternalMemoryFeatureFlags(), VkExternalMemoryFeatureFlagsNV(),+        VkExternalMemoryHandleTypeFlagBits(),+        VkExternalMemoryHandleTypeFlagBitsKHR(..),+        VkExternalMemoryHandleTypeFlagBitsNV(),+        VkExternalMemoryHandleTypeFlags(),+        VkExternalMemoryHandleTypeFlagsNV(),+        VkExternalSemaphoreFeatureFlagBits(),+        VkExternalSemaphoreFeatureFlagBitsKHR(..),+        VkExternalSemaphoreFeatureFlags(),+        VkExternalSemaphoreHandleTypeFlagBits(),+        VkExternalSemaphoreHandleTypeFlagBitsKHR(..),+        VkExternalSemaphoreHandleTypeFlags(),+        VkImportMemoryWin32HandleInfoKHR, VkMemoryAllocateInfo,+        VkMemoryGetWin32HandleInfoKHR, VkMemoryWin32HandlePropertiesKHR,+        VkStructureType(..), -- > #include "vk_platform.h"+                             VkGetMemoryWin32HandleKHR,+        pattern VkGetMemoryWin32HandleKHR, HS_vkGetMemoryWin32HandleKHR,+        PFN_vkGetMemoryWin32HandleKHR, VkGetMemoryWin32HandlePropertiesKHR,         pattern VkGetMemoryWin32HandlePropertiesKHR,         HS_vkGetMemoryWin32HandlePropertiesKHR,         PFN_vkGetMemoryWin32HandlePropertiesKHR,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.PlatformWin32Khr,+        module Graphics.Vulkan.Marshal, VkResult(..), VkBuffer,+        VkBufferView, VkBufferView_T(), VkBuffer_T(), VkCommandBuffer,+        VkCommandBuffer_T(), VkCommandPool, VkCommandPool_T(),+        VkDebugReportCallbackEXT, VkDebugReportCallbackEXT_T(),+        VkDebugUtilsMessengerEXT, VkDebugUtilsMessengerEXT_T(),+        VkDescriptorPool, VkDescriptorPool_T(), VkDescriptorSet,+        VkDescriptorSetLayout, VkDescriptorSetLayout_T(),+        VkDescriptorSet_T(), VkDescriptorUpdateTemplate,+        VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(),+        VkDescriptorUpdateTemplate_T(), VkDevice, VkDeviceMemory,+        VkDeviceMemory_T(), VkDevice_T(), VkDisplayKHR, VkDisplayKHR_T(),+        VkDisplayModeKHR, VkDisplayModeKHR_T(), VkEvent, VkEvent_T(),+        VkFence, VkFence_T(), VkFramebuffer, VkFramebuffer_T(), VkImage,+        VkImageView, VkImageView_T(), VkImage_T(),+        VkIndirectCommandsLayoutNVX, VkIndirectCommandsLayoutNVX_T(),+        VkInstance, VkInstance_T(), VkObjectTableNVX, VkObjectTableNVX_T(),+        VkPhysicalDevice, VkPhysicalDevice_T(), VkPipeline,+        VkPipelineCache, VkPipelineCache_T(), VkPipelineLayout,+        VkPipelineLayout_T(), VkPipeline_T(), VkQueryPool, VkQueryPool_T(),+        VkQueue, VkQueue_T(), VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkD3D12FenceSubmitInfoKHR, VkExportFenceWin32HandleInfoKHR,+        VkExportMemoryWin32HandleInfoNV,+        VkExportSemaphoreWin32HandleInfoKHR, VkFenceGetWin32HandleInfoKHR,+        VkImportFenceWin32HandleInfoKHR, VkImportMemoryWin32HandleInfoNV,+        VkImportSemaphoreWin32HandleInfoKHR,+        VkSemaphoreGetWin32HandleInfoKHR,+        VkWin32KeyedMutexAcquireReleaseInfoKHR,+        VkWin32KeyedMutexAcquireReleaseInfoNV, VkWin32SurfaceCreateInfoKHR,         VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION,         pattern VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION,         VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME,@@ -69,15 +101,15 @@ import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles import Graphics.Vulkan.Types.Include                 (HANDLE)-import Graphics.Vulkan.Types.Struct.Memory           (VkMemoryAllocateInfo,-                                                      VkMemoryAllocateInfo')+import Graphics.Vulkan.Types.Struct.Memory           (VkMemoryAllocateInfo) import Graphics.Vulkan.Types.Struct.PlatformWin32Khr  pattern VkGetMemoryWin32HandleKHR :: CString  pattern VkGetMemoryWin32HandleKHR <-         (is_VkGetMemoryWin32HandleKHR -> True)-  where VkGetMemoryWin32HandleKHR = _VkGetMemoryWin32HandleKHR+  where+    VkGetMemoryWin32HandleKHR = _VkGetMemoryWin32HandleKHR  {-# INLINE _VkGetMemoryWin32HandleKHR #-} @@ -122,24 +154,25 @@                PFN_vkGetMemoryWin32HandleKHR -> HS_vkGetMemoryWin32HandleKHR  instance VulkanProc "vkGetMemoryWin32HandleKHR" where-        type VkProcType "vkGetMemoryWin32HandleKHR" =-             HS_vkGetMemoryWin32HandleKHR-        vkProcSymbol = _VkGetMemoryWin32HandleKHR+    type VkProcType "vkGetMemoryWin32HandleKHR" =+         HS_vkGetMemoryWin32HandleKHR+    vkProcSymbol = _VkGetMemoryWin32HandleKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetMemoryWin32HandleKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetMemoryWin32HandleKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetMemoryWin32HandleKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetMemoryWin32HandleKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetMemoryWin32HandlePropertiesKHR :: CString  pattern VkGetMemoryWin32HandlePropertiesKHR <-         (is_VkGetMemoryWin32HandlePropertiesKHR -> True)-  where VkGetMemoryWin32HandlePropertiesKHR-          = _VkGetMemoryWin32HandlePropertiesKHR+  where+    VkGetMemoryWin32HandlePropertiesKHR+      = _VkGetMemoryWin32HandlePropertiesKHR  {-# INLINE _VkGetMemoryWin32HandlePropertiesKHR #-} @@ -191,18 +224,18 @@                  HS_vkGetMemoryWin32HandlePropertiesKHR  instance VulkanProc "vkGetMemoryWin32HandlePropertiesKHR" where-        type VkProcType "vkGetMemoryWin32HandlePropertiesKHR" =-             HS_vkGetMemoryWin32HandlePropertiesKHR-        vkProcSymbol = _VkGetMemoryWin32HandlePropertiesKHR+    type VkProcType "vkGetMemoryWin32HandlePropertiesKHR" =+         HS_vkGetMemoryWin32HandlePropertiesKHR+    vkProcSymbol = _VkGetMemoryWin32HandlePropertiesKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetMemoryWin32HandlePropertiesKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetMemoryWin32HandlePropertiesKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetMemoryWin32HandlePropertiesKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetMemoryWin32HandlePropertiesKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION ::         (Num a, Eq a) => a@@ -215,8 +248,9 @@  pattern VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME <-         (is_VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME -> True)-  where VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME-          = _VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME+  where+    VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME+      = _VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME  {-# INLINE _VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_semaphore.hs view
@@ -23,9 +23,53 @@         --          -- ** Required extensions: 'VK_KHR_external_semaphore_capabilities'.-        module Graphics.Vulkan.Types.Struct.Export,-        module Graphics.Vulkan.Types.Enum.SemaphoreImportFlag,-        module Graphics.Vulkan.Types.Bitmasks,+        VkExportSemaphoreCreateInfoKHR, VkSemaphoreImportBitmask(..),+        VkSemaphoreImportFlagBits(), VkSemaphoreImportFlagBitsKHR(..),+        VkSemaphoreImportFlags(), VkAndroidSurfaceCreateFlagsKHR(..),+        VkBufferViewCreateFlags(..), VkCommandPoolTrimFlags(..),+        VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..),         VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION,         pattern VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION,         VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME,@@ -38,7 +82,7 @@ import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.Bitmasks import Graphics.Vulkan.Types.Enum.SemaphoreImportFlag-import Graphics.Vulkan.Types.Struct.Export+import Graphics.Vulkan.Types.Struct.Export            (VkExportSemaphoreCreateInfoKHR)  pattern VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION :: (Num a, Eq a) =>         a@@ -51,8 +95,9 @@  pattern VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME <-         (is_VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME -> True)-  where VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME-          = _VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME+  where+    VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME+      = _VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME  {-# INLINE _VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_semaphore_capabilities.hs view
@@ -28,18 +28,172 @@         --          -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.-        module Graphics.Vulkan.Types.Enum.External,-        module Graphics.Vulkan.Types.Bitmasks,-        module Graphics.Vulkan.Types.Struct.External,-        module Graphics.Vulkan.Types.Struct.PhysicalDevice,+        VkExternalFenceFeatureBitmask(..),+        VkExternalFenceHandleTypeBitmask(..),+        VkExternalMemoryFeatureBitmask(..),+        VkExternalMemoryFeatureBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmask(..),+        VkExternalSemaphoreFeatureBitmask(..),+        VkExternalSemaphoreHandleTypeBitmask(..),+        VkExternalFenceFeatureFlagBits(),+        VkExternalFenceFeatureFlagBitsKHR(..),+        VkExternalFenceFeatureFlags(), VkExternalFenceHandleTypeFlagBits(),+        VkExternalFenceHandleTypeFlagBitsKHR(..),+        VkExternalFenceHandleTypeFlags(),+        VkExternalMemoryFeatureFlagBits(),+        VkExternalMemoryFeatureFlagBitsKHR(..),+        VkExternalMemoryFeatureFlagBitsNV(),+        VkExternalMemoryFeatureFlags(), VkExternalMemoryFeatureFlagsNV(),+        VkExternalMemoryHandleTypeFlagBits(),+        VkExternalMemoryHandleTypeFlagBitsKHR(..),+        VkExternalMemoryHandleTypeFlagBitsNV(),+        VkExternalMemoryHandleTypeFlags(),+        VkExternalMemoryHandleTypeFlagsNV(),+        VkExternalSemaphoreFeatureFlagBits(),+        VkExternalSemaphoreFeatureFlagBitsKHR(..),+        VkExternalSemaphoreFeatureFlags(),+        VkExternalSemaphoreHandleTypeFlagBits(),+        VkExternalSemaphoreHandleTypeFlagBitsKHR(..),+        VkExternalSemaphoreHandleTypeFlags(),+        VkAndroidSurfaceCreateFlagsKHR(..), VkBufferViewCreateFlags(..),+        VkCommandPoolTrimFlags(..), VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkExternalSemaphorePropertiesKHR,+        VkPhysicalDeviceExternalSemaphoreInfoKHR,+        VkPhysicalDeviceIDPropertiesKHR,         VkGetPhysicalDeviceExternalSemaphorePropertiesKHR,         pattern VkGetPhysicalDeviceExternalSemaphorePropertiesKHR,         HS_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR,         PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.StructureType,-        module Graphics.Vulkan.Types.Handles,+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkStructureType(..), VkBuffer,+        VkBufferView, VkBufferView_T(), VkBuffer_T(), VkCommandBuffer,+        VkCommandBuffer_T(), VkCommandPool, VkCommandPool_T(),+        VkDebugReportCallbackEXT, VkDebugReportCallbackEXT_T(),+        VkDebugUtilsMessengerEXT, VkDebugUtilsMessengerEXT_T(),+        VkDescriptorPool, VkDescriptorPool_T(), VkDescriptorSet,+        VkDescriptorSetLayout, VkDescriptorSetLayout_T(),+        VkDescriptorSet_T(), VkDescriptorUpdateTemplate,+        VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(),+        VkDescriptorUpdateTemplate_T(), VkDevice, VkDeviceMemory,+        VkDeviceMemory_T(), VkDevice_T(), VkDisplayKHR, VkDisplayKHR_T(),+        VkDisplayModeKHR, VkDisplayModeKHR_T(), VkEvent, VkEvent_T(),+        VkFence, VkFence_T(), VkFramebuffer, VkFramebuffer_T(), VkImage,+        VkImageView, VkImageView_T(), VkImage_T(),+        VkIndirectCommandsLayoutNVX, VkIndirectCommandsLayoutNVX_T(),+        VkInstance, VkInstance_T(), VkObjectTableNVX, VkObjectTableNVX_T(),+        VkPhysicalDevice, VkPhysicalDevice_T(), VkPipeline,+        VkPipelineCache, VkPipelineCache_T(), VkPipelineLayout,+        VkPipelineLayout_T(), VkPipeline_T(), VkQueryPool, VkQueryPool_T(),+        VkQueue, VkQueue_T(), VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkExternalBufferProperties, VkExternalBufferPropertiesKHR,+        VkExternalFenceProperties, VkExternalFencePropertiesKHR,+        VkExternalImageFormatProperties,+        VkExternalImageFormatPropertiesKHR,+        VkExternalImageFormatPropertiesNV,+        VkExternalMemoryBufferCreateInfo,+        VkExternalMemoryBufferCreateInfoKHR,+        VkExternalMemoryImageCreateInfo,+        VkExternalMemoryImageCreateInfoKHR,+        VkExternalMemoryImageCreateInfoNV, VkExternalMemoryProperties,+        VkExternalMemoryPropertiesKHR, VkExternalSemaphoreProperties,+        VkPhysicalDevice16BitStorageFeatures,+        VkPhysicalDevice16BitStorageFeaturesKHR,+        VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT,+        VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT,+        VkPhysicalDeviceConservativeRasterizationPropertiesEXT,+        VkPhysicalDeviceDescriptorIndexingFeaturesEXT,+        VkPhysicalDeviceDescriptorIndexingPropertiesEXT,+        VkPhysicalDeviceDiscardRectanglePropertiesEXT,+        VkPhysicalDeviceExternalBufferInfo,+        VkPhysicalDeviceExternalBufferInfoKHR,+        VkPhysicalDeviceExternalFenceInfo,+        VkPhysicalDeviceExternalFenceInfoKHR,+        VkPhysicalDeviceExternalImageFormatInfo,+        VkPhysicalDeviceExternalImageFormatInfoKHR,+        VkPhysicalDeviceExternalMemoryHostPropertiesEXT,+        VkPhysicalDeviceExternalSemaphoreInfo, VkPhysicalDeviceFeatures2,+        VkPhysicalDeviceFeatures2KHR, VkPhysicalDeviceGroupProperties,+        VkPhysicalDeviceGroupPropertiesKHR, VkPhysicalDeviceIDProperties,+        VkPhysicalDeviceImageFormatInfo2,+        VkPhysicalDeviceImageFormatInfo2KHR, VkPhysicalDeviceLimits,+        VkPhysicalDeviceMaintenance3Properties,+        VkPhysicalDeviceMaintenance3PropertiesKHR,+        VkPhysicalDeviceMemoryProperties,+        VkPhysicalDeviceMemoryProperties2,+        VkPhysicalDeviceMemoryProperties2KHR,+        VkPhysicalDeviceMultiviewFeatures,+        VkPhysicalDeviceMultiviewFeaturesKHR,+        VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,+        VkPhysicalDeviceMultiviewProperties,+        VkPhysicalDeviceMultiviewPropertiesKHR,+        VkPhysicalDevicePointClippingProperties,+        VkPhysicalDevicePointClippingPropertiesKHR,+        VkPhysicalDeviceProperties, VkPhysicalDeviceProperties2,+        VkPhysicalDeviceProperties2KHR,+        VkPhysicalDeviceProtectedMemoryFeatures,+        VkPhysicalDeviceProtectedMemoryProperties,+        VkPhysicalDevicePushDescriptorPropertiesKHR,+        VkPhysicalDeviceSampleLocationsPropertiesEXT,+        VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT,+        VkPhysicalDeviceSamplerYcbcrConversionFeatures,+        VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR,+        VkPhysicalDeviceShaderCorePropertiesAMD,+        VkPhysicalDeviceShaderDrawParameterFeatures,+        VkPhysicalDeviceSparseImageFormatInfo2,+        VkPhysicalDeviceSparseImageFormatInfo2KHR,+        VkPhysicalDeviceSparseProperties,+        VkPhysicalDeviceSubgroupProperties,+        VkPhysicalDeviceSurfaceInfo2KHR,+        VkPhysicalDeviceVariablePointerFeatures,+        VkPhysicalDeviceVariablePointerFeaturesKHR,+        VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT,         VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION,         pattern VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION,         VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME,@@ -74,8 +228,9 @@  pattern VkGetPhysicalDeviceExternalSemaphorePropertiesKHR <-         (is_VkGetPhysicalDeviceExternalSemaphorePropertiesKHR -> True)-  where VkGetPhysicalDeviceExternalSemaphorePropertiesKHR-          = _VkGetPhysicalDeviceExternalSemaphorePropertiesKHR+  where+    VkGetPhysicalDeviceExternalSemaphorePropertiesKHR+      = _VkGetPhysicalDeviceExternalSemaphorePropertiesKHR  {-# INLINE _VkGetPhysicalDeviceExternalSemaphorePropertiesKHR #-} @@ -127,19 +282,19 @@ instance VulkanProc            "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR"          where-        type VkProcType "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR"-             = HS_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR-        vkProcSymbol = _VkGetPhysicalDeviceExternalSemaphorePropertiesKHR+    type VkProcType "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR"+         = HS_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR+    vkProcSymbol = _VkGetPhysicalDeviceExternalSemaphorePropertiesKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceExternalSemaphorePropertiesKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceExternalSemaphorePropertiesKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceExternalSemaphorePropertiesKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceExternalSemaphorePropertiesKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION ::         (Num a, Eq a) => a@@ -153,8 +308,9 @@  pattern VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME <-         (is_VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME -> True)-  where VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME-          = _VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME+  where+    VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME+      = _VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME  {-# INLINE _VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME            #-}
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_semaphore_fd.hs view
@@ -27,22 +27,70 @@         --          -- ** Required extensions: 'VK_KHR_external_semaphore'.-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.External,-        module Graphics.Vulkan.Types.BaseTypes, VkImportSemaphoreFdInfoKHR,-        VkImportSemaphoreFdInfoKHR', VkSemaphoreGetFdInfoKHR,-        VkSemaphoreGetFdInfoKHR',-        module Graphics.Vulkan.Types.Enum.SemaphoreImportFlag,-        module Graphics.Vulkan.Types.Enum.StructureType,-        -- > #include "vk_platform.h"-        VkImportSemaphoreFdKHR, pattern VkImportSemaphoreFdKHR,-        HS_vkImportSemaphoreFdKHR, PFN_vkImportSemaphoreFdKHR,-        VkGetSemaphoreFdKHR, pattern VkGetSemaphoreFdKHR,-        HS_vkGetSemaphoreFdKHR, PFN_vkGetSemaphoreFdKHR,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.Import,-        module Graphics.Vulkan.Types.Struct.Semaphore,+        module Graphics.Vulkan.Marshal, VkExternalFenceFeatureBitmask(..),+        VkExternalFenceHandleTypeBitmask(..),+        VkExternalMemoryFeatureBitmask(..),+        VkExternalMemoryFeatureBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmask(..),+        VkExternalSemaphoreFeatureBitmask(..),+        VkExternalSemaphoreHandleTypeBitmask(..),+        VkExternalFenceFeatureFlagBits(),+        VkExternalFenceFeatureFlagBitsKHR(..),+        VkExternalFenceFeatureFlags(), VkExternalFenceHandleTypeFlagBits(),+        VkExternalFenceHandleTypeFlagBitsKHR(..),+        VkExternalFenceHandleTypeFlags(),+        VkExternalMemoryFeatureFlagBits(),+        VkExternalMemoryFeatureFlagBitsKHR(..),+        VkExternalMemoryFeatureFlagBitsNV(),+        VkExternalMemoryFeatureFlags(), VkExternalMemoryFeatureFlagsNV(),+        VkExternalMemoryHandleTypeFlagBits(),+        VkExternalMemoryHandleTypeFlagBitsKHR(..),+        VkExternalMemoryHandleTypeFlagBitsNV(),+        VkExternalMemoryHandleTypeFlags(),+        VkExternalMemoryHandleTypeFlagsNV(),+        VkExternalSemaphoreFeatureFlagBits(),+        VkExternalSemaphoreFeatureFlagBitsKHR(..),+        VkExternalSemaphoreFeatureFlags(),+        VkExternalSemaphoreHandleTypeFlagBits(),+        VkExternalSemaphoreHandleTypeFlagBitsKHR(..),+        VkExternalSemaphoreHandleTypeFlags(), VkBool32(..),+        VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkImportSemaphoreFdInfoKHR, VkSemaphoreGetFdInfoKHR,+        VkSemaphoreImportBitmask(..), VkSemaphoreImportFlagBits(),+        VkSemaphoreImportFlagBitsKHR(..), VkSemaphoreImportFlags(),+        VkStructureType(..), -- > #include "vk_platform.h"+                             VkImportSemaphoreFdKHR,+        pattern VkImportSemaphoreFdKHR, HS_vkImportSemaphoreFdKHR,+        PFN_vkImportSemaphoreFdKHR, VkGetSemaphoreFdKHR,+        pattern VkGetSemaphoreFdKHR, HS_vkGetSemaphoreFdKHR,+        PFN_vkGetSemaphoreFdKHR, VkResult(..), VkBuffer, VkBufferView,+        VkBufferView_T(), VkBuffer_T(), VkCommandBuffer,+        VkCommandBuffer_T(), VkCommandPool, VkCommandPool_T(),+        VkDebugReportCallbackEXT, VkDebugReportCallbackEXT_T(),+        VkDebugUtilsMessengerEXT, VkDebugUtilsMessengerEXT_T(),+        VkDescriptorPool, VkDescriptorPool_T(), VkDescriptorSet,+        VkDescriptorSetLayout, VkDescriptorSetLayout_T(),+        VkDescriptorSet_T(), VkDescriptorUpdateTemplate,+        VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(),+        VkDescriptorUpdateTemplate_T(), VkDevice, VkDeviceMemory,+        VkDeviceMemory_T(), VkDevice_T(), VkDisplayKHR, VkDisplayKHR_T(),+        VkDisplayModeKHR, VkDisplayModeKHR_T(), VkEvent, VkEvent_T(),+        VkFence, VkFence_T(), VkFramebuffer, VkFramebuffer_T(), VkImage,+        VkImageView, VkImageView_T(), VkImage_T(),+        VkIndirectCommandsLayoutNVX, VkIndirectCommandsLayoutNVX_T(),+        VkInstance, VkInstance_T(), VkObjectTableNVX, VkObjectTableNVX_T(),+        VkPhysicalDevice, VkPhysicalDevice_T(), VkPipeline,+        VkPipelineCache, VkPipelineCache_T(), VkPipelineLayout,+        VkPipelineLayout_T(), VkPipeline_T(), VkQueryPool, VkQueryPool_T(),+        VkQueue, VkQueue_T(), VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkImportFenceFdInfoKHR, VkImportMemoryFdInfoKHR,+        VkImportMemoryHostPointerInfoEXT, VkSemaphoreCreateInfo,         VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION,         pattern VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION,         VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME,@@ -66,7 +114,8 @@  pattern VkImportSemaphoreFdKHR <-         (is_VkImportSemaphoreFdKHR -> True)-  where VkImportSemaphoreFdKHR = _VkImportSemaphoreFdKHR+  where+    VkImportSemaphoreFdKHR = _VkImportSemaphoreFdKHR  {-# INLINE _VkImportSemaphoreFdKHR #-} @@ -107,22 +156,23 @@                PFN_vkImportSemaphoreFdKHR -> HS_vkImportSemaphoreFdKHR  instance VulkanProc "vkImportSemaphoreFdKHR" where-        type VkProcType "vkImportSemaphoreFdKHR" =-             HS_vkImportSemaphoreFdKHR-        vkProcSymbol = _VkImportSemaphoreFdKHR+    type VkProcType "vkImportSemaphoreFdKHR" =+         HS_vkImportSemaphoreFdKHR+    vkProcSymbol = _VkImportSemaphoreFdKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkImportSemaphoreFdKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkImportSemaphoreFdKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkImportSemaphoreFdKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkImportSemaphoreFdKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetSemaphoreFdKHR :: CString  pattern VkGetSemaphoreFdKHR <- (is_VkGetSemaphoreFdKHR -> True)-  where VkGetSemaphoreFdKHR = _VkGetSemaphoreFdKHR+  where+    VkGetSemaphoreFdKHR = _VkGetSemaphoreFdKHR  {-# INLINE _VkGetSemaphoreFdKHR #-} @@ -163,16 +213,16 @@                :: PFN_vkGetSemaphoreFdKHR -> HS_vkGetSemaphoreFdKHR  instance VulkanProc "vkGetSemaphoreFdKHR" where-        type VkProcType "vkGetSemaphoreFdKHR" = HS_vkGetSemaphoreFdKHR-        vkProcSymbol = _VkGetSemaphoreFdKHR+    type VkProcType "vkGetSemaphoreFdKHR" = HS_vkGetSemaphoreFdKHR+    vkProcSymbol = _VkGetSemaphoreFdKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetSemaphoreFdKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetSemaphoreFdKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetSemaphoreFdKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetSemaphoreFdKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION ::         (Num a, Eq a) => a@@ -185,8 +235,9 @@  pattern VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME <-         (is_VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME -> True)-  where VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME-          = _VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME+  where+    VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME+      = _VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME  {-# INLINE _VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_semaphore_win32.hs view
@@ -29,31 +29,141 @@         --          -- ** Required extensions: 'VK_KHR_external_semaphore'.-        VkD3D12FenceSubmitInfoKHR, VkD3D12FenceSubmitInfoKHR',-        VkExportSemaphoreWin32HandleInfoKHR,-        VkExportSemaphoreWin32HandleInfoKHR',-        module Graphics.Vulkan.Types.Enum.External,-        module Graphics.Vulkan.Types.BaseTypes,-        VkImportSemaphoreWin32HandleInfoKHR,-        VkImportSemaphoreWin32HandleInfoKHR',-        module Graphics.Vulkan.Types.Enum.Pipeline,-        module Graphics.Vulkan.Types.Bitmasks, VkSemaphoreCreateInfo,-        VkSemaphoreCreateInfo', VkSemaphoreGetWin32HandleInfoKHR,-        VkSemaphoreGetWin32HandleInfoKHR',-        module Graphics.Vulkan.Types.Enum.SemaphoreImportFlag,-        module Graphics.Vulkan.Types.Enum.StructureType, VkSubmitInfo,-        VkSubmitInfo', -- > #include "vk_platform.h"-                       VkImportSemaphoreWin32HandleKHR,+        VkD3D12FenceSubmitInfoKHR, VkExportSemaphoreWin32HandleInfoKHR,+        VkExternalFenceFeatureBitmask(..),+        VkExternalFenceHandleTypeBitmask(..),+        VkExternalMemoryFeatureBitmask(..),+        VkExternalMemoryFeatureBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmask(..),+        VkExternalSemaphoreFeatureBitmask(..),+        VkExternalSemaphoreHandleTypeBitmask(..),+        VkExternalFenceFeatureFlagBits(),+        VkExternalFenceFeatureFlagBitsKHR(..),+        VkExternalFenceFeatureFlags(), VkExternalFenceHandleTypeFlagBits(),+        VkExternalFenceHandleTypeFlagBitsKHR(..),+        VkExternalFenceHandleTypeFlags(),+        VkExternalMemoryFeatureFlagBits(),+        VkExternalMemoryFeatureFlagBitsKHR(..),+        VkExternalMemoryFeatureFlagBitsNV(),+        VkExternalMemoryFeatureFlags(), VkExternalMemoryFeatureFlagsNV(),+        VkExternalMemoryHandleTypeFlagBits(),+        VkExternalMemoryHandleTypeFlagBitsKHR(..),+        VkExternalMemoryHandleTypeFlagBitsNV(),+        VkExternalMemoryHandleTypeFlags(),+        VkExternalMemoryHandleTypeFlagsNV(),+        VkExternalSemaphoreFeatureFlagBits(),+        VkExternalSemaphoreFeatureFlagBitsKHR(..),+        VkExternalSemaphoreFeatureFlags(),+        VkExternalSemaphoreHandleTypeFlagBits(),+        VkExternalSemaphoreHandleTypeFlagBitsKHR(..),+        VkExternalSemaphoreHandleTypeFlags(), VkBool32(..),+        VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkImportSemaphoreWin32HandleInfoKHR, VkPipelineBindPoint(..),+        VkPipelineCacheHeaderVersion(..), VkPipelineCreateBitmask(..),+        VkPipelineStageBitmask(..), VkPipelineCacheCreateFlagBits(..),+        VkPipelineColorBlendStateCreateFlagBits(..),+        VkPipelineCreateFlagBits(), VkPipelineCreateFlags(),+        VkPipelineDepthStencilStateCreateFlagBits(..),+        VkPipelineDynamicStateCreateFlagBits(..),+        VkPipelineInputAssemblyStateCreateFlagBits(..),+        VkPipelineLayoutCreateFlagBits(..),+        VkPipelineMultisampleStateCreateFlagBits(..),+        VkPipelineRasterizationStateCreateFlagBits(..),+        VkPipelineShaderStageCreateFlagBits(..), VkPipelineStageFlagBits(),+        VkPipelineStageFlags(),+        VkPipelineTessellationStateCreateFlagBits(..),+        VkPipelineVertexInputStateCreateFlagBits(..),+        VkPipelineViewportStateCreateFlagBits(..),+        VkAndroidSurfaceCreateFlagsKHR(..), VkBufferViewCreateFlags(..),+        VkCommandPoolTrimFlags(..), VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkSemaphoreCreateInfo,+        VkSemaphoreGetWin32HandleInfoKHR, VkSemaphoreImportBitmask(..),+        VkSemaphoreImportFlagBits(), VkSemaphoreImportFlagBitsKHR(..),+        VkSemaphoreImportFlags(), VkStructureType(..), VkSubmitInfo,+        -- > #include "vk_platform.h"+        VkImportSemaphoreWin32HandleKHR,         pattern VkImportSemaphoreWin32HandleKHR,         HS_vkImportSemaphoreWin32HandleKHR,         PFN_vkImportSemaphoreWin32HandleKHR, VkGetSemaphoreWin32HandleKHR,         pattern VkGetSemaphoreWin32HandleKHR,         HS_vkGetSemaphoreWin32HandleKHR, PFN_vkGetSemaphoreWin32HandleKHR,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Include,-        module Graphics.Vulkan.Types.Struct.PlatformWin32Khr,+        module Graphics.Vulkan.Marshal, VkResult(..), VkBuffer,+        VkBufferView, VkBufferView_T(), VkBuffer_T(), VkCommandBuffer,+        VkCommandBuffer_T(), VkCommandPool, VkCommandPool_T(),+        VkDebugReportCallbackEXT, VkDebugReportCallbackEXT_T(),+        VkDebugUtilsMessengerEXT, VkDebugUtilsMessengerEXT_T(),+        VkDescriptorPool, VkDescriptorPool_T(), VkDescriptorSet,+        VkDescriptorSetLayout, VkDescriptorSetLayout_T(),+        VkDescriptorSet_T(), VkDescriptorUpdateTemplate,+        VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(),+        VkDescriptorUpdateTemplate_T(), VkDevice, VkDeviceMemory,+        VkDeviceMemory_T(), VkDevice_T(), VkDisplayKHR, VkDisplayKHR_T(),+        VkDisplayModeKHR, VkDisplayModeKHR_T(), VkEvent, VkEvent_T(),+        VkFence, VkFence_T(), VkFramebuffer, VkFramebuffer_T(), VkImage,+        VkImageView, VkImageView_T(), VkImage_T(),+        VkIndirectCommandsLayoutNVX, VkIndirectCommandsLayoutNVX_T(),+        VkInstance, VkInstance_T(), VkObjectTableNVX, VkObjectTableNVX_T(),+        VkPhysicalDevice, VkPhysicalDevice_T(), VkPipeline,+        VkPipelineCache, VkPipelineCache_T(), VkPipelineLayout,+        VkPipelineLayout_T(), VkPipeline_T(), VkQueryPool, VkQueryPool_T(),+        VkQueue, VkQueue_T(), VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        DWORD, Display, HANDLE, HINSTANCE, HWND, LPCWSTR, MirConnection,+        MirSurface, RROutput, SECURITY_ATTRIBUTES, VisualID, Window,+        WlDisplay, WlSurface, XcbConnectionT, XcbVisualidT, XcbWindowT,+        VkExportFenceWin32HandleInfoKHR, VkExportMemoryWin32HandleInfoKHR,+        VkExportMemoryWin32HandleInfoNV, VkFenceGetWin32HandleInfoKHR,+        VkImportFenceWin32HandleInfoKHR, VkImportMemoryWin32HandleInfoKHR,+        VkImportMemoryWin32HandleInfoNV, VkMemoryGetWin32HandleInfoKHR,+        VkMemoryWin32HandlePropertiesKHR,+        VkWin32KeyedMutexAcquireReleaseInfoKHR,+        VkWin32KeyedMutexAcquireReleaseInfoNV, VkWin32SurfaceCreateInfoKHR,         VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION,         pattern VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION,         VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME,@@ -76,17 +186,15 @@ import Graphics.Vulkan.Types.Handles import Graphics.Vulkan.Types.Include import Graphics.Vulkan.Types.Struct.PlatformWin32Khr-import Graphics.Vulkan.Types.Struct.Semaphore         (VkSemaphoreCreateInfo,-                                                       VkSemaphoreCreateInfo')-import Graphics.Vulkan.Types.Struct.SubmitInfo        (VkSubmitInfo,-                                                       VkSubmitInfo')+import Graphics.Vulkan.Types.Struct.Semaphore         (VkSemaphoreCreateInfo)+import Graphics.Vulkan.Types.Struct.SubmitInfo        (VkSubmitInfo)  pattern VkImportSemaphoreWin32HandleKHR :: CString  pattern VkImportSemaphoreWin32HandleKHR <-         (is_VkImportSemaphoreWin32HandleKHR -> True)-  where VkImportSemaphoreWin32HandleKHR-          = _VkImportSemaphoreWin32HandleKHR+  where+    VkImportSemaphoreWin32HandleKHR = _VkImportSemaphoreWin32HandleKHR  {-# INLINE _VkImportSemaphoreWin32HandleKHR #-} @@ -132,23 +240,24 @@                  HS_vkImportSemaphoreWin32HandleKHR  instance VulkanProc "vkImportSemaphoreWin32HandleKHR" where-        type VkProcType "vkImportSemaphoreWin32HandleKHR" =-             HS_vkImportSemaphoreWin32HandleKHR-        vkProcSymbol = _VkImportSemaphoreWin32HandleKHR+    type VkProcType "vkImportSemaphoreWin32HandleKHR" =+         HS_vkImportSemaphoreWin32HandleKHR+    vkProcSymbol = _VkImportSemaphoreWin32HandleKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkImportSemaphoreWin32HandleKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkImportSemaphoreWin32HandleKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkImportSemaphoreWin32HandleKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkImportSemaphoreWin32HandleKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetSemaphoreWin32HandleKHR :: CString  pattern VkGetSemaphoreWin32HandleKHR <-         (is_VkGetSemaphoreWin32HandleKHR -> True)-  where VkGetSemaphoreWin32HandleKHR = _VkGetSemaphoreWin32HandleKHR+  where+    VkGetSemaphoreWin32HandleKHR = _VkGetSemaphoreWin32HandleKHR  {-# INLINE _VkGetSemaphoreWin32HandleKHR #-} @@ -194,17 +303,17 @@                PFN_vkGetSemaphoreWin32HandleKHR -> HS_vkGetSemaphoreWin32HandleKHR  instance VulkanProc "vkGetSemaphoreWin32HandleKHR" where-        type VkProcType "vkGetSemaphoreWin32HandleKHR" =-             HS_vkGetSemaphoreWin32HandleKHR-        vkProcSymbol = _VkGetSemaphoreWin32HandleKHR+    type VkProcType "vkGetSemaphoreWin32HandleKHR" =+         HS_vkGetSemaphoreWin32HandleKHR+    vkProcSymbol = _VkGetSemaphoreWin32HandleKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetSemaphoreWin32HandleKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetSemaphoreWin32HandleKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetSemaphoreWin32HandleKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetSemaphoreWin32HandleKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION ::         (Num a, Eq a) => a@@ -217,8 +326,9 @@  pattern VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME <-         (is_VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME -> True)-  where VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME-          = _VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME+  where+    VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME+      = _VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME  {-# INLINE _VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_get_display_properties2.hs view
@@ -27,22 +27,19 @@         --          -- ** Required extensions: 'VK_KHR_display'.-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes, VkDisplayModeParametersKHR,-        VkDisplayModeParametersKHR', VkDisplayModeProperties2KHR,-        VkDisplayModeProperties2KHR', VkDisplayModePropertiesKHR,-        VkDisplayModePropertiesKHR',-        module Graphics.Vulkan.Types.Enum.Display,-        VkDisplayPlaneCapabilities2KHR, VkDisplayPlaneCapabilities2KHR',-        VkDisplayPlaneCapabilitiesKHR, VkDisplayPlaneCapabilitiesKHR',-        VkDisplayPlaneInfo2KHR, VkDisplayPlaneInfo2KHR',-        VkDisplayPlaneProperties2KHR, VkDisplayPlaneProperties2KHR',-        VkDisplayPlanePropertiesKHR, VkDisplayPlanePropertiesKHR',-        VkDisplayProperties2KHR, VkDisplayProperties2KHR',-        VkDisplayPropertiesKHR, VkDisplayPropertiesKHR', VkExtent2D,-        VkExtent2D', VkOffset2D, VkOffset2D',-        module Graphics.Vulkan.Types.Enum.StructureType,-        module Graphics.Vulkan.Types.Enum.Surface,+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkDisplayModeParametersKHR,+        VkDisplayModeProperties2KHR, VkDisplayModePropertiesKHR,+        VkDisplayEventTypeEXT(..), VkDisplayPlaneAlphaBitmaskKHR(..),+        VkDisplayPowerStateEXT(..), VkDisplayPlaneAlphaFlagBitsKHR(),+        VkDisplayPlaneAlphaFlagsKHR(), VkDisplayPlaneCapabilities2KHR,+        VkDisplayPlaneCapabilitiesKHR, VkDisplayPlaneInfo2KHR,+        VkDisplayPlaneProperties2KHR, VkDisplayPlanePropertiesKHR,+        VkDisplayProperties2KHR, VkDisplayPropertiesKHR, VkExtent2D,+        VkOffset2D, VkStructureType(..), VkSurfaceCounterBitmaskEXT(..),+        VkSurfaceTransformBitmaskKHR(..), VkSurfaceCounterFlagBitsEXT(),+        VkSurfaceCounterFlagsEXT(), VkSurfaceTransformFlagBitsKHR(),+        VkSurfaceTransformFlagsKHR(),         -- > #include "vk_platform.h"         VkGetPhysicalDeviceDisplayProperties2KHR,         pattern VkGetPhysicalDeviceDisplayProperties2KHR,@@ -59,12 +56,34 @@         VkGetDisplayPlaneCapabilities2KHR,         pattern VkGetDisplayPlaneCapabilities2KHR,         HS_vkGetDisplayPlaneCapabilities2KHR,-        PFN_vkGetDisplayPlaneCapabilities2KHR,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.Display,-        module Graphics.Vulkan.Types.Struct.Extent,-        module Graphics.Vulkan.Types.Struct.Offset,+        PFN_vkGetDisplayPlaneCapabilities2KHR, VkResult(..), VkBuffer,+        VkBufferView, VkBufferView_T(), VkBuffer_T(), VkCommandBuffer,+        VkCommandBuffer_T(), VkCommandPool, VkCommandPool_T(),+        VkDebugReportCallbackEXT, VkDebugReportCallbackEXT_T(),+        VkDebugUtilsMessengerEXT, VkDebugUtilsMessengerEXT_T(),+        VkDescriptorPool, VkDescriptorPool_T(), VkDescriptorSet,+        VkDescriptorSetLayout, VkDescriptorSetLayout_T(),+        VkDescriptorSet_T(), VkDescriptorUpdateTemplate,+        VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(),+        VkDescriptorUpdateTemplate_T(), VkDevice, VkDeviceMemory,+        VkDeviceMemory_T(), VkDevice_T(), VkDisplayKHR, VkDisplayKHR_T(),+        VkDisplayModeKHR, VkDisplayModeKHR_T(), VkEvent, VkEvent_T(),+        VkFence, VkFence_T(), VkFramebuffer, VkFramebuffer_T(), VkImage,+        VkImageView, VkImageView_T(), VkImage_T(),+        VkIndirectCommandsLayoutNVX, VkIndirectCommandsLayoutNVX_T(),+        VkInstance, VkInstance_T(), VkObjectTableNVX, VkObjectTableNVX_T(),+        VkPhysicalDevice, VkPhysicalDevice_T(), VkPipeline,+        VkPipelineCache, VkPipelineCache_T(), VkPipelineLayout,+        VkPipelineLayout_T(), VkPipeline_T(), VkQueryPool, VkQueryPool_T(),+        VkQueue, VkQueue_T(), VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkDisplayEventInfoEXT, VkDisplayModeCreateInfoKHR,+        VkDisplayPowerInfoEXT, VkDisplayPresentInfoKHR,+        VkDisplaySurfaceCreateInfoKHR, VkExtent3D, VkOffset3D,         VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION,         pattern VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION,         VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME,@@ -92,8 +111,9 @@  pattern VkGetPhysicalDeviceDisplayProperties2KHR <-         (is_VkGetPhysicalDeviceDisplayProperties2KHR -> True)-  where VkGetPhysicalDeviceDisplayProperties2KHR-          = _VkGetPhysicalDeviceDisplayProperties2KHR+  where+    VkGetPhysicalDeviceDisplayProperties2KHR+      = _VkGetPhysicalDeviceDisplayProperties2KHR  {-# INLINE _VkGetPhysicalDeviceDisplayProperties2KHR #-} @@ -143,26 +163,27 @@  instance VulkanProc "vkGetPhysicalDeviceDisplayProperties2KHR"          where-        type VkProcType "vkGetPhysicalDeviceDisplayProperties2KHR" =-             HS_vkGetPhysicalDeviceDisplayProperties2KHR-        vkProcSymbol = _VkGetPhysicalDeviceDisplayProperties2KHR+    type VkProcType "vkGetPhysicalDeviceDisplayProperties2KHR" =+         HS_vkGetPhysicalDeviceDisplayProperties2KHR+    vkProcSymbol = _VkGetPhysicalDeviceDisplayProperties2KHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceDisplayProperties2KHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceDisplayProperties2KHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceDisplayProperties2KHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceDisplayProperties2KHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetPhysicalDeviceDisplayPlaneProperties2KHR :: CString  pattern VkGetPhysicalDeviceDisplayPlaneProperties2KHR <-         (is_VkGetPhysicalDeviceDisplayPlaneProperties2KHR -> True)-  where VkGetPhysicalDeviceDisplayPlaneProperties2KHR-          = _VkGetPhysicalDeviceDisplayPlaneProperties2KHR+  where+    VkGetPhysicalDeviceDisplayPlaneProperties2KHR+      = _VkGetPhysicalDeviceDisplayPlaneProperties2KHR  {-# INLINE _VkGetPhysicalDeviceDisplayPlaneProperties2KHR #-} @@ -213,26 +234,26 @@  instance VulkanProc "vkGetPhysicalDeviceDisplayPlaneProperties2KHR"          where-        type VkProcType "vkGetPhysicalDeviceDisplayPlaneProperties2KHR" =-             HS_vkGetPhysicalDeviceDisplayPlaneProperties2KHR-        vkProcSymbol = _VkGetPhysicalDeviceDisplayPlaneProperties2KHR+    type VkProcType "vkGetPhysicalDeviceDisplayPlaneProperties2KHR" =+         HS_vkGetPhysicalDeviceDisplayPlaneProperties2KHR+    vkProcSymbol = _VkGetPhysicalDeviceDisplayPlaneProperties2KHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceDisplayPlaneProperties2KHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceDisplayPlaneProperties2KHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceDisplayPlaneProperties2KHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceDisplayPlaneProperties2KHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetDisplayModeProperties2KHR :: CString  pattern VkGetDisplayModeProperties2KHR <-         (is_VkGetDisplayModeProperties2KHR -> True)-  where VkGetDisplayModeProperties2KHR-          = _VkGetDisplayModeProperties2KHR+  where+    VkGetDisplayModeProperties2KHR = _VkGetDisplayModeProperties2KHR  {-# INLINE _VkGetDisplayModeProperties2KHR #-} @@ -284,24 +305,25 @@                  HS_vkGetDisplayModeProperties2KHR  instance VulkanProc "vkGetDisplayModeProperties2KHR" where-        type VkProcType "vkGetDisplayModeProperties2KHR" =-             HS_vkGetDisplayModeProperties2KHR-        vkProcSymbol = _VkGetDisplayModeProperties2KHR+    type VkProcType "vkGetDisplayModeProperties2KHR" =+         HS_vkGetDisplayModeProperties2KHR+    vkProcSymbol = _VkGetDisplayModeProperties2KHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetDisplayModeProperties2KHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetDisplayModeProperties2KHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetDisplayModeProperties2KHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetDisplayModeProperties2KHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetDisplayPlaneCapabilities2KHR :: CString  pattern VkGetDisplayPlaneCapabilities2KHR <-         (is_VkGetDisplayPlaneCapabilities2KHR -> True)-  where VkGetDisplayPlaneCapabilities2KHR-          = _VkGetDisplayPlaneCapabilities2KHR+  where+    VkGetDisplayPlaneCapabilities2KHR+      = _VkGetDisplayPlaneCapabilities2KHR  {-# INLINE _VkGetDisplayPlaneCapabilities2KHR #-} @@ -351,18 +373,18 @@                  HS_vkGetDisplayPlaneCapabilities2KHR  instance VulkanProc "vkGetDisplayPlaneCapabilities2KHR" where-        type VkProcType "vkGetDisplayPlaneCapabilities2KHR" =-             HS_vkGetDisplayPlaneCapabilities2KHR-        vkProcSymbol = _VkGetDisplayPlaneCapabilities2KHR+    type VkProcType "vkGetDisplayPlaneCapabilities2KHR" =+         HS_vkGetDisplayPlaneCapabilities2KHR+    vkProcSymbol = _VkGetDisplayPlaneCapabilities2KHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetDisplayPlaneCapabilities2KHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetDisplayPlaneCapabilities2KHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetDisplayPlaneCapabilities2KHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetDisplayPlaneCapabilities2KHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION ::         (Num a, Eq a) => a@@ -375,8 +397,9 @@  pattern VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME <-         (is_VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME -> True)-  where VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME-          = _VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME+  where+    VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME+      = _VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME  {-# INLINE _VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_get_memory_requirements2.hs view
@@ -23,10 +23,10 @@         -- type: @device@         --         -- Extension number: @147@-        module Graphics.Vulkan.Types.Struct.Buffer,-        module Graphics.Vulkan.Types.Struct.Image,-        module Graphics.Vulkan.Types.Struct.Memory,-        module Graphics.Vulkan.Types.Struct.Sparse,+        VkBufferMemoryRequirementsInfo2KHR,+        VkImageMemoryRequirementsInfo2KHR,+        VkImageSparseMemoryRequirementsInfo2KHR, VkMemoryRequirements2KHR,+        VkSparseImageMemoryRequirements2KHR,         VkGetImageMemoryRequirements2KHR,         pattern VkGetImageMemoryRequirements2KHR,         HS_vkGetImageMemoryRequirements2KHR,@@ -39,13 +39,65 @@         pattern VkGetImageSparseMemoryRequirements2KHR,         HS_vkGetImageSparseMemoryRequirements2KHR,         PFN_vkGetImageSparseMemoryRequirements2KHR,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.Image,-        module Graphics.Vulkan.Types.Enum.Sparse,-        module Graphics.Vulkan.Types.Enum.StructureType,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.Extent,+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkImageAspectBitmask(..),+        VkImageCreateBitmask(..), VkImageLayout(..), VkImageTiling(..),+        VkImageType(..), VkImageUsageBitmask(..), VkImageViewType(..),+        VkImageAspectFlagBits(), VkImageAspectFlags(),+        VkImageCreateFlagBits(), VkImageCreateFlags(),+        VkImageUsageFlagBits(), VkImageUsageFlags(),+        VkSparseImageFormatBitmask(..), VkSparseMemoryBindBitmask(..),+        VkSparseImageFormatFlagBits(), VkSparseImageFormatFlags(),+        VkSparseMemoryBindFlagBits(), VkSparseMemoryBindFlags(),+        VkStructureType(..), VkBuffer, VkBufferView, VkBufferView_T(),+        VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkBufferCopy, VkBufferCreateInfo, VkBufferImageCopy,+        VkBufferMemoryBarrier, VkBufferMemoryRequirementsInfo2,+        VkBufferViewCreateInfo, VkExtent2D, VkExtent3D, VkImageBlit,+        VkImageCopy, VkImageCreateInfo, VkImageFormatListCreateInfoKHR,+        VkImageFormatProperties, VkImageFormatProperties2,+        VkImageFormatProperties2KHR, VkImageMemoryBarrier,+        VkImageMemoryRequirementsInfo2, VkImagePlaneMemoryRequirementsInfo,+        VkImagePlaneMemoryRequirementsInfoKHR, VkImageResolve,+        VkImageSparseMemoryRequirementsInfo2, VkImageSubresource,+        VkImageSubresourceLayers, VkImageSubresourceRange,+        VkImageSwapchainCreateInfoKHR, VkImageViewCreateInfo,+        VkImageViewUsageCreateInfo, VkImageViewUsageCreateInfoKHR,+        VkMemoryAllocateFlagsInfo, VkMemoryAllocateFlagsInfoKHR,+        VkMemoryAllocateInfo, VkMemoryBarrier,+        VkMemoryDedicatedAllocateInfo, VkMemoryDedicatedAllocateInfoKHR,+        VkMemoryDedicatedRequirements, VkMemoryDedicatedRequirementsKHR,+        VkMemoryFdPropertiesKHR, VkMemoryGetFdInfoKHR, VkMemoryHeap,+        VkMemoryHostPointerPropertiesEXT, VkMemoryRequirements,+        VkMemoryRequirements2, VkMemoryType, VkSparseBufferMemoryBindInfo,+        VkSparseImageFormatProperties, VkSparseImageFormatProperties2,+        VkSparseImageFormatProperties2KHR, VkSparseImageMemoryBind,+        VkSparseImageMemoryBindInfo, VkSparseImageMemoryRequirements,+        VkSparseImageMemoryRequirements2,+        VkSparseImageOpaqueMemoryBindInfo, VkSparseMemoryBind,         VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION,         pattern VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION,         VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME,@@ -79,8 +131,9 @@  pattern VkGetImageMemoryRequirements2KHR <-         (is_VkGetImageMemoryRequirements2KHR -> True)-  where VkGetImageMemoryRequirements2KHR-          = _VkGetImageMemoryRequirements2KHR+  where+    VkGetImageMemoryRequirements2KHR+      = _VkGetImageMemoryRequirements2KHR  {-# INLINE _VkGetImageMemoryRequirements2KHR #-} @@ -128,25 +181,26 @@                  HS_vkGetImageMemoryRequirements2KHR  instance VulkanProc "vkGetImageMemoryRequirements2KHR" where-        type VkProcType "vkGetImageMemoryRequirements2KHR" =-             HS_vkGetImageMemoryRequirements2KHR-        vkProcSymbol = _VkGetImageMemoryRequirements2KHR+    type VkProcType "vkGetImageMemoryRequirements2KHR" =+         HS_vkGetImageMemoryRequirements2KHR+    vkProcSymbol = _VkGetImageMemoryRequirements2KHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetImageMemoryRequirements2KHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetImageMemoryRequirements2KHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetImageMemoryRequirements2KHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetImageMemoryRequirements2KHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetBufferMemoryRequirements2KHR :: CString  pattern VkGetBufferMemoryRequirements2KHR <-         (is_VkGetBufferMemoryRequirements2KHR -> True)-  where VkGetBufferMemoryRequirements2KHR-          = _VkGetBufferMemoryRequirements2KHR+  where+    VkGetBufferMemoryRequirements2KHR+      = _VkGetBufferMemoryRequirements2KHR  {-# INLINE _VkGetBufferMemoryRequirements2KHR #-} @@ -194,25 +248,26 @@                  HS_vkGetBufferMemoryRequirements2KHR  instance VulkanProc "vkGetBufferMemoryRequirements2KHR" where-        type VkProcType "vkGetBufferMemoryRequirements2KHR" =-             HS_vkGetBufferMemoryRequirements2KHR-        vkProcSymbol = _VkGetBufferMemoryRequirements2KHR+    type VkProcType "vkGetBufferMemoryRequirements2KHR" =+         HS_vkGetBufferMemoryRequirements2KHR+    vkProcSymbol = _VkGetBufferMemoryRequirements2KHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetBufferMemoryRequirements2KHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetBufferMemoryRequirements2KHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetBufferMemoryRequirements2KHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetBufferMemoryRequirements2KHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetImageSparseMemoryRequirements2KHR :: CString  pattern VkGetImageSparseMemoryRequirements2KHR <-         (is_VkGetImageSparseMemoryRequirements2KHR -> True)-  where VkGetImageSparseMemoryRequirements2KHR-          = _VkGetImageSparseMemoryRequirements2KHR+  where+    VkGetImageSparseMemoryRequirements2KHR+      = _VkGetImageSparseMemoryRequirements2KHR  {-# INLINE _VkGetImageSparseMemoryRequirements2KHR #-} @@ -262,19 +317,19 @@                  HS_vkGetImageSparseMemoryRequirements2KHR  instance VulkanProc "vkGetImageSparseMemoryRequirements2KHR" where-        type VkProcType "vkGetImageSparseMemoryRequirements2KHR" =-             HS_vkGetImageSparseMemoryRequirements2KHR-        vkProcSymbol = _VkGetImageSparseMemoryRequirements2KHR+    type VkProcType "vkGetImageSparseMemoryRequirements2KHR" =+         HS_vkGetImageSparseMemoryRequirements2KHR+    vkProcSymbol = _VkGetImageSparseMemoryRequirements2KHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetImageSparseMemoryRequirements2KHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetImageSparseMemoryRequirements2KHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetImageSparseMemoryRequirements2KHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetImageSparseMemoryRequirements2KHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION ::         (Num a, Eq a) => a@@ -287,8 +342,9 @@  pattern VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME <-         (is_VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME -> True)-  where VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME-          = _VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME+  where+    VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME+      = _VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME  {-# INLINE _VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_get_physical_device_properties2.hs view
@@ -23,11 +23,12 @@         -- type: @instance@         --         -- Extension number: @60@-        module Graphics.Vulkan.Types.Struct.FormatProperties,-        module Graphics.Vulkan.Types.Struct.Image,-        module Graphics.Vulkan.Types.Struct.PhysicalDevice,-        module Graphics.Vulkan.Types.Struct.QueueFamilyProperties,-        module Graphics.Vulkan.Types.Struct.Sparse,+        VkFormatProperties2KHR, VkImageFormatProperties2KHR,+        VkPhysicalDeviceFeatures2KHR, VkPhysicalDeviceImageFormatInfo2KHR,+        VkPhysicalDeviceMemoryProperties2KHR,+        VkPhysicalDeviceProperties2KHR,+        VkPhysicalDeviceSparseImageFormatInfo2KHR,+        VkQueueFamilyProperties2KHR, VkSparseImageFormatProperties2KHR,         VkGetPhysicalDeviceFeatures2KHR,         pattern VkGetPhysicalDeviceFeatures2KHR,         HS_vkGetPhysicalDeviceFeatures2KHR,@@ -56,24 +57,186 @@         pattern VkGetPhysicalDeviceSparseImageFormatProperties2KHR,         HS_vkGetPhysicalDeviceSparseImageFormatProperties2KHR,         PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Bitmasks,-        module Graphics.Vulkan.Types.Enum.Device,-        module Graphics.Vulkan.Types.Enum.Format,-        module Graphics.Vulkan.Types.Enum.Image,-        module Graphics.Vulkan.Types.Enum.Memory,-        module Graphics.Vulkan.Types.Enum.PhysicalDeviceType,-        module Graphics.Vulkan.Types.Enum.Queue,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Enum.SampleCountFlags,-        module Graphics.Vulkan.Types.Enum.Sparse,-        module Graphics.Vulkan.Types.Enum.StructureType,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.Device,-        module Graphics.Vulkan.Types.Struct.Extent,-        module Graphics.Vulkan.Types.Struct.Memory,-        module Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures,+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkAndroidSurfaceCreateFlagsKHR(..),+        VkBufferViewCreateFlags(..), VkCommandPoolTrimFlags(..),+        VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkDeviceEventTypeEXT(..),+        VkDeviceGroupPresentModeBitmaskKHR(..), VkDeviceCreateFlagBits(..),+        VkDeviceGroupPresentModeFlagBitsKHR(),+        VkDeviceGroupPresentModeFlagsKHR(), VkDeviceQueueCreateBitmask(..),+        VkDeviceQueueCreateFlagBits(), VkDeviceQueueCreateFlags(),+        VkFormat(..), VkFormatFeatureBitmask(..),+        VkFormatFeatureFlagBits(), VkFormatFeatureFlags(),+        VkImageAspectBitmask(..), VkImageCreateBitmask(..),+        VkImageLayout(..), VkImageTiling(..), VkImageType(..),+        VkImageUsageBitmask(..), VkImageViewType(..),+        VkImageAspectFlagBits(), VkImageAspectFlags(),+        VkImageCreateFlagBits(), VkImageCreateFlags(),+        VkImageUsageFlagBits(), VkImageUsageFlags(),+        VkMemoryAllocateBitmask(..), VkMemoryHeapBitmask(..),+        VkMemoryPropertyBitmask(..), VkMemoryAllocateFlagBits(),+        VkMemoryAllocateFlagBitsKHR(..), VkMemoryAllocateFlags(),+        VkMemoryHeapFlagBits(), VkMemoryHeapFlags(),+        VkMemoryPropertyFlagBits(), VkMemoryPropertyFlags(),+        VkPhysicalDeviceType(..), VkQueueBitmask(..),+        VkQueueGlobalPriorityEXT(..), VkQueueFlagBits(), VkQueueFlags(),+        VkResult(..), VkSampleCountBitmask(..), VkSampleCountFlagBits(),+        VkSampleCountFlags(), VkSparseImageFormatBitmask(..),+        VkSparseMemoryBindBitmask(..), VkSparseImageFormatFlagBits(),+        VkSparseImageFormatFlags(), VkSparseMemoryBindFlagBits(),+        VkSparseMemoryBindFlags(), VkStructureType(..), VkBuffer,+        VkBufferView, VkBufferView_T(), VkBuffer_T(), VkCommandBuffer,+        VkCommandBuffer_T(), VkCommandPool, VkCommandPool_T(),+        VkDebugReportCallbackEXT, VkDebugReportCallbackEXT_T(),+        VkDebugUtilsMessengerEXT, VkDebugUtilsMessengerEXT_T(),+        VkDescriptorPool, VkDescriptorPool_T(), VkDescriptorSet,+        VkDescriptorSetLayout, VkDescriptorSetLayout_T(),+        VkDescriptorSet_T(), VkDescriptorUpdateTemplate,+        VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(),+        VkDescriptorUpdateTemplate_T(), VkDevice, VkDeviceMemory,+        VkDeviceMemory_T(), VkDevice_T(), VkDisplayKHR, VkDisplayKHR_T(),+        VkDisplayModeKHR, VkDisplayModeKHR_T(), VkEvent, VkEvent_T(),+        VkFence, VkFence_T(), VkFramebuffer, VkFramebuffer_T(), VkImage,+        VkImageView, VkImageView_T(), VkImage_T(),+        VkIndirectCommandsLayoutNVX, VkIndirectCommandsLayoutNVX_T(),+        VkInstance, VkInstance_T(), VkObjectTableNVX, VkObjectTableNVX_T(),+        VkPhysicalDevice, VkPhysicalDevice_T(), VkPipeline,+        VkPipelineCache, VkPipelineCache_T(), VkPipelineLayout,+        VkPipelineLayout_T(), VkPipeline_T(), VkQueryPool, VkQueryPool_T(),+        VkQueue, VkQueue_T(), VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkDeviceCreateInfo, VkDeviceEventInfoEXT,+        VkDeviceGeneratedCommandsFeaturesNVX,+        VkDeviceGeneratedCommandsLimitsNVX, VkDeviceGroupBindSparseInfo,+        VkDeviceGroupBindSparseInfoKHR,+        VkDeviceGroupCommandBufferBeginInfo,+        VkDeviceGroupCommandBufferBeginInfoKHR,+        VkDeviceGroupDeviceCreateInfo, VkDeviceGroupDeviceCreateInfoKHR,+        VkDeviceGroupPresentCapabilitiesKHR, VkDeviceGroupPresentInfoKHR,+        VkDeviceGroupRenderPassBeginInfo,+        VkDeviceGroupRenderPassBeginInfoKHR, VkDeviceGroupSubmitInfo,+        VkDeviceGroupSubmitInfoKHR, VkDeviceGroupSwapchainCreateInfoKHR,+        VkDeviceQueueCreateInfo, VkDeviceQueueGlobalPriorityCreateInfoEXT,+        VkDeviceQueueInfo2, VkExtent2D, VkExtent3D, VkFormatProperties,+        VkFormatProperties2, VkImageBlit, VkImageCopy, VkImageCreateInfo,+        VkImageFormatListCreateInfoKHR, VkImageFormatProperties,+        VkImageFormatProperties2, VkImageMemoryBarrier,+        VkImageMemoryRequirementsInfo2, VkImageMemoryRequirementsInfo2KHR,+        VkImagePlaneMemoryRequirementsInfo,+        VkImagePlaneMemoryRequirementsInfoKHR, VkImageResolve,+        VkImageSparseMemoryRequirementsInfo2,+        VkImageSparseMemoryRequirementsInfo2KHR, VkImageSubresource,+        VkImageSubresourceLayers, VkImageSubresourceRange,+        VkImageSwapchainCreateInfoKHR, VkImageViewCreateInfo,+        VkImageViewUsageCreateInfo, VkImageViewUsageCreateInfoKHR,+        VkMemoryAllocateFlagsInfo, VkMemoryAllocateFlagsInfoKHR,+        VkMemoryAllocateInfo, VkMemoryBarrier,+        VkMemoryDedicatedAllocateInfo, VkMemoryDedicatedAllocateInfoKHR,+        VkMemoryDedicatedRequirements, VkMemoryDedicatedRequirementsKHR,+        VkMemoryFdPropertiesKHR, VkMemoryGetFdInfoKHR, VkMemoryHeap,+        VkMemoryHostPointerPropertiesEXT, VkMemoryRequirements,+        VkMemoryRequirements2, VkMemoryRequirements2KHR, VkMemoryType,+        VkPhysicalDevice16BitStorageFeatures,+        VkPhysicalDevice16BitStorageFeaturesKHR,+        VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT,+        VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT,+        VkPhysicalDeviceConservativeRasterizationPropertiesEXT,+        VkPhysicalDeviceDescriptorIndexingFeaturesEXT,+        VkPhysicalDeviceDescriptorIndexingPropertiesEXT,+        VkPhysicalDeviceDiscardRectanglePropertiesEXT,+        VkPhysicalDeviceExternalBufferInfo,+        VkPhysicalDeviceExternalBufferInfoKHR,+        VkPhysicalDeviceExternalFenceInfo,+        VkPhysicalDeviceExternalFenceInfoKHR,+        VkPhysicalDeviceExternalImageFormatInfo,+        VkPhysicalDeviceExternalImageFormatInfoKHR,+        VkPhysicalDeviceExternalMemoryHostPropertiesEXT,+        VkPhysicalDeviceExternalSemaphoreInfo,+        VkPhysicalDeviceExternalSemaphoreInfoKHR,+        VkPhysicalDeviceFeatures2, VkPhysicalDeviceGroupProperties,+        VkPhysicalDeviceGroupPropertiesKHR, VkPhysicalDeviceIDProperties,+        VkPhysicalDeviceIDPropertiesKHR, VkPhysicalDeviceImageFormatInfo2,+        VkPhysicalDeviceLimits, VkPhysicalDeviceMaintenance3Properties,+        VkPhysicalDeviceMaintenance3PropertiesKHR,+        VkPhysicalDeviceMemoryProperties,+        VkPhysicalDeviceMemoryProperties2,+        VkPhysicalDeviceMultiviewFeatures,+        VkPhysicalDeviceMultiviewFeaturesKHR,+        VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,+        VkPhysicalDeviceMultiviewProperties,+        VkPhysicalDeviceMultiviewPropertiesKHR,+        VkPhysicalDevicePointClippingProperties,+        VkPhysicalDevicePointClippingPropertiesKHR,+        VkPhysicalDeviceProperties, VkPhysicalDeviceProperties2,+        VkPhysicalDeviceProtectedMemoryFeatures,+        VkPhysicalDeviceProtectedMemoryProperties,+        VkPhysicalDevicePushDescriptorPropertiesKHR,+        VkPhysicalDeviceSampleLocationsPropertiesEXT,+        VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT,+        VkPhysicalDeviceSamplerYcbcrConversionFeatures,+        VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR,+        VkPhysicalDeviceShaderCorePropertiesAMD,+        VkPhysicalDeviceShaderDrawParameterFeatures,+        VkPhysicalDeviceSparseImageFormatInfo2,+        VkPhysicalDeviceSparseProperties,+        VkPhysicalDeviceSubgroupProperties,+        VkPhysicalDeviceSurfaceInfo2KHR,+        VkPhysicalDeviceVariablePointerFeatures,+        VkPhysicalDeviceVariablePointerFeaturesKHR,+        VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT,+        VkPhysicalDeviceFeatures, VkQueueFamilyProperties,+        VkQueueFamilyProperties2, VkSparseBufferMemoryBindInfo,+        VkSparseImageFormatProperties, VkSparseImageFormatProperties2,+        VkSparseImageMemoryBind, VkSparseImageMemoryBindInfo,+        VkSparseImageMemoryRequirements, VkSparseImageMemoryRequirements2,+        VkSparseImageMemoryRequirements2KHR,+        VkSparseImageOpaqueMemoryBindInfo, VkSparseMemoryBind,         VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION,         pattern VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION,         VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME,@@ -127,8 +290,8 @@  pattern VkGetPhysicalDeviceFeatures2KHR <-         (is_VkGetPhysicalDeviceFeatures2KHR -> True)-  where VkGetPhysicalDeviceFeatures2KHR-          = _VkGetPhysicalDeviceFeatures2KHR+  where+    VkGetPhysicalDeviceFeatures2KHR = _VkGetPhysicalDeviceFeatures2KHR  {-# INLINE _VkGetPhysicalDeviceFeatures2KHR #-} @@ -172,24 +335,25 @@                  HS_vkGetPhysicalDeviceFeatures2KHR  instance VulkanProc "vkGetPhysicalDeviceFeatures2KHR" where-        type VkProcType "vkGetPhysicalDeviceFeatures2KHR" =-             HS_vkGetPhysicalDeviceFeatures2KHR-        vkProcSymbol = _VkGetPhysicalDeviceFeatures2KHR+    type VkProcType "vkGetPhysicalDeviceFeatures2KHR" =+         HS_vkGetPhysicalDeviceFeatures2KHR+    vkProcSymbol = _VkGetPhysicalDeviceFeatures2KHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetPhysicalDeviceFeatures2KHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetPhysicalDeviceFeatures2KHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetPhysicalDeviceFeatures2KHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetPhysicalDeviceFeatures2KHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetPhysicalDeviceProperties2KHR :: CString  pattern VkGetPhysicalDeviceProperties2KHR <-         (is_VkGetPhysicalDeviceProperties2KHR -> True)-  where VkGetPhysicalDeviceProperties2KHR-          = _VkGetPhysicalDeviceProperties2KHR+  where+    VkGetPhysicalDeviceProperties2KHR+      = _VkGetPhysicalDeviceProperties2KHR  {-# INLINE _VkGetPhysicalDeviceProperties2KHR #-} @@ -233,25 +397,26 @@                  HS_vkGetPhysicalDeviceProperties2KHR  instance VulkanProc "vkGetPhysicalDeviceProperties2KHR" where-        type VkProcType "vkGetPhysicalDeviceProperties2KHR" =-             HS_vkGetPhysicalDeviceProperties2KHR-        vkProcSymbol = _VkGetPhysicalDeviceProperties2KHR+    type VkProcType "vkGetPhysicalDeviceProperties2KHR" =+         HS_vkGetPhysicalDeviceProperties2KHR+    vkProcSymbol = _VkGetPhysicalDeviceProperties2KHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceProperties2KHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceProperties2KHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetPhysicalDeviceProperties2KHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetPhysicalDeviceProperties2KHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetPhysicalDeviceFormatProperties2KHR :: CString  pattern VkGetPhysicalDeviceFormatProperties2KHR <-         (is_VkGetPhysicalDeviceFormatProperties2KHR -> True)-  where VkGetPhysicalDeviceFormatProperties2KHR-          = _VkGetPhysicalDeviceFormatProperties2KHR+  where+    VkGetPhysicalDeviceFormatProperties2KHR+      = _VkGetPhysicalDeviceFormatProperties2KHR  {-# INLINE _VkGetPhysicalDeviceFormatProperties2KHR #-} @@ -297,26 +462,27 @@                  HS_vkGetPhysicalDeviceFormatProperties2KHR  instance VulkanProc "vkGetPhysicalDeviceFormatProperties2KHR" where-        type VkProcType "vkGetPhysicalDeviceFormatProperties2KHR" =-             HS_vkGetPhysicalDeviceFormatProperties2KHR-        vkProcSymbol = _VkGetPhysicalDeviceFormatProperties2KHR+    type VkProcType "vkGetPhysicalDeviceFormatProperties2KHR" =+         HS_vkGetPhysicalDeviceFormatProperties2KHR+    vkProcSymbol = _VkGetPhysicalDeviceFormatProperties2KHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceFormatProperties2KHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceFormatProperties2KHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceFormatProperties2KHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceFormatProperties2KHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetPhysicalDeviceImageFormatProperties2KHR :: CString  pattern VkGetPhysicalDeviceImageFormatProperties2KHR <-         (is_VkGetPhysicalDeviceImageFormatProperties2KHR -> True)-  where VkGetPhysicalDeviceImageFormatProperties2KHR-          = _VkGetPhysicalDeviceImageFormatProperties2KHR+  where+    VkGetPhysicalDeviceImageFormatProperties2KHR+      = _VkGetPhysicalDeviceImageFormatProperties2KHR  {-# INLINE _VkGetPhysicalDeviceImageFormatProperties2KHR #-} @@ -370,26 +536,27 @@  instance VulkanProc "vkGetPhysicalDeviceImageFormatProperties2KHR"          where-        type VkProcType "vkGetPhysicalDeviceImageFormatProperties2KHR" =-             HS_vkGetPhysicalDeviceImageFormatProperties2KHR-        vkProcSymbol = _VkGetPhysicalDeviceImageFormatProperties2KHR+    type VkProcType "vkGetPhysicalDeviceImageFormatProperties2KHR" =+         HS_vkGetPhysicalDeviceImageFormatProperties2KHR+    vkProcSymbol = _VkGetPhysicalDeviceImageFormatProperties2KHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceImageFormatProperties2KHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceImageFormatProperties2KHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceImageFormatProperties2KHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceImageFormatProperties2KHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetPhysicalDeviceQueueFamilyProperties2KHR :: CString  pattern VkGetPhysicalDeviceQueueFamilyProperties2KHR <-         (is_VkGetPhysicalDeviceQueueFamilyProperties2KHR -> True)-  where VkGetPhysicalDeviceQueueFamilyProperties2KHR-          = _VkGetPhysicalDeviceQueueFamilyProperties2KHR+  where+    VkGetPhysicalDeviceQueueFamilyProperties2KHR+      = _VkGetPhysicalDeviceQueueFamilyProperties2KHR  {-# INLINE _VkGetPhysicalDeviceQueueFamilyProperties2KHR #-} @@ -438,26 +605,27 @@  instance VulkanProc "vkGetPhysicalDeviceQueueFamilyProperties2KHR"          where-        type VkProcType "vkGetPhysicalDeviceQueueFamilyProperties2KHR" =-             HS_vkGetPhysicalDeviceQueueFamilyProperties2KHR-        vkProcSymbol = _VkGetPhysicalDeviceQueueFamilyProperties2KHR+    type VkProcType "vkGetPhysicalDeviceQueueFamilyProperties2KHR" =+         HS_vkGetPhysicalDeviceQueueFamilyProperties2KHR+    vkProcSymbol = _VkGetPhysicalDeviceQueueFamilyProperties2KHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceQueueFamilyProperties2KHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceQueueFamilyProperties2KHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceQueueFamilyProperties2KHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceQueueFamilyProperties2KHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetPhysicalDeviceMemoryProperties2KHR :: CString  pattern VkGetPhysicalDeviceMemoryProperties2KHR <-         (is_VkGetPhysicalDeviceMemoryProperties2KHR -> True)-  where VkGetPhysicalDeviceMemoryProperties2KHR-          = _VkGetPhysicalDeviceMemoryProperties2KHR+  where+    VkGetPhysicalDeviceMemoryProperties2KHR+      = _VkGetPhysicalDeviceMemoryProperties2KHR  {-# INLINE _VkGetPhysicalDeviceMemoryProperties2KHR #-} @@ -501,27 +669,28 @@                  HS_vkGetPhysicalDeviceMemoryProperties2KHR  instance VulkanProc "vkGetPhysicalDeviceMemoryProperties2KHR" where-        type VkProcType "vkGetPhysicalDeviceMemoryProperties2KHR" =-             HS_vkGetPhysicalDeviceMemoryProperties2KHR-        vkProcSymbol = _VkGetPhysicalDeviceMemoryProperties2KHR+    type VkProcType "vkGetPhysicalDeviceMemoryProperties2KHR" =+         HS_vkGetPhysicalDeviceMemoryProperties2KHR+    vkProcSymbol = _VkGetPhysicalDeviceMemoryProperties2KHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceMemoryProperties2KHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceMemoryProperties2KHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceMemoryProperties2KHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceMemoryProperties2KHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetPhysicalDeviceSparseImageFormatProperties2KHR ::         CString  pattern VkGetPhysicalDeviceSparseImageFormatProperties2KHR <-         (is_VkGetPhysicalDeviceSparseImageFormatProperties2KHR -> True)-  where VkGetPhysicalDeviceSparseImageFormatProperties2KHR-          = _VkGetPhysicalDeviceSparseImageFormatProperties2KHR+  where+    VkGetPhysicalDeviceSparseImageFormatProperties2KHR+      = _VkGetPhysicalDeviceSparseImageFormatProperties2KHR  {-# INLINE _VkGetPhysicalDeviceSparseImageFormatProperties2KHR #-} @@ -576,20 +745,20 @@ instance VulkanProc            "vkGetPhysicalDeviceSparseImageFormatProperties2KHR"          where-        type VkProcType-               "vkGetPhysicalDeviceSparseImageFormatProperties2KHR"-             = HS_vkGetPhysicalDeviceSparseImageFormatProperties2KHR-        vkProcSymbol = _VkGetPhysicalDeviceSparseImageFormatProperties2KHR+    type VkProcType+           "vkGetPhysicalDeviceSparseImageFormatProperties2KHR"+         = HS_vkGetPhysicalDeviceSparseImageFormatProperties2KHR+    vkProcSymbol = _VkGetPhysicalDeviceSparseImageFormatProperties2KHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceSparseImageFormatProperties2KHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceSparseImageFormatProperties2KHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceSparseImageFormatProperties2KHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceSparseImageFormatProperties2KHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION ::         (Num a, Eq a) => a@@ -603,8 +772,9 @@  pattern VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME <-         (is_VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME -> True)-  where VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-          = _VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME+  where+    VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME+      = _VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME  {-# INLINE _VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME            #-}
src-gen/Graphics/Vulkan/Ext/VK_KHR_get_surface_capabilities2.hs view
@@ -27,17 +27,24 @@         --          -- ** Required extensions: 'VK_KHR_surface'.-        module Graphics.Vulkan.Types.Enum.Color,-        module Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR,-        VkExtent2D, VkExtent2D', module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.Format,-        module Graphics.Vulkan.Types.Enum.Image,-        VkPhysicalDeviceSurfaceInfo2KHR, VkPhysicalDeviceSurfaceInfo2KHR',-        module Graphics.Vulkan.Types.Enum.StructureType,-        VkSurfaceCapabilities2KHR, VkSurfaceCapabilities2KHR',-        VkSurfaceCapabilitiesKHR, VkSurfaceCapabilitiesKHR',-        VkSurfaceFormat2KHR, VkSurfaceFormat2KHR', VkSurfaceFormatKHR,-        VkSurfaceFormatKHR', module Graphics.Vulkan.Types.Enum.Surface,+        VkColorComponentBitmask(..), VkColorSpaceKHR(..),+        VkColorComponentFlagBits(), VkColorComponentFlags(),+        VkCompositeAlphaBitmaskKHR(..), VkCompositeAlphaFlagBitsKHR(),+        VkCompositeAlphaFlagsKHR(), VkExtent2D, VkBool32(..),+        VkDeviceSize(..), VkFlags(..), VkSampleMask(..), VkFormat(..),+        VkFormatFeatureBitmask(..), VkFormatFeatureFlagBits(),+        VkFormatFeatureFlags(), VkImageAspectBitmask(..),+        VkImageCreateBitmask(..), VkImageLayout(..), VkImageTiling(..),+        VkImageType(..), VkImageUsageBitmask(..), VkImageViewType(..),+        VkImageAspectFlagBits(), VkImageAspectFlags(),+        VkImageCreateFlagBits(), VkImageCreateFlags(),+        VkImageUsageFlagBits(), VkImageUsageFlags(),+        VkPhysicalDeviceSurfaceInfo2KHR, VkStructureType(..),+        VkSurfaceCapabilities2KHR, VkSurfaceCapabilitiesKHR,+        VkSurfaceFormat2KHR, VkSurfaceFormatKHR,+        VkSurfaceCounterBitmaskEXT(..), VkSurfaceTransformBitmaskKHR(..),+        VkSurfaceCounterFlagBitsEXT(), VkSurfaceCounterFlagsEXT(),+        VkSurfaceTransformFlagBitsKHR(), VkSurfaceTransformFlagsKHR(),         -- > #include "vk_platform.h"         VkGetPhysicalDeviceSurfaceCapabilities2KHR,         pattern VkGetPhysicalDeviceSurfaceCapabilities2KHR,@@ -47,12 +54,84 @@         pattern VkGetPhysicalDeviceSurfaceFormats2KHR,         HS_vkGetPhysicalDeviceSurfaceFormats2KHR,         PFN_vkGetPhysicalDeviceSurfaceFormats2KHR,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.Extent,-        module Graphics.Vulkan.Types.Struct.PhysicalDevice,-        module Graphics.Vulkan.Types.Struct.Surface,+        module Graphics.Vulkan.Marshal, VkResult(..), VkBuffer,+        VkBufferView, VkBufferView_T(), VkBuffer_T(), VkCommandBuffer,+        VkCommandBuffer_T(), VkCommandPool, VkCommandPool_T(),+        VkDebugReportCallbackEXT, VkDebugReportCallbackEXT_T(),+        VkDebugUtilsMessengerEXT, VkDebugUtilsMessengerEXT_T(),+        VkDescriptorPool, VkDescriptorPool_T(), VkDescriptorSet,+        VkDescriptorSetLayout, VkDescriptorSetLayout_T(),+        VkDescriptorSet_T(), VkDescriptorUpdateTemplate,+        VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(),+        VkDescriptorUpdateTemplate_T(), VkDevice, VkDeviceMemory,+        VkDeviceMemory_T(), VkDevice_T(), VkDisplayKHR, VkDisplayKHR_T(),+        VkDisplayModeKHR, VkDisplayModeKHR_T(), VkEvent, VkEvent_T(),+        VkFence, VkFence_T(), VkFramebuffer, VkFramebuffer_T(), VkImage,+        VkImageView, VkImageView_T(), VkImage_T(),+        VkIndirectCommandsLayoutNVX, VkIndirectCommandsLayoutNVX_T(),+        VkInstance, VkInstance_T(), VkObjectTableNVX, VkObjectTableNVX_T(),+        VkPhysicalDevice, VkPhysicalDevice_T(), VkPipeline,+        VkPipelineCache, VkPipelineCache_T(), VkPipelineLayout,+        VkPipelineLayout_T(), VkPipeline_T(), VkQueryPool, VkQueryPool_T(),+        VkQueue, VkQueue_T(), VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkExtent3D, VkPhysicalDevice16BitStorageFeatures,+        VkPhysicalDevice16BitStorageFeaturesKHR,+        VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT,+        VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT,+        VkPhysicalDeviceConservativeRasterizationPropertiesEXT,+        VkPhysicalDeviceDescriptorIndexingFeaturesEXT,+        VkPhysicalDeviceDescriptorIndexingPropertiesEXT,+        VkPhysicalDeviceDiscardRectanglePropertiesEXT,+        VkPhysicalDeviceExternalBufferInfo,+        VkPhysicalDeviceExternalBufferInfoKHR,+        VkPhysicalDeviceExternalFenceInfo,+        VkPhysicalDeviceExternalFenceInfoKHR,+        VkPhysicalDeviceExternalImageFormatInfo,+        VkPhysicalDeviceExternalImageFormatInfoKHR,+        VkPhysicalDeviceExternalMemoryHostPropertiesEXT,+        VkPhysicalDeviceExternalSemaphoreInfo,+        VkPhysicalDeviceExternalSemaphoreInfoKHR,+        VkPhysicalDeviceFeatures2, VkPhysicalDeviceFeatures2KHR,+        VkPhysicalDeviceGroupProperties,+        VkPhysicalDeviceGroupPropertiesKHR, VkPhysicalDeviceIDProperties,+        VkPhysicalDeviceIDPropertiesKHR, VkPhysicalDeviceImageFormatInfo2,+        VkPhysicalDeviceImageFormatInfo2KHR, VkPhysicalDeviceLimits,+        VkPhysicalDeviceMaintenance3Properties,+        VkPhysicalDeviceMaintenance3PropertiesKHR,+        VkPhysicalDeviceMemoryProperties,+        VkPhysicalDeviceMemoryProperties2,+        VkPhysicalDeviceMemoryProperties2KHR,+        VkPhysicalDeviceMultiviewFeatures,+        VkPhysicalDeviceMultiviewFeaturesKHR,+        VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,+        VkPhysicalDeviceMultiviewProperties,+        VkPhysicalDeviceMultiviewPropertiesKHR,+        VkPhysicalDevicePointClippingProperties,+        VkPhysicalDevicePointClippingPropertiesKHR,+        VkPhysicalDeviceProperties, VkPhysicalDeviceProperties2,+        VkPhysicalDeviceProperties2KHR,+        VkPhysicalDeviceProtectedMemoryFeatures,+        VkPhysicalDeviceProtectedMemoryProperties,+        VkPhysicalDevicePushDescriptorPropertiesKHR,+        VkPhysicalDeviceSampleLocationsPropertiesEXT,+        VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT,+        VkPhysicalDeviceSamplerYcbcrConversionFeatures,+        VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR,+        VkPhysicalDeviceShaderCorePropertiesAMD,+        VkPhysicalDeviceShaderDrawParameterFeatures,+        VkPhysicalDeviceSparseImageFormatInfo2,+        VkPhysicalDeviceSparseImageFormatInfo2KHR,+        VkPhysicalDeviceSparseProperties,+        VkPhysicalDeviceSubgroupProperties,+        VkPhysicalDeviceVariablePointerFeatures,+        VkPhysicalDeviceVariablePointerFeaturesKHR,+        VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT,+        VkSurfaceCapabilities2EXT,         VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION,         pattern VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION,         VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME,@@ -81,8 +160,9 @@  pattern VkGetPhysicalDeviceSurfaceCapabilities2KHR <-         (is_VkGetPhysicalDeviceSurfaceCapabilities2KHR -> True)-  where VkGetPhysicalDeviceSurfaceCapabilities2KHR-          = _VkGetPhysicalDeviceSurfaceCapabilities2KHR+  where+    VkGetPhysicalDeviceSurfaceCapabilities2KHR+      = _VkGetPhysicalDeviceSurfaceCapabilities2KHR  {-# INLINE _VkGetPhysicalDeviceSurfaceCapabilities2KHR #-} @@ -133,26 +213,27 @@  instance VulkanProc "vkGetPhysicalDeviceSurfaceCapabilities2KHR"          where-        type VkProcType "vkGetPhysicalDeviceSurfaceCapabilities2KHR" =-             HS_vkGetPhysicalDeviceSurfaceCapabilities2KHR-        vkProcSymbol = _VkGetPhysicalDeviceSurfaceCapabilities2KHR+    type VkProcType "vkGetPhysicalDeviceSurfaceCapabilities2KHR" =+         HS_vkGetPhysicalDeviceSurfaceCapabilities2KHR+    vkProcSymbol = _VkGetPhysicalDeviceSurfaceCapabilities2KHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceSurfaceCapabilities2KHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceSurfaceCapabilities2KHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceSurfaceCapabilities2KHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceSurfaceCapabilities2KHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetPhysicalDeviceSurfaceFormats2KHR :: CString  pattern VkGetPhysicalDeviceSurfaceFormats2KHR <-         (is_VkGetPhysicalDeviceSurfaceFormats2KHR -> True)-  where VkGetPhysicalDeviceSurfaceFormats2KHR-          = _VkGetPhysicalDeviceSurfaceFormats2KHR+  where+    VkGetPhysicalDeviceSurfaceFormats2KHR+      = _VkGetPhysicalDeviceSurfaceFormats2KHR  {-# INLINE _VkGetPhysicalDeviceSurfaceFormats2KHR #-} @@ -204,19 +285,19 @@                  HS_vkGetPhysicalDeviceSurfaceFormats2KHR  instance VulkanProc "vkGetPhysicalDeviceSurfaceFormats2KHR" where-        type VkProcType "vkGetPhysicalDeviceSurfaceFormats2KHR" =-             HS_vkGetPhysicalDeviceSurfaceFormats2KHR-        vkProcSymbol = _VkGetPhysicalDeviceSurfaceFormats2KHR+    type VkProcType "vkGetPhysicalDeviceSurfaceFormats2KHR" =+         HS_vkGetPhysicalDeviceSurfaceFormats2KHR+    vkProcSymbol = _VkGetPhysicalDeviceSurfaceFormats2KHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceSurfaceFormats2KHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceSurfaceFormats2KHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceSurfaceFormats2KHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceSurfaceFormats2KHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION ::         (Num a, Eq a) => a@@ -229,8 +310,9 @@  pattern VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME <-         (is_VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME -> True)-  where VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME-          = _VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME+  where+    VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME+      = _VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME  {-# INLINE _VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_image_format_list.hs view
@@ -17,16 +17,19 @@         -- type: @device@         --         -- Extension number: @148@-        VkExtent3D, VkExtent3D', module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.Format,-        module Graphics.Vulkan.Types.Enum.Image, VkImageCreateInfo,-        VkImageCreateInfo', VkImageFormatListCreateInfoKHR,-        VkImageFormatListCreateInfoKHR',-        module Graphics.Vulkan.Types.Enum.SampleCountFlags,-        module Graphics.Vulkan.Types.Enum.SharingMode,-        module Graphics.Vulkan.Types.Enum.StructureType,-        -- > #include "vk_platform.h"-        VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION,+        VkExtent3D, VkBool32(..), VkDeviceSize(..), VkFlags(..),+        VkSampleMask(..), VkFormat(..), VkFormatFeatureBitmask(..),+        VkFormatFeatureFlagBits(), VkFormatFeatureFlags(),+        VkImageAspectBitmask(..), VkImageCreateBitmask(..),+        VkImageLayout(..), VkImageTiling(..), VkImageType(..),+        VkImageUsageBitmask(..), VkImageViewType(..),+        VkImageAspectFlagBits(), VkImageAspectFlags(),+        VkImageCreateFlagBits(), VkImageCreateFlags(),+        VkImageUsageFlagBits(), VkImageUsageFlags(), VkImageCreateInfo,+        VkImageFormatListCreateInfoKHR, VkSampleCountBitmask(..),+        VkSampleCountFlagBits(), VkSampleCountFlags(), VkSharingMode(..),+        VkStructureType(..), -- > #include "vk_platform.h"+                             VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION,         pattern VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION,         VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME,         pattern VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME,@@ -40,11 +43,8 @@ import Graphics.Vulkan.Types.Enum.SampleCountFlags import Graphics.Vulkan.Types.Enum.SharingMode import Graphics.Vulkan.Types.Enum.StructureType-import Graphics.Vulkan.Types.Struct.Extent         (VkExtent3D, VkExtent3D')-import Graphics.Vulkan.Types.Struct.Image          (VkImageCreateInfo,-                                                    VkImageCreateInfo',-                                                    VkImageFormatListCreateInfoKHR,-                                                    VkImageFormatListCreateInfoKHR')+import Graphics.Vulkan.Types.Struct.Extent         (VkExtent3D)+import Graphics.Vulkan.Types.Struct.Image          (VkImageCreateInfo, VkImageFormatListCreateInfoKHR)  pattern VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION :: (Num a, Eq a) => a @@ -56,8 +56,9 @@  pattern VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME <-         (is_VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME -> True)-  where VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME-          = _VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME+  where+    VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME+      = _VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME  {-# INLINE _VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_incremental_present.hs view
@@ -22,14 +22,10 @@         --          -- ** Required extensions: 'VK_KHR_swapchain'.-        VkExtent2D, VkExtent2D', VkOffset2D, VkOffset2D',-        VkPresentInfoKHR, VkPresentInfoKHR', VkPresentRegionKHR,-        VkPresentRegionKHR', VkPresentRegionsKHR, VkPresentRegionsKHR',-        VkRectLayerKHR, VkRectLayerKHR',-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Enum.StructureType,-        -- > #include "vk_platform.h"-        VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION,+        VkExtent2D, VkOffset2D, VkPresentInfoKHR, VkPresentRegionKHR,+        VkPresentRegionsKHR, VkRectLayerKHR, VkResult(..),+        VkStructureType(..), -- > #include "vk_platform.h"+                             VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION,         pattern VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION,         VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME,         pattern VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME,@@ -39,16 +35,12 @@ import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.Enum.Result import Graphics.Vulkan.Types.Enum.StructureType-import Graphics.Vulkan.Types.Struct.Extent      (VkExtent2D, VkExtent2D')-import Graphics.Vulkan.Types.Struct.Offset      (VkOffset2D, VkOffset2D')+import Graphics.Vulkan.Types.Struct.Extent      (VkExtent2D)+import Graphics.Vulkan.Types.Struct.Offset      (VkOffset2D) import Graphics.Vulkan.Types.Struct.Present     (VkPresentInfoKHR,-                                                 VkPresentInfoKHR',                                                  VkPresentRegionKHR,-                                                 VkPresentRegionKHR',-                                                 VkPresentRegionsKHR,-                                                 VkPresentRegionsKHR')-import Graphics.Vulkan.Types.Struct.Rect        (VkRectLayerKHR,-                                                 VkRectLayerKHR')+                                                 VkPresentRegionsKHR)+import Graphics.Vulkan.Types.Struct.Rect        (VkRectLayerKHR)  pattern VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION :: (Num a, Eq a) =>         a@@ -61,8 +53,9 @@  pattern VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME <-         (is_VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME -> True)-  where VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME-          = _VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME+  where+    VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME+      = _VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME  {-# INLINE _VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_maintenance1.hs view
@@ -12,23 +12,78 @@ {-# LANGUAGE TypeFamilies             #-} {-# LANGUAGE ViewPatterns             #-} module Graphics.Vulkan.Ext.VK_KHR_maintenance1-       (-- * Vulkan extension: @VK_KHR_maintenance1@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @Piers Daniell @pdaniell-nv@-        ---        -- author: @KHR@-        ---        -- type: @device@-        ---        -- Extension number: @70@-        module Graphics.Vulkan.Types.Bitmasks, VkTrimCommandPoolKHR,+       (VkAndroidSurfaceCreateFlagsKHR(..), VkBufferViewCreateFlags(..),+        VkCommandPoolTrimFlags(..), VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkTrimCommandPoolKHR,         pattern VkTrimCommandPoolKHR, HS_vkTrimCommandPoolKHR,         PFN_vkTrimCommandPoolKHR, module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Handles,+        VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkBuffer, VkBufferView, VkBufferView_T(), VkBuffer_T(),+        VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),         VK_KHR_MAINTENANCE1_SPEC_VERSION,         pattern VK_KHR_MAINTENANCE1_SPEC_VERSION,         VK_KHR_MAINTENANCE1_EXTENSION_NAME,@@ -51,7 +106,8 @@ pattern VkTrimCommandPoolKHR :: CString  pattern VkTrimCommandPoolKHR <- (is_VkTrimCommandPoolKHR -> True)-  where VkTrimCommandPoolKHR = _VkTrimCommandPoolKHR+  where+    VkTrimCommandPoolKHR = _VkTrimCommandPoolKHR  {-# INLINE _VkTrimCommandPoolKHR #-} @@ -91,16 +147,16 @@                :: PFN_vkTrimCommandPoolKHR -> HS_vkTrimCommandPoolKHR  instance VulkanProc "vkTrimCommandPoolKHR" where-        type VkProcType "vkTrimCommandPoolKHR" = HS_vkTrimCommandPoolKHR-        vkProcSymbol = _VkTrimCommandPoolKHR+    type VkProcType "vkTrimCommandPoolKHR" = HS_vkTrimCommandPoolKHR+    vkProcSymbol = _VkTrimCommandPoolKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkTrimCommandPoolKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkTrimCommandPoolKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkTrimCommandPoolKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkTrimCommandPoolKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_MAINTENANCE1_SPEC_VERSION :: (Num a, Eq a) => a @@ -112,8 +168,9 @@  pattern VK_KHR_MAINTENANCE1_EXTENSION_NAME <-         (is_VK_KHR_MAINTENANCE1_EXTENSION_NAME -> True)-  where VK_KHR_MAINTENANCE1_EXTENSION_NAME-          = _VK_KHR_MAINTENANCE1_EXTENSION_NAME+  where+    VK_KHR_MAINTENANCE1_EXTENSION_NAME+      = _VK_KHR_MAINTENANCE1_EXTENSION_NAME  {-# INLINE _VK_KHR_MAINTENANCE1_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_maintenance2.hs view
@@ -18,13 +18,13 @@         -- type: @device@         --         -- Extension number: @118@-        module Graphics.Vulkan.Types.Struct.Image,-        module Graphics.Vulkan.Types.Struct.InputAttachmentAspectReference,-        module Graphics.Vulkan.Types.Struct.PhysicalDevice,-        module Graphics.Vulkan.Types.Struct.Pipeline,-        module Graphics.Vulkan.Types.Enum.PointClippingBehavior,-        module Graphics.Vulkan.Types.Struct.RenderPass,-        module Graphics.Vulkan.Types.Enum.TessellationDomainOrigin,+        VkImageViewUsageCreateInfoKHR,+        VkInputAttachmentAspectReferenceKHR,+        VkPhysicalDevicePointClippingPropertiesKHR,+        VkPipelineTessellationDomainOriginStateCreateInfoKHR,+        VkPointClippingBehavior(..), VkPointClippingBehaviorKHR(..),+        VkRenderPassInputAttachmentAspectCreateInfoKHR,+        VkTessellationDomainOrigin(..), VkTessellationDomainOriginKHR(..),         VK_KHR_MAINTENANCE2_SPEC_VERSION,         pattern VK_KHR_MAINTENANCE2_SPEC_VERSION,         VK_KHR_MAINTENANCE2_EXTENSION_NAME,@@ -54,11 +54,11 @@ import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.Enum.PointClippingBehavior import Graphics.Vulkan.Types.Enum.TessellationDomainOrigin-import Graphics.Vulkan.Types.Struct.Image-import Graphics.Vulkan.Types.Struct.InputAttachmentAspectReference-import Graphics.Vulkan.Types.Struct.PhysicalDevice-import Graphics.Vulkan.Types.Struct.Pipeline-import Graphics.Vulkan.Types.Struct.RenderPass+import Graphics.Vulkan.Types.Struct.Image                          (VkImageViewUsageCreateInfoKHR)+import Graphics.Vulkan.Types.Struct.InputAttachmentAspectReference (VkInputAttachmentAspectReferenceKHR)+import Graphics.Vulkan.Types.Struct.PhysicalDevice                 (VkPhysicalDevicePointClippingPropertiesKHR)+import Graphics.Vulkan.Types.Struct.Pipeline                       (VkPipelineTessellationDomainOriginStateCreateInfoKHR)+import Graphics.Vulkan.Types.Struct.RenderPass                     (VkRenderPassInputAttachmentAspectCreateInfoKHR)  pattern VK_KHR_MAINTENANCE2_SPEC_VERSION :: (Num a, Eq a) => a @@ -70,8 +70,9 @@  pattern VK_KHR_MAINTENANCE2_EXTENSION_NAME <-         (is_VK_KHR_MAINTENANCE2_EXTENSION_NAME -> True)-  where VK_KHR_MAINTENANCE2_EXTENSION_NAME-          = _VK_KHR_MAINTENANCE2_EXTENSION_NAME+  where+    VK_KHR_MAINTENANCE2_EXTENSION_NAME+      = _VK_KHR_MAINTENANCE2_EXTENSION_NAME  {-# INLINE _VK_KHR_MAINTENANCE2_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_maintenance3.hs view
@@ -28,18 +28,59 @@         --          -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.-        module Graphics.Vulkan.Types.Struct.Descriptor,-        module Graphics.Vulkan.Types.Struct.PhysicalDevice,+        VkDescriptorSetLayoutSupportKHR,+        VkPhysicalDeviceMaintenance3PropertiesKHR,         VkGetDescriptorSetLayoutSupportKHR,         pattern VkGetDescriptorSetLayoutSupportKHR,         HS_vkGetDescriptorSetLayoutSupportKHR,         PFN_vkGetDescriptorSetLayoutSupportKHR,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.Descriptor,-        module Graphics.Vulkan.Types.Enum.Shader,-        module Graphics.Vulkan.Types.Enum.StructureType,-        module Graphics.Vulkan.Types.Handles,+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkDescriptorBindingBitmaskEXT(..),+        VkDescriptorPoolCreateBitmask(..), VkDescriptorType(..),+        VkDescriptorUpdateTemplateType(..),+        VkDescriptorBindingFlagBitsEXT(), VkDescriptorBindingFlagsEXT(),+        VkDescriptorPoolCreateFlagBits(), VkDescriptorPoolCreateFlags(),+        VkDescriptorSetLayoutCreateBitmask(..),+        VkDescriptorSetLayoutCreateFlagBits(),+        VkDescriptorSetLayoutCreateFlags(),+        VkDescriptorUpdateTemplateTypeKHR(..), VkShaderInfoTypeAMD(..),+        VkShaderStageBitmask(..), VkShaderStageFlagBits(),+        VkShaderStageFlags(), VkStructureType(..), VkBuffer, VkBufferView,+        VkBufferView_T(), VkBuffer_T(), VkCommandBuffer,+        VkCommandBuffer_T(), VkCommandPool, VkCommandPool_T(),+        VkDebugReportCallbackEXT, VkDebugReportCallbackEXT_T(),+        VkDebugUtilsMessengerEXT, VkDebugUtilsMessengerEXT_T(),+        VkDescriptorPool, VkDescriptorPool_T(), VkDescriptorSet,+        VkDescriptorSetLayout, VkDescriptorSetLayout_T(),+        VkDescriptorSet_T(), VkDescriptorUpdateTemplate,+        VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(),+        VkDescriptorUpdateTemplate_T(), VkDevice, VkDeviceMemory,+        VkDeviceMemory_T(), VkDevice_T(), VkDisplayKHR, VkDisplayKHR_T(),+        VkDisplayModeKHR, VkDisplayModeKHR_T(), VkEvent, VkEvent_T(),+        VkFence, VkFence_T(), VkFramebuffer, VkFramebuffer_T(), VkImage,+        VkImageView, VkImageView_T(), VkImage_T(),+        VkIndirectCommandsLayoutNVX, VkIndirectCommandsLayoutNVX_T(),+        VkInstance, VkInstance_T(), VkObjectTableNVX, VkObjectTableNVX_T(),+        VkPhysicalDevice, VkPhysicalDevice_T(), VkPipeline,+        VkPipelineCache, VkPipelineCache_T(), VkPipelineLayout,+        VkPipelineLayout_T(), VkPipeline_T(), VkQueryPool, VkQueryPool_T(),+        VkQueue, VkQueue_T(), VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkDescriptorBufferInfo, VkDescriptorImageInfo,+        VkDescriptorPoolCreateInfo, VkDescriptorPoolSize,+        VkDescriptorSetAllocateInfo, VkDescriptorSetLayoutBinding,+        VkDescriptorSetLayoutBindingFlagsCreateInfoEXT,+        VkDescriptorSetLayoutCreateInfo, VkDescriptorSetLayoutSupport,+        VkDescriptorSetVariableDescriptorCountAllocateInfoEXT,+        VkDescriptorSetVariableDescriptorCountLayoutSupportEXT,+        VkDescriptorUpdateTemplateCreateInfo,+        VkDescriptorUpdateTemplateCreateInfoKHR,+        VkDescriptorUpdateTemplateEntry,+        VkDescriptorUpdateTemplateEntryKHR,         VK_KHR_MAINTENANCE3_SPEC_VERSION,         pattern VK_KHR_MAINTENANCE3_SPEC_VERSION,         VK_KHR_MAINTENANCE3_EXTENSION_NAME,@@ -58,14 +99,15 @@ import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles import Graphics.Vulkan.Types.Struct.Descriptor-import Graphics.Vulkan.Types.Struct.PhysicalDevice+import Graphics.Vulkan.Types.Struct.PhysicalDevice (VkPhysicalDeviceMaintenance3PropertiesKHR)  pattern VkGetDescriptorSetLayoutSupportKHR :: CString  pattern VkGetDescriptorSetLayoutSupportKHR <-         (is_VkGetDescriptorSetLayoutSupportKHR -> True)-  where VkGetDescriptorSetLayoutSupportKHR-          = _VkGetDescriptorSetLayoutSupportKHR+  where+    VkGetDescriptorSetLayoutSupportKHR+      = _VkGetDescriptorSetLayoutSupportKHR  {-# INLINE _VkGetDescriptorSetLayoutSupportKHR #-} @@ -113,18 +155,18 @@                  HS_vkGetDescriptorSetLayoutSupportKHR  instance VulkanProc "vkGetDescriptorSetLayoutSupportKHR" where-        type VkProcType "vkGetDescriptorSetLayoutSupportKHR" =-             HS_vkGetDescriptorSetLayoutSupportKHR-        vkProcSymbol = _VkGetDescriptorSetLayoutSupportKHR+    type VkProcType "vkGetDescriptorSetLayoutSupportKHR" =+         HS_vkGetDescriptorSetLayoutSupportKHR+    vkProcSymbol = _VkGetDescriptorSetLayoutSupportKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetDescriptorSetLayoutSupportKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetDescriptorSetLayoutSupportKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetDescriptorSetLayoutSupportKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetDescriptorSetLayoutSupportKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_MAINTENANCE3_SPEC_VERSION :: (Num a, Eq a) => a @@ -136,8 +178,9 @@  pattern VK_KHR_MAINTENANCE3_EXTENSION_NAME <-         (is_VK_KHR_MAINTENANCE3_EXTENSION_NAME -> True)-  where VK_KHR_MAINTENANCE3_EXTENSION_NAME-          = _VK_KHR_MAINTENANCE3_EXTENSION_NAME+  where+    VK_KHR_MAINTENANCE3_EXTENSION_NAME+      = _VK_KHR_MAINTENANCE3_EXTENSION_NAME  {-# INLINE _VK_KHR_MAINTENANCE3_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_mir_surface.hs view
@@ -12,34 +12,56 @@ {-# LANGUAGE TypeFamilies             #-} {-# LANGUAGE ViewPatterns             #-} module Graphics.Vulkan.Ext.VK_KHR_mir_surface-       (-- * Vulkan extension: @VK_KHR_mir_surface@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @Jesse Hall @critsec,Ian Elliott @ianelliottus@-        ---        -- author: @KHR@-        ---        -- type: @instance@-        ---        -- platform: @mir@-        ---        -- Extension number: @8@-        ---        -- Required extensions: 'VK_KHR_surface'.-        ----        -- ** Required extensions: 'VK_KHR_surface'.-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Bitmasks, VkMirSurfaceCreateInfoKHR,-        VkMirSurfaceCreateInfoKHR',-        module Graphics.Vulkan.Types.Enum.StructureType,-        -- > #include "vk_platform.h"-        VkCreateMirSurfaceKHR, pattern VkCreateMirSurfaceKHR,-        HS_vkCreateMirSurfaceKHR, PFN_vkCreateMirSurfaceKHR,-        vkCreateMirSurfaceKHR, vkCreateMirSurfaceKHRUnsafe,-        vkCreateMirSurfaceKHRSafe,+       (VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkAndroidSurfaceCreateFlagsKHR(..), VkBufferViewCreateFlags(..),+        VkCommandPoolTrimFlags(..), VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkMirSurfaceCreateInfoKHR,+        VkStructureType(..), -- > #include "vk_platform.h"+                             VkCreateMirSurfaceKHR,+        pattern VkCreateMirSurfaceKHR, HS_vkCreateMirSurfaceKHR,+        PFN_vkCreateMirSurfaceKHR, vkCreateMirSurfaceKHR,+        vkCreateMirSurfaceKHRUnsafe, vkCreateMirSurfaceKHRSafe,         VkGetPhysicalDeviceMirPresentationSupportKHR,         pattern VkGetPhysicalDeviceMirPresentationSupportKHR,         HS_vkGetPhysicalDeviceMirPresentationSupportKHR,@@ -47,16 +69,53 @@         vkGetPhysicalDeviceMirPresentationSupportKHR,         vkGetPhysicalDeviceMirPresentationSupportKHRUnsafe,         vkGetPhysicalDeviceMirPresentationSupportKHRSafe,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.InternalAllocationType,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Enum.SystemAllocationScope,-        module Graphics.Vulkan.Types.Funcpointers,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Include,-        module Graphics.Vulkan.Types.Struct.AllocationCallbacks,-        module Graphics.Vulkan.Types.Struct.PlatformMirKhr,-        VK_KHR_MIR_SURFACE_SPEC_VERSION,+        module Graphics.Vulkan.Marshal, VkInternalAllocationType(..),+        VkResult(..), VkSystemAllocationScope(..), newVkAllocationFunction,+        newVkDebugReportCallbackEXT, newVkDebugUtilsMessengerCallbackEXT,+        newVkFreeFunction, newVkInternalAllocationNotification,+        newVkInternalFreeNotification, newVkReallocationFunction,+        newVkVoidFunction, unwrapVkAllocationFunction,+        unwrapVkDebugReportCallbackEXT,+        unwrapVkDebugUtilsMessengerCallbackEXT, unwrapVkFreeFunction,+        unwrapVkInternalAllocationNotification,+        unwrapVkInternalFreeNotification, unwrapVkReallocationFunction,+        unwrapVkVoidFunction, HS_vkAllocationFunction,+        HS_vkDebugReportCallbackEXT, HS_vkDebugUtilsMessengerCallbackEXT,+        HS_vkFreeFunction, HS_vkInternalAllocationNotification,+        HS_vkInternalFreeNotification, HS_vkReallocationFunction,+        HS_vkVoidFunction, PFN_vkAllocationFunction,+        PFN_vkDebugReportCallbackEXT, PFN_vkDebugUtilsMessengerCallbackEXT,+        PFN_vkFreeFunction, PFN_vkInternalAllocationNotification,+        PFN_vkInternalFreeNotification, PFN_vkReallocationFunction,+        PFN_vkVoidFunction, VkBuffer, VkBufferView, VkBufferView_T(),+        VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        DWORD, Display, HANDLE, HINSTANCE, HWND, LPCWSTR, MirConnection,+        MirSurface, RROutput, SECURITY_ATTRIBUTES, VisualID, Window,+        WlDisplay, WlSurface, XcbConnectionT, XcbVisualidT, XcbWindowT,+        VkAllocationCallbacks, VK_KHR_MIR_SURFACE_SPEC_VERSION,         pattern VK_KHR_MIR_SURFACE_SPEC_VERSION,         VK_KHR_MIR_SURFACE_EXTENSION_NAME,         pattern VK_KHR_MIR_SURFACE_EXTENSION_NAME,@@ -81,7 +140,8 @@ pattern VkCreateMirSurfaceKHR :: CString  pattern VkCreateMirSurfaceKHR <- (is_VkCreateMirSurfaceKHR -> True)-  where VkCreateMirSurfaceKHR = _VkCreateMirSurfaceKHR+  where+    VkCreateMirSurfaceKHR = _VkCreateMirSurfaceKHR  {-# INLINE _VkCreateMirSurfaceKHR #-} @@ -290,23 +350,24 @@                :: PFN_vkCreateMirSurfaceKHR -> HS_vkCreateMirSurfaceKHR  instance VulkanProc "vkCreateMirSurfaceKHR" where-        type VkProcType "vkCreateMirSurfaceKHR" = HS_vkCreateMirSurfaceKHR-        vkProcSymbol = _VkCreateMirSurfaceKHR+    type VkProcType "vkCreateMirSurfaceKHR" = HS_vkCreateMirSurfaceKHR+    vkProcSymbol = _VkCreateMirSurfaceKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateMirSurfaceKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateMirSurfaceKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateMirSurfaceKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateMirSurfaceKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetPhysicalDeviceMirPresentationSupportKHR :: CString  pattern VkGetPhysicalDeviceMirPresentationSupportKHR <-         (is_VkGetPhysicalDeviceMirPresentationSupportKHR -> True)-  where VkGetPhysicalDeviceMirPresentationSupportKHR-          = _VkGetPhysicalDeviceMirPresentationSupportKHR+  where+    VkGetPhysicalDeviceMirPresentationSupportKHR+      = _VkGetPhysicalDeviceMirPresentationSupportKHR  {-# INLINE _VkGetPhysicalDeviceMirPresentationSupportKHR #-} @@ -494,19 +555,19 @@  instance VulkanProc "vkGetPhysicalDeviceMirPresentationSupportKHR"          where-        type VkProcType "vkGetPhysicalDeviceMirPresentationSupportKHR" =-             HS_vkGetPhysicalDeviceMirPresentationSupportKHR-        vkProcSymbol = _VkGetPhysicalDeviceMirPresentationSupportKHR+    type VkProcType "vkGetPhysicalDeviceMirPresentationSupportKHR" =+         HS_vkGetPhysicalDeviceMirPresentationSupportKHR+    vkProcSymbol = _VkGetPhysicalDeviceMirPresentationSupportKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceMirPresentationSupportKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceMirPresentationSupportKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceMirPresentationSupportKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceMirPresentationSupportKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_MIR_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a @@ -518,8 +579,9 @@  pattern VK_KHR_MIR_SURFACE_EXTENSION_NAME <-         (is_VK_KHR_MIR_SURFACE_EXTENSION_NAME -> True)-  where VK_KHR_MIR_SURFACE_EXTENSION_NAME-          = _VK_KHR_MIR_SURFACE_EXTENSION_NAME+  where+    VK_KHR_MIR_SURFACE_EXTENSION_NAME+      = _VK_KHR_MIR_SURFACE_EXTENSION_NAME  {-# INLINE _VK_KHR_MIR_SURFACE_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_multiview.hs view
@@ -23,9 +23,9 @@         --          -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.-        module Graphics.Vulkan.Types.Struct.PhysicalDevice,-        module Graphics.Vulkan.Types.Struct.RenderPass,-        VK_KHR_MULTIVIEW_SPEC_VERSION,+        VkPhysicalDeviceMultiviewFeaturesKHR,+        VkPhysicalDeviceMultiviewPropertiesKHR,+        VkRenderPassMultiviewCreateInfoKHR, VK_KHR_MULTIVIEW_SPEC_VERSION,         pattern VK_KHR_MULTIVIEW_SPEC_VERSION,         VK_KHR_MULTIVIEW_EXTENSION_NAME,         pattern VK_KHR_MULTIVIEW_EXTENSION_NAME,@@ -40,8 +40,9 @@                                                     pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,                                                     pattern VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO) import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.Struct.PhysicalDevice-import Graphics.Vulkan.Types.Struct.RenderPass+import Graphics.Vulkan.Types.Struct.PhysicalDevice (VkPhysicalDeviceMultiviewFeaturesKHR,+                                                    VkPhysicalDeviceMultiviewPropertiesKHR)+import Graphics.Vulkan.Types.Struct.RenderPass     (VkRenderPassMultiviewCreateInfoKHR)  pattern VK_KHR_MULTIVIEW_SPEC_VERSION :: (Num a, Eq a) => a @@ -53,8 +54,8 @@  pattern VK_KHR_MULTIVIEW_EXTENSION_NAME <-         (is_VK_KHR_MULTIVIEW_EXTENSION_NAME -> True)-  where VK_KHR_MULTIVIEW_EXTENSION_NAME-          = _VK_KHR_MULTIVIEW_EXTENSION_NAME+  where+    VK_KHR_MULTIVIEW_EXTENSION_NAME = _VK_KHR_MULTIVIEW_EXTENSION_NAME  {-# INLINE _VK_KHR_MULTIVIEW_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_push_descriptor.hs view
@@ -27,27 +27,82 @@         --          -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes, VkPhysicalDeviceLimits,-        VkPhysicalDeviceLimits', VkPhysicalDeviceProperties,-        VkPhysicalDeviceProperties', VkPhysicalDeviceProperties2,-        VkPhysicalDeviceProperties2',+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkPhysicalDeviceLimits,+        VkPhysicalDeviceProperties, VkPhysicalDeviceProperties2,         VkPhysicalDevicePushDescriptorPropertiesKHR,-        VkPhysicalDevicePushDescriptorPropertiesKHR',-        VkPhysicalDeviceSparseProperties,-        VkPhysicalDeviceSparseProperties',-        module Graphics.Vulkan.Types.Enum.PhysicalDeviceType,-        module Graphics.Vulkan.Types.Enum.SampleCountFlags,-        module Graphics.Vulkan.Types.Enum.StructureType,+        VkPhysicalDeviceSparseProperties, VkPhysicalDeviceType(..),+        VkSampleCountBitmask(..), VkSampleCountFlagBits(),+        VkSampleCountFlags(), VkStructureType(..),         -- > #include "vk_platform.h"         VkCmdPushDescriptorSetKHR, pattern VkCmdPushDescriptorSetKHR,         HS_vkCmdPushDescriptorSetKHR, PFN_vkCmdPushDescriptorSetKHR,-        module Graphics.Vulkan.Types.Enum.Descriptor,-        module Graphics.Vulkan.Types.Enum.Image,-        module Graphics.Vulkan.Types.Enum.Pipeline,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.Descriptor,-        module Graphics.Vulkan.Types.Struct.WriteDescriptorSet,+        VkDescriptorBindingBitmaskEXT(..),+        VkDescriptorPoolCreateBitmask(..), VkDescriptorType(..),+        VkDescriptorUpdateTemplateType(..),+        VkDescriptorBindingFlagBitsEXT(), VkDescriptorBindingFlagsEXT(),+        VkDescriptorPoolCreateFlagBits(), VkDescriptorPoolCreateFlags(),+        VkDescriptorSetLayoutCreateBitmask(..),+        VkDescriptorSetLayoutCreateFlagBits(),+        VkDescriptorSetLayoutCreateFlags(),+        VkDescriptorUpdateTemplateTypeKHR(..), VkImageAspectBitmask(..),+        VkImageCreateBitmask(..), VkImageLayout(..), VkImageTiling(..),+        VkImageType(..), VkImageUsageBitmask(..), VkImageViewType(..),+        VkImageAspectFlagBits(), VkImageAspectFlags(),+        VkImageCreateFlagBits(), VkImageCreateFlags(),+        VkImageUsageFlagBits(), VkImageUsageFlags(),+        VkPipelineBindPoint(..), VkPipelineCacheHeaderVersion(..),+        VkPipelineCreateBitmask(..), VkPipelineStageBitmask(..),+        VkPipelineCacheCreateFlagBits(..),+        VkPipelineColorBlendStateCreateFlagBits(..),+        VkPipelineCreateFlagBits(), VkPipelineCreateFlags(),+        VkPipelineDepthStencilStateCreateFlagBits(..),+        VkPipelineDynamicStateCreateFlagBits(..),+        VkPipelineInputAssemblyStateCreateFlagBits(..),+        VkPipelineLayoutCreateFlagBits(..),+        VkPipelineMultisampleStateCreateFlagBits(..),+        VkPipelineRasterizationStateCreateFlagBits(..),+        VkPipelineShaderStageCreateFlagBits(..), VkPipelineStageFlagBits(),+        VkPipelineStageFlags(),+        VkPipelineTessellationStateCreateFlagBits(..),+        VkPipelineVertexInputStateCreateFlagBits(..),+        VkPipelineViewportStateCreateFlagBits(..), VkBuffer, VkBufferView,+        VkBufferView_T(), VkBuffer_T(), VkCommandBuffer,+        VkCommandBuffer_T(), VkCommandPool, VkCommandPool_T(),+        VkDebugReportCallbackEXT, VkDebugReportCallbackEXT_T(),+        VkDebugUtilsMessengerEXT, VkDebugUtilsMessengerEXT_T(),+        VkDescriptorPool, VkDescriptorPool_T(), VkDescriptorSet,+        VkDescriptorSetLayout, VkDescriptorSetLayout_T(),+        VkDescriptorSet_T(), VkDescriptorUpdateTemplate,+        VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(),+        VkDescriptorUpdateTemplate_T(), VkDevice, VkDeviceMemory,+        VkDeviceMemory_T(), VkDevice_T(), VkDisplayKHR, VkDisplayKHR_T(),+        VkDisplayModeKHR, VkDisplayModeKHR_T(), VkEvent, VkEvent_T(),+        VkFence, VkFence_T(), VkFramebuffer, VkFramebuffer_T(), VkImage,+        VkImageView, VkImageView_T(), VkImage_T(),+        VkIndirectCommandsLayoutNVX, VkIndirectCommandsLayoutNVX_T(),+        VkInstance, VkInstance_T(), VkObjectTableNVX, VkObjectTableNVX_T(),+        VkPhysicalDevice, VkPhysicalDevice_T(), VkPipeline,+        VkPipelineCache, VkPipelineCache_T(), VkPipelineLayout,+        VkPipelineLayout_T(), VkPipeline_T(), VkQueryPool, VkQueryPool_T(),+        VkQueue, VkQueue_T(), VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkDescriptorBufferInfo, VkDescriptorImageInfo,+        VkDescriptorPoolCreateInfo, VkDescriptorPoolSize,+        VkDescriptorSetAllocateInfo, VkDescriptorSetLayoutBinding,+        VkDescriptorSetLayoutBindingFlagsCreateInfoEXT,+        VkDescriptorSetLayoutCreateInfo, VkDescriptorSetLayoutSupport,+        VkDescriptorSetLayoutSupportKHR,+        VkDescriptorSetVariableDescriptorCountAllocateInfoEXT,+        VkDescriptorSetVariableDescriptorCountLayoutSupportEXT,+        VkDescriptorUpdateTemplateCreateInfo,+        VkDescriptorUpdateTemplateCreateInfoKHR,+        VkDescriptorUpdateTemplateEntry,+        VkDescriptorUpdateTemplateEntryKHR, VkWriteDescriptorSet,         VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION,         pattern VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION,         VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME,@@ -73,23 +128,18 @@ import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles import Graphics.Vulkan.Types.Struct.Descriptor-import Graphics.Vulkan.Types.Struct.PhysicalDevice     (VkPhysicalDeviceLimits,-                                                        VkPhysicalDeviceLimits',-                                                        VkPhysicalDeviceProperties,-                                                        VkPhysicalDeviceProperties',+import Graphics.Vulkan.Types.Struct.PhysicalDevice     (VkPhysicalDeviceLimits, VkPhysicalDeviceProperties,                                                         VkPhysicalDeviceProperties2,-                                                        VkPhysicalDeviceProperties2',                                                         VkPhysicalDevicePushDescriptorPropertiesKHR,-                                                        VkPhysicalDevicePushDescriptorPropertiesKHR',-                                                        VkPhysicalDeviceSparseProperties,-                                                        VkPhysicalDeviceSparseProperties')+                                                        VkPhysicalDeviceSparseProperties) import Graphics.Vulkan.Types.Struct.WriteDescriptorSet  pattern VkCmdPushDescriptorSetKHR :: CString  pattern VkCmdPushDescriptorSetKHR <-         (is_VkCmdPushDescriptorSetKHR -> True)-  where VkCmdPushDescriptorSetKHR = _VkCmdPushDescriptorSetKHR+  where+    VkCmdPushDescriptorSetKHR = _VkCmdPushDescriptorSetKHR  {-# INLINE _VkCmdPushDescriptorSetKHR #-} @@ -142,17 +192,17 @@                PFN_vkCmdPushDescriptorSetKHR -> HS_vkCmdPushDescriptorSetKHR  instance VulkanProc "vkCmdPushDescriptorSetKHR" where-        type VkProcType "vkCmdPushDescriptorSetKHR" =-             HS_vkCmdPushDescriptorSetKHR-        vkProcSymbol = _VkCmdPushDescriptorSetKHR+    type VkProcType "vkCmdPushDescriptorSetKHR" =+         HS_vkCmdPushDescriptorSetKHR+    vkProcSymbol = _VkCmdPushDescriptorSetKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdPushDescriptorSetKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdPushDescriptorSetKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdPushDescriptorSetKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdPushDescriptorSetKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION :: (Num a, Eq a) => a @@ -164,8 +214,9 @@  pattern VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME <-         (is_VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME -> True)-  where VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME-          = _VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME+  where+    VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME+      = _VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME  {-# INLINE _VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME #-} @@ -201,8 +252,9 @@  pattern VkCmdPushDescriptorSetWithTemplateKHR <-         (is_VkCmdPushDescriptorSetWithTemplateKHR -> True)-  where VkCmdPushDescriptorSetWithTemplateKHR-          = _VkCmdPushDescriptorSetWithTemplateKHR+  where+    VkCmdPushDescriptorSetWithTemplateKHR+      = _VkCmdPushDescriptorSetWithTemplateKHR  {-# INLINE _VkCmdPushDescriptorSetWithTemplateKHR #-} @@ -256,19 +308,19 @@                  HS_vkCmdPushDescriptorSetWithTemplateKHR  instance VulkanProc "vkCmdPushDescriptorSetWithTemplateKHR" where-        type VkProcType "vkCmdPushDescriptorSetWithTemplateKHR" =-             HS_vkCmdPushDescriptorSetWithTemplateKHR-        vkProcSymbol = _VkCmdPushDescriptorSetWithTemplateKHR+    type VkProcType "vkCmdPushDescriptorSetWithTemplateKHR" =+         HS_vkCmdPushDescriptorSetWithTemplateKHR+    vkProcSymbol = _VkCmdPushDescriptorSetWithTemplateKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkCmdPushDescriptorSetWithTemplateKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkCmdPushDescriptorSetWithTemplateKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkCmdPushDescriptorSetWithTemplateKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkCmdPushDescriptorSetWithTemplateKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  -- | Create descriptor update template for pushed descriptor updates pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR ::
src-gen/Graphics/Vulkan/Ext/VK_KHR_relaxed_block_layout.hs view
@@ -36,8 +36,9 @@  pattern VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME <-         (is_VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME -> True)-  where VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME-          = _VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME+  where+    VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME+      = _VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME  {-# INLINE _VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_sampler_mirror_clamp_to_edge.hs view
@@ -39,8 +39,9 @@  pattern VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME <-         (is_VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME -> True)-  where VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME-          = _VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME+  where+    VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME+      = _VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME  {-# INLINE _VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_sampler_ycbcr_conversion.hs view
@@ -28,13 +28,16 @@         --          -- ** Required extensions: 'VK_KHR_maintenance1', 'VK_KHR_bind_memory2', 'VK_KHR_get_memory_requirements2', 'VK_KHR_get_physical_device_properties2'.-        module Graphics.Vulkan.Types.Struct.Bind,-        module Graphics.Vulkan.Types.Enum.ChromaLocation,-        module Graphics.Vulkan.Types.Struct.Image,-        module Graphics.Vulkan.Types.Struct.PhysicalDevice,-        module Graphics.Vulkan.Types.Struct.Sampler,-        module Graphics.Vulkan.Types.Enum.Sampler,-        VkCreateSamplerYcbcrConversionKHR,+        VkBindImagePlaneMemoryInfoKHR, VkChromaLocation(..),+        VkChromaLocationKHR(..), VkImagePlaneMemoryRequirementsInfoKHR,+        VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR,+        VkSamplerYcbcrConversionCreateInfoKHR,+        VkSamplerYcbcrConversionImageFormatPropertiesKHR,+        VkSamplerYcbcrConversionInfoKHR, VkSamplerAddressMode(..),+        VkSamplerMipmapMode(..), VkSamplerReductionModeEXT(..),+        VkSamplerYcbcrModelConversion(..), VkSamplerYcbcrRange(..),+        VkSamplerCreateFlagBits(..), VkSamplerYcbcrModelConversionKHR(..),+        VkSamplerYcbcrRangeKHR(..), VkCreateSamplerYcbcrConversionKHR,         pattern VkCreateSamplerYcbcrConversionKHR,         HS_vkCreateSamplerYcbcrConversionKHR,         PFN_vkCreateSamplerYcbcrConversionKHR,@@ -42,19 +45,58 @@         pattern VkDestroySamplerYcbcrConversionKHR,         HS_vkDestroySamplerYcbcrConversionKHR,         PFN_vkDestroySamplerYcbcrConversionKHR,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.ComponentSwizzle,-        module Graphics.Vulkan.Types.Enum.Filter,-        module Graphics.Vulkan.Types.Enum.Format,-        module Graphics.Vulkan.Types.Enum.InternalAllocationType,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Enum.StructureType,-        module Graphics.Vulkan.Types.Enum.SystemAllocationScope,-        module Graphics.Vulkan.Types.Funcpointers,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.AllocationCallbacks,-        module Graphics.Vulkan.Types.Struct.ComponentMapping,+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkComponentSwizzle(..),+        VkFilter(..), VkFormat(..), VkFormatFeatureBitmask(..),+        VkFormatFeatureFlagBits(), VkFormatFeatureFlags(),+        VkInternalAllocationType(..), VkResult(..), VkStructureType(..),+        VkSystemAllocationScope(..), newVkAllocationFunction,+        newVkDebugReportCallbackEXT, newVkDebugUtilsMessengerCallbackEXT,+        newVkFreeFunction, newVkInternalAllocationNotification,+        newVkInternalFreeNotification, newVkReallocationFunction,+        newVkVoidFunction, unwrapVkAllocationFunction,+        unwrapVkDebugReportCallbackEXT,+        unwrapVkDebugUtilsMessengerCallbackEXT, unwrapVkFreeFunction,+        unwrapVkInternalAllocationNotification,+        unwrapVkInternalFreeNotification, unwrapVkReallocationFunction,+        unwrapVkVoidFunction, HS_vkAllocationFunction,+        HS_vkDebugReportCallbackEXT, HS_vkDebugUtilsMessengerCallbackEXT,+        HS_vkFreeFunction, HS_vkInternalAllocationNotification,+        HS_vkInternalFreeNotification, HS_vkReallocationFunction,+        HS_vkVoidFunction, PFN_vkAllocationFunction,+        PFN_vkDebugReportCallbackEXT, PFN_vkDebugUtilsMessengerCallbackEXT,+        PFN_vkFreeFunction, PFN_vkInternalAllocationNotification,+        PFN_vkInternalFreeNotification, PFN_vkReallocationFunction,+        PFN_vkVoidFunction, VkBuffer, VkBufferView, VkBufferView_T(),+        VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkAllocationCallbacks, VkComponentMapping, VkSamplerCreateInfo,+        VkSamplerReductionModeCreateInfoEXT,+        VkSamplerYcbcrConversionCreateInfo,+        VkSamplerYcbcrConversionImageFormatProperties,+        VkSamplerYcbcrConversionInfo,         VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION,         pattern VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION,         VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME,@@ -193,18 +235,19 @@ import Graphics.Vulkan.Types.Funcpointers import Graphics.Vulkan.Types.Handles import Graphics.Vulkan.Types.Struct.AllocationCallbacks-import Graphics.Vulkan.Types.Struct.Bind+import Graphics.Vulkan.Types.Struct.Bind                 (VkBindImagePlaneMemoryInfoKHR) import Graphics.Vulkan.Types.Struct.ComponentMapping-import Graphics.Vulkan.Types.Struct.Image-import Graphics.Vulkan.Types.Struct.PhysicalDevice+import Graphics.Vulkan.Types.Struct.Image                (VkImagePlaneMemoryRequirementsInfoKHR)+import Graphics.Vulkan.Types.Struct.PhysicalDevice       (VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR) import Graphics.Vulkan.Types.Struct.Sampler  pattern VkCreateSamplerYcbcrConversionKHR :: CString  pattern VkCreateSamplerYcbcrConversionKHR <-         (is_VkCreateSamplerYcbcrConversionKHR -> True)-  where VkCreateSamplerYcbcrConversionKHR-          = _VkCreateSamplerYcbcrConversionKHR+  where+    VkCreateSamplerYcbcrConversionKHR+      = _VkCreateSamplerYcbcrConversionKHR  {-# INLINE _VkCreateSamplerYcbcrConversionKHR #-} @@ -259,25 +302,26 @@                  HS_vkCreateSamplerYcbcrConversionKHR  instance VulkanProc "vkCreateSamplerYcbcrConversionKHR" where-        type VkProcType "vkCreateSamplerYcbcrConversionKHR" =-             HS_vkCreateSamplerYcbcrConversionKHR-        vkProcSymbol = _VkCreateSamplerYcbcrConversionKHR+    type VkProcType "vkCreateSamplerYcbcrConversionKHR" =+         HS_vkCreateSamplerYcbcrConversionKHR+    vkProcSymbol = _VkCreateSamplerYcbcrConversionKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkCreateSamplerYcbcrConversionKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkCreateSamplerYcbcrConversionKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateSamplerYcbcrConversionKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateSamplerYcbcrConversionKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkDestroySamplerYcbcrConversionKHR :: CString  pattern VkDestroySamplerYcbcrConversionKHR <-         (is_VkDestroySamplerYcbcrConversionKHR -> True)-  where VkDestroySamplerYcbcrConversionKHR-          = _VkDestroySamplerYcbcrConversionKHR+  where+    VkDestroySamplerYcbcrConversionKHR+      = _VkDestroySamplerYcbcrConversionKHR  {-# INLINE _VkDestroySamplerYcbcrConversionKHR #-} @@ -324,18 +368,18 @@                  HS_vkDestroySamplerYcbcrConversionKHR  instance VulkanProc "vkDestroySamplerYcbcrConversionKHR" where-        type VkProcType "vkDestroySamplerYcbcrConversionKHR" =-             HS_vkDestroySamplerYcbcrConversionKHR-        vkProcSymbol = _VkDestroySamplerYcbcrConversionKHR+    type VkProcType "vkDestroySamplerYcbcrConversionKHR" =+         HS_vkDestroySamplerYcbcrConversionKHR+    vkProcSymbol = _VkDestroySamplerYcbcrConversionKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkDestroySamplerYcbcrConversionKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkDestroySamplerYcbcrConversionKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroySamplerYcbcrConversionKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroySamplerYcbcrConversionKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION ::         (Num a, Eq a) => a@@ -348,8 +392,9 @@  pattern VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME <-         (is_VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME -> True)-  where VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME-          = _VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME+  where+    VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME+      = _VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME  {-# INLINE _VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_shader_draw_parameters.hs view
@@ -36,8 +36,9 @@  pattern VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME <-         (is_VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME -> True)-  where VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME-          = _VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME+  where+    VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME+      = _VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME  {-# INLINE _VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_shared_presentable_image.hs view
@@ -27,20 +27,48 @@         --          -- ** Required extensions: 'VK_KHR_swapchain', 'VK_KHR_get_physical_device_properties2', 'VK_KHR_get_surface_capabilities2'.-        module Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR,-        VkExtent2D, VkExtent2D', module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.Image,-        VkSharedPresentSurfaceCapabilitiesKHR,-        VkSharedPresentSurfaceCapabilitiesKHR',-        module Graphics.Vulkan.Types.Enum.StructureType,-        VkSurfaceCapabilities2KHR, VkSurfaceCapabilities2KHR',-        VkSurfaceCapabilitiesKHR, VkSurfaceCapabilitiesKHR',-        module Graphics.Vulkan.Types.Enum.Surface, -- > #include "vk_platform.h"-                                                   VkGetSwapchainStatusKHR,-        pattern VkGetSwapchainStatusKHR, HS_vkGetSwapchainStatusKHR,-        PFN_vkGetSwapchainStatusKHR,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Handles,+        VkCompositeAlphaBitmaskKHR(..), VkCompositeAlphaFlagBitsKHR(),+        VkCompositeAlphaFlagsKHR(), VkExtent2D, VkBool32(..),+        VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkImageAspectBitmask(..), VkImageCreateBitmask(..),+        VkImageLayout(..), VkImageTiling(..), VkImageType(..),+        VkImageUsageBitmask(..), VkImageViewType(..),+        VkImageAspectFlagBits(), VkImageAspectFlags(),+        VkImageCreateFlagBits(), VkImageCreateFlags(),+        VkImageUsageFlagBits(), VkImageUsageFlags(),+        VkSharedPresentSurfaceCapabilitiesKHR, VkStructureType(..),+        VkSurfaceCapabilities2KHR, VkSurfaceCapabilitiesKHR,+        VkSurfaceCounterBitmaskEXT(..), VkSurfaceTransformBitmaskKHR(..),+        VkSurfaceCounterFlagBitsEXT(), VkSurfaceCounterFlagsEXT(),+        VkSurfaceTransformFlagBitsKHR(), VkSurfaceTransformFlagsKHR(),+        -- > #include "vk_platform.h"+        VkGetSwapchainStatusKHR, pattern VkGetSwapchainStatusKHR,+        HS_vkGetSwapchainStatusKHR, PFN_vkGetSwapchainStatusKHR,+        VkResult(..), VkBuffer, VkBufferView, VkBufferView_T(),+        VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),         VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION,         pattern VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION,         VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME,@@ -61,20 +89,17 @@ import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Enum.Surface import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.Extent                              (VkExtent2D,-                                                                         VkExtent2D')-import Graphics.Vulkan.Types.Struct.SharedPresentSurfaceCapabilitiesKHR (VkSharedPresentSurfaceCapabilitiesKHR,-                                                                         VkSharedPresentSurfaceCapabilitiesKHR')+import Graphics.Vulkan.Types.Struct.Extent                              (VkExtent2D)+import Graphics.Vulkan.Types.Struct.SharedPresentSurfaceCapabilitiesKHR (VkSharedPresentSurfaceCapabilitiesKHR) import Graphics.Vulkan.Types.Struct.Surface                             (VkSurfaceCapabilities2KHR,-                                                                         VkSurfaceCapabilities2KHR',-                                                                         VkSurfaceCapabilitiesKHR,-                                                                         VkSurfaceCapabilitiesKHR')+                                                                         VkSurfaceCapabilitiesKHR)  pattern VkGetSwapchainStatusKHR :: CString  pattern VkGetSwapchainStatusKHR <-         (is_VkGetSwapchainStatusKHR -> True)-  where VkGetSwapchainStatusKHR = _VkGetSwapchainStatusKHR+  where+    VkGetSwapchainStatusKHR = _VkGetSwapchainStatusKHR  {-# INLINE _VkGetSwapchainStatusKHR #-} @@ -116,17 +141,17 @@                PFN_vkGetSwapchainStatusKHR -> HS_vkGetSwapchainStatusKHR  instance VulkanProc "vkGetSwapchainStatusKHR" where-        type VkProcType "vkGetSwapchainStatusKHR" =-             HS_vkGetSwapchainStatusKHR-        vkProcSymbol = _VkGetSwapchainStatusKHR+    type VkProcType "vkGetSwapchainStatusKHR" =+         HS_vkGetSwapchainStatusKHR+    vkProcSymbol = _VkGetSwapchainStatusKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetSwapchainStatusKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetSwapchainStatusKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetSwapchainStatusKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetSwapchainStatusKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION ::         (Num a, Eq a) => a@@ -139,8 +164,9 @@  pattern VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME <-         (is_VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME -> True)-  where VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME-          = _VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME+  where+    VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME+      = _VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME  {-# INLINE _VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_storage_buffer_storage_class.hs view
@@ -37,8 +37,9 @@  pattern VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME <-         (is_VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME -> True)-  where VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME-          = _VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME+  where+    VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME+      = _VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME  {-# INLINE _VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_surface.hs view
@@ -56,22 +56,68 @@         vkGetPhysicalDeviceSurfacePresentModesKHR,         vkGetPhysicalDeviceSurfacePresentModesKHRUnsafe,         vkGetPhysicalDeviceSurfacePresentModesKHRSafe,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.Color,-        module Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR,-        module Graphics.Vulkan.Types.Enum.Format,-        module Graphics.Vulkan.Types.Enum.Image,-        module Graphics.Vulkan.Types.Enum.InternalAllocationType,-        module Graphics.Vulkan.Types.Enum.PresentModeKHR,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Enum.Surface,-        module Graphics.Vulkan.Types.Enum.SystemAllocationScope,-        module Graphics.Vulkan.Types.Funcpointers,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.AllocationCallbacks,-        module Graphics.Vulkan.Types.Struct.Extent,-        module Graphics.Vulkan.Types.Struct.Surface,+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkColorComponentBitmask(..),+        VkColorSpaceKHR(..), VkColorComponentFlagBits(),+        VkColorComponentFlags(), VkCompositeAlphaBitmaskKHR(..),+        VkCompositeAlphaFlagBitsKHR(), VkCompositeAlphaFlagsKHR(),+        VkFormat(..), VkFormatFeatureBitmask(..),+        VkFormatFeatureFlagBits(), VkFormatFeatureFlags(),+        VkImageAspectBitmask(..), VkImageCreateBitmask(..),+        VkImageLayout(..), VkImageTiling(..), VkImageType(..),+        VkImageUsageBitmask(..), VkImageViewType(..),+        VkImageAspectFlagBits(), VkImageAspectFlags(),+        VkImageCreateFlagBits(), VkImageCreateFlags(),+        VkImageUsageFlagBits(), VkImageUsageFlags(),+        VkInternalAllocationType(..), VkPresentModeKHR(..), VkResult(..),+        VkSurfaceCounterBitmaskEXT(..), VkSurfaceTransformBitmaskKHR(..),+        VkSurfaceCounterFlagBitsEXT(), VkSurfaceCounterFlagsEXT(),+        VkSurfaceTransformFlagBitsKHR(), VkSurfaceTransformFlagsKHR(),+        VkSystemAllocationScope(..), newVkAllocationFunction,+        newVkDebugReportCallbackEXT, newVkDebugUtilsMessengerCallbackEXT,+        newVkFreeFunction, newVkInternalAllocationNotification,+        newVkInternalFreeNotification, newVkReallocationFunction,+        newVkVoidFunction, unwrapVkAllocationFunction,+        unwrapVkDebugReportCallbackEXT,+        unwrapVkDebugUtilsMessengerCallbackEXT, unwrapVkFreeFunction,+        unwrapVkInternalAllocationNotification,+        unwrapVkInternalFreeNotification, unwrapVkReallocationFunction,+        unwrapVkVoidFunction, HS_vkAllocationFunction,+        HS_vkDebugReportCallbackEXT, HS_vkDebugUtilsMessengerCallbackEXT,+        HS_vkFreeFunction, HS_vkInternalAllocationNotification,+        HS_vkInternalFreeNotification, HS_vkReallocationFunction,+        HS_vkVoidFunction, PFN_vkAllocationFunction,+        PFN_vkDebugReportCallbackEXT, PFN_vkDebugUtilsMessengerCallbackEXT,+        PFN_vkFreeFunction, PFN_vkInternalAllocationNotification,+        PFN_vkInternalFreeNotification, PFN_vkReallocationFunction,+        PFN_vkVoidFunction, VkBuffer, VkBufferView, VkBufferView_T(),+        VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkAllocationCallbacks, VkExtent2D, VkExtent3D,+        VkSurfaceCapabilities2EXT, VkSurfaceCapabilities2KHR,+        VkSurfaceCapabilitiesKHR, VkSurfaceFormat2KHR, VkSurfaceFormatKHR,         VK_KHR_SURFACE_SPEC_VERSION, pattern VK_KHR_SURFACE_SPEC_VERSION,         VK_KHR_SURFACE_EXTENSION_NAME,         pattern VK_KHR_SURFACE_EXTENSION_NAME,@@ -104,7 +150,8 @@ pattern VkDestroySurfaceKHR :: CString  pattern VkDestroySurfaceKHR <- (is_VkDestroySurfaceKHR -> True)-  where VkDestroySurfaceKHR = _VkDestroySurfaceKHR+  where+    VkDestroySurfaceKHR = _VkDestroySurfaceKHR  {-# INLINE _VkDestroySurfaceKHR #-} @@ -274,23 +321,24 @@                :: PFN_vkDestroySurfaceKHR -> HS_vkDestroySurfaceKHR  instance VulkanProc "vkDestroySurfaceKHR" where-        type VkProcType "vkDestroySurfaceKHR" = HS_vkDestroySurfaceKHR-        vkProcSymbol = _VkDestroySurfaceKHR+    type VkProcType "vkDestroySurfaceKHR" = HS_vkDestroySurfaceKHR+    vkProcSymbol = _VkDestroySurfaceKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDestroySurfaceKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDestroySurfaceKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroySurfaceKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroySurfaceKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetPhysicalDeviceSurfaceSupportKHR :: CString  pattern VkGetPhysicalDeviceSurfaceSupportKHR <-         (is_VkGetPhysicalDeviceSurfaceSupportKHR -> True)-  where VkGetPhysicalDeviceSurfaceSupportKHR-          = _VkGetPhysicalDeviceSurfaceSupportKHR+  where+    VkGetPhysicalDeviceSurfaceSupportKHR+      = _VkGetPhysicalDeviceSurfaceSupportKHR  {-# INLINE _VkGetPhysicalDeviceSurfaceSupportKHR #-} @@ -503,26 +551,27 @@                  HS_vkGetPhysicalDeviceSurfaceSupportKHR  instance VulkanProc "vkGetPhysicalDeviceSurfaceSupportKHR" where-        type VkProcType "vkGetPhysicalDeviceSurfaceSupportKHR" =-             HS_vkGetPhysicalDeviceSurfaceSupportKHR-        vkProcSymbol = _VkGetPhysicalDeviceSurfaceSupportKHR+    type VkProcType "vkGetPhysicalDeviceSurfaceSupportKHR" =+         HS_vkGetPhysicalDeviceSurfaceSupportKHR+    vkProcSymbol = _VkGetPhysicalDeviceSurfaceSupportKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceSurfaceSupportKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceSurfaceSupportKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceSurfaceSupportKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceSurfaceSupportKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetPhysicalDeviceSurfaceCapabilitiesKHR :: CString  pattern VkGetPhysicalDeviceSurfaceCapabilitiesKHR <-         (is_VkGetPhysicalDeviceSurfaceCapabilitiesKHR -> True)-  where VkGetPhysicalDeviceSurfaceCapabilitiesKHR-          = _VkGetPhysicalDeviceSurfaceCapabilitiesKHR+  where+    VkGetPhysicalDeviceSurfaceCapabilitiesKHR+      = _VkGetPhysicalDeviceSurfaceCapabilitiesKHR  {-# INLINE _VkGetPhysicalDeviceSurfaceCapabilitiesKHR #-} @@ -731,26 +780,27 @@  instance VulkanProc "vkGetPhysicalDeviceSurfaceCapabilitiesKHR"          where-        type VkProcType "vkGetPhysicalDeviceSurfaceCapabilitiesKHR" =-             HS_vkGetPhysicalDeviceSurfaceCapabilitiesKHR-        vkProcSymbol = _VkGetPhysicalDeviceSurfaceCapabilitiesKHR+    type VkProcType "vkGetPhysicalDeviceSurfaceCapabilitiesKHR" =+         HS_vkGetPhysicalDeviceSurfaceCapabilitiesKHR+    vkProcSymbol = _VkGetPhysicalDeviceSurfaceCapabilitiesKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceSurfaceCapabilitiesKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceSurfaceCapabilitiesKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetPhysicalDeviceSurfaceFormatsKHR :: CString  pattern VkGetPhysicalDeviceSurfaceFormatsKHR <-         (is_VkGetPhysicalDeviceSurfaceFormatsKHR -> True)-  where VkGetPhysicalDeviceSurfaceFormatsKHR-          = _VkGetPhysicalDeviceSurfaceFormatsKHR+  where+    VkGetPhysicalDeviceSurfaceFormatsKHR+      = _VkGetPhysicalDeviceSurfaceFormatsKHR  {-# INLINE _VkGetPhysicalDeviceSurfaceFormatsKHR #-} @@ -966,26 +1016,27 @@                  HS_vkGetPhysicalDeviceSurfaceFormatsKHR  instance VulkanProc "vkGetPhysicalDeviceSurfaceFormatsKHR" where-        type VkProcType "vkGetPhysicalDeviceSurfaceFormatsKHR" =-             HS_vkGetPhysicalDeviceSurfaceFormatsKHR-        vkProcSymbol = _VkGetPhysicalDeviceSurfaceFormatsKHR+    type VkProcType "vkGetPhysicalDeviceSurfaceFormatsKHR" =+         HS_vkGetPhysicalDeviceSurfaceFormatsKHR+    vkProcSymbol = _VkGetPhysicalDeviceSurfaceFormatsKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceSurfaceFormatsKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceSurfaceFormatsKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceSurfaceFormatsKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceSurfaceFormatsKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetPhysicalDeviceSurfacePresentModesKHR :: CString  pattern VkGetPhysicalDeviceSurfacePresentModesKHR <-         (is_VkGetPhysicalDeviceSurfacePresentModesKHR -> True)-  where VkGetPhysicalDeviceSurfacePresentModesKHR-          = _VkGetPhysicalDeviceSurfacePresentModesKHR+  where+    VkGetPhysicalDeviceSurfacePresentModesKHR+      = _VkGetPhysicalDeviceSurfacePresentModesKHR  {-# INLINE _VkGetPhysicalDeviceSurfacePresentModesKHR #-} @@ -1205,19 +1256,19 @@  instance VulkanProc "vkGetPhysicalDeviceSurfacePresentModesKHR"          where-        type VkProcType "vkGetPhysicalDeviceSurfacePresentModesKHR" =-             HS_vkGetPhysicalDeviceSurfacePresentModesKHR-        vkProcSymbol = _VkGetPhysicalDeviceSurfacePresentModesKHR+    type VkProcType "vkGetPhysicalDeviceSurfacePresentModesKHR" =+         HS_vkGetPhysicalDeviceSurfacePresentModesKHR+    vkProcSymbol = _VkGetPhysicalDeviceSurfacePresentModesKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceSurfacePresentModesKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceSurfacePresentModesKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceSurfacePresentModesKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceSurfacePresentModesKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a @@ -1229,8 +1280,8 @@  pattern VK_KHR_SURFACE_EXTENSION_NAME <-         (is_VK_KHR_SURFACE_EXTENSION_NAME -> True)-  where VK_KHR_SURFACE_EXTENSION_NAME-          = _VK_KHR_SURFACE_EXTENSION_NAME+  where+    VK_KHR_SURFACE_EXTENSION_NAME = _VK_KHR_SURFACE_EXTENSION_NAME  {-# INLINE _VK_KHR_SURFACE_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_swapchain.hs view
@@ -46,26 +46,70 @@         VkQueuePresentKHR, pattern VkQueuePresentKHR, HS_vkQueuePresentKHR,         PFN_vkQueuePresentKHR, vkQueuePresentKHR, vkQueuePresentKHRUnsafe,         vkQueuePresentKHRSafe, module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.Color,-        module Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR,-        module Graphics.Vulkan.Types.Enum.Format,-        module Graphics.Vulkan.Types.Enum.Image,-        module Graphics.Vulkan.Types.Enum.InternalAllocationType,-        module Graphics.Vulkan.Types.Enum.PresentModeKHR,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Enum.SharingMode,-        module Graphics.Vulkan.Types.Enum.StructureType,-        module Graphics.Vulkan.Types.Enum.Surface,-        module Graphics.Vulkan.Types.Enum.SwapchainCreateFlagsKHR,-        module Graphics.Vulkan.Types.Enum.SystemAllocationScope,-        module Graphics.Vulkan.Types.Funcpointers,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.AllocationCallbacks,-        module Graphics.Vulkan.Types.Struct.Extent,-        module Graphics.Vulkan.Types.Struct.Present,-        module Graphics.Vulkan.Types.Struct.SwapchainC,-        VK_KHR_SWAPCHAIN_SPEC_VERSION,+        VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkColorComponentBitmask(..), VkColorSpaceKHR(..),+        VkColorComponentFlagBits(), VkColorComponentFlags(),+        VkCompositeAlphaBitmaskKHR(..), VkCompositeAlphaFlagBitsKHR(),+        VkCompositeAlphaFlagsKHR(), VkFormat(..),+        VkFormatFeatureBitmask(..), VkFormatFeatureFlagBits(),+        VkFormatFeatureFlags(), VkImageAspectBitmask(..),+        VkImageCreateBitmask(..), VkImageLayout(..), VkImageTiling(..),+        VkImageType(..), VkImageUsageBitmask(..), VkImageViewType(..),+        VkImageAspectFlagBits(), VkImageAspectFlags(),+        VkImageCreateFlagBits(), VkImageCreateFlags(),+        VkImageUsageFlagBits(), VkImageUsageFlags(),+        VkInternalAllocationType(..), VkPresentModeKHR(..), VkResult(..),+        VkSharingMode(..), VkStructureType(..),+        VkSurfaceCounterBitmaskEXT(..), VkSurfaceTransformBitmaskKHR(..),+        VkSurfaceCounterFlagBitsEXT(), VkSurfaceCounterFlagsEXT(),+        VkSurfaceTransformFlagBitsKHR(), VkSurfaceTransformFlagsKHR(),+        VkSwapchainCreateBitmaskKHR(..), VkSwapchainCreateFlagBitsKHR(),+        VkSwapchainCreateFlagsKHR(), VkSystemAllocationScope(..),+        newVkAllocationFunction, newVkDebugReportCallbackEXT,+        newVkDebugUtilsMessengerCallbackEXT, newVkFreeFunction,+        newVkInternalAllocationNotification, newVkInternalFreeNotification,+        newVkReallocationFunction, newVkVoidFunction,+        unwrapVkAllocationFunction, unwrapVkDebugReportCallbackEXT,+        unwrapVkDebugUtilsMessengerCallbackEXT, unwrapVkFreeFunction,+        unwrapVkInternalAllocationNotification,+        unwrapVkInternalFreeNotification, unwrapVkReallocationFunction,+        unwrapVkVoidFunction, HS_vkAllocationFunction,+        HS_vkDebugReportCallbackEXT, HS_vkDebugUtilsMessengerCallbackEXT,+        HS_vkFreeFunction, HS_vkInternalAllocationNotification,+        HS_vkInternalFreeNotification, HS_vkReallocationFunction,+        HS_vkVoidFunction, PFN_vkAllocationFunction,+        PFN_vkDebugReportCallbackEXT, PFN_vkDebugUtilsMessengerCallbackEXT,+        PFN_vkFreeFunction, PFN_vkInternalAllocationNotification,+        PFN_vkInternalFreeNotification, PFN_vkReallocationFunction,+        PFN_vkVoidFunction, VkBuffer, VkBufferView, VkBufferView_T(),+        VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkAllocationCallbacks, VkExtent2D, VkExtent3D, VkPresentInfoKHR,+        VkPresentRegionKHR, VkPresentRegionsKHR, VkPresentTimeGOOGLE,+        VkPresentTimesInfoGOOGLE, VkSwapchainCounterCreateInfoEXT,+        VkSwapchainCreateInfoKHR, VK_KHR_SWAPCHAIN_SPEC_VERSION,         pattern VK_KHR_SWAPCHAIN_SPEC_VERSION,         VK_KHR_SWAPCHAIN_EXTENSION_NAME,         pattern VK_KHR_SWAPCHAIN_EXTENSION_NAME,@@ -75,20 +119,15 @@         pattern VK_ERROR_OUT_OF_DATE_KHR,         pattern VK_OBJECT_TYPE_SWAPCHAIN_KHR, -- ** Required extensions: 'VK_KHR_surface'.                                               VkAcquireNextImageInfoKHR,-        VkAcquireNextImageInfoKHR', VkBindImageMemoryInfo,-        VkBindImageMemoryInfo', VkBindImageMemorySwapchainInfoKHR,-        VkBindImageMemorySwapchainInfoKHR',-        VkDeviceGroupPresentCapabilitiesKHR,-        VkDeviceGroupPresentCapabilitiesKHR', VkDeviceGroupPresentInfoKHR,-        VkDeviceGroupPresentInfoKHR',-        module Graphics.Vulkan.Types.Enum.Device,-        VkDeviceGroupSwapchainCreateInfoKHR,-        VkDeviceGroupSwapchainCreateInfoKHR', VkExtent2D, VkExtent2D',-        VkExtent3D, VkExtent3D', VkImageCreateInfo, VkImageCreateInfo',-        VkImageSwapchainCreateInfoKHR, VkImageSwapchainCreateInfoKHR',-        VkPresentInfoKHR, VkPresentInfoKHR',-        module Graphics.Vulkan.Types.Enum.SampleCountFlags,-        VkSwapchainCreateInfoKHR, VkSwapchainCreateInfoKHR',+        VkBindImageMemoryInfo, VkBindImageMemorySwapchainInfoKHR,+        VkDeviceGroupPresentCapabilitiesKHR, VkDeviceGroupPresentInfoKHR,+        VkDeviceEventTypeEXT(..), VkDeviceGroupPresentModeBitmaskKHR(..),+        VkDeviceCreateFlagBits(..), VkDeviceGroupPresentModeFlagBitsKHR(),+        VkDeviceGroupPresentModeFlagsKHR(), VkDeviceQueueCreateBitmask(..),+        VkDeviceQueueCreateFlagBits(), VkDeviceQueueCreateFlags(),+        VkDeviceGroupSwapchainCreateInfoKHR, VkImageCreateInfo,+        VkImageSwapchainCreateInfoKHR, VkSampleCountBitmask(..),+        VkSampleCountFlagBits(), VkSampleCountFlags(),         -- > #include "vk_platform.h"         VkGetDeviceGroupPresentCapabilitiesKHR,         pattern VkGetDeviceGroupPresentCapabilitiesKHR,@@ -114,11 +153,18 @@         VkAcquireNextImage2KHR, pattern VkAcquireNextImage2KHR,         HS_vkAcquireNextImage2KHR, PFN_vkAcquireNextImage2KHR,         vkAcquireNextImage2KHR, vkAcquireNextImage2KHRUnsafe,-        vkAcquireNextImage2KHRSafe,-        module Graphics.Vulkan.Types.Struct.AcquireNextImageInfoKHR,-        module Graphics.Vulkan.Types.Struct.Device,-        module Graphics.Vulkan.Types.Struct.Offset,-        module Graphics.Vulkan.Types.Struct.Rect,+        vkAcquireNextImage2KHRSafe, VkDeviceCreateInfo,+        VkDeviceEventInfoEXT, VkDeviceGeneratedCommandsFeaturesNVX,+        VkDeviceGeneratedCommandsLimitsNVX, VkDeviceGroupBindSparseInfo,+        VkDeviceGroupBindSparseInfoKHR,+        VkDeviceGroupCommandBufferBeginInfo,+        VkDeviceGroupCommandBufferBeginInfoKHR,+        VkDeviceGroupDeviceCreateInfo, VkDeviceGroupDeviceCreateInfoKHR,+        VkDeviceGroupRenderPassBeginInfo,+        VkDeviceGroupRenderPassBeginInfoKHR, VkDeviceGroupSubmitInfo,+        VkDeviceGroupSubmitInfoKHR, VkDeviceQueueCreateInfo,+        VkDeviceQueueGlobalPriorityCreateInfoEXT, VkDeviceQueueInfo2,+        VkOffset2D, VkOffset3D, VkRect2D, VkRectLayerKHR,         pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR,         pattern VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR,         pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR,@@ -152,15 +198,10 @@ import Graphics.Vulkan.Types.Struct.AcquireNextImageInfoKHR import Graphics.Vulkan.Types.Struct.AllocationCallbacks import Graphics.Vulkan.Types.Struct.Bind                    (VkBindImageMemoryInfo,-                                                             VkBindImageMemoryInfo',-                                                             VkBindImageMemorySwapchainInfoKHR,-                                                             VkBindImageMemorySwapchainInfoKHR')+                                                             VkBindImageMemorySwapchainInfoKHR) import Graphics.Vulkan.Types.Struct.Device import Graphics.Vulkan.Types.Struct.Extent-import Graphics.Vulkan.Types.Struct.Image                   (VkImageCreateInfo,-                                                             VkImageCreateInfo',-                                                             VkImageSwapchainCreateInfoKHR,-                                                             VkImageSwapchainCreateInfoKHR')+import Graphics.Vulkan.Types.Struct.Image                   (VkImageCreateInfo, VkImageSwapchainCreateInfoKHR) import Graphics.Vulkan.Types.Struct.Offset import Graphics.Vulkan.Types.Struct.Present import Graphics.Vulkan.Types.Struct.Rect@@ -170,7 +211,8 @@ pattern VkCreateSwapchainKHR :: CString  pattern VkCreateSwapchainKHR <- (is_VkCreateSwapchainKHR -> True)-  where VkCreateSwapchainKHR = _VkCreateSwapchainKHR+  where+    VkCreateSwapchainKHR = _VkCreateSwapchainKHR  {-# INLINE _VkCreateSwapchainKHR #-} @@ -379,21 +421,22 @@                :: PFN_vkCreateSwapchainKHR -> HS_vkCreateSwapchainKHR  instance VulkanProc "vkCreateSwapchainKHR" where-        type VkProcType "vkCreateSwapchainKHR" = HS_vkCreateSwapchainKHR-        vkProcSymbol = _VkCreateSwapchainKHR+    type VkProcType "vkCreateSwapchainKHR" = HS_vkCreateSwapchainKHR+    vkProcSymbol = _VkCreateSwapchainKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateSwapchainKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateSwapchainKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateSwapchainKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateSwapchainKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkDestroySwapchainKHR :: CString  pattern VkDestroySwapchainKHR <- (is_VkDestroySwapchainKHR -> True)-  where VkDestroySwapchainKHR = _VkDestroySwapchainKHR+  where+    VkDestroySwapchainKHR = _VkDestroySwapchainKHR  {-# INLINE _VkDestroySwapchainKHR #-} @@ -564,22 +607,23 @@                :: PFN_vkDestroySwapchainKHR -> HS_vkDestroySwapchainKHR  instance VulkanProc "vkDestroySwapchainKHR" where-        type VkProcType "vkDestroySwapchainKHR" = HS_vkDestroySwapchainKHR-        vkProcSymbol = _VkDestroySwapchainKHR+    type VkProcType "vkDestroySwapchainKHR" = HS_vkDestroySwapchainKHR+    vkProcSymbol = _VkDestroySwapchainKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDestroySwapchainKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDestroySwapchainKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroySwapchainKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroySwapchainKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetSwapchainImagesKHR :: CString  pattern VkGetSwapchainImagesKHR <-         (is_VkGetSwapchainImagesKHR -> True)-  where VkGetSwapchainImagesKHR = _VkGetSwapchainImagesKHR+  where+    VkGetSwapchainImagesKHR = _VkGetSwapchainImagesKHR  {-# INLINE _VkGetSwapchainImagesKHR #-} @@ -784,22 +828,23 @@                PFN_vkGetSwapchainImagesKHR -> HS_vkGetSwapchainImagesKHR  instance VulkanProc "vkGetSwapchainImagesKHR" where-        type VkProcType "vkGetSwapchainImagesKHR" =-             HS_vkGetSwapchainImagesKHR-        vkProcSymbol = _VkGetSwapchainImagesKHR+    type VkProcType "vkGetSwapchainImagesKHR" =+         HS_vkGetSwapchainImagesKHR+    vkProcSymbol = _VkGetSwapchainImagesKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetSwapchainImagesKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetSwapchainImagesKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetSwapchainImagesKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetSwapchainImagesKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkAcquireNextImageKHR :: CString  pattern VkAcquireNextImageKHR <- (is_VkAcquireNextImageKHR -> True)-  where VkAcquireNextImageKHR = _VkAcquireNextImageKHR+  where+    VkAcquireNextImageKHR = _VkAcquireNextImageKHR  {-# INLINE _VkAcquireNextImageKHR #-} @@ -1028,21 +1073,22 @@                :: PFN_vkAcquireNextImageKHR -> HS_vkAcquireNextImageKHR  instance VulkanProc "vkAcquireNextImageKHR" where-        type VkProcType "vkAcquireNextImageKHR" = HS_vkAcquireNextImageKHR-        vkProcSymbol = _VkAcquireNextImageKHR+    type VkProcType "vkAcquireNextImageKHR" = HS_vkAcquireNextImageKHR+    vkProcSymbol = _VkAcquireNextImageKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkAcquireNextImageKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkAcquireNextImageKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkAcquireNextImageKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkAcquireNextImageKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkQueuePresentKHR :: CString  pattern VkQueuePresentKHR <- (is_VkQueuePresentKHR -> True)-  where VkQueuePresentKHR = _VkQueuePresentKHR+  where+    VkQueuePresentKHR = _VkQueuePresentKHR  {-# INLINE _VkQueuePresentKHR #-} @@ -1215,16 +1261,16 @@                PFN_vkQueuePresentKHR -> HS_vkQueuePresentKHR  instance VulkanProc "vkQueuePresentKHR" where-        type VkProcType "vkQueuePresentKHR" = HS_vkQueuePresentKHR-        vkProcSymbol = _VkQueuePresentKHR+    type VkProcType "vkQueuePresentKHR" = HS_vkQueuePresentKHR+    vkProcSymbol = _VkQueuePresentKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkQueuePresentKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkQueuePresentKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkQueuePresentKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkQueuePresentKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_SWAPCHAIN_SPEC_VERSION :: (Num a, Eq a) => a @@ -1236,8 +1282,8 @@  pattern VK_KHR_SWAPCHAIN_EXTENSION_NAME <-         (is_VK_KHR_SWAPCHAIN_EXTENSION_NAME -> True)-  where VK_KHR_SWAPCHAIN_EXTENSION_NAME-          = _VK_KHR_SWAPCHAIN_EXTENSION_NAME+  where+    VK_KHR_SWAPCHAIN_EXTENSION_NAME = _VK_KHR_SWAPCHAIN_EXTENSION_NAME  {-# INLINE _VK_KHR_SWAPCHAIN_EXTENSION_NAME #-} @@ -1284,8 +1330,9 @@  pattern VkGetDeviceGroupPresentCapabilitiesKHR <-         (is_VkGetDeviceGroupPresentCapabilitiesKHR -> True)-  where VkGetDeviceGroupPresentCapabilitiesKHR-          = _VkGetDeviceGroupPresentCapabilitiesKHR+  where+    VkGetDeviceGroupPresentCapabilitiesKHR+      = _VkGetDeviceGroupPresentCapabilitiesKHR  {-# INLINE _VkGetDeviceGroupPresentCapabilitiesKHR #-} @@ -1477,26 +1524,27 @@                  HS_vkGetDeviceGroupPresentCapabilitiesKHR  instance VulkanProc "vkGetDeviceGroupPresentCapabilitiesKHR" where-        type VkProcType "vkGetDeviceGroupPresentCapabilitiesKHR" =-             HS_vkGetDeviceGroupPresentCapabilitiesKHR-        vkProcSymbol = _VkGetDeviceGroupPresentCapabilitiesKHR+    type VkProcType "vkGetDeviceGroupPresentCapabilitiesKHR" =+         HS_vkGetDeviceGroupPresentCapabilitiesKHR+    vkProcSymbol = _VkGetDeviceGroupPresentCapabilitiesKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetDeviceGroupPresentCapabilitiesKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetDeviceGroupPresentCapabilitiesKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetDeviceGroupPresentCapabilitiesKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetDeviceGroupPresentCapabilitiesKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetDeviceGroupSurfacePresentModesKHR :: CString  pattern VkGetDeviceGroupSurfacePresentModesKHR <-         (is_VkGetDeviceGroupSurfacePresentModesKHR -> True)-  where VkGetDeviceGroupSurfacePresentModesKHR-          = _VkGetDeviceGroupSurfacePresentModesKHR+  where+    VkGetDeviceGroupSurfacePresentModesKHR+      = _VkGetDeviceGroupSurfacePresentModesKHR  {-# INLINE _VkGetDeviceGroupSurfacePresentModesKHR #-} @@ -1703,26 +1751,27 @@                  HS_vkGetDeviceGroupSurfacePresentModesKHR  instance VulkanProc "vkGetDeviceGroupSurfacePresentModesKHR" where-        type VkProcType "vkGetDeviceGroupSurfacePresentModesKHR" =-             HS_vkGetDeviceGroupSurfacePresentModesKHR-        vkProcSymbol = _VkGetDeviceGroupSurfacePresentModesKHR+    type VkProcType "vkGetDeviceGroupSurfacePresentModesKHR" =+         HS_vkGetDeviceGroupSurfacePresentModesKHR+    vkProcSymbol = _VkGetDeviceGroupSurfacePresentModesKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetDeviceGroupSurfacePresentModesKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetDeviceGroupSurfacePresentModesKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetDeviceGroupSurfacePresentModesKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetDeviceGroupSurfacePresentModesKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetPhysicalDevicePresentRectanglesKHR :: CString  pattern VkGetPhysicalDevicePresentRectanglesKHR <-         (is_VkGetPhysicalDevicePresentRectanglesKHR -> True)-  where VkGetPhysicalDevicePresentRectanglesKHR-          = _VkGetPhysicalDevicePresentRectanglesKHR+  where+    VkGetPhysicalDevicePresentRectanglesKHR+      = _VkGetPhysicalDevicePresentRectanglesKHR  {-# INLINE _VkGetPhysicalDevicePresentRectanglesKHR #-} @@ -1938,25 +1987,26 @@                  HS_vkGetPhysicalDevicePresentRectanglesKHR  instance VulkanProc "vkGetPhysicalDevicePresentRectanglesKHR" where-        type VkProcType "vkGetPhysicalDevicePresentRectanglesKHR" =-             HS_vkGetPhysicalDevicePresentRectanglesKHR-        vkProcSymbol = _VkGetPhysicalDevicePresentRectanglesKHR+    type VkProcType "vkGetPhysicalDevicePresentRectanglesKHR" =+         HS_vkGetPhysicalDevicePresentRectanglesKHR+    vkProcSymbol = _VkGetPhysicalDevicePresentRectanglesKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDevicePresentRectanglesKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDevicePresentRectanglesKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDevicePresentRectanglesKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDevicePresentRectanglesKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkAcquireNextImage2KHR :: CString  pattern VkAcquireNextImage2KHR <-         (is_VkAcquireNextImage2KHR -> True)-  where VkAcquireNextImage2KHR = _VkAcquireNextImage2KHR+  where+    VkAcquireNextImage2KHR = _VkAcquireNextImage2KHR  {-# INLINE _VkAcquireNextImage2KHR #-} @@ -2150,17 +2200,17 @@                PFN_vkAcquireNextImage2KHR -> HS_vkAcquireNextImage2KHR  instance VulkanProc "vkAcquireNextImage2KHR" where-        type VkProcType "vkAcquireNextImage2KHR" =-             HS_vkAcquireNextImage2KHR-        vkProcSymbol = _VkAcquireNextImage2KHR+    type VkProcType "vkAcquireNextImage2KHR" =+         HS_vkAcquireNextImage2KHR+    vkProcSymbol = _VkAcquireNextImage2KHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkAcquireNextImage2KHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkAcquireNextImage2KHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkAcquireNextImage2KHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkAcquireNextImage2KHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR ::         VkStructureType
src-gen/Graphics/Vulkan/Ext/VK_KHR_variable_pointers.hs view
@@ -23,7 +23,7 @@         --          -- ** Required extensions: 'VK_KHR_get_physical_device_properties2', 'VK_KHR_storage_buffer_storage_class'.-        module Graphics.Vulkan.Types.Struct.PhysicalDevice,+        VkPhysicalDeviceVariablePointerFeaturesKHR,         VK_KHR_VARIABLE_POINTERS_SPEC_VERSION,         pattern VK_KHR_VARIABLE_POINTERS_SPEC_VERSION,         VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME,@@ -33,7 +33,7 @@ import GHC.Ptr                                     (Ptr (..)) import Graphics.Vulkan.Core_1_1                    (pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES) import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.Struct.PhysicalDevice+import Graphics.Vulkan.Types.Struct.PhysicalDevice (VkPhysicalDeviceVariablePointerFeaturesKHR)  pattern VK_KHR_VARIABLE_POINTERS_SPEC_VERSION :: (Num a, Eq a) => a @@ -45,8 +45,9 @@  pattern VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME <-         (is_VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME -> True)-  where VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME-          = _VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME+  where+    VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME+      = _VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME  {-# INLINE _VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_wayland_surface.hs view
@@ -12,29 +12,52 @@ {-# LANGUAGE TypeFamilies             #-} {-# LANGUAGE ViewPatterns             #-} module Graphics.Vulkan.Ext.VK_KHR_wayland_surface-       (-- * Vulkan extension: @VK_KHR_wayland_surface@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @Jesse Hall @critsec,Ian Elliott @ianelliottus@-        ---        -- author: @KHR@-        ---        -- type: @instance@-        ---        -- platform: @wayland@-        ---        -- Extension number: @7@-        ---        -- Required extensions: 'VK_KHR_surface'.-        ----        -- ** Required extensions: 'VK_KHR_surface'.-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.StructureType,-        module Graphics.Vulkan.Types.Bitmasks,-        VkWaylandSurfaceCreateInfoKHR, VkWaylandSurfaceCreateInfoKHR',+       (VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkStructureType(..), VkAndroidSurfaceCreateFlagsKHR(..),+        VkBufferViewCreateFlags(..), VkCommandPoolTrimFlags(..),+        VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkWaylandSurfaceCreateInfoKHR,         -- > #include "vk_platform.h"         VkCreateWaylandSurfaceKHR, pattern VkCreateWaylandSurfaceKHR,         HS_vkCreateWaylandSurfaceKHR, PFN_vkCreateWaylandSurfaceKHR,@@ -47,16 +70,53 @@         vkGetPhysicalDeviceWaylandPresentationSupportKHR,         vkGetPhysicalDeviceWaylandPresentationSupportKHRUnsafe,         vkGetPhysicalDeviceWaylandPresentationSupportKHRSafe,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.InternalAllocationType,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Enum.SystemAllocationScope,-        module Graphics.Vulkan.Types.Funcpointers,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Include,-        module Graphics.Vulkan.Types.Struct.AllocationCallbacks,-        module Graphics.Vulkan.Types.Struct.PlatformWaylandKhr,-        VK_KHR_WAYLAND_SURFACE_SPEC_VERSION,+        module Graphics.Vulkan.Marshal, VkInternalAllocationType(..),+        VkResult(..), VkSystemAllocationScope(..), newVkAllocationFunction,+        newVkDebugReportCallbackEXT, newVkDebugUtilsMessengerCallbackEXT,+        newVkFreeFunction, newVkInternalAllocationNotification,+        newVkInternalFreeNotification, newVkReallocationFunction,+        newVkVoidFunction, unwrapVkAllocationFunction,+        unwrapVkDebugReportCallbackEXT,+        unwrapVkDebugUtilsMessengerCallbackEXT, unwrapVkFreeFunction,+        unwrapVkInternalAllocationNotification,+        unwrapVkInternalFreeNotification, unwrapVkReallocationFunction,+        unwrapVkVoidFunction, HS_vkAllocationFunction,+        HS_vkDebugReportCallbackEXT, HS_vkDebugUtilsMessengerCallbackEXT,+        HS_vkFreeFunction, HS_vkInternalAllocationNotification,+        HS_vkInternalFreeNotification, HS_vkReallocationFunction,+        HS_vkVoidFunction, PFN_vkAllocationFunction,+        PFN_vkDebugReportCallbackEXT, PFN_vkDebugUtilsMessengerCallbackEXT,+        PFN_vkFreeFunction, PFN_vkInternalAllocationNotification,+        PFN_vkInternalFreeNotification, PFN_vkReallocationFunction,+        PFN_vkVoidFunction, VkBuffer, VkBufferView, VkBufferView_T(),+        VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        DWORD, Display, HANDLE, HINSTANCE, HWND, LPCWSTR, MirConnection,+        MirSurface, RROutput, SECURITY_ATTRIBUTES, VisualID, Window,+        WlDisplay, WlSurface, XcbConnectionT, XcbVisualidT, XcbWindowT,+        VkAllocationCallbacks, VK_KHR_WAYLAND_SURFACE_SPEC_VERSION,         pattern VK_KHR_WAYLAND_SURFACE_SPEC_VERSION,         VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME,         pattern VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME,@@ -82,7 +142,8 @@  pattern VkCreateWaylandSurfaceKHR <-         (is_VkCreateWaylandSurfaceKHR -> True)-  where VkCreateWaylandSurfaceKHR = _VkCreateWaylandSurfaceKHR+  where+    VkCreateWaylandSurfaceKHR = _VkCreateWaylandSurfaceKHR  {-# INLINE _VkCreateWaylandSurfaceKHR #-} @@ -294,24 +355,25 @@                PFN_vkCreateWaylandSurfaceKHR -> HS_vkCreateWaylandSurfaceKHR  instance VulkanProc "vkCreateWaylandSurfaceKHR" where-        type VkProcType "vkCreateWaylandSurfaceKHR" =-             HS_vkCreateWaylandSurfaceKHR-        vkProcSymbol = _VkCreateWaylandSurfaceKHR+    type VkProcType "vkCreateWaylandSurfaceKHR" =+         HS_vkCreateWaylandSurfaceKHR+    vkProcSymbol = _VkCreateWaylandSurfaceKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateWaylandSurfaceKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateWaylandSurfaceKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateWaylandSurfaceKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateWaylandSurfaceKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetPhysicalDeviceWaylandPresentationSupportKHR :: CString  pattern VkGetPhysicalDeviceWaylandPresentationSupportKHR <-         (is_VkGetPhysicalDeviceWaylandPresentationSupportKHR -> True)-  where VkGetPhysicalDeviceWaylandPresentationSupportKHR-          = _VkGetPhysicalDeviceWaylandPresentationSupportKHR+  where+    VkGetPhysicalDeviceWaylandPresentationSupportKHR+      = _VkGetPhysicalDeviceWaylandPresentationSupportKHR  {-# INLINE _VkGetPhysicalDeviceWaylandPresentationSupportKHR #-} @@ -503,19 +565,19 @@ instance VulkanProc            "vkGetPhysicalDeviceWaylandPresentationSupportKHR"          where-        type VkProcType "vkGetPhysicalDeviceWaylandPresentationSupportKHR"-             = HS_vkGetPhysicalDeviceWaylandPresentationSupportKHR-        vkProcSymbol = _VkGetPhysicalDeviceWaylandPresentationSupportKHR+    type VkProcType "vkGetPhysicalDeviceWaylandPresentationSupportKHR"+         = HS_vkGetPhysicalDeviceWaylandPresentationSupportKHR+    vkProcSymbol = _VkGetPhysicalDeviceWaylandPresentationSupportKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceWaylandPresentationSupportKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceWaylandPresentationSupportKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceWaylandPresentationSupportKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceWaylandPresentationSupportKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_WAYLAND_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a @@ -527,8 +589,9 @@  pattern VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME <-         (is_VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME -> True)-  where VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME-          = _VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME+  where+    VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME+      = _VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME  {-# INLINE _VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_win32_keyed_mutex.hs view
@@ -5,30 +5,24 @@ {-# LANGUAGE Strict          #-} {-# LANGUAGE ViewPatterns    #-} module Graphics.Vulkan.Ext.VK_KHR_win32_keyed_mutex-       (-- * Vulkan extension: @VK_KHR_win32_keyed_mutex@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @Carsten Rohde @crohde@-        ---        -- author: @KHR@-        ---        -- type: @device@-        ---        -- platform: @win32@-        ---        -- Extension number: @76@-        ---        -- Required extensions: 'VK_KHR_external_memory_win32'.-        ----        -- ** Required extensions: 'VK_KHR_external_memory_win32'.-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.Pipeline,-        module Graphics.Vulkan.Types.Enum.StructureType, VkSubmitInfo,-        VkSubmitInfo', VkWin32KeyedMutexAcquireReleaseInfoKHR,-        VkWin32KeyedMutexAcquireReleaseInfoKHR',+       (VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkPipelineBindPoint(..), VkPipelineCacheHeaderVersion(..),+        VkPipelineCreateBitmask(..), VkPipelineStageBitmask(..),+        VkPipelineCacheCreateFlagBits(..),+        VkPipelineColorBlendStateCreateFlagBits(..),+        VkPipelineCreateFlagBits(), VkPipelineCreateFlags(),+        VkPipelineDepthStencilStateCreateFlagBits(..),+        VkPipelineDynamicStateCreateFlagBits(..),+        VkPipelineInputAssemblyStateCreateFlagBits(..),+        VkPipelineLayoutCreateFlagBits(..),+        VkPipelineMultisampleStateCreateFlagBits(..),+        VkPipelineRasterizationStateCreateFlagBits(..),+        VkPipelineShaderStageCreateFlagBits(..), VkPipelineStageFlagBits(),+        VkPipelineStageFlags(),+        VkPipelineTessellationStateCreateFlagBits(..),+        VkPipelineVertexInputStateCreateFlagBits(..),+        VkPipelineViewportStateCreateFlagBits(..), VkStructureType(..),+        VkSubmitInfo, VkWin32KeyedMutexAcquireReleaseInfoKHR,         -- > #include "vk_platform.h"         VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION,         pattern VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION,@@ -41,10 +35,8 @@ import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Enum.Pipeline import Graphics.Vulkan.Types.Enum.StructureType-import Graphics.Vulkan.Types.Struct.PlatformWin32Khr (VkWin32KeyedMutexAcquireReleaseInfoKHR,-                                                      VkWin32KeyedMutexAcquireReleaseInfoKHR')-import Graphics.Vulkan.Types.Struct.SubmitInfo       (VkSubmitInfo,-                                                      VkSubmitInfo')+import Graphics.Vulkan.Types.Struct.PlatformWin32Khr (VkWin32KeyedMutexAcquireReleaseInfoKHR)+import Graphics.Vulkan.Types.Struct.SubmitInfo       (VkSubmitInfo)  pattern VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION :: (Num a, Eq a) => a @@ -56,8 +48,9 @@  pattern VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME <-         (is_VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME -> True)-  where VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME-          = _VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME+  where+    VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME+      = _VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME  {-# INLINE _VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_win32_surface.hs view
@@ -12,33 +12,57 @@ {-# LANGUAGE TypeFamilies             #-} {-# LANGUAGE ViewPatterns             #-} module Graphics.Vulkan.Ext.VK_KHR_win32_surface-       (-- * Vulkan extension: @VK_KHR_win32_surface@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @Jesse Hall @critsec,Ian Elliott @ianelliottus@-        ---        -- author: @KHR@-        ---        -- type: @instance@-        ---        -- platform: @win32@-        ---        -- Extension number: @10@-        ---        -- Required extensions: 'VK_KHR_surface'.-        ----        -- ** Required extensions: 'VK_KHR_surface'.-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.StructureType,-        module Graphics.Vulkan.Types.Bitmasks, VkWin32SurfaceCreateInfoKHR,-        VkWin32SurfaceCreateInfoKHR', -- > #include "vk_platform.h"-                                      VkCreateWin32SurfaceKHR,-        pattern VkCreateWin32SurfaceKHR, HS_vkCreateWin32SurfaceKHR,-        PFN_vkCreateWin32SurfaceKHR, vkCreateWin32SurfaceKHR,-        vkCreateWin32SurfaceKHRUnsafe, vkCreateWin32SurfaceKHRSafe,+       (VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkStructureType(..), VkAndroidSurfaceCreateFlagsKHR(..),+        VkBufferViewCreateFlags(..), VkCommandPoolTrimFlags(..),+        VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkWin32SurfaceCreateInfoKHR,+        -- > #include "vk_platform.h"+        VkCreateWin32SurfaceKHR, pattern VkCreateWin32SurfaceKHR,+        HS_vkCreateWin32SurfaceKHR, PFN_vkCreateWin32SurfaceKHR,+        vkCreateWin32SurfaceKHR, vkCreateWin32SurfaceKHRUnsafe,+        vkCreateWin32SurfaceKHRSafe,         VkGetPhysicalDeviceWin32PresentationSupportKHR,         pattern VkGetPhysicalDeviceWin32PresentationSupportKHR,         HS_vkGetPhysicalDeviceWin32PresentationSupportKHR,@@ -46,15 +70,62 @@         vkGetPhysicalDeviceWin32PresentationSupportKHR,         vkGetPhysicalDeviceWin32PresentationSupportKHRUnsafe,         vkGetPhysicalDeviceWin32PresentationSupportKHRSafe,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.InternalAllocationType,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Enum.SystemAllocationScope,-        module Graphics.Vulkan.Types.Funcpointers,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Include,-        module Graphics.Vulkan.Types.Struct.AllocationCallbacks,-        module Graphics.Vulkan.Types.Struct.PlatformWin32Khr,+        module Graphics.Vulkan.Marshal, VkInternalAllocationType(..),+        VkResult(..), VkSystemAllocationScope(..), newVkAllocationFunction,+        newVkDebugReportCallbackEXT, newVkDebugUtilsMessengerCallbackEXT,+        newVkFreeFunction, newVkInternalAllocationNotification,+        newVkInternalFreeNotification, newVkReallocationFunction,+        newVkVoidFunction, unwrapVkAllocationFunction,+        unwrapVkDebugReportCallbackEXT,+        unwrapVkDebugUtilsMessengerCallbackEXT, unwrapVkFreeFunction,+        unwrapVkInternalAllocationNotification,+        unwrapVkInternalFreeNotification, unwrapVkReallocationFunction,+        unwrapVkVoidFunction, HS_vkAllocationFunction,+        HS_vkDebugReportCallbackEXT, HS_vkDebugUtilsMessengerCallbackEXT,+        HS_vkFreeFunction, HS_vkInternalAllocationNotification,+        HS_vkInternalFreeNotification, HS_vkReallocationFunction,+        HS_vkVoidFunction, PFN_vkAllocationFunction,+        PFN_vkDebugReportCallbackEXT, PFN_vkDebugUtilsMessengerCallbackEXT,+        PFN_vkFreeFunction, PFN_vkInternalAllocationNotification,+        PFN_vkInternalFreeNotification, PFN_vkReallocationFunction,+        PFN_vkVoidFunction, VkBuffer, VkBufferView, VkBufferView_T(),+        VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        DWORD, Display, HANDLE, HINSTANCE, HWND, LPCWSTR, MirConnection,+        MirSurface, RROutput, SECURITY_ATTRIBUTES, VisualID, Window,+        WlDisplay, WlSurface, XcbConnectionT, XcbVisualidT, XcbWindowT,+        VkAllocationCallbacks, VkD3D12FenceSubmitInfoKHR,+        VkExportFenceWin32HandleInfoKHR, VkExportMemoryWin32HandleInfoKHR,+        VkExportMemoryWin32HandleInfoNV,+        VkExportSemaphoreWin32HandleInfoKHR, VkFenceGetWin32HandleInfoKHR,+        VkImportFenceWin32HandleInfoKHR, VkImportMemoryWin32HandleInfoKHR,+        VkImportMemoryWin32HandleInfoNV,+        VkImportSemaphoreWin32HandleInfoKHR, VkMemoryGetWin32HandleInfoKHR,+        VkMemoryWin32HandlePropertiesKHR, VkSemaphoreGetWin32HandleInfoKHR,+        VkWin32KeyedMutexAcquireReleaseInfoKHR,+        VkWin32KeyedMutexAcquireReleaseInfoNV,         VK_KHR_WIN32_SURFACE_SPEC_VERSION,         pattern VK_KHR_WIN32_SURFACE_SPEC_VERSION,         VK_KHR_WIN32_SURFACE_EXTENSION_NAME,@@ -81,7 +152,8 @@  pattern VkCreateWin32SurfaceKHR <-         (is_VkCreateWin32SurfaceKHR -> True)-  where VkCreateWin32SurfaceKHR = _VkCreateWin32SurfaceKHR+  where+    VkCreateWin32SurfaceKHR = _VkCreateWin32SurfaceKHR  {-# INLINE _VkCreateWin32SurfaceKHR #-} @@ -292,24 +364,25 @@                PFN_vkCreateWin32SurfaceKHR -> HS_vkCreateWin32SurfaceKHR  instance VulkanProc "vkCreateWin32SurfaceKHR" where-        type VkProcType "vkCreateWin32SurfaceKHR" =-             HS_vkCreateWin32SurfaceKHR-        vkProcSymbol = _VkCreateWin32SurfaceKHR+    type VkProcType "vkCreateWin32SurfaceKHR" =+         HS_vkCreateWin32SurfaceKHR+    vkProcSymbol = _VkCreateWin32SurfaceKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateWin32SurfaceKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateWin32SurfaceKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateWin32SurfaceKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateWin32SurfaceKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetPhysicalDeviceWin32PresentationSupportKHR :: CString  pattern VkGetPhysicalDeviceWin32PresentationSupportKHR <-         (is_VkGetPhysicalDeviceWin32PresentationSupportKHR -> True)-  where VkGetPhysicalDeviceWin32PresentationSupportKHR-          = _VkGetPhysicalDeviceWin32PresentationSupportKHR+  where+    VkGetPhysicalDeviceWin32PresentationSupportKHR+      = _VkGetPhysicalDeviceWin32PresentationSupportKHR  {-# INLINE _VkGetPhysicalDeviceWin32PresentationSupportKHR #-} @@ -487,19 +560,19 @@ instance VulkanProc            "vkGetPhysicalDeviceWin32PresentationSupportKHR"          where-        type VkProcType "vkGetPhysicalDeviceWin32PresentationSupportKHR" =-             HS_vkGetPhysicalDeviceWin32PresentationSupportKHR-        vkProcSymbol = _VkGetPhysicalDeviceWin32PresentationSupportKHR+    type VkProcType "vkGetPhysicalDeviceWin32PresentationSupportKHR" =+         HS_vkGetPhysicalDeviceWin32PresentationSupportKHR+    vkProcSymbol = _VkGetPhysicalDeviceWin32PresentationSupportKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceWin32PresentationSupportKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceWin32PresentationSupportKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceWin32PresentationSupportKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceWin32PresentationSupportKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_WIN32_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a @@ -511,8 +584,9 @@  pattern VK_KHR_WIN32_SURFACE_EXTENSION_NAME <-         (is_VK_KHR_WIN32_SURFACE_EXTENSION_NAME -> True)-  where VK_KHR_WIN32_SURFACE_EXTENSION_NAME-          = _VK_KHR_WIN32_SURFACE_EXTENSION_NAME+  where+    VK_KHR_WIN32_SURFACE_EXTENSION_NAME+      = _VK_KHR_WIN32_SURFACE_EXTENSION_NAME  {-# INLINE _VK_KHR_WIN32_SURFACE_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_xcb_surface.hs view
@@ -12,33 +12,57 @@ {-# LANGUAGE TypeFamilies             #-} {-# LANGUAGE ViewPatterns             #-} module Graphics.Vulkan.Ext.VK_KHR_xcb_surface-       (-- * Vulkan extension: @VK_KHR_xcb_surface@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @Jesse Hall @critsec,Ian Elliott @ianelliottus@-        ---        -- author: @KHR@-        ---        -- type: @instance@-        ---        -- platform: @xcb@-        ---        -- Extension number: @6@-        ---        -- Required extensions: 'VK_KHR_surface'.-        ----        -- ** Required extensions: 'VK_KHR_surface'.-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.StructureType,-        module Graphics.Vulkan.Types.Bitmasks, VkXcbSurfaceCreateInfoKHR,-        VkXcbSurfaceCreateInfoKHR', -- > #include "vk_platform.h"-                                    VkCreateXcbSurfaceKHR,-        pattern VkCreateXcbSurfaceKHR, HS_vkCreateXcbSurfaceKHR,-        PFN_vkCreateXcbSurfaceKHR, vkCreateXcbSurfaceKHR,-        vkCreateXcbSurfaceKHRUnsafe, vkCreateXcbSurfaceKHRSafe,+       (VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkStructureType(..), VkAndroidSurfaceCreateFlagsKHR(..),+        VkBufferViewCreateFlags(..), VkCommandPoolTrimFlags(..),+        VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateInfoKHR,+        -- > #include "vk_platform.h"+        VkCreateXcbSurfaceKHR, pattern VkCreateXcbSurfaceKHR,+        HS_vkCreateXcbSurfaceKHR, PFN_vkCreateXcbSurfaceKHR,+        vkCreateXcbSurfaceKHR, vkCreateXcbSurfaceKHRUnsafe,+        vkCreateXcbSurfaceKHRSafe,         VkGetPhysicalDeviceXcbPresentationSupportKHR,         pattern VkGetPhysicalDeviceXcbPresentationSupportKHR,         HS_vkGetPhysicalDeviceXcbPresentationSupportKHR,@@ -46,16 +70,53 @@         vkGetPhysicalDeviceXcbPresentationSupportKHR,         vkGetPhysicalDeviceXcbPresentationSupportKHRUnsafe,         vkGetPhysicalDeviceXcbPresentationSupportKHRSafe,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.InternalAllocationType,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Enum.SystemAllocationScope,-        module Graphics.Vulkan.Types.Funcpointers,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Include,-        module Graphics.Vulkan.Types.Struct.AllocationCallbacks,-        module Graphics.Vulkan.Types.Struct.PlatformXcbKhr,-        VK_KHR_XCB_SURFACE_SPEC_VERSION,+        module Graphics.Vulkan.Marshal, VkInternalAllocationType(..),+        VkResult(..), VkSystemAllocationScope(..), newVkAllocationFunction,+        newVkDebugReportCallbackEXT, newVkDebugUtilsMessengerCallbackEXT,+        newVkFreeFunction, newVkInternalAllocationNotification,+        newVkInternalFreeNotification, newVkReallocationFunction,+        newVkVoidFunction, unwrapVkAllocationFunction,+        unwrapVkDebugReportCallbackEXT,+        unwrapVkDebugUtilsMessengerCallbackEXT, unwrapVkFreeFunction,+        unwrapVkInternalAllocationNotification,+        unwrapVkInternalFreeNotification, unwrapVkReallocationFunction,+        unwrapVkVoidFunction, HS_vkAllocationFunction,+        HS_vkDebugReportCallbackEXT, HS_vkDebugUtilsMessengerCallbackEXT,+        HS_vkFreeFunction, HS_vkInternalAllocationNotification,+        HS_vkInternalFreeNotification, HS_vkReallocationFunction,+        HS_vkVoidFunction, PFN_vkAllocationFunction,+        PFN_vkDebugReportCallbackEXT, PFN_vkDebugUtilsMessengerCallbackEXT,+        PFN_vkFreeFunction, PFN_vkInternalAllocationNotification,+        PFN_vkInternalFreeNotification, PFN_vkReallocationFunction,+        PFN_vkVoidFunction, VkBuffer, VkBufferView, VkBufferView_T(),+        VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        DWORD, Display, HANDLE, HINSTANCE, HWND, LPCWSTR, MirConnection,+        MirSurface, RROutput, SECURITY_ATTRIBUTES, VisualID, Window,+        WlDisplay, WlSurface, XcbConnectionT, XcbVisualidT, XcbWindowT,+        VkAllocationCallbacks, VK_KHR_XCB_SURFACE_SPEC_VERSION,         pattern VK_KHR_XCB_SURFACE_SPEC_VERSION,         VK_KHR_XCB_SURFACE_EXTENSION_NAME,         pattern VK_KHR_XCB_SURFACE_EXTENSION_NAME,@@ -80,7 +141,8 @@ pattern VkCreateXcbSurfaceKHR :: CString  pattern VkCreateXcbSurfaceKHR <- (is_VkCreateXcbSurfaceKHR -> True)-  where VkCreateXcbSurfaceKHR = _VkCreateXcbSurfaceKHR+  where+    VkCreateXcbSurfaceKHR = _VkCreateXcbSurfaceKHR  {-# INLINE _VkCreateXcbSurfaceKHR #-} @@ -289,23 +351,24 @@                :: PFN_vkCreateXcbSurfaceKHR -> HS_vkCreateXcbSurfaceKHR  instance VulkanProc "vkCreateXcbSurfaceKHR" where-        type VkProcType "vkCreateXcbSurfaceKHR" = HS_vkCreateXcbSurfaceKHR-        vkProcSymbol = _VkCreateXcbSurfaceKHR+    type VkProcType "vkCreateXcbSurfaceKHR" = HS_vkCreateXcbSurfaceKHR+    vkProcSymbol = _VkCreateXcbSurfaceKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateXcbSurfaceKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateXcbSurfaceKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateXcbSurfaceKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateXcbSurfaceKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetPhysicalDeviceXcbPresentationSupportKHR :: CString  pattern VkGetPhysicalDeviceXcbPresentationSupportKHR <-         (is_VkGetPhysicalDeviceXcbPresentationSupportKHR -> True)-  where VkGetPhysicalDeviceXcbPresentationSupportKHR-          = _VkGetPhysicalDeviceXcbPresentationSupportKHR+  where+    VkGetPhysicalDeviceXcbPresentationSupportKHR+      = _VkGetPhysicalDeviceXcbPresentationSupportKHR  {-# INLINE _VkGetPhysicalDeviceXcbPresentationSupportKHR #-} @@ -511,19 +574,19 @@  instance VulkanProc "vkGetPhysicalDeviceXcbPresentationSupportKHR"          where-        type VkProcType "vkGetPhysicalDeviceXcbPresentationSupportKHR" =-             HS_vkGetPhysicalDeviceXcbPresentationSupportKHR-        vkProcSymbol = _VkGetPhysicalDeviceXcbPresentationSupportKHR+    type VkProcType "vkGetPhysicalDeviceXcbPresentationSupportKHR" =+         HS_vkGetPhysicalDeviceXcbPresentationSupportKHR+    vkProcSymbol = _VkGetPhysicalDeviceXcbPresentationSupportKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceXcbPresentationSupportKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceXcbPresentationSupportKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceXcbPresentationSupportKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceXcbPresentationSupportKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_XCB_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a @@ -535,8 +598,9 @@  pattern VK_KHR_XCB_SURFACE_EXTENSION_NAME <-         (is_VK_KHR_XCB_SURFACE_EXTENSION_NAME -> True)-  where VK_KHR_XCB_SURFACE_EXTENSION_NAME-          = _VK_KHR_XCB_SURFACE_EXTENSION_NAME+  where+    VK_KHR_XCB_SURFACE_EXTENSION_NAME+      = _VK_KHR_XCB_SURFACE_EXTENSION_NAME  {-# INLINE _VK_KHR_XCB_SURFACE_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_KHR_xlib_surface.hs view
@@ -12,33 +12,57 @@ {-# LANGUAGE TypeFamilies             #-} {-# LANGUAGE ViewPatterns             #-} module Graphics.Vulkan.Ext.VK_KHR_xlib_surface-       (-- * Vulkan extension: @VK_KHR_xlib_surface@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @Jesse Hall @critsec,Ian Elliott @ianelliottus@-        ---        -- author: @KHR@-        ---        -- type: @instance@-        ---        -- platform: @xlib@-        ---        -- Extension number: @5@-        ---        -- Required extensions: 'VK_KHR_surface'.-        ----        -- ** Required extensions: 'VK_KHR_surface'.-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.StructureType,-        module Graphics.Vulkan.Types.Bitmasks, VkXlibSurfaceCreateInfoKHR,-        VkXlibSurfaceCreateInfoKHR', -- > #include "vk_platform.h"-                                     VkCreateXlibSurfaceKHR,-        pattern VkCreateXlibSurfaceKHR, HS_vkCreateXlibSurfaceKHR,-        PFN_vkCreateXlibSurfaceKHR, vkCreateXlibSurfaceKHR,-        vkCreateXlibSurfaceKHRUnsafe, vkCreateXlibSurfaceKHRSafe,+       (VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkStructureType(..), VkAndroidSurfaceCreateFlagsKHR(..),+        VkBufferViewCreateFlags(..), VkCommandPoolTrimFlags(..),+        VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkXlibSurfaceCreateInfoKHR,+        -- > #include "vk_platform.h"+        VkCreateXlibSurfaceKHR, pattern VkCreateXlibSurfaceKHR,+        HS_vkCreateXlibSurfaceKHR, PFN_vkCreateXlibSurfaceKHR,+        vkCreateXlibSurfaceKHR, vkCreateXlibSurfaceKHRUnsafe,+        vkCreateXlibSurfaceKHRSafe,         VkGetPhysicalDeviceXlibPresentationSupportKHR,         pattern VkGetPhysicalDeviceXlibPresentationSupportKHR,         HS_vkGetPhysicalDeviceXlibPresentationSupportKHR,@@ -46,16 +70,53 @@         vkGetPhysicalDeviceXlibPresentationSupportKHR,         vkGetPhysicalDeviceXlibPresentationSupportKHRUnsafe,         vkGetPhysicalDeviceXlibPresentationSupportKHRSafe,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.InternalAllocationType,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Enum.SystemAllocationScope,-        module Graphics.Vulkan.Types.Funcpointers,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Include,-        module Graphics.Vulkan.Types.Struct.AllocationCallbacks,-        module Graphics.Vulkan.Types.Struct.PlatformXlibKhr,-        VK_KHR_XLIB_SURFACE_SPEC_VERSION,+        module Graphics.Vulkan.Marshal, VkInternalAllocationType(..),+        VkResult(..), VkSystemAllocationScope(..), newVkAllocationFunction,+        newVkDebugReportCallbackEXT, newVkDebugUtilsMessengerCallbackEXT,+        newVkFreeFunction, newVkInternalAllocationNotification,+        newVkInternalFreeNotification, newVkReallocationFunction,+        newVkVoidFunction, unwrapVkAllocationFunction,+        unwrapVkDebugReportCallbackEXT,+        unwrapVkDebugUtilsMessengerCallbackEXT, unwrapVkFreeFunction,+        unwrapVkInternalAllocationNotification,+        unwrapVkInternalFreeNotification, unwrapVkReallocationFunction,+        unwrapVkVoidFunction, HS_vkAllocationFunction,+        HS_vkDebugReportCallbackEXT, HS_vkDebugUtilsMessengerCallbackEXT,+        HS_vkFreeFunction, HS_vkInternalAllocationNotification,+        HS_vkInternalFreeNotification, HS_vkReallocationFunction,+        HS_vkVoidFunction, PFN_vkAllocationFunction,+        PFN_vkDebugReportCallbackEXT, PFN_vkDebugUtilsMessengerCallbackEXT,+        PFN_vkFreeFunction, PFN_vkInternalAllocationNotification,+        PFN_vkInternalFreeNotification, PFN_vkReallocationFunction,+        PFN_vkVoidFunction, VkBuffer, VkBufferView, VkBufferView_T(),+        VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        DWORD, Display, HANDLE, HINSTANCE, HWND, LPCWSTR, MirConnection,+        MirSurface, RROutput, SECURITY_ATTRIBUTES, VisualID, Window,+        WlDisplay, WlSurface, XcbConnectionT, XcbVisualidT, XcbWindowT,+        VkAllocationCallbacks, VK_KHR_XLIB_SURFACE_SPEC_VERSION,         pattern VK_KHR_XLIB_SURFACE_SPEC_VERSION,         VK_KHR_XLIB_SURFACE_EXTENSION_NAME,         pattern VK_KHR_XLIB_SURFACE_EXTENSION_NAME,@@ -81,7 +142,8 @@  pattern VkCreateXlibSurfaceKHR <-         (is_VkCreateXlibSurfaceKHR -> True)-  where VkCreateXlibSurfaceKHR = _VkCreateXlibSurfaceKHR+  where+    VkCreateXlibSurfaceKHR = _VkCreateXlibSurfaceKHR  {-# INLINE _VkCreateXlibSurfaceKHR #-} @@ -291,24 +353,25 @@                PFN_vkCreateXlibSurfaceKHR -> HS_vkCreateXlibSurfaceKHR  instance VulkanProc "vkCreateXlibSurfaceKHR" where-        type VkProcType "vkCreateXlibSurfaceKHR" =-             HS_vkCreateXlibSurfaceKHR-        vkProcSymbol = _VkCreateXlibSurfaceKHR+    type VkProcType "vkCreateXlibSurfaceKHR" =+         HS_vkCreateXlibSurfaceKHR+    vkProcSymbol = _VkCreateXlibSurfaceKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateXlibSurfaceKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateXlibSurfaceKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateXlibSurfaceKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateXlibSurfaceKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetPhysicalDeviceXlibPresentationSupportKHR :: CString  pattern VkGetPhysicalDeviceXlibPresentationSupportKHR <-         (is_VkGetPhysicalDeviceXlibPresentationSupportKHR -> True)-  where VkGetPhysicalDeviceXlibPresentationSupportKHR-          = _VkGetPhysicalDeviceXlibPresentationSupportKHR+  where+    VkGetPhysicalDeviceXlibPresentationSupportKHR+      = _VkGetPhysicalDeviceXlibPresentationSupportKHR  {-# INLINE _VkGetPhysicalDeviceXlibPresentationSupportKHR #-} @@ -511,19 +574,19 @@  instance VulkanProc "vkGetPhysicalDeviceXlibPresentationSupportKHR"          where-        type VkProcType "vkGetPhysicalDeviceXlibPresentationSupportKHR" =-             HS_vkGetPhysicalDeviceXlibPresentationSupportKHR-        vkProcSymbol = _VkGetPhysicalDeviceXlibPresentationSupportKHR+    type VkProcType "vkGetPhysicalDeviceXlibPresentationSupportKHR" =+         HS_vkGetPhysicalDeviceXlibPresentationSupportKHR+    vkProcSymbol = _VkGetPhysicalDeviceXlibPresentationSupportKHR -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceXlibPresentationSupportKHRUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceXlibPresentationSupportKHRUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceXlibPresentationSupportKHRSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceXlibPresentationSupportKHRSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_KHR_XLIB_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a @@ -535,8 +598,9 @@  pattern VK_KHR_XLIB_SURFACE_EXTENSION_NAME <-         (is_VK_KHR_XLIB_SURFACE_EXTENSION_NAME -> True)-  where VK_KHR_XLIB_SURFACE_EXTENSION_NAME-          = _VK_KHR_XLIB_SURFACE_EXTENSION_NAME+  where+    VK_KHR_XLIB_SURFACE_EXTENSION_NAME+      = _VK_KHR_XLIB_SURFACE_EXTENSION_NAME  {-# INLINE _VK_KHR_XLIB_SURFACE_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_MVK_ios_surface.hs view
@@ -10,41 +10,99 @@ {-# LANGUAGE TypeFamilies             #-} {-# LANGUAGE ViewPatterns             #-} module Graphics.Vulkan.Ext.VK_MVK_ios_surface-       (-- * Vulkan extension: @VK_MVK_ios_surface@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @Bill Hollings @billhollings@-        ---        -- author: @MVK@-        ---        -- type: @instance@-        ---        -- platform: @ios@-        ---        -- Extension number: @123@-        ---        -- Required extensions: 'VK_KHR_surface'.-        ----        -- ** Required extensions: 'VK_KHR_surface'.-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Bitmasks, VkIOSSurfaceCreateInfoMVK,-        VkIOSSurfaceCreateInfoMVK',-        module Graphics.Vulkan.Types.Enum.StructureType,-        -- > #include "vk_platform.h"-        VkCreateIOSSurfaceMVK, pattern VkCreateIOSSurfaceMVK,-        HS_vkCreateIOSSurfaceMVK, PFN_vkCreateIOSSurfaceMVK,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.InternalAllocationType,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Enum.SystemAllocationScope,-        module Graphics.Vulkan.Types.Funcpointers,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.AllocationCallbacks,-        module Graphics.Vulkan.Types.Struct.PlatformIosMvk,-        VK_MVK_IOS_SURFACE_SPEC_VERSION,+       (VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkAndroidSurfaceCreateFlagsKHR(..), VkBufferViewCreateFlags(..),+        VkCommandPoolTrimFlags(..), VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkIOSSurfaceCreateInfoMVK,+        VkStructureType(..), -- > #include "vk_platform.h"+                             VkCreateIOSSurfaceMVK,+        pattern VkCreateIOSSurfaceMVK, HS_vkCreateIOSSurfaceMVK,+        PFN_vkCreateIOSSurfaceMVK, module Graphics.Vulkan.Marshal,+        VkInternalAllocationType(..), VkResult(..),+        VkSystemAllocationScope(..), newVkAllocationFunction,+        newVkDebugReportCallbackEXT, newVkDebugUtilsMessengerCallbackEXT,+        newVkFreeFunction, newVkInternalAllocationNotification,+        newVkInternalFreeNotification, newVkReallocationFunction,+        newVkVoidFunction, unwrapVkAllocationFunction,+        unwrapVkDebugReportCallbackEXT,+        unwrapVkDebugUtilsMessengerCallbackEXT, unwrapVkFreeFunction,+        unwrapVkInternalAllocationNotification,+        unwrapVkInternalFreeNotification, unwrapVkReallocationFunction,+        unwrapVkVoidFunction, HS_vkAllocationFunction,+        HS_vkDebugReportCallbackEXT, HS_vkDebugUtilsMessengerCallbackEXT,+        HS_vkFreeFunction, HS_vkInternalAllocationNotification,+        HS_vkInternalFreeNotification, HS_vkReallocationFunction,+        HS_vkVoidFunction, PFN_vkAllocationFunction,+        PFN_vkDebugReportCallbackEXT, PFN_vkDebugUtilsMessengerCallbackEXT,+        PFN_vkFreeFunction, PFN_vkInternalAllocationNotification,+        PFN_vkInternalFreeNotification, PFN_vkReallocationFunction,+        PFN_vkVoidFunction, VkBuffer, VkBufferView, VkBufferView_T(),+        VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkAllocationCallbacks, VK_MVK_IOS_SURFACE_SPEC_VERSION,         pattern VK_MVK_IOS_SURFACE_SPEC_VERSION,         VK_MVK_IOS_SURFACE_EXTENSION_NAME,         pattern VK_MVK_IOS_SURFACE_EXTENSION_NAME,@@ -67,7 +125,8 @@ pattern VkCreateIOSSurfaceMVK :: CString  pattern VkCreateIOSSurfaceMVK <- (is_VkCreateIOSSurfaceMVK -> True)-  where VkCreateIOSSurfaceMVK = _VkCreateIOSSurfaceMVK+  where+    VkCreateIOSSurfaceMVK = _VkCreateIOSSurfaceMVK  {-# INLINE _VkCreateIOSSurfaceMVK #-} @@ -113,16 +172,16 @@                :: PFN_vkCreateIOSSurfaceMVK -> HS_vkCreateIOSSurfaceMVK  instance VulkanProc "vkCreateIOSSurfaceMVK" where-        type VkProcType "vkCreateIOSSurfaceMVK" = HS_vkCreateIOSSurfaceMVK-        vkProcSymbol = _VkCreateIOSSurfaceMVK+    type VkProcType "vkCreateIOSSurfaceMVK" = HS_vkCreateIOSSurfaceMVK+    vkProcSymbol = _VkCreateIOSSurfaceMVK -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateIOSSurfaceMVKUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateIOSSurfaceMVKUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateIOSSurfaceMVKSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateIOSSurfaceMVKSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_MVK_IOS_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a @@ -134,8 +193,9 @@  pattern VK_MVK_IOS_SURFACE_EXTENSION_NAME <-         (is_VK_MVK_IOS_SURFACE_EXTENSION_NAME -> True)-  where VK_MVK_IOS_SURFACE_EXTENSION_NAME-          = _VK_MVK_IOS_SURFACE_EXTENSION_NAME+  where+    VK_MVK_IOS_SURFACE_EXTENSION_NAME+      = _VK_MVK_IOS_SURFACE_EXTENSION_NAME  {-# INLINE _VK_MVK_IOS_SURFACE_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_MVK_macos_surface.hs view
@@ -10,41 +10,99 @@ {-# LANGUAGE TypeFamilies             #-} {-# LANGUAGE ViewPatterns             #-} module Graphics.Vulkan.Ext.VK_MVK_macos_surface-       (-- * Vulkan extension: @VK_MVK_macos_surface@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @Bill Hollings @billhollings@-        ---        -- author: @MVK@-        ---        -- type: @instance@-        ---        -- platform: @macos@-        ---        -- Extension number: @124@-        ---        -- Required extensions: 'VK_KHR_surface'.-        ----        -- ** Required extensions: 'VK_KHR_surface'.-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Bitmasks, VkMacOSSurfaceCreateInfoMVK,-        VkMacOSSurfaceCreateInfoMVK',-        module Graphics.Vulkan.Types.Enum.StructureType,-        -- > #include "vk_platform.h"-        VkCreateMacOSSurfaceMVK, pattern VkCreateMacOSSurfaceMVK,-        HS_vkCreateMacOSSurfaceMVK, PFN_vkCreateMacOSSurfaceMVK,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.InternalAllocationType,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Enum.SystemAllocationScope,-        module Graphics.Vulkan.Types.Funcpointers,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.AllocationCallbacks,-        module Graphics.Vulkan.Types.Struct.PlatformMacosMvk,-        VK_MVK_MACOS_SURFACE_SPEC_VERSION,+       (VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkAndroidSurfaceCreateFlagsKHR(..), VkBufferViewCreateFlags(..),+        VkCommandPoolTrimFlags(..), VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkMacOSSurfaceCreateInfoMVK,+        VkStructureType(..), -- > #include "vk_platform.h"+                             VkCreateMacOSSurfaceMVK,+        pattern VkCreateMacOSSurfaceMVK, HS_vkCreateMacOSSurfaceMVK,+        PFN_vkCreateMacOSSurfaceMVK, module Graphics.Vulkan.Marshal,+        VkInternalAllocationType(..), VkResult(..),+        VkSystemAllocationScope(..), newVkAllocationFunction,+        newVkDebugReportCallbackEXT, newVkDebugUtilsMessengerCallbackEXT,+        newVkFreeFunction, newVkInternalAllocationNotification,+        newVkInternalFreeNotification, newVkReallocationFunction,+        newVkVoidFunction, unwrapVkAllocationFunction,+        unwrapVkDebugReportCallbackEXT,+        unwrapVkDebugUtilsMessengerCallbackEXT, unwrapVkFreeFunction,+        unwrapVkInternalAllocationNotification,+        unwrapVkInternalFreeNotification, unwrapVkReallocationFunction,+        unwrapVkVoidFunction, HS_vkAllocationFunction,+        HS_vkDebugReportCallbackEXT, HS_vkDebugUtilsMessengerCallbackEXT,+        HS_vkFreeFunction, HS_vkInternalAllocationNotification,+        HS_vkInternalFreeNotification, HS_vkReallocationFunction,+        HS_vkVoidFunction, PFN_vkAllocationFunction,+        PFN_vkDebugReportCallbackEXT, PFN_vkDebugUtilsMessengerCallbackEXT,+        PFN_vkFreeFunction, PFN_vkInternalAllocationNotification,+        PFN_vkInternalFreeNotification, PFN_vkReallocationFunction,+        PFN_vkVoidFunction, VkBuffer, VkBufferView, VkBufferView_T(),+        VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkAllocationCallbacks, VK_MVK_MACOS_SURFACE_SPEC_VERSION,         pattern VK_MVK_MACOS_SURFACE_SPEC_VERSION,         VK_MVK_MACOS_SURFACE_EXTENSION_NAME,         pattern VK_MVK_MACOS_SURFACE_EXTENSION_NAME,@@ -68,7 +126,8 @@  pattern VkCreateMacOSSurfaceMVK <-         (is_VkCreateMacOSSurfaceMVK -> True)-  where VkCreateMacOSSurfaceMVK = _VkCreateMacOSSurfaceMVK+  where+    VkCreateMacOSSurfaceMVK = _VkCreateMacOSSurfaceMVK  {-# INLINE _VkCreateMacOSSurfaceMVK #-} @@ -116,17 +175,17 @@                PFN_vkCreateMacOSSurfaceMVK -> HS_vkCreateMacOSSurfaceMVK  instance VulkanProc "vkCreateMacOSSurfaceMVK" where-        type VkProcType "vkCreateMacOSSurfaceMVK" =-             HS_vkCreateMacOSSurfaceMVK-        vkProcSymbol = _VkCreateMacOSSurfaceMVK+    type VkProcType "vkCreateMacOSSurfaceMVK" =+         HS_vkCreateMacOSSurfaceMVK+    vkProcSymbol = _VkCreateMacOSSurfaceMVK -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateMacOSSurfaceMVKUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateMacOSSurfaceMVKUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateMacOSSurfaceMVKSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateMacOSSurfaceMVKSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_MVK_MACOS_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a @@ -138,8 +197,9 @@  pattern VK_MVK_MACOS_SURFACE_EXTENSION_NAME <-         (is_VK_MVK_MACOS_SURFACE_EXTENSION_NAME -> True)-  where VK_MVK_MACOS_SURFACE_EXTENSION_NAME-          = _VK_MVK_MACOS_SURFACE_EXTENSION_NAME+  where+    VK_MVK_MACOS_SURFACE_EXTENSION_NAME+      = _VK_MVK_MACOS_SURFACE_EXTENSION_NAME  {-# INLINE _VK_MVK_MACOS_SURFACE_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_NN_vi_surface.hs view
@@ -10,40 +10,99 @@ {-# LANGUAGE TypeFamilies             #-} {-# LANGUAGE ViewPatterns             #-} module Graphics.Vulkan.Ext.VK_NN_vi_surface-       (-- * Vulkan extension: @VK_NN_vi_surface@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @Mathias Heyer gitlab:@mheyer@-        ---        -- author: @NN@-        ---        -- type: @instance@-        ---        -- platform: @vi@-        ---        -- Extension number: @63@-        ---        -- Required extensions: 'VK_KHR_surface'.-        ----        -- ** Required extensions: 'VK_KHR_surface'.-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.StructureType,-        module Graphics.Vulkan.Types.Bitmasks, VkViSurfaceCreateInfoNN,-        VkViSurfaceCreateInfoNN', -- > #include "vk_platform.h"-                                  VkCreateViSurfaceNN,-        pattern VkCreateViSurfaceNN, HS_vkCreateViSurfaceNN,-        PFN_vkCreateViSurfaceNN, module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.InternalAllocationType,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Enum.SystemAllocationScope,-        module Graphics.Vulkan.Types.Funcpointers,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.AllocationCallbacks,-        module Graphics.Vulkan.Types.Struct.PlatformViNn,-        VK_NN_VI_SURFACE_SPEC_VERSION,+       (VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkStructureType(..), VkAndroidSurfaceCreateFlagsKHR(..),+        VkBufferViewCreateFlags(..), VkCommandPoolTrimFlags(..),+        VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkViSurfaceCreateInfoNN,+        -- > #include "vk_platform.h"+        VkCreateViSurfaceNN, pattern VkCreateViSurfaceNN,+        HS_vkCreateViSurfaceNN, PFN_vkCreateViSurfaceNN,+        module Graphics.Vulkan.Marshal, VkInternalAllocationType(..),+        VkResult(..), VkSystemAllocationScope(..), newVkAllocationFunction,+        newVkDebugReportCallbackEXT, newVkDebugUtilsMessengerCallbackEXT,+        newVkFreeFunction, newVkInternalAllocationNotification,+        newVkInternalFreeNotification, newVkReallocationFunction,+        newVkVoidFunction, unwrapVkAllocationFunction,+        unwrapVkDebugReportCallbackEXT,+        unwrapVkDebugUtilsMessengerCallbackEXT, unwrapVkFreeFunction,+        unwrapVkInternalAllocationNotification,+        unwrapVkInternalFreeNotification, unwrapVkReallocationFunction,+        unwrapVkVoidFunction, HS_vkAllocationFunction,+        HS_vkDebugReportCallbackEXT, HS_vkDebugUtilsMessengerCallbackEXT,+        HS_vkFreeFunction, HS_vkInternalAllocationNotification,+        HS_vkInternalFreeNotification, HS_vkReallocationFunction,+        HS_vkVoidFunction, PFN_vkAllocationFunction,+        PFN_vkDebugReportCallbackEXT, PFN_vkDebugUtilsMessengerCallbackEXT,+        PFN_vkFreeFunction, PFN_vkInternalAllocationNotification,+        PFN_vkInternalFreeNotification, PFN_vkReallocationFunction,+        PFN_vkVoidFunction, VkBuffer, VkBufferView, VkBufferView_T(),+        VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkAllocationCallbacks, VK_NN_VI_SURFACE_SPEC_VERSION,         pattern VK_NN_VI_SURFACE_SPEC_VERSION,         VK_NN_VI_SURFACE_EXTENSION_NAME,         pattern VK_NN_VI_SURFACE_EXTENSION_NAME,@@ -66,7 +125,8 @@ pattern VkCreateViSurfaceNN :: CString  pattern VkCreateViSurfaceNN <- (is_VkCreateViSurfaceNN -> True)-  where VkCreateViSurfaceNN = _VkCreateViSurfaceNN+  where+    VkCreateViSurfaceNN = _VkCreateViSurfaceNN  {-# INLINE _VkCreateViSurfaceNN #-} @@ -111,16 +171,16 @@                :: PFN_vkCreateViSurfaceNN -> HS_vkCreateViSurfaceNN  instance VulkanProc "vkCreateViSurfaceNN" where-        type VkProcType "vkCreateViSurfaceNN" = HS_vkCreateViSurfaceNN-        vkProcSymbol = _VkCreateViSurfaceNN+    type VkProcType "vkCreateViSurfaceNN" = HS_vkCreateViSurfaceNN+    vkProcSymbol = _VkCreateViSurfaceNN -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateViSurfaceNNUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateViSurfaceNNUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateViSurfaceNNSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateViSurfaceNNSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_NN_VI_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a @@ -132,8 +192,8 @@  pattern VK_NN_VI_SURFACE_EXTENSION_NAME <-         (is_VK_NN_VI_SURFACE_EXTENSION_NAME -> True)-  where VK_NN_VI_SURFACE_EXTENSION_NAME-          = _VK_NN_VI_SURFACE_EXTENSION_NAME+  where+    VK_NN_VI_SURFACE_EXTENSION_NAME = _VK_NN_VI_SURFACE_EXTENSION_NAME  {-# INLINE _VK_NN_VI_SURFACE_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_NVX_device_generated_commands.hs view
@@ -10,50 +10,43 @@ {-# LANGUAGE TypeFamilies             #-} {-# LANGUAGE ViewPatterns             #-} module Graphics.Vulkan.Ext.VK_NVX_device_generated_commands-       (-- * Vulkan extension: @VK_NVX_device_generated_commands@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @Christoph Kubisch @pixeljetstream@-        ---        -- author: @NVX@-        ---        -- type: @device@-        ---        -- Extension number: @87@-        module Graphics.Vulkan.Types.BaseTypes,-        VkCmdProcessCommandsInfoNVX, VkCmdProcessCommandsInfoNVX',-        VkCmdReserveSpaceForCommandsInfoNVX,-        VkCmdReserveSpaceForCommandsInfoNVX',+       (VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkCmdProcessCommandsInfoNVX, VkCmdReserveSpaceForCommandsInfoNVX,         VkDeviceGeneratedCommandsFeaturesNVX,-        VkDeviceGeneratedCommandsFeaturesNVX',-        VkDeviceGeneratedCommandsLimitsNVX,-        VkDeviceGeneratedCommandsLimitsNVX',-        module Graphics.Vulkan.Types.Enum.IndexType,+        VkDeviceGeneratedCommandsLimitsNVX, VkIndexType(..),         VkIndirectCommandsLayoutCreateInfoNVX,-        VkIndirectCommandsLayoutCreateInfoNVX',         VkIndirectCommandsLayoutTokenNVX,-        VkIndirectCommandsLayoutTokenNVX',-        module Graphics.Vulkan.Types.Enum.IndirectCommands,-        VkIndirectCommandsTokenNVX, VkIndirectCommandsTokenNVX',-        module Graphics.Vulkan.Types.Enum.Object,-        VkObjectTableCreateInfoNVX, VkObjectTableCreateInfoNVX',-        VkObjectTableDescriptorSetEntryNVX,-        VkObjectTableDescriptorSetEntryNVX', VkObjectTableEntryNVX,-        VkObjectTableEntryNVX', VkObjectTableIndexBufferEntryNVX,-        VkObjectTableIndexBufferEntryNVX', VkObjectTablePipelineEntryNVX,-        VkObjectTablePipelineEntryNVX', VkObjectTablePushConstantEntryNVX,-        VkObjectTablePushConstantEntryNVX',-        VkObjectTableVertexBufferEntryNVX,-        VkObjectTableVertexBufferEntryNVX',-        module Graphics.Vulkan.Types.Enum.Pipeline,-        module Graphics.Vulkan.Types.Enum.Shader,-        module Graphics.Vulkan.Types.Enum.StructureType,-        -- > #include "vk_platform.h"-        VkCmdProcessCommandsNVX, pattern VkCmdProcessCommandsNVX,-        HS_vkCmdProcessCommandsNVX, PFN_vkCmdProcessCommandsNVX,-        VkCmdReserveSpaceForCommandsNVX,+        VkIndirectCommandsLayoutUsageBitmaskNVX(..),+        VkIndirectCommandsTokenTypeNVX(..),+        VkIndirectCommandsLayoutUsageFlagBitsNVX(),+        VkIndirectCommandsLayoutUsageFlagsNVX(),+        VkIndirectCommandsTokenNVX, VkObjectEntryTypeNVX(..),+        VkObjectEntryUsageBitmaskNVX(..), VkObjectType(..),+        VkObjectEntryUsageFlagBitsNVX(), VkObjectEntryUsageFlagsNVX(),+        VkObjectTableCreateInfoNVX, VkObjectTableDescriptorSetEntryNVX,+        VkObjectTableEntryNVX, VkObjectTableIndexBufferEntryNVX,+        VkObjectTablePipelineEntryNVX, VkObjectTablePushConstantEntryNVX,+        VkObjectTableVertexBufferEntryNVX, VkPipelineBindPoint(..),+        VkPipelineCacheHeaderVersion(..), VkPipelineCreateBitmask(..),+        VkPipelineStageBitmask(..), VkPipelineCacheCreateFlagBits(..),+        VkPipelineColorBlendStateCreateFlagBits(..),+        VkPipelineCreateFlagBits(), VkPipelineCreateFlags(),+        VkPipelineDepthStencilStateCreateFlagBits(..),+        VkPipelineDynamicStateCreateFlagBits(..),+        VkPipelineInputAssemblyStateCreateFlagBits(..),+        VkPipelineLayoutCreateFlagBits(..),+        VkPipelineMultisampleStateCreateFlagBits(..),+        VkPipelineRasterizationStateCreateFlagBits(..),+        VkPipelineShaderStageCreateFlagBits(..), VkPipelineStageFlagBits(),+        VkPipelineStageFlags(),+        VkPipelineTessellationStateCreateFlagBits(..),+        VkPipelineVertexInputStateCreateFlagBits(..),+        VkPipelineViewportStateCreateFlagBits(..), VkShaderInfoTypeAMD(..),+        VkShaderStageBitmask(..), VkShaderStageFlagBits(),+        VkShaderStageFlags(), VkStructureType(..), -- > #include "vk_platform.h"+                                                   VkCmdProcessCommandsNVX,+        pattern VkCmdProcessCommandsNVX, HS_vkCmdProcessCommandsNVX,+        PFN_vkCmdProcessCommandsNVX, VkCmdReserveSpaceForCommandsNVX,         pattern VkCmdReserveSpaceForCommandsNVX,         HS_vkCmdReserveSpaceForCommandsNVX,         PFN_vkCmdReserveSpaceForCommandsNVX,@@ -77,18 +70,60 @@         pattern VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX,         HS_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX,         PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.InternalAllocationType,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Enum.SystemAllocationScope,-        module Graphics.Vulkan.Types.Funcpointers,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.AllocationCallbacks,-        module Graphics.Vulkan.Types.Struct.Cmd,-        module Graphics.Vulkan.Types.Struct.Device,-        module Graphics.Vulkan.Types.Struct.IndirectCommands,-        module Graphics.Vulkan.Types.Struct.ObjectTable,-        VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION,+        module Graphics.Vulkan.Marshal, VkInternalAllocationType(..),+        VkResult(..), VkSystemAllocationScope(..), newVkAllocationFunction,+        newVkDebugReportCallbackEXT, newVkDebugUtilsMessengerCallbackEXT,+        newVkFreeFunction, newVkInternalAllocationNotification,+        newVkInternalFreeNotification, newVkReallocationFunction,+        newVkVoidFunction, unwrapVkAllocationFunction,+        unwrapVkDebugReportCallbackEXT,+        unwrapVkDebugUtilsMessengerCallbackEXT, unwrapVkFreeFunction,+        unwrapVkInternalAllocationNotification,+        unwrapVkInternalFreeNotification, unwrapVkReallocationFunction,+        unwrapVkVoidFunction, HS_vkAllocationFunction,+        HS_vkDebugReportCallbackEXT, HS_vkDebugUtilsMessengerCallbackEXT,+        HS_vkFreeFunction, HS_vkInternalAllocationNotification,+        HS_vkInternalFreeNotification, HS_vkReallocationFunction,+        HS_vkVoidFunction, PFN_vkAllocationFunction,+        PFN_vkDebugReportCallbackEXT, PFN_vkDebugUtilsMessengerCallbackEXT,+        PFN_vkFreeFunction, PFN_vkInternalAllocationNotification,+        PFN_vkInternalFreeNotification, PFN_vkReallocationFunction,+        PFN_vkVoidFunction, VkBuffer, VkBufferView, VkBufferView_T(),+        VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkAllocationCallbacks, VkDeviceCreateInfo, VkDeviceEventInfoEXT,+        VkDeviceGroupBindSparseInfo, VkDeviceGroupBindSparseInfoKHR,+        VkDeviceGroupCommandBufferBeginInfo,+        VkDeviceGroupCommandBufferBeginInfoKHR,+        VkDeviceGroupDeviceCreateInfo, VkDeviceGroupDeviceCreateInfoKHR,+        VkDeviceGroupPresentCapabilitiesKHR, VkDeviceGroupPresentInfoKHR,+        VkDeviceGroupRenderPassBeginInfo,+        VkDeviceGroupRenderPassBeginInfoKHR, VkDeviceGroupSubmitInfo,+        VkDeviceGroupSubmitInfoKHR, VkDeviceGroupSwapchainCreateInfoKHR,+        VkDeviceQueueCreateInfo, VkDeviceQueueGlobalPriorityCreateInfoEXT,+        VkDeviceQueueInfo2, VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION,         pattern VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION,         VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME,         pattern VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME,@@ -108,8 +143,7 @@ import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Proc                      (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.AccessFlags            (VkAccessBitmask (..),-                                                          VkAccessFlagBits)+import Graphics.Vulkan.Types.Enum.AccessFlags            (VkAccessBitmask (..)) import Graphics.Vulkan.Types.Enum.IndexType import Graphics.Vulkan.Types.Enum.IndirectCommands import Graphics.Vulkan.Types.Enum.InternalAllocationType@@ -131,7 +165,8 @@  pattern VkCmdProcessCommandsNVX <-         (is_VkCmdProcessCommandsNVX -> True)-  where VkCmdProcessCommandsNVX = _VkCmdProcessCommandsNVX+  where+    VkCmdProcessCommandsNVX = _VkCmdProcessCommandsNVX  {-# INLINE _VkCmdProcessCommandsNVX #-} @@ -173,24 +208,24 @@                PFN_vkCmdProcessCommandsNVX -> HS_vkCmdProcessCommandsNVX  instance VulkanProc "vkCmdProcessCommandsNVX" where-        type VkProcType "vkCmdProcessCommandsNVX" =-             HS_vkCmdProcessCommandsNVX-        vkProcSymbol = _VkCmdProcessCommandsNVX+    type VkProcType "vkCmdProcessCommandsNVX" =+         HS_vkCmdProcessCommandsNVX+    vkProcSymbol = _VkCmdProcessCommandsNVX -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdProcessCommandsNVXUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdProcessCommandsNVXUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdProcessCommandsNVXSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdProcessCommandsNVXSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkCmdReserveSpaceForCommandsNVX :: CString  pattern VkCmdReserveSpaceForCommandsNVX <-         (is_VkCmdReserveSpaceForCommandsNVX -> True)-  where VkCmdReserveSpaceForCommandsNVX-          = _VkCmdReserveSpaceForCommandsNVX+  where+    VkCmdReserveSpaceForCommandsNVX = _VkCmdReserveSpaceForCommandsNVX  {-# INLINE _VkCmdReserveSpaceForCommandsNVX #-} @@ -236,24 +271,25 @@                  HS_vkCmdReserveSpaceForCommandsNVX  instance VulkanProc "vkCmdReserveSpaceForCommandsNVX" where-        type VkProcType "vkCmdReserveSpaceForCommandsNVX" =-             HS_vkCmdReserveSpaceForCommandsNVX-        vkProcSymbol = _VkCmdReserveSpaceForCommandsNVX+    type VkProcType "vkCmdReserveSpaceForCommandsNVX" =+         HS_vkCmdReserveSpaceForCommandsNVX+    vkProcSymbol = _VkCmdReserveSpaceForCommandsNVX -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdReserveSpaceForCommandsNVXUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdReserveSpaceForCommandsNVXUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdReserveSpaceForCommandsNVXSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdReserveSpaceForCommandsNVXSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkCreateIndirectCommandsLayoutNVX :: CString  pattern VkCreateIndirectCommandsLayoutNVX <-         (is_VkCreateIndirectCommandsLayoutNVX -> True)-  where VkCreateIndirectCommandsLayoutNVX-          = _VkCreateIndirectCommandsLayoutNVX+  where+    VkCreateIndirectCommandsLayoutNVX+      = _VkCreateIndirectCommandsLayoutNVX  {-# INLINE _VkCreateIndirectCommandsLayoutNVX #-} @@ -306,25 +342,26 @@                  HS_vkCreateIndirectCommandsLayoutNVX  instance VulkanProc "vkCreateIndirectCommandsLayoutNVX" where-        type VkProcType "vkCreateIndirectCommandsLayoutNVX" =-             HS_vkCreateIndirectCommandsLayoutNVX-        vkProcSymbol = _VkCreateIndirectCommandsLayoutNVX+    type VkProcType "vkCreateIndirectCommandsLayoutNVX" =+         HS_vkCreateIndirectCommandsLayoutNVX+    vkProcSymbol = _VkCreateIndirectCommandsLayoutNVX -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkCreateIndirectCommandsLayoutNVXUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkCreateIndirectCommandsLayoutNVXUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateIndirectCommandsLayoutNVXSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateIndirectCommandsLayoutNVXSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkDestroyIndirectCommandsLayoutNVX :: CString  pattern VkDestroyIndirectCommandsLayoutNVX <-         (is_VkDestroyIndirectCommandsLayoutNVX -> True)-  where VkDestroyIndirectCommandsLayoutNVX-          = _VkDestroyIndirectCommandsLayoutNVX+  where+    VkDestroyIndirectCommandsLayoutNVX+      = _VkDestroyIndirectCommandsLayoutNVX  {-# INLINE _VkDestroyIndirectCommandsLayoutNVX #-} @@ -369,24 +406,25 @@                  HS_vkDestroyIndirectCommandsLayoutNVX  instance VulkanProc "vkDestroyIndirectCommandsLayoutNVX" where-        type VkProcType "vkDestroyIndirectCommandsLayoutNVX" =-             HS_vkDestroyIndirectCommandsLayoutNVX-        vkProcSymbol = _VkDestroyIndirectCommandsLayoutNVX+    type VkProcType "vkDestroyIndirectCommandsLayoutNVX" =+         HS_vkDestroyIndirectCommandsLayoutNVX+    vkProcSymbol = _VkDestroyIndirectCommandsLayoutNVX -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkDestroyIndirectCommandsLayoutNVXUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkDestroyIndirectCommandsLayoutNVXUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroyIndirectCommandsLayoutNVXSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroyIndirectCommandsLayoutNVXSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkCreateObjectTableNVX :: CString  pattern VkCreateObjectTableNVX <-         (is_VkCreateObjectTableNVX -> True)-  where VkCreateObjectTableNVX = _VkCreateObjectTableNVX+  where+    VkCreateObjectTableNVX = _VkCreateObjectTableNVX  {-# INLINE _VkCreateObjectTableNVX #-} @@ -433,23 +471,24 @@                PFN_vkCreateObjectTableNVX -> HS_vkCreateObjectTableNVX  instance VulkanProc "vkCreateObjectTableNVX" where-        type VkProcType "vkCreateObjectTableNVX" =-             HS_vkCreateObjectTableNVX-        vkProcSymbol = _VkCreateObjectTableNVX+    type VkProcType "vkCreateObjectTableNVX" =+         HS_vkCreateObjectTableNVX+    vkProcSymbol = _VkCreateObjectTableNVX -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCreateObjectTableNVXUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCreateObjectTableNVXUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCreateObjectTableNVXSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCreateObjectTableNVXSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkDestroyObjectTableNVX :: CString  pattern VkDestroyObjectTableNVX <-         (is_VkDestroyObjectTableNVX -> True)-  where VkDestroyObjectTableNVX = _VkDestroyObjectTableNVX+  where+    VkDestroyObjectTableNVX = _VkDestroyObjectTableNVX  {-# INLINE _VkDestroyObjectTableNVX #-} @@ -489,22 +528,23 @@                PFN_vkDestroyObjectTableNVX -> HS_vkDestroyObjectTableNVX  instance VulkanProc "vkDestroyObjectTableNVX" where-        type VkProcType "vkDestroyObjectTableNVX" =-             HS_vkDestroyObjectTableNVX-        vkProcSymbol = _VkDestroyObjectTableNVX+    type VkProcType "vkDestroyObjectTableNVX" =+         HS_vkDestroyObjectTableNVX+    vkProcSymbol = _VkDestroyObjectTableNVX -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkDestroyObjectTableNVXUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkDestroyObjectTableNVXUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkDestroyObjectTableNVXSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkDestroyObjectTableNVXSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkRegisterObjectsNVX :: CString  pattern VkRegisterObjectsNVX <- (is_VkRegisterObjectsNVX -> True)-  where VkRegisterObjectsNVX = _VkRegisterObjectsNVX+  where+    VkRegisterObjectsNVX = _VkRegisterObjectsNVX  {-# INLINE _VkRegisterObjectsNVX #-} @@ -553,22 +593,23 @@                :: PFN_vkRegisterObjectsNVX -> HS_vkRegisterObjectsNVX  instance VulkanProc "vkRegisterObjectsNVX" where-        type VkProcType "vkRegisterObjectsNVX" = HS_vkRegisterObjectsNVX-        vkProcSymbol = _VkRegisterObjectsNVX+    type VkProcType "vkRegisterObjectsNVX" = HS_vkRegisterObjectsNVX+    vkProcSymbol = _VkRegisterObjectsNVX -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkRegisterObjectsNVXUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkRegisterObjectsNVXUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkRegisterObjectsNVXSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkRegisterObjectsNVXSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkUnregisterObjectsNVX :: CString  pattern VkUnregisterObjectsNVX <-         (is_VkUnregisterObjectsNVX -> True)-  where VkUnregisterObjectsNVX = _VkUnregisterObjectsNVX+  where+    VkUnregisterObjectsNVX = _VkUnregisterObjectsNVX  {-# INLINE _VkUnregisterObjectsNVX #-} @@ -617,25 +658,26 @@                PFN_vkUnregisterObjectsNVX -> HS_vkUnregisterObjectsNVX  instance VulkanProc "vkUnregisterObjectsNVX" where-        type VkProcType "vkUnregisterObjectsNVX" =-             HS_vkUnregisterObjectsNVX-        vkProcSymbol = _VkUnregisterObjectsNVX+    type VkProcType "vkUnregisterObjectsNVX" =+         HS_vkUnregisterObjectsNVX+    vkProcSymbol = _VkUnregisterObjectsNVX -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkUnregisterObjectsNVXUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkUnregisterObjectsNVXUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkUnregisterObjectsNVXSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkUnregisterObjectsNVXSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX ::         CString  pattern VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX <-         (is_VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX -> True)-  where VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX-          = _VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX+  where+    VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX+      = _VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX  {-# INLINE _VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX #-} @@ -685,19 +727,19 @@ instance VulkanProc            "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX"          where-        type VkProcType "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX"-             = HS_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX-        vkProcSymbol = _VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX+    type VkProcType "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX"+         = HS_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX+    vkProcSymbol = _VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceGeneratedCommandsPropertiesNVXUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceGeneratedCommandsPropertiesNVXUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceGeneratedCommandsPropertiesNVXSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceGeneratedCommandsPropertiesNVXSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION ::         (Num a, Eq a) => a@@ -710,8 +752,9 @@  pattern VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME <-         (is_VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME -> True)-  where VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME-          = _VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME+  where+    VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME+      = _VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME  {-# INLINE _VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_NVX_multiview_per_view_attributes.hs view
@@ -22,18 +22,13 @@         --          -- ** Required extensions: 'VK_KHR_multiview'.-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes, VkPhysicalDeviceLimits,-        VkPhysicalDeviceLimits',+        module Graphics.Vulkan.Marshal, VkBool32(..), VkDeviceSize(..),+        VkFlags(..), VkSampleMask(..), VkPhysicalDeviceLimits,         VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,-        VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX',-        VkPhysicalDeviceProperties, VkPhysicalDeviceProperties',-        VkPhysicalDeviceProperties2, VkPhysicalDeviceProperties2',-        VkPhysicalDeviceSparseProperties,-        VkPhysicalDeviceSparseProperties',-        module Graphics.Vulkan.Types.Enum.PhysicalDeviceType,-        module Graphics.Vulkan.Types.Enum.SampleCountFlags,-        module Graphics.Vulkan.Types.Enum.StructureType,+        VkPhysicalDeviceProperties, VkPhysicalDeviceProperties2,+        VkPhysicalDeviceSparseProperties, VkPhysicalDeviceType(..),+        VkSampleCountBitmask(..), VkSampleCountFlagBits(),+        VkSampleCountFlags(), VkStructureType(..),         -- > #include "vk_platform.h"         VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION,         pattern VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION,@@ -49,18 +44,11 @@ import Graphics.Vulkan.Types.Enum.PhysicalDeviceType import Graphics.Vulkan.Types.Enum.SampleCountFlags import Graphics.Vulkan.Types.Enum.StructureType-import Graphics.Vulkan.Types.Enum.Subpass            (VkSubpassDescriptionBitmask (..),-                                                      VkSubpassDescriptionFlagBits)-import Graphics.Vulkan.Types.Struct.PhysicalDevice   (VkPhysicalDeviceLimits,-                                                      VkPhysicalDeviceLimits',-                                                      VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,-                                                      VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX',+import Graphics.Vulkan.Types.Enum.Subpass            (VkSubpassDescriptionBitmask (..))+import Graphics.Vulkan.Types.Struct.PhysicalDevice   (VkPhysicalDeviceLimits, VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,                                                       VkPhysicalDeviceProperties,-                                                      VkPhysicalDeviceProperties',                                                       VkPhysicalDeviceProperties2,-                                                      VkPhysicalDeviceProperties2',-                                                      VkPhysicalDeviceSparseProperties,-                                                      VkPhysicalDeviceSparseProperties')+                                                      VkPhysicalDeviceSparseProperties)  pattern VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION ::         (Num a, Eq a) => a@@ -74,8 +62,9 @@  pattern VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME <-         (is_VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME -> True)-  where VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME-          = _VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME+  where+    VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME+      = _VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME  {-# INLINE _VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_NV_clip_space_w_scaling.hs view
@@ -10,32 +10,83 @@ {-# LANGUAGE TypeFamilies             #-} {-# LANGUAGE ViewPatterns             #-} module Graphics.Vulkan.Ext.VK_NV_clip_space_w_scaling-       (-- * Vulkan extension: @VK_NV_clip_space_w_scaling@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @Eric Werness @ewerness-nv@-        ---        -- author: @NV@-        ---        -- type: @device@-        ---        -- Extension number: @88@-        module Graphics.Vulkan.Types.BaseTypes, VkExtent2D, VkExtent2D',-        VkOffset2D, VkOffset2D', module Graphics.Vulkan.Types.Bitmasks,-        VkPipelineViewportStateCreateInfo,-        VkPipelineViewportStateCreateInfo',-        VkPipelineViewportWScalingStateCreateInfoNV,-        VkPipelineViewportWScalingStateCreateInfoNV', VkRect2D, VkRect2D',-        module Graphics.Vulkan.Types.Enum.StructureType, VkViewport,-        VkViewport', VkViewportWScalingNV, VkViewportWScalingNV',+       (VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkExtent2D, VkOffset2D, VkAndroidSurfaceCreateFlagsKHR(..),+        VkBufferViewCreateFlags(..), VkCommandPoolTrimFlags(..),+        VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkPipelineViewportStateCreateInfo,+        VkPipelineViewportWScalingStateCreateInfoNV, VkRect2D,+        VkStructureType(..), VkViewport, VkViewportWScalingNV,         -- > #include "vk_platform.h"         VkCmdSetViewportWScalingNV, pattern VkCmdSetViewportWScalingNV,         HS_vkCmdSetViewportWScalingNV, PFN_vkCmdSetViewportWScalingNV,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.Viewport,-        VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION,+        VkBuffer, VkBufferView, VkBufferView_T(), VkBuffer_T(),+        VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkViewportSwizzleNV, VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION,         pattern VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION,         VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME,         pattern VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME,@@ -50,20 +101,19 @@ import Graphics.Vulkan.Types.Enum.DynamicState  (VkDynamicState (..)) import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.Extent      (VkExtent2D, VkExtent2D')-import Graphics.Vulkan.Types.Struct.Offset      (VkOffset2D, VkOffset2D')+import Graphics.Vulkan.Types.Struct.Extent      (VkExtent2D)+import Graphics.Vulkan.Types.Struct.Offset      (VkOffset2D) import Graphics.Vulkan.Types.Struct.Pipeline    (VkPipelineViewportStateCreateInfo,-                                                 VkPipelineViewportStateCreateInfo',-                                                 VkPipelineViewportWScalingStateCreateInfoNV,-                                                 VkPipelineViewportWScalingStateCreateInfoNV')-import Graphics.Vulkan.Types.Struct.Rect        (VkRect2D, VkRect2D')+                                                 VkPipelineViewportWScalingStateCreateInfoNV)+import Graphics.Vulkan.Types.Struct.Rect        (VkRect2D) import Graphics.Vulkan.Types.Struct.Viewport  pattern VkCmdSetViewportWScalingNV :: CString  pattern VkCmdSetViewportWScalingNV <-         (is_VkCmdSetViewportWScalingNV -> True)-  where VkCmdSetViewportWScalingNV = _VkCmdSetViewportWScalingNV+  where+    VkCmdSetViewportWScalingNV = _VkCmdSetViewportWScalingNV  {-# INLINE _VkCmdSetViewportWScalingNV #-} @@ -110,17 +160,17 @@                PFN_vkCmdSetViewportWScalingNV -> HS_vkCmdSetViewportWScalingNV  instance VulkanProc "vkCmdSetViewportWScalingNV" where-        type VkProcType "vkCmdSetViewportWScalingNV" =-             HS_vkCmdSetViewportWScalingNV-        vkProcSymbol = _VkCmdSetViewportWScalingNV+    type VkProcType "vkCmdSetViewportWScalingNV" =+         HS_vkCmdSetViewportWScalingNV+    vkProcSymbol = _VkCmdSetViewportWScalingNV -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkCmdSetViewportWScalingNVUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkCmdSetViewportWScalingNVUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkCmdSetViewportWScalingNVSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkCmdSetViewportWScalingNVSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION :: (Num a, Eq a) =>         a@@ -133,8 +183,9 @@  pattern VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME <-         (is_VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME -> True)-  where VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME-          = _VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME+  where+    VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME+      = _VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME  {-# INLINE _VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_NV_dedicated_allocation.hs view
@@ -5,34 +5,26 @@ {-# LANGUAGE Strict          #-} {-# LANGUAGE ViewPatterns    #-} module Graphics.Vulkan.Ext.VK_NV_dedicated_allocation-       (-- * Vulkan extension: @VK_NV_dedicated_allocation@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @Jeff Bolz @jeffbolznv@-        ---        -- author: @NV@-        ---        -- type: @device@-        ---        -- Extension number: @27@-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.Buffer, VkBufferCreateInfo,-        VkBufferCreateInfo', VkDedicatedAllocationBufferCreateInfoNV,-        VkDedicatedAllocationBufferCreateInfoNV',+       (VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkBufferCreateBitmask(..), VkBufferUsageBitmask(..),+        VkBufferCreateFlagBits(), VkBufferCreateFlags(),+        VkBufferUsageFlagBits(), VkBufferUsageFlags(),+        VkBufferViewCreateFlagBits(..), VkBufferCreateInfo,+        VkDedicatedAllocationBufferCreateInfoNV,         VkDedicatedAllocationImageCreateInfoNV,-        VkDedicatedAllocationImageCreateInfoNV',-        VkDedicatedAllocationMemoryAllocateInfoNV,-        VkDedicatedAllocationMemoryAllocateInfoNV', VkExtent3D,-        VkExtent3D', module Graphics.Vulkan.Types.Enum.Format,-        module Graphics.Vulkan.Types.Enum.Image, VkImageCreateInfo,-        VkImageCreateInfo', VkMemoryAllocateInfo, VkMemoryAllocateInfo',-        module Graphics.Vulkan.Types.Enum.SampleCountFlags,-        module Graphics.Vulkan.Types.Enum.SharingMode,-        module Graphics.Vulkan.Types.Enum.StructureType,-        -- > #include "vk_platform.h"-        VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION,+        VkDedicatedAllocationMemoryAllocateInfoNV, VkExtent3D,+        VkFormat(..), VkFormatFeatureBitmask(..),+        VkFormatFeatureFlagBits(), VkFormatFeatureFlags(),+        VkImageAspectBitmask(..), VkImageCreateBitmask(..),+        VkImageLayout(..), VkImageTiling(..), VkImageType(..),+        VkImageUsageBitmask(..), VkImageViewType(..),+        VkImageAspectFlagBits(), VkImageAspectFlags(),+        VkImageCreateFlagBits(), VkImageCreateFlags(),+        VkImageUsageFlagBits(), VkImageUsageFlags(), VkImageCreateInfo,+        VkMemoryAllocateInfo, VkSampleCountBitmask(..),+        VkSampleCountFlagBits(), VkSampleCountFlags(), VkSharingMode(..),+        VkStructureType(..), -- > #include "vk_platform.h"+                             VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION,         pattern VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION,         VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME,         pattern VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME,@@ -49,20 +41,13 @@ import Graphics.Vulkan.Types.Enum.SampleCountFlags import Graphics.Vulkan.Types.Enum.SharingMode import Graphics.Vulkan.Types.Enum.StructureType-import Graphics.Vulkan.Types.Struct.Buffer              (VkBufferCreateInfo,-                                                         VkBufferCreateInfo')+import Graphics.Vulkan.Types.Struct.Buffer              (VkBufferCreateInfo) import Graphics.Vulkan.Types.Struct.DedicatedAllocation (VkDedicatedAllocationBufferCreateInfoNV,-                                                         VkDedicatedAllocationBufferCreateInfoNV',                                                          VkDedicatedAllocationImageCreateInfoNV,-                                                         VkDedicatedAllocationImageCreateInfoNV',-                                                         VkDedicatedAllocationMemoryAllocateInfoNV,-                                                         VkDedicatedAllocationMemoryAllocateInfoNV')-import Graphics.Vulkan.Types.Struct.Extent              (VkExtent3D,-                                                         VkExtent3D')-import Graphics.Vulkan.Types.Struct.Image               (VkImageCreateInfo,-                                                         VkImageCreateInfo')-import Graphics.Vulkan.Types.Struct.Memory              (VkMemoryAllocateInfo,-                                                         VkMemoryAllocateInfo')+                                                         VkDedicatedAllocationMemoryAllocateInfoNV)+import Graphics.Vulkan.Types.Struct.Extent              (VkExtent3D)+import Graphics.Vulkan.Types.Struct.Image               (VkImageCreateInfo)+import Graphics.Vulkan.Types.Struct.Memory              (VkMemoryAllocateInfo)  pattern VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION :: (Num a, Eq a) =>         a@@ -75,8 +60,9 @@  pattern VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME <-         (is_VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME -> True)-  where VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME-          = _VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME+  where+    VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME+      = _VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME  {-# INLINE _VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_NV_external_memory.hs view
@@ -5,37 +5,48 @@ {-# LANGUAGE Strict          #-} {-# LANGUAGE ViewPatterns    #-} module Graphics.Vulkan.Ext.VK_NV_external_memory-       (-- * Vulkan extension: @VK_NV_external_memory@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @James Jones @cubanismo@-        ---        -- author: @NV@-        ---        -- type: @device@-        ---        -- Extension number: @57@-        ---        -- Required extensions: 'VK_NV_external_memory_capabilities'.-        ----        -- ** Required extensions: 'VK_NV_external_memory_capabilities'.-        module Graphics.Vulkan.Types.BaseTypes,-        VkExportMemoryAllocateInfoNV, VkExportMemoryAllocateInfoNV',-        VkExtent3D, VkExtent3D',-        module Graphics.Vulkan.Types.Enum.External,-        VkExternalMemoryImageCreateInfoNV,-        VkExternalMemoryImageCreateInfoNV',-        module Graphics.Vulkan.Types.Enum.Format,-        module Graphics.Vulkan.Types.Enum.Image, VkImageCreateInfo,-        VkImageCreateInfo', VkMemoryAllocateInfo, VkMemoryAllocateInfo',-        module Graphics.Vulkan.Types.Enum.SampleCountFlags,-        module Graphics.Vulkan.Types.Enum.SharingMode,-        module Graphics.Vulkan.Types.Enum.StructureType,-        -- > #include "vk_platform.h"-        VK_NV_EXTERNAL_MEMORY_SPEC_VERSION,+       (VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkExportMemoryAllocateInfoNV, VkExtent3D,+        VkExternalFenceFeatureBitmask(..),+        VkExternalFenceHandleTypeBitmask(..),+        VkExternalMemoryFeatureBitmask(..),+        VkExternalMemoryFeatureBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmask(..),+        VkExternalSemaphoreFeatureBitmask(..),+        VkExternalSemaphoreHandleTypeBitmask(..),+        VkExternalFenceFeatureFlagBits(),+        VkExternalFenceFeatureFlagBitsKHR(..),+        VkExternalFenceFeatureFlags(), VkExternalFenceHandleTypeFlagBits(),+        VkExternalFenceHandleTypeFlagBitsKHR(..),+        VkExternalFenceHandleTypeFlags(),+        VkExternalMemoryFeatureFlagBits(),+        VkExternalMemoryFeatureFlagBitsKHR(..),+        VkExternalMemoryFeatureFlagBitsNV(),+        VkExternalMemoryFeatureFlags(), VkExternalMemoryFeatureFlagsNV(),+        VkExternalMemoryHandleTypeFlagBits(),+        VkExternalMemoryHandleTypeFlagBitsKHR(..),+        VkExternalMemoryHandleTypeFlagBitsNV(),+        VkExternalMemoryHandleTypeFlags(),+        VkExternalMemoryHandleTypeFlagsNV(),+        VkExternalSemaphoreFeatureFlagBits(),+        VkExternalSemaphoreFeatureFlagBitsKHR(..),+        VkExternalSemaphoreFeatureFlags(),+        VkExternalSemaphoreHandleTypeFlagBits(),+        VkExternalSemaphoreHandleTypeFlagBitsKHR(..),+        VkExternalSemaphoreHandleTypeFlags(),+        VkExternalMemoryImageCreateInfoNV, VkFormat(..),+        VkFormatFeatureBitmask(..), VkFormatFeatureFlagBits(),+        VkFormatFeatureFlags(), VkImageAspectBitmask(..),+        VkImageCreateBitmask(..), VkImageLayout(..), VkImageTiling(..),+        VkImageType(..), VkImageUsageBitmask(..), VkImageViewType(..),+        VkImageAspectFlagBits(), VkImageAspectFlags(),+        VkImageCreateFlagBits(), VkImageCreateFlags(),+        VkImageUsageFlagBits(), VkImageUsageFlags(), VkImageCreateInfo,+        VkMemoryAllocateInfo, VkSampleCountBitmask(..),+        VkSampleCountFlagBits(), VkSampleCountFlags(), VkSharingMode(..),+        VkStructureType(..), -- > #include "vk_platform.h"+                             VK_NV_EXTERNAL_MEMORY_SPEC_VERSION,         pattern VK_NV_EXTERNAL_MEMORY_SPEC_VERSION,         VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME,         pattern VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME,@@ -51,15 +62,11 @@ import Graphics.Vulkan.Types.Enum.SampleCountFlags import Graphics.Vulkan.Types.Enum.SharingMode import Graphics.Vulkan.Types.Enum.StructureType-import Graphics.Vulkan.Types.Struct.Export         (VkExportMemoryAllocateInfoNV,-                                                    VkExportMemoryAllocateInfoNV')-import Graphics.Vulkan.Types.Struct.Extent         (VkExtent3D, VkExtent3D')-import Graphics.Vulkan.Types.Struct.External       (VkExternalMemoryImageCreateInfoNV,-                                                    VkExternalMemoryImageCreateInfoNV')-import Graphics.Vulkan.Types.Struct.Image          (VkImageCreateInfo,-                                                    VkImageCreateInfo')-import Graphics.Vulkan.Types.Struct.Memory         (VkMemoryAllocateInfo,-                                                    VkMemoryAllocateInfo')+import Graphics.Vulkan.Types.Struct.Export         (VkExportMemoryAllocateInfoNV)+import Graphics.Vulkan.Types.Struct.Extent         (VkExtent3D)+import Graphics.Vulkan.Types.Struct.External       (VkExternalMemoryImageCreateInfoNV)+import Graphics.Vulkan.Types.Struct.Image          (VkImageCreateInfo)+import Graphics.Vulkan.Types.Struct.Memory         (VkMemoryAllocateInfo)  pattern VK_NV_EXTERNAL_MEMORY_SPEC_VERSION :: (Num a, Eq a) => a @@ -71,8 +78,9 @@  pattern VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME <-         (is_VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME -> True)-  where VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME-          = _VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME+  where+    VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME+      = _VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME  {-# INLINE _VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_NV_external_memory_capabilities.hs view
@@ -11,37 +11,98 @@ {-# LANGUAGE TypeFamilies             #-} {-# LANGUAGE ViewPatterns             #-} module Graphics.Vulkan.Ext.VK_NV_external_memory_capabilities-       (-- * Vulkan extension: @VK_NV_external_memory_capabilities@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @James Jones @cubanismo@-        ---        -- author: @NV@-        ---        -- type: @instance@-        ---        -- Extension number: @56@-        module Graphics.Vulkan.Types.BaseTypes, VkExtent3D, VkExtent3D',-        VkExternalImageFormatPropertiesNV,-        VkExternalImageFormatPropertiesNV',-        module Graphics.Vulkan.Types.Enum.External,-        VkImageFormatProperties, VkImageFormatProperties',-        module Graphics.Vulkan.Types.Enum.SampleCountFlags,+       (VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkExtent3D, VkExternalImageFormatPropertiesNV,+        VkExternalFenceFeatureBitmask(..),+        VkExternalFenceHandleTypeBitmask(..),+        VkExternalMemoryFeatureBitmask(..),+        VkExternalMemoryFeatureBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmask(..),+        VkExternalSemaphoreFeatureBitmask(..),+        VkExternalSemaphoreHandleTypeBitmask(..),+        VkExternalFenceFeatureFlagBits(),+        VkExternalFenceFeatureFlagBitsKHR(..),+        VkExternalFenceFeatureFlags(), VkExternalFenceHandleTypeFlagBits(),+        VkExternalFenceHandleTypeFlagBitsKHR(..),+        VkExternalFenceHandleTypeFlags(),+        VkExternalMemoryFeatureFlagBits(),+        VkExternalMemoryFeatureFlagBitsKHR(..),+        VkExternalMemoryFeatureFlagBitsNV(),+        VkExternalMemoryFeatureFlags(), VkExternalMemoryFeatureFlagsNV(),+        VkExternalMemoryHandleTypeFlagBits(),+        VkExternalMemoryHandleTypeFlagBitsKHR(..),+        VkExternalMemoryHandleTypeFlagBitsNV(),+        VkExternalMemoryHandleTypeFlags(),+        VkExternalMemoryHandleTypeFlagsNV(),+        VkExternalSemaphoreFeatureFlagBits(),+        VkExternalSemaphoreFeatureFlagBitsKHR(..),+        VkExternalSemaphoreFeatureFlags(),+        VkExternalSemaphoreHandleTypeFlagBits(),+        VkExternalSemaphoreHandleTypeFlagBitsKHR(..),+        VkExternalSemaphoreHandleTypeFlags(), VkImageFormatProperties,+        VkSampleCountBitmask(..), VkSampleCountFlagBits(),+        VkSampleCountFlags(),         -- > #include "vk_platform.h"         VkGetPhysicalDeviceExternalImageFormatPropertiesNV,         pattern VkGetPhysicalDeviceExternalImageFormatPropertiesNV,         HS_vkGetPhysicalDeviceExternalImageFormatPropertiesNV,         PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.Format,-        module Graphics.Vulkan.Types.Enum.Image,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.Extent,-        module Graphics.Vulkan.Types.Struct.External,-        module Graphics.Vulkan.Types.Struct.Image,+        module Graphics.Vulkan.Marshal, VkFormat(..),+        VkFormatFeatureBitmask(..), VkFormatFeatureFlagBits(),+        VkFormatFeatureFlags(), VkImageAspectBitmask(..),+        VkImageCreateBitmask(..), VkImageLayout(..), VkImageTiling(..),+        VkImageType(..), VkImageUsageBitmask(..), VkImageViewType(..),+        VkImageAspectFlagBits(), VkImageAspectFlags(),+        VkImageCreateFlagBits(), VkImageCreateFlags(),+        VkImageUsageFlagBits(), VkImageUsageFlags(), VkResult(..),+        VkBuffer, VkBufferView, VkBufferView_T(), VkBuffer_T(),+        VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),+        VkExtent2D, VkExternalBufferProperties,+        VkExternalBufferPropertiesKHR, VkExternalFenceProperties,+        VkExternalFencePropertiesKHR, VkExternalImageFormatProperties,+        VkExternalImageFormatPropertiesKHR,+        VkExternalMemoryBufferCreateInfo,+        VkExternalMemoryBufferCreateInfoKHR,+        VkExternalMemoryImageCreateInfo,+        VkExternalMemoryImageCreateInfoKHR,+        VkExternalMemoryImageCreateInfoNV, VkExternalMemoryProperties,+        VkExternalMemoryPropertiesKHR, VkExternalSemaphoreProperties,+        VkExternalSemaphorePropertiesKHR, VkImageBlit, VkImageCopy,+        VkImageCreateInfo, VkImageFormatListCreateInfoKHR,+        VkImageFormatProperties2, VkImageFormatProperties2KHR,+        VkImageMemoryBarrier, VkImageMemoryRequirementsInfo2,+        VkImageMemoryRequirementsInfo2KHR,+        VkImagePlaneMemoryRequirementsInfo,+        VkImagePlaneMemoryRequirementsInfoKHR, VkImageResolve,+        VkImageSparseMemoryRequirementsInfo2,+        VkImageSparseMemoryRequirementsInfo2KHR, VkImageSubresource,+        VkImageSubresourceLayers, VkImageSubresourceRange,+        VkImageSwapchainCreateInfoKHR, VkImageViewCreateInfo,+        VkImageViewUsageCreateInfo, VkImageViewUsageCreateInfoKHR,         VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION,         pattern VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION,         VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME,@@ -66,8 +127,9 @@  pattern VkGetPhysicalDeviceExternalImageFormatPropertiesNV <-         (is_VkGetPhysicalDeviceExternalImageFormatPropertiesNV -> True)-  where VkGetPhysicalDeviceExternalImageFormatPropertiesNV-          = _VkGetPhysicalDeviceExternalImageFormatPropertiesNV+  where+    VkGetPhysicalDeviceExternalImageFormatPropertiesNV+      = _VkGetPhysicalDeviceExternalImageFormatPropertiesNV  {-# INLINE _VkGetPhysicalDeviceExternalImageFormatPropertiesNV #-} @@ -137,20 +199,20 @@ instance VulkanProc            "vkGetPhysicalDeviceExternalImageFormatPropertiesNV"          where-        type VkProcType-               "vkGetPhysicalDeviceExternalImageFormatPropertiesNV"-             = HS_vkGetPhysicalDeviceExternalImageFormatPropertiesNV-        vkProcSymbol = _VkGetPhysicalDeviceExternalImageFormatPropertiesNV+    type VkProcType+           "vkGetPhysicalDeviceExternalImageFormatPropertiesNV"+         = HS_vkGetPhysicalDeviceExternalImageFormatPropertiesNV+    vkProcSymbol = _VkGetPhysicalDeviceExternalImageFormatPropertiesNV -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe-          = unwrapVkGetPhysicalDeviceExternalImageFormatPropertiesNVUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe+      = unwrapVkGetPhysicalDeviceExternalImageFormatPropertiesNVUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe-          = unwrapVkGetPhysicalDeviceExternalImageFormatPropertiesNVSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe+      = unwrapVkGetPhysicalDeviceExternalImageFormatPropertiesNVSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION ::         (Num a, Eq a) => a@@ -164,8 +226,9 @@  pattern VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME <-         (is_VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME -> True)-  where VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME-          = _VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME+  where+    VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME+      = _VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME  {-# INLINE _VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_NV_external_memory_win32.hs view
@@ -11,37 +11,65 @@ {-# LANGUAGE TypeFamilies             #-} {-# LANGUAGE ViewPatterns             #-} module Graphics.Vulkan.Ext.VK_NV_external_memory_win32-       (-- * Vulkan extension: @VK_NV_external_memory_win32@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @James Jones @cubanismo@-        ---        -- author: @NV@-        ---        -- type: @device@-        ---        -- platform: @win32@-        ---        -- Extension number: @58@-        ---        -- Required extensions: 'VK_NV_external_memory'.-        ----        -- ** Required extensions: 'VK_NV_external_memory'.-        module Graphics.Vulkan.Types.BaseTypes,-        VkExportMemoryWin32HandleInfoNV, VkExportMemoryWin32HandleInfoNV',-        module Graphics.Vulkan.Types.Enum.External,-        VkImportMemoryWin32HandleInfoNV, VkImportMemoryWin32HandleInfoNV',-        VkMemoryAllocateInfo, VkMemoryAllocateInfo',-        module Graphics.Vulkan.Types.Enum.StructureType,-        -- > #include "vk_platform.h"-        VkGetMemoryWin32HandleNV, pattern VkGetMemoryWin32HandleNV,-        HS_vkGetMemoryWin32HandleNV, PFN_vkGetMemoryWin32HandleNV,-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.Result,-        module Graphics.Vulkan.Types.Handles,+       (VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkExportMemoryWin32HandleInfoNV, VkExternalFenceFeatureBitmask(..),+        VkExternalFenceHandleTypeBitmask(..),+        VkExternalMemoryFeatureBitmask(..),+        VkExternalMemoryFeatureBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmaskNV(..),+        VkExternalMemoryHandleTypeBitmask(..),+        VkExternalSemaphoreFeatureBitmask(..),+        VkExternalSemaphoreHandleTypeBitmask(..),+        VkExternalFenceFeatureFlagBits(),+        VkExternalFenceFeatureFlagBitsKHR(..),+        VkExternalFenceFeatureFlags(), VkExternalFenceHandleTypeFlagBits(),+        VkExternalFenceHandleTypeFlagBitsKHR(..),+        VkExternalFenceHandleTypeFlags(),+        VkExternalMemoryFeatureFlagBits(),+        VkExternalMemoryFeatureFlagBitsKHR(..),+        VkExternalMemoryFeatureFlagBitsNV(),+        VkExternalMemoryFeatureFlags(), VkExternalMemoryFeatureFlagsNV(),+        VkExternalMemoryHandleTypeFlagBits(),+        VkExternalMemoryHandleTypeFlagBitsKHR(..),+        VkExternalMemoryHandleTypeFlagBitsNV(),+        VkExternalMemoryHandleTypeFlags(),+        VkExternalMemoryHandleTypeFlagsNV(),+        VkExternalSemaphoreFeatureFlagBits(),+        VkExternalSemaphoreFeatureFlagBitsKHR(..),+        VkExternalSemaphoreFeatureFlags(),+        VkExternalSemaphoreHandleTypeFlagBits(),+        VkExternalSemaphoreHandleTypeFlagBitsKHR(..),+        VkExternalSemaphoreHandleTypeFlags(),+        VkImportMemoryWin32HandleInfoNV, VkMemoryAllocateInfo,+        VkStructureType(..), -- > #include "vk_platform.h"+                             VkGetMemoryWin32HandleNV,+        pattern VkGetMemoryWin32HandleNV, HS_vkGetMemoryWin32HandleNV,+        PFN_vkGetMemoryWin32HandleNV, module Graphics.Vulkan.Marshal,+        VkResult(..), VkBuffer, VkBufferView, VkBufferView_T(),+        VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout,+        VkDescriptorSetLayout_T(), VkDescriptorSet_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR,+        VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(),+        VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView,+        VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkPipeline_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(),+        VkRenderPass, VkRenderPass_T(), VkSampler,+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR,+        VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(),+        VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule,+        VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR,+        VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(),         VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION,         pattern VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION,         VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME,@@ -58,18 +86,16 @@ import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles import Graphics.Vulkan.Types.Include                 (HANDLE)-import Graphics.Vulkan.Types.Struct.Memory           (VkMemoryAllocateInfo,-                                                      VkMemoryAllocateInfo')+import Graphics.Vulkan.Types.Struct.Memory           (VkMemoryAllocateInfo) import Graphics.Vulkan.Types.Struct.PlatformWin32Khr (VkExportMemoryWin32HandleInfoNV,-                                                      VkExportMemoryWin32HandleInfoNV',-                                                      VkImportMemoryWin32HandleInfoNV,-                                                      VkImportMemoryWin32HandleInfoNV')+                                                      VkImportMemoryWin32HandleInfoNV)  pattern VkGetMemoryWin32HandleNV :: CString  pattern VkGetMemoryWin32HandleNV <-         (is_VkGetMemoryWin32HandleNV -> True)-  where VkGetMemoryWin32HandleNV = _VkGetMemoryWin32HandleNV+  where+    VkGetMemoryWin32HandleNV = _VkGetMemoryWin32HandleNV  {-# INLINE _VkGetMemoryWin32HandleNV #-} @@ -117,17 +143,17 @@                PFN_vkGetMemoryWin32HandleNV -> HS_vkGetMemoryWin32HandleNV  instance VulkanProc "vkGetMemoryWin32HandleNV" where-        type VkProcType "vkGetMemoryWin32HandleNV" =-             HS_vkGetMemoryWin32HandleNV-        vkProcSymbol = _VkGetMemoryWin32HandleNV+    type VkProcType "vkGetMemoryWin32HandleNV" =+         HS_vkGetMemoryWin32HandleNV+    vkProcSymbol = _VkGetMemoryWin32HandleNV -        {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtrUnsafe = unwrapVkGetMemoryWin32HandleNVUnsafe+    {-# INLINE vkProcSymbol #-}+    unwrapVkProcPtrUnsafe = unwrapVkGetMemoryWin32HandleNVUnsafe -        {-# INLINE unwrapVkProcPtrUnsafe #-}-        unwrapVkProcPtrSafe = unwrapVkGetMemoryWin32HandleNVSafe+    {-# INLINE unwrapVkProcPtrUnsafe #-}+    unwrapVkProcPtrSafe = unwrapVkGetMemoryWin32HandleNVSafe -        {-# INLINE unwrapVkProcPtrSafe #-}+    {-# INLINE unwrapVkProcPtrSafe #-}  pattern VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION ::         (Num a, Eq a) => a@@ -140,8 +166,9 @@  pattern VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME <-         (is_VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME -> True)-  where VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME-          = _VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME+  where+    VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME+      = _VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME  {-# INLINE _VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_NV_fill_rectangle.hs view
@@ -37,8 +37,9 @@  pattern VK_NV_FILL_RECTANGLE_EXTENSION_NAME <-         (is_VK_NV_FILL_RECTANGLE_EXTENSION_NAME -> True)-  where VK_NV_FILL_RECTANGLE_EXTENSION_NAME-          = _VK_NV_FILL_RECTANGLE_EXTENSION_NAME+  where+    VK_NV_FILL_RECTANGLE_EXTENSION_NAME+      = _VK_NV_FILL_RECTANGLE_EXTENSION_NAME  {-# INLINE _VK_NV_FILL_RECTANGLE_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_NV_fragment_coverage_to_color.hs view
@@ -5,26 +5,54 @@ {-# LANGUAGE Strict          #-} {-# LANGUAGE ViewPatterns    #-} module Graphics.Vulkan.Ext.VK_NV_fragment_coverage_to_color-       (-- * Vulkan extension: @VK_NV_fragment_coverage_to_color@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @Jeff Bolz @jeffbolznv@-        ---        -- author: @NV@-        ---        -- type: @device@-        ---        -- Extension number: @150@-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Bitmasks,+       (VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkAndroidSurfaceCreateFlagsKHR(..), VkBufferViewCreateFlags(..),+        VkCommandPoolTrimFlags(..), VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..),         VkPipelineCoverageToColorStateCreateInfoNV,-        VkPipelineCoverageToColorStateCreateInfoNV',-        VkPipelineMultisampleStateCreateInfo,-        VkPipelineMultisampleStateCreateInfo',-        module Graphics.Vulkan.Types.Enum.SampleCountFlags,-        module Graphics.Vulkan.Types.Enum.StructureType,+        VkPipelineMultisampleStateCreateInfo, VkSampleCountBitmask(..),+        VkSampleCountFlagBits(), VkSampleCountFlags(), VkStructureType(..),         -- > #include "vk_platform.h"         VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION,         pattern VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION,@@ -39,9 +67,7 @@ import Graphics.Vulkan.Types.Enum.SampleCountFlags import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Struct.Pipeline       (VkPipelineCoverageToColorStateCreateInfoNV,-                                                    VkPipelineCoverageToColorStateCreateInfoNV',-                                                    VkPipelineMultisampleStateCreateInfo,-                                                    VkPipelineMultisampleStateCreateInfo')+                                                    VkPipelineMultisampleStateCreateInfo)  pattern VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION ::         (Num a, Eq a) => a@@ -54,8 +80,9 @@  pattern VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME <-         (is_VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME -> True)-  where VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME-          = _VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME+  where+    VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME+      = _VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME  {-# INLINE _VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_NV_framebuffer_mixed_samples.hs view
@@ -5,27 +5,55 @@ {-# LANGUAGE Strict          #-} {-# LANGUAGE ViewPatterns    #-} module Graphics.Vulkan.Ext.VK_NV_framebuffer_mixed_samples-       (-- * Vulkan extension: @VK_NV_framebuffer_mixed_samples@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @Jeff Bolz @jeffbolznv@-        ---        -- author: @NV@-        ---        -- type: @device@-        ---        -- Extension number: @153@-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.CoverageModulationModeNV,-        module Graphics.Vulkan.Types.Bitmasks,+       (VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkCoverageModulationModeNV(..), VkAndroidSurfaceCreateFlagsKHR(..),+        VkBufferViewCreateFlags(..), VkCommandPoolTrimFlags(..),+        VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..),         VkPipelineCoverageModulationStateCreateInfoNV,-        VkPipelineCoverageModulationStateCreateInfoNV',-        VkPipelineMultisampleStateCreateInfo,-        VkPipelineMultisampleStateCreateInfo',-        module Graphics.Vulkan.Types.Enum.SampleCountFlags,-        module Graphics.Vulkan.Types.Enum.StructureType,+        VkPipelineMultisampleStateCreateInfo, VkSampleCountBitmask(..),+        VkSampleCountFlagBits(), VkSampleCountFlags(), VkStructureType(..),         -- > #include "vk_platform.h"         VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION,         pattern VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION,@@ -41,9 +69,7 @@ import Graphics.Vulkan.Types.Enum.SampleCountFlags import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Struct.Pipeline               (VkPipelineCoverageModulationStateCreateInfoNV,-                                                            VkPipelineCoverageModulationStateCreateInfoNV',-                                                            VkPipelineMultisampleStateCreateInfo,-                                                            VkPipelineMultisampleStateCreateInfo')+                                                            VkPipelineMultisampleStateCreateInfo)  pattern VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION ::         (Num a, Eq a) => a@@ -56,8 +82,9 @@  pattern VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME <-         (is_VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME -> True)-  where VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME-          = _VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME+  where+    VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME+      = _VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME  {-# INLINE _VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_NV_geometry_shader_passthrough.hs view
@@ -36,8 +36,9 @@  pattern VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME <-         (is_VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME -> True)-  where VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME-          = _VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME+  where+    VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME+      = _VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME  {-# INLINE _VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_NV_glsl_shader.hs view
@@ -37,8 +37,9 @@  pattern VK_NV_GLSL_SHADER_EXTENSION_NAME <-         (is_VK_NV_GLSL_SHADER_EXTENSION_NAME -> True)-  where VK_NV_GLSL_SHADER_EXTENSION_NAME-          = _VK_NV_GLSL_SHADER_EXTENSION_NAME+  where+    VK_NV_GLSL_SHADER_EXTENSION_NAME+      = _VK_NV_GLSL_SHADER_EXTENSION_NAME  {-# INLINE _VK_NV_GLSL_SHADER_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_NV_sample_mask_override_coverage.hs view
@@ -37,8 +37,9 @@  pattern VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME <-         (is_VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME -> True)-  where VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME-          = _VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME+  where+    VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME+      = _VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME  {-# INLINE _VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_NV_shader_subgroup_partitioned.hs view
@@ -25,8 +25,7 @@        where import GHC.Ptr                                         (Ptr (..)) import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.Enum.SubgroupFeatureFlags (VkSubgroupFeatureBitmask (..),-                                                        VkSubgroupFeatureFlagBits)+import Graphics.Vulkan.Types.Enum.SubgroupFeatureFlags (VkSubgroupFeatureBitmask (..))  pattern VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION ::         (Num a, Eq a) => a@@ -39,8 +38,9 @@  pattern VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME <-         (is_VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME -> True)-  where VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME-          = _VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME+  where+    VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME+      = _VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME  {-# INLINE _VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_NV_viewport_array2.hs view
@@ -35,8 +35,9 @@  pattern VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME <-         (is_VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME -> True)-  where VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME-          = _VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME+  where+    VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME+      = _VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME  {-# INLINE _VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_NV_viewport_swizzle.hs view
@@ -17,18 +17,56 @@         -- type: @device@         --         -- Extension number: @99@-        VkExtent2D, VkExtent2D', module Graphics.Vulkan.Types.BaseTypes,-        VkOffset2D, VkOffset2D', module Graphics.Vulkan.Types.Bitmasks,-        VkPipelineViewportStateCreateInfo,-        VkPipelineViewportStateCreateInfo',-        VkPipelineViewportSwizzleStateCreateInfoNV,-        VkPipelineViewportSwizzleStateCreateInfoNV', VkRect2D, VkRect2D',-        module Graphics.Vulkan.Types.Enum.StructureType, VkViewport,-        VkViewport',-        module Graphics.Vulkan.Types.Enum.ViewportCoordinateSwizzleNV,-        VkViewportSwizzleNV, VkViewportSwizzleNV',-        -- > #include "vk_platform.h"-        VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION,+        VkExtent2D, VkBool32(..), VkDeviceSize(..), VkFlags(..),+        VkSampleMask(..), VkOffset2D, VkAndroidSurfaceCreateFlagsKHR(..),+        VkBufferViewCreateFlags(..), VkCommandPoolTrimFlags(..),+        VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..), VkPipelineViewportStateCreateInfo,+        VkPipelineViewportSwizzleStateCreateInfoNV, VkRect2D,+        VkStructureType(..), VkViewport, VkViewportCoordinateSwizzleNV(..),+        VkViewportSwizzleNV, -- > #include "vk_platform.h"+                             VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION,         pattern VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION,         VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME,         pattern VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME,@@ -40,20 +78,12 @@ import Graphics.Vulkan.Types.Bitmasks import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Enum.ViewportCoordinateSwizzleNV-import Graphics.Vulkan.Types.Struct.Extent                    (VkExtent2D,-                                                               VkExtent2D')-import Graphics.Vulkan.Types.Struct.Offset                    (VkOffset2D,-                                                               VkOffset2D')+import Graphics.Vulkan.Types.Struct.Extent                    (VkExtent2D)+import Graphics.Vulkan.Types.Struct.Offset                    (VkOffset2D) import Graphics.Vulkan.Types.Struct.Pipeline                  (VkPipelineViewportStateCreateInfo,-                                                               VkPipelineViewportStateCreateInfo',-                                                               VkPipelineViewportSwizzleStateCreateInfoNV,-                                                               VkPipelineViewportSwizzleStateCreateInfoNV')-import Graphics.Vulkan.Types.Struct.Rect                      (VkRect2D,-                                                               VkRect2D')-import Graphics.Vulkan.Types.Struct.Viewport                  (VkViewport,-                                                               VkViewport',-                                                               VkViewportSwizzleNV,-                                                               VkViewportSwizzleNV')+                                                               VkPipelineViewportSwizzleStateCreateInfoNV)+import Graphics.Vulkan.Types.Struct.Rect                      (VkRect2D)+import Graphics.Vulkan.Types.Struct.Viewport                  (VkViewport, VkViewportSwizzleNV)  pattern VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION :: (Num a, Eq a) => a @@ -65,8 +95,9 @@  pattern VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME <-         (is_VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME -> True)-  where VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME-          = _VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME+  where+    VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME+      = _VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME  {-# INLINE _VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Ext/VK_NV_win32_keyed_mutex.hs view
@@ -5,30 +5,24 @@ {-# LANGUAGE Strict          #-} {-# LANGUAGE ViewPatterns    #-} module Graphics.Vulkan.Ext.VK_NV_win32_keyed_mutex-       (-- * Vulkan extension: @VK_NV_win32_keyed_mutex@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @Carsten Rohde @crohde@-        ---        -- author: @NV@-        ---        -- type: @device@-        ---        -- platform: @win32@-        ---        -- Extension number: @59@-        ---        -- Required extensions: 'VK_NV_external_memory_win32'.-        ----        -- ** Required extensions: 'VK_NV_external_memory_win32'.-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.Pipeline,-        module Graphics.Vulkan.Types.Enum.StructureType, VkSubmitInfo,-        VkSubmitInfo', VkWin32KeyedMutexAcquireReleaseInfoNV,-        VkWin32KeyedMutexAcquireReleaseInfoNV',+       (VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..),+        VkPipelineBindPoint(..), VkPipelineCacheHeaderVersion(..),+        VkPipelineCreateBitmask(..), VkPipelineStageBitmask(..),+        VkPipelineCacheCreateFlagBits(..),+        VkPipelineColorBlendStateCreateFlagBits(..),+        VkPipelineCreateFlagBits(), VkPipelineCreateFlags(),+        VkPipelineDepthStencilStateCreateFlagBits(..),+        VkPipelineDynamicStateCreateFlagBits(..),+        VkPipelineInputAssemblyStateCreateFlagBits(..),+        VkPipelineLayoutCreateFlagBits(..),+        VkPipelineMultisampleStateCreateFlagBits(..),+        VkPipelineRasterizationStateCreateFlagBits(..),+        VkPipelineShaderStageCreateFlagBits(..), VkPipelineStageFlagBits(),+        VkPipelineStageFlags(),+        VkPipelineTessellationStateCreateFlagBits(..),+        VkPipelineVertexInputStateCreateFlagBits(..),+        VkPipelineViewportStateCreateFlagBits(..), VkStructureType(..),+        VkSubmitInfo, VkWin32KeyedMutexAcquireReleaseInfoNV,         -- > #include "vk_platform.h"         VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION,         pattern VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION,@@ -41,10 +35,8 @@ import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Enum.Pipeline import Graphics.Vulkan.Types.Enum.StructureType-import Graphics.Vulkan.Types.Struct.PlatformWin32Khr (VkWin32KeyedMutexAcquireReleaseInfoNV,-                                                      VkWin32KeyedMutexAcquireReleaseInfoNV')-import Graphics.Vulkan.Types.Struct.SubmitInfo       (VkSubmitInfo,-                                                      VkSubmitInfo')+import Graphics.Vulkan.Types.Struct.PlatformWin32Khr (VkWin32KeyedMutexAcquireReleaseInfoNV)+import Graphics.Vulkan.Types.Struct.SubmitInfo       (VkSubmitInfo)  pattern VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION :: (Num a, Eq a) => a @@ -56,8 +48,9 @@  pattern VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME <-         (is_VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME -> True)-  where VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME-          = _VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME+  where+    VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME+      = _VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME  {-# INLINE _VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME #-} 
src-gen/Graphics/Vulkan/Types/BaseTypes.hs view
@@ -1,6 +1,4 @@ {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE Strict                     #-} module Graphics.Vulkan.Types.BaseTypes@@ -8,55 +6,53 @@        where import Data.Bits               (Bits, FiniteBits) import Data.Coerce             (coerce)-import Data.Data               (Data) import Foreign.Storable        (Storable)-import GHC.Generics            (Generic) import Graphics.Vulkan.Marshal (Word32, Word64)  newtype VkBool32 = VkBool32 Word32-                     deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits, FiniteBits,-                               Storable, Real, Data, Generic)+                   deriving (Eq, Ord, Num, Bounded, Enum, Integral, Real, Bits,+                             FiniteBits, Storable)  instance Show VkBool32 where-        {-# INLINE show #-}-        show (VkBool32 x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> Word32 -> ShowS)  instance Read VkBool32 where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS Word32)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS Word32)  newtype VkDeviceSize = VkDeviceSize Word64-                         deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits, FiniteBits,-                                   Storable, Real, Data, Generic)+                       deriving (Eq, Ord, Num, Bounded, Enum, Integral, Real, Bits,+                                 FiniteBits, Storable)  instance Show VkDeviceSize where-        {-# INLINE show #-}-        show (VkDeviceSize x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> Word64 -> ShowS)  instance Read VkDeviceSize where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS Word64)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS Word64)  newtype VkFlags = VkFlags Word32-                    deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits, FiniteBits,-                              Storable, Real, Data, Generic)+                  deriving (Eq, Ord, Num, Bounded, Enum, Integral, Real, Bits,+                            FiniteBits, Storable)  instance Show VkFlags where-        {-# INLINE show #-}-        show (VkFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> Word32 -> ShowS)  instance Read VkFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS Word32)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS Word32)  newtype VkSampleMask = VkSampleMask Word32-                         deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits, FiniteBits,-                                   Storable, Real, Data, Generic)+                       deriving (Eq, Ord, Num, Bounded, Enum, Integral, Real, Bits,+                                 FiniteBits, Storable)  instance Show VkSampleMask where-        {-# INLINE show #-}-        show (VkSampleMask x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> Word32 -> ShowS)  instance Read VkSampleMask where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS Word32)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS Word32)
src-gen/Graphics/Vulkan/Types/Bitmasks.hs view
@@ -1,6 +1,4 @@ {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE Strict                     #-} module Graphics.Vulkan.Types.Bitmasks@@ -51,729 +49,658 @@        where import Data.Bits                       (Bits, FiniteBits) import Data.Coerce                     (coerce)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import Graphics.Vulkan.Types.BaseTypes (VkFlags)  newtype VkAndroidSurfaceCreateFlagsKHR = VkAndroidSurfaceCreateFlagsKHR VkFlags-                                           deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                     FiniteBits, Storable, Real, Data, Generic)+                                         deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkAndroidSurfaceCreateFlagsKHR where-        {-# INLINE show #-}-        show (VkAndroidSurfaceCreateFlagsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkAndroidSurfaceCreateFlagsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkBufferViewCreateFlags = VkBufferViewCreateFlags VkFlags-                                    deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                              FiniteBits, Storable, Real, Data, Generic)+                                  deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkBufferViewCreateFlags where-        {-# INLINE show #-}-        show (VkBufferViewCreateFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkBufferViewCreateFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkCommandPoolTrimFlags = VkCommandPoolTrimFlags VkFlags-                                   deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                             FiniteBits, Storable, Real, Data, Generic)+                                 deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkCommandPoolTrimFlags where-        {-# INLINE show #-}-        show (VkCommandPoolTrimFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkCommandPoolTrimFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkCommandPoolTrimFlagsKHR = VkCommandPoolTrimFlagsKHR VkFlags-                                      deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                FiniteBits, Storable, Real, Data, Generic)+                                    deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkCommandPoolTrimFlagsKHR where-        {-# INLINE show #-}-        show (VkCommandPoolTrimFlagsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkCommandPoolTrimFlagsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkDebugUtilsMessengerCallbackDataFlagsEXT = VkDebugUtilsMessengerCallbackDataFlagsEXT VkFlags-                                                      deriving (Eq, Ord, Num, Bounded, Enum,-                                                                Integral, Bits, FiniteBits,-                                                                Storable, Real, Data, Generic)+                                                    deriving (Eq, Ord, Enum, Bits, FiniteBits,+                                                              Storable)  instance Show VkDebugUtilsMessengerCallbackDataFlagsEXT where-        {-# INLINE show #-}-        show (VkDebugUtilsMessengerCallbackDataFlagsEXT x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkDebugUtilsMessengerCallbackDataFlagsEXT where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkDebugUtilsMessengerCreateFlagsEXT = VkDebugUtilsMessengerCreateFlagsEXT VkFlags-                                                deriving (Eq, Ord, Num, Bounded, Enum, Integral,-                                                          Bits, FiniteBits, Storable, Real, Data,-                                                          Generic)+                                              deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkDebugUtilsMessengerCreateFlagsEXT where-        {-# INLINE show #-}-        show (VkDebugUtilsMessengerCreateFlagsEXT x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkDebugUtilsMessengerCreateFlagsEXT where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkDescriptorPoolResetFlags = VkDescriptorPoolResetFlags VkFlags-                                       deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                 FiniteBits, Storable, Real, Data, Generic)+                                     deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkDescriptorPoolResetFlags where-        {-# INLINE show #-}-        show (VkDescriptorPoolResetFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkDescriptorPoolResetFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkDescriptorUpdateTemplateCreateFlags = VkDescriptorUpdateTemplateCreateFlags VkFlags-                                                  deriving (Eq, Ord, Num, Bounded, Enum, Integral,-                                                            Bits, FiniteBits, Storable, Real, Data,-                                                            Generic)+                                                deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkDescriptorUpdateTemplateCreateFlags where-        {-# INLINE show #-}-        show (VkDescriptorUpdateTemplateCreateFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkDescriptorUpdateTemplateCreateFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkDescriptorUpdateTemplateCreateFlagsKHR = VkDescriptorUpdateTemplateCreateFlagsKHR VkFlags-                                                     deriving (Eq, Ord, Num, Bounded, Enum,-                                                               Integral, Bits, FiniteBits, Storable,-                                                               Real, Data, Generic)+                                                   deriving (Eq, Ord, Enum, Bits, FiniteBits,+                                                             Storable)  instance Show VkDescriptorUpdateTemplateCreateFlagsKHR where-        {-# INLINE show #-}-        show (VkDescriptorUpdateTemplateCreateFlagsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkDescriptorUpdateTemplateCreateFlagsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkDeviceCreateFlags = VkDeviceCreateFlags VkFlags-                                deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits, FiniteBits,-                                          Storable, Real, Data, Generic)+                              deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkDeviceCreateFlags where-        {-# INLINE show #-}-        show (VkDeviceCreateFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkDeviceCreateFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkDisplayModeCreateFlagsKHR = VkDisplayModeCreateFlagsKHR VkFlags-                                        deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                  FiniteBits, Storable, Real, Data, Generic)+                                      deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkDisplayModeCreateFlagsKHR where-        {-# INLINE show #-}-        show (VkDisplayModeCreateFlagsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkDisplayModeCreateFlagsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkDisplaySurfaceCreateFlagsKHR = VkDisplaySurfaceCreateFlagsKHR VkFlags-                                           deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                     FiniteBits, Storable, Real, Data, Generic)+                                         deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkDisplaySurfaceCreateFlagsKHR where-        {-# INLINE show #-}-        show (VkDisplaySurfaceCreateFlagsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkDisplaySurfaceCreateFlagsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkEventCreateFlags = VkEventCreateFlags VkFlags-                               deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits, FiniteBits,-                                         Storable, Real, Data, Generic)+                             deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkEventCreateFlags where-        {-# INLINE show #-}-        show (VkEventCreateFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkEventCreateFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkExternalFenceFeatureFlagsKHR = VkExternalFenceFeatureFlagsKHR VkFlags-                                           deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                     FiniteBits, Storable, Real, Data, Generic)+                                         deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkExternalFenceFeatureFlagsKHR where-        {-# INLINE show #-}-        show (VkExternalFenceFeatureFlagsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkExternalFenceFeatureFlagsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkExternalFenceHandleTypeFlagsKHR = VkExternalFenceHandleTypeFlagsKHR VkFlags-                                              deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                        FiniteBits, Storable, Real, Data, Generic)+                                            deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkExternalFenceHandleTypeFlagsKHR where-        {-# INLINE show #-}-        show (VkExternalFenceHandleTypeFlagsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkExternalFenceHandleTypeFlagsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkExternalMemoryFeatureFlagsKHR = VkExternalMemoryFeatureFlagsKHR VkFlags-                                            deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                      FiniteBits, Storable, Real, Data, Generic)+                                          deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkExternalMemoryFeatureFlagsKHR where-        {-# INLINE show #-}-        show (VkExternalMemoryFeatureFlagsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkExternalMemoryFeatureFlagsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkExternalMemoryHandleTypeFlagsKHR = VkExternalMemoryHandleTypeFlagsKHR VkFlags-                                               deriving (Eq, Ord, Num, Bounded, Enum, Integral,-                                                         Bits, FiniteBits, Storable, Real, Data,-                                                         Generic)+                                             deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkExternalMemoryHandleTypeFlagsKHR where-        {-# INLINE show #-}-        show (VkExternalMemoryHandleTypeFlagsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkExternalMemoryHandleTypeFlagsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkExternalSemaphoreFeatureFlagsKHR = VkExternalSemaphoreFeatureFlagsKHR VkFlags-                                               deriving (Eq, Ord, Num, Bounded, Enum, Integral,-                                                         Bits, FiniteBits, Storable, Real, Data,-                                                         Generic)+                                             deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkExternalSemaphoreFeatureFlagsKHR where-        {-# INLINE show #-}-        show (VkExternalSemaphoreFeatureFlagsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkExternalSemaphoreFeatureFlagsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkExternalSemaphoreHandleTypeFlagsKHR = VkExternalSemaphoreHandleTypeFlagsKHR VkFlags-                                                  deriving (Eq, Ord, Num, Bounded, Enum, Integral,-                                                            Bits, FiniteBits, Storable, Real, Data,-                                                            Generic)+                                                deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkExternalSemaphoreHandleTypeFlagsKHR where-        {-# INLINE show #-}-        show (VkExternalSemaphoreHandleTypeFlagsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkExternalSemaphoreHandleTypeFlagsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkFenceImportFlagsKHR = VkFenceImportFlagsKHR VkFlags-                                  deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits, FiniteBits,-                                            Storable, Real, Data, Generic)+                                deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkFenceImportFlagsKHR where-        {-# INLINE show #-}-        show (VkFenceImportFlagsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkFenceImportFlagsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkFramebufferCreateFlags = VkFramebufferCreateFlags VkFlags-                                     deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                               FiniteBits, Storable, Real, Data, Generic)+                                   deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkFramebufferCreateFlags where-        {-# INLINE show #-}-        show (VkFramebufferCreateFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkFramebufferCreateFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkIOSSurfaceCreateFlagsMVK = VkIOSSurfaceCreateFlagsMVK VkFlags-                                       deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                 FiniteBits, Storable, Real, Data, Generic)+                                     deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkIOSSurfaceCreateFlagsMVK where-        {-# INLINE show #-}-        show (VkIOSSurfaceCreateFlagsMVK x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkIOSSurfaceCreateFlagsMVK where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkImageViewCreateFlags = VkImageViewCreateFlags VkFlags-                                   deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                             FiniteBits, Storable, Real, Data, Generic)+                                 deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkImageViewCreateFlags where-        {-# INLINE show #-}-        show (VkImageViewCreateFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkImageViewCreateFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkInstanceCreateFlags = VkInstanceCreateFlags VkFlags-                                  deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits, FiniteBits,-                                            Storable, Real, Data, Generic)+                                deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkInstanceCreateFlags where-        {-# INLINE show #-}-        show (VkInstanceCreateFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkInstanceCreateFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkMacOSSurfaceCreateFlagsMVK = VkMacOSSurfaceCreateFlagsMVK VkFlags-                                         deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                   FiniteBits, Storable, Real, Data, Generic)+                                       deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkMacOSSurfaceCreateFlagsMVK where-        {-# INLINE show #-}-        show (VkMacOSSurfaceCreateFlagsMVK x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkMacOSSurfaceCreateFlagsMVK where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkMemoryAllocateFlagsKHR = VkMemoryAllocateFlagsKHR VkFlags-                                     deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                               FiniteBits, Storable, Real, Data, Generic)+                                   deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkMemoryAllocateFlagsKHR where-        {-# INLINE show #-}-        show (VkMemoryAllocateFlagsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkMemoryAllocateFlagsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkMemoryMapFlags = VkMemoryMapFlags VkFlags-                             deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits, FiniteBits,-                                       Storable, Real, Data, Generic)+                           deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkMemoryMapFlags where-        {-# INLINE show #-}-        show (VkMemoryMapFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkMemoryMapFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkMirSurfaceCreateFlagsKHR = VkMirSurfaceCreateFlagsKHR VkFlags-                                       deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                 FiniteBits, Storable, Real, Data, Generic)+                                     deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkMirSurfaceCreateFlagsKHR where-        {-# INLINE show #-}-        show (VkMirSurfaceCreateFlagsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkMirSurfaceCreateFlagsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPeerMemoryFeatureFlagsKHR = VkPeerMemoryFeatureFlagsKHR VkFlags-                                        deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                  FiniteBits, Storable, Real, Data, Generic)+                                      deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkPeerMemoryFeatureFlagsKHR where-        {-# INLINE show #-}-        show (VkPeerMemoryFeatureFlagsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPeerMemoryFeatureFlagsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPipelineCacheCreateFlags = VkPipelineCacheCreateFlags VkFlags-                                       deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                 FiniteBits, Storable, Real, Data, Generic)+                                     deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkPipelineCacheCreateFlags where-        {-# INLINE show #-}-        show (VkPipelineCacheCreateFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineCacheCreateFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPipelineColorBlendStateCreateFlags = VkPipelineColorBlendStateCreateFlags VkFlags-                                                 deriving (Eq, Ord, Num, Bounded, Enum, Integral,-                                                           Bits, FiniteBits, Storable, Real, Data,-                                                           Generic)+                                               deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkPipelineColorBlendStateCreateFlags where-        {-# INLINE show #-}-        show (VkPipelineColorBlendStateCreateFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineColorBlendStateCreateFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPipelineCoverageModulationStateCreateFlagsNV = VkPipelineCoverageModulationStateCreateFlagsNV VkFlags-                                                           deriving (Eq, Ord, Num, Bounded, Enum,-                                                                     Integral, Bits, FiniteBits,-                                                                     Storable, Real, Data, Generic)+                                                         deriving (Eq, Ord, Enum, Bits, FiniteBits,+                                                                   Storable)  instance Show VkPipelineCoverageModulationStateCreateFlagsNV where-        {-# INLINE show #-}-        show (VkPipelineCoverageModulationStateCreateFlagsNV x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineCoverageModulationStateCreateFlagsNV where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPipelineCoverageToColorStateCreateFlagsNV = VkPipelineCoverageToColorStateCreateFlagsNV VkFlags-                                                        deriving (Eq, Ord, Num, Bounded, Enum,-                                                                  Integral, Bits, FiniteBits,-                                                                  Storable, Real, Data, Generic)+                                                      deriving (Eq, Ord, Enum, Bits, FiniteBits,+                                                                Storable)  instance Show VkPipelineCoverageToColorStateCreateFlagsNV where-        {-# INLINE show #-}-        show (VkPipelineCoverageToColorStateCreateFlagsNV x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineCoverageToColorStateCreateFlagsNV where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPipelineDepthStencilStateCreateFlags = VkPipelineDepthStencilStateCreateFlags VkFlags-                                                   deriving (Eq, Ord, Num, Bounded, Enum, Integral,-                                                             Bits, FiniteBits, Storable, Real, Data,-                                                             Generic)+                                                 deriving (Eq, Ord, Enum, Bits, FiniteBits,+                                                           Storable)  instance Show VkPipelineDepthStencilStateCreateFlags where-        {-# INLINE show #-}-        show (VkPipelineDepthStencilStateCreateFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineDepthStencilStateCreateFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPipelineDiscardRectangleStateCreateFlagsEXT = VkPipelineDiscardRectangleStateCreateFlagsEXT VkFlags-                                                          deriving (Eq, Ord, Num, Bounded, Enum,-                                                                    Integral, Bits, FiniteBits,-                                                                    Storable, Real, Data, Generic)+                                                        deriving (Eq, Ord, Enum, Bits, FiniteBits,+                                                                  Storable)  instance Show VkPipelineDiscardRectangleStateCreateFlagsEXT where-        {-# INLINE show #-}-        show (VkPipelineDiscardRectangleStateCreateFlagsEXT x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineDiscardRectangleStateCreateFlagsEXT where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPipelineDynamicStateCreateFlags = VkPipelineDynamicStateCreateFlags VkFlags-                                              deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                        FiniteBits, Storable, Real, Data, Generic)+                                            deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkPipelineDynamicStateCreateFlags where-        {-# INLINE show #-}-        show (VkPipelineDynamicStateCreateFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineDynamicStateCreateFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPipelineInputAssemblyStateCreateFlags = VkPipelineInputAssemblyStateCreateFlags VkFlags-                                                    deriving (Eq, Ord, Num, Bounded, Enum, Integral,-                                                              Bits, FiniteBits, Storable, Real,-                                                              Data, Generic)+                                                  deriving (Eq, Ord, Enum, Bits, FiniteBits,+                                                            Storable)  instance Show VkPipelineInputAssemblyStateCreateFlags where-        {-# INLINE show #-}-        show (VkPipelineInputAssemblyStateCreateFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineInputAssemblyStateCreateFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPipelineLayoutCreateFlags = VkPipelineLayoutCreateFlags VkFlags-                                        deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                  FiniteBits, Storable, Real, Data, Generic)+                                      deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkPipelineLayoutCreateFlags where-        {-# INLINE show #-}-        show (VkPipelineLayoutCreateFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineLayoutCreateFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPipelineMultisampleStateCreateFlags = VkPipelineMultisampleStateCreateFlags VkFlags-                                                  deriving (Eq, Ord, Num, Bounded, Enum, Integral,-                                                            Bits, FiniteBits, Storable, Real, Data,-                                                            Generic)+                                                deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkPipelineMultisampleStateCreateFlags where-        {-# INLINE show #-}-        show (VkPipelineMultisampleStateCreateFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineMultisampleStateCreateFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT = VkPipelineRasterizationConservativeStateCreateFlagsEXT VkFlags-                                                                   deriving (Eq, Ord, Num, Bounded,-                                                                             Enum, Integral, Bits,-                                                                             FiniteBits, Storable,-                                                                             Real, Data, Generic)+                                                                 deriving (Eq, Ord, Enum, Bits,+                                                                           FiniteBits, Storable)  instance Show            VkPipelineRasterizationConservativeStateCreateFlagsEXT          where-        {-# INLINE show #-}-        show (VkPipelineRasterizationConservativeStateCreateFlagsEXT x)-          = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read            VkPipelineRasterizationConservativeStateCreateFlagsEXT          where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPipelineRasterizationStateCreateFlags = VkPipelineRasterizationStateCreateFlags VkFlags-                                                    deriving (Eq, Ord, Num, Bounded, Enum, Integral,-                                                              Bits, FiniteBits, Storable, Real,-                                                              Data, Generic)+                                                  deriving (Eq, Ord, Enum, Bits, FiniteBits,+                                                            Storable)  instance Show VkPipelineRasterizationStateCreateFlags where-        {-# INLINE show #-}-        show (VkPipelineRasterizationStateCreateFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineRasterizationStateCreateFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPipelineShaderStageCreateFlags = VkPipelineShaderStageCreateFlags VkFlags-                                             deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                       FiniteBits, Storable, Real, Data, Generic)+                                           deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkPipelineShaderStageCreateFlags where-        {-# INLINE show #-}-        show (VkPipelineShaderStageCreateFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineShaderStageCreateFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPipelineTessellationStateCreateFlags = VkPipelineTessellationStateCreateFlags VkFlags-                                                   deriving (Eq, Ord, Num, Bounded, Enum, Integral,-                                                             Bits, FiniteBits, Storable, Real, Data,-                                                             Generic)+                                                 deriving (Eq, Ord, Enum, Bits, FiniteBits,+                                                           Storable)  instance Show VkPipelineTessellationStateCreateFlags where-        {-# INLINE show #-}-        show (VkPipelineTessellationStateCreateFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineTessellationStateCreateFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPipelineVertexInputStateCreateFlags = VkPipelineVertexInputStateCreateFlags VkFlags-                                                  deriving (Eq, Ord, Num, Bounded, Enum, Integral,-                                                            Bits, FiniteBits, Storable, Real, Data,-                                                            Generic)+                                                deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkPipelineVertexInputStateCreateFlags where-        {-# INLINE show #-}-        show (VkPipelineVertexInputStateCreateFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineVertexInputStateCreateFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPipelineViewportStateCreateFlags = VkPipelineViewportStateCreateFlags VkFlags-                                               deriving (Eq, Ord, Num, Bounded, Enum, Integral,-                                                         Bits, FiniteBits, Storable, Real, Data,-                                                         Generic)+                                             deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkPipelineViewportStateCreateFlags where-        {-# INLINE show #-}-        show (VkPipelineViewportStateCreateFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineViewportStateCreateFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPipelineViewportSwizzleStateCreateFlagsNV = VkPipelineViewportSwizzleStateCreateFlagsNV VkFlags-                                                        deriving (Eq, Ord, Num, Bounded, Enum,-                                                                  Integral, Bits, FiniteBits,-                                                                  Storable, Real, Data, Generic)+                                                      deriving (Eq, Ord, Enum, Bits, FiniteBits,+                                                                Storable)  instance Show VkPipelineViewportSwizzleStateCreateFlagsNV where-        {-# INLINE show #-}-        show (VkPipelineViewportSwizzleStateCreateFlagsNV x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineViewportSwizzleStateCreateFlagsNV where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkQueryPoolCreateFlags = VkQueryPoolCreateFlags VkFlags-                                   deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                             FiniteBits, Storable, Real, Data, Generic)+                                 deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkQueryPoolCreateFlags where-        {-# INLINE show #-}-        show (VkQueryPoolCreateFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkQueryPoolCreateFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkRenderPassCreateFlags = VkRenderPassCreateFlags VkFlags-                                    deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                              FiniteBits, Storable, Real, Data, Generic)+                                  deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkRenderPassCreateFlags where-        {-# INLINE show #-}-        show (VkRenderPassCreateFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkRenderPassCreateFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkSamplerCreateFlags = VkSamplerCreateFlags VkFlags-                                 deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits, FiniteBits,-                                           Storable, Real, Data, Generic)+                               deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkSamplerCreateFlags where-        {-# INLINE show #-}-        show (VkSamplerCreateFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkSamplerCreateFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkSemaphoreCreateFlags = VkSemaphoreCreateFlags VkFlags-                                   deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                             FiniteBits, Storable, Real, Data, Generic)+                                 deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkSemaphoreCreateFlags where-        {-# INLINE show #-}-        show (VkSemaphoreCreateFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkSemaphoreCreateFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkSemaphoreImportFlagsKHR = VkSemaphoreImportFlagsKHR VkFlags-                                      deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                FiniteBits, Storable, Real, Data, Generic)+                                    deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkSemaphoreImportFlagsKHR where-        {-# INLINE show #-}-        show (VkSemaphoreImportFlagsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkSemaphoreImportFlagsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkShaderModuleCreateFlags = VkShaderModuleCreateFlags VkFlags-                                      deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                FiniteBits, Storable, Real, Data, Generic)+                                    deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkShaderModuleCreateFlags where-        {-# INLINE show #-}-        show (VkShaderModuleCreateFlags x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkShaderModuleCreateFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkValidationCacheCreateFlagsEXT = VkValidationCacheCreateFlagsEXT VkFlags-                                            deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                      FiniteBits, Storable, Real, Data, Generic)+                                          deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkValidationCacheCreateFlagsEXT where-        {-# INLINE show #-}-        show (VkValidationCacheCreateFlagsEXT x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkValidationCacheCreateFlagsEXT where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkViSurfaceCreateFlagsNN = VkViSurfaceCreateFlagsNN VkFlags-                                     deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                               FiniteBits, Storable, Real, Data, Generic)+                                   deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkViSurfaceCreateFlagsNN where-        {-# INLINE show #-}-        show (VkViSurfaceCreateFlagsNN x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkViSurfaceCreateFlagsNN where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkWaylandSurfaceCreateFlagsKHR = VkWaylandSurfaceCreateFlagsKHR VkFlags-                                           deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                     FiniteBits, Storable, Real, Data, Generic)+                                         deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkWaylandSurfaceCreateFlagsKHR where-        {-# INLINE show #-}-        show (VkWaylandSurfaceCreateFlagsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkWaylandSurfaceCreateFlagsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkWin32SurfaceCreateFlagsKHR = VkWin32SurfaceCreateFlagsKHR VkFlags-                                         deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                   FiniteBits, Storable, Real, Data, Generic)+                                       deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkWin32SurfaceCreateFlagsKHR where-        {-# INLINE show #-}-        show (VkWin32SurfaceCreateFlagsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkWin32SurfaceCreateFlagsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkXcbSurfaceCreateFlagsKHR = VkXcbSurfaceCreateFlagsKHR VkFlags-                                       deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                 FiniteBits, Storable, Real, Data, Generic)+                                     deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkXcbSurfaceCreateFlagsKHR where-        {-# INLINE show #-}-        show (VkXcbSurfaceCreateFlagsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkXcbSurfaceCreateFlagsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkXlibSurfaceCreateFlagsKHR = VkXlibSurfaceCreateFlagsKHR VkFlags-                                        deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                  FiniteBits, Storable, Real, Data, Generic)+                                      deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkXlibSurfaceCreateFlagsKHR where-        {-# INLINE show #-}-        show (VkXlibSurfaceCreateFlagsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkXlibSurfaceCreateFlagsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
src-gen/Graphics/Vulkan/Types/Enum/AccessFlags.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -24,9 +22,7 @@         VkAccessFlags, VkAccessFlagBits)        where import Data.Bits                       (Bits, FiniteBits)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -35,7 +31,7 @@ import Text.Read.Lex                   (Lexeme (..))  newtype VkAccessBitmask (a :: FlagType) = VkAccessBitmask VkFlags-                                            deriving (Eq, Ord, Storable, Data, Generic)+                                          deriving (Eq, Ord, Storable)  type VkAccessFlags = VkAccessBitmask FlagMask @@ -53,88 +49,78 @@  deriving instance FiniteBits (VkAccessBitmask FlagMask) -deriving instance Integral (VkAccessBitmask FlagMask)--deriving instance Num (VkAccessBitmask FlagMask)--deriving instance Bounded (VkAccessBitmask FlagMask)--deriving instance Enum (VkAccessBitmask FlagMask)--deriving instance Real (VkAccessBitmask FlagMask)- instance Show (VkAccessBitmask a) where-        showsPrec _ VK_ACCESS_INDIRECT_COMMAND_READ_BIT-          = showString "VK_ACCESS_INDIRECT_COMMAND_READ_BIT"-        showsPrec _ VK_ACCESS_INDEX_READ_BIT-          = showString "VK_ACCESS_INDEX_READ_BIT"-        showsPrec _ VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT-          = showString "VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT"-        showsPrec _ VK_ACCESS_UNIFORM_READ_BIT-          = showString "VK_ACCESS_UNIFORM_READ_BIT"-        showsPrec _ VK_ACCESS_INPUT_ATTACHMENT_READ_BIT-          = showString "VK_ACCESS_INPUT_ATTACHMENT_READ_BIT"-        showsPrec _ VK_ACCESS_SHADER_READ_BIT-          = showString "VK_ACCESS_SHADER_READ_BIT"-        showsPrec _ VK_ACCESS_SHADER_WRITE_BIT-          = showString "VK_ACCESS_SHADER_WRITE_BIT"-        showsPrec _ VK_ACCESS_COLOR_ATTACHMENT_READ_BIT-          = showString "VK_ACCESS_COLOR_ATTACHMENT_READ_BIT"-        showsPrec _ VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT-          = showString "VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT"-        showsPrec _ VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT-          = showString "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT"-        showsPrec _ VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT-          = showString "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT"-        showsPrec _ VK_ACCESS_TRANSFER_READ_BIT-          = showString "VK_ACCESS_TRANSFER_READ_BIT"-        showsPrec _ VK_ACCESS_TRANSFER_WRITE_BIT-          = showString "VK_ACCESS_TRANSFER_WRITE_BIT"-        showsPrec _ VK_ACCESS_HOST_READ_BIT-          = showString "VK_ACCESS_HOST_READ_BIT"-        showsPrec _ VK_ACCESS_HOST_WRITE_BIT-          = showString "VK_ACCESS_HOST_WRITE_BIT"-        showsPrec _ VK_ACCESS_MEMORY_READ_BIT-          = showString "VK_ACCESS_MEMORY_READ_BIT"-        showsPrec _ VK_ACCESS_MEMORY_WRITE_BIT-          = showString "VK_ACCESS_MEMORY_WRITE_BIT"-        showsPrec p (VkAccessBitmask x)-          = showParen (p >= 11)-              (showString "VkAccessBitmask " . showsPrec 11 x)+    showsPrec _ VK_ACCESS_INDIRECT_COMMAND_READ_BIT+      = showString "VK_ACCESS_INDIRECT_COMMAND_READ_BIT"+    showsPrec _ VK_ACCESS_INDEX_READ_BIT+      = showString "VK_ACCESS_INDEX_READ_BIT"+    showsPrec _ VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT+      = showString "VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT"+    showsPrec _ VK_ACCESS_UNIFORM_READ_BIT+      = showString "VK_ACCESS_UNIFORM_READ_BIT"+    showsPrec _ VK_ACCESS_INPUT_ATTACHMENT_READ_BIT+      = showString "VK_ACCESS_INPUT_ATTACHMENT_READ_BIT"+    showsPrec _ VK_ACCESS_SHADER_READ_BIT+      = showString "VK_ACCESS_SHADER_READ_BIT"+    showsPrec _ VK_ACCESS_SHADER_WRITE_BIT+      = showString "VK_ACCESS_SHADER_WRITE_BIT"+    showsPrec _ VK_ACCESS_COLOR_ATTACHMENT_READ_BIT+      = showString "VK_ACCESS_COLOR_ATTACHMENT_READ_BIT"+    showsPrec _ VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT+      = showString "VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT"+    showsPrec _ VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT+      = showString "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT"+    showsPrec _ VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT+      = showString "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT"+    showsPrec _ VK_ACCESS_TRANSFER_READ_BIT+      = showString "VK_ACCESS_TRANSFER_READ_BIT"+    showsPrec _ VK_ACCESS_TRANSFER_WRITE_BIT+      = showString "VK_ACCESS_TRANSFER_WRITE_BIT"+    showsPrec _ VK_ACCESS_HOST_READ_BIT+      = showString "VK_ACCESS_HOST_READ_BIT"+    showsPrec _ VK_ACCESS_HOST_WRITE_BIT+      = showString "VK_ACCESS_HOST_WRITE_BIT"+    showsPrec _ VK_ACCESS_MEMORY_READ_BIT+      = showString "VK_ACCESS_MEMORY_READ_BIT"+    showsPrec _ VK_ACCESS_MEMORY_WRITE_BIT+      = showString "VK_ACCESS_MEMORY_WRITE_BIT"+    showsPrec p (VkAccessBitmask x)+      = showParen (p >= 11)+          (showString "VkAccessBitmask " . showsPrec 11 x)  instance Read (VkAccessBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_ACCESS_INDIRECT_COMMAND_READ_BIT",-                   pure VK_ACCESS_INDIRECT_COMMAND_READ_BIT),-                  ("VK_ACCESS_INDEX_READ_BIT", pure VK_ACCESS_INDEX_READ_BIT),-                  ("VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT",-                   pure VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT),-                  ("VK_ACCESS_UNIFORM_READ_BIT", pure VK_ACCESS_UNIFORM_READ_BIT),-                  ("VK_ACCESS_INPUT_ATTACHMENT_READ_BIT",-                   pure VK_ACCESS_INPUT_ATTACHMENT_READ_BIT),-                  ("VK_ACCESS_SHADER_READ_BIT", pure VK_ACCESS_SHADER_READ_BIT),-                  ("VK_ACCESS_SHADER_WRITE_BIT", pure VK_ACCESS_SHADER_WRITE_BIT),-                  ("VK_ACCESS_COLOR_ATTACHMENT_READ_BIT",-                   pure VK_ACCESS_COLOR_ATTACHMENT_READ_BIT),-                  ("VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT",-                   pure VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT),-                  ("VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT",-                   pure VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT),-                  ("VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT",-                   pure VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT),-                  ("VK_ACCESS_TRANSFER_READ_BIT", pure VK_ACCESS_TRANSFER_READ_BIT),-                  ("VK_ACCESS_TRANSFER_WRITE_BIT",-                   pure VK_ACCESS_TRANSFER_WRITE_BIT),-                  ("VK_ACCESS_HOST_READ_BIT", pure VK_ACCESS_HOST_READ_BIT),-                  ("VK_ACCESS_HOST_WRITE_BIT", pure VK_ACCESS_HOST_WRITE_BIT),-                  ("VK_ACCESS_MEMORY_READ_BIT", pure VK_ACCESS_MEMORY_READ_BIT),-                  ("VK_ACCESS_MEMORY_WRITE_BIT", pure VK_ACCESS_MEMORY_WRITE_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkAccessBitmask") >>-                      (VkAccessBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_ACCESS_INDIRECT_COMMAND_READ_BIT",+               pure VK_ACCESS_INDIRECT_COMMAND_READ_BIT),+              ("VK_ACCESS_INDEX_READ_BIT", pure VK_ACCESS_INDEX_READ_BIT),+              ("VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT",+               pure VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT),+              ("VK_ACCESS_UNIFORM_READ_BIT", pure VK_ACCESS_UNIFORM_READ_BIT),+              ("VK_ACCESS_INPUT_ATTACHMENT_READ_BIT",+               pure VK_ACCESS_INPUT_ATTACHMENT_READ_BIT),+              ("VK_ACCESS_SHADER_READ_BIT", pure VK_ACCESS_SHADER_READ_BIT),+              ("VK_ACCESS_SHADER_WRITE_BIT", pure VK_ACCESS_SHADER_WRITE_BIT),+              ("VK_ACCESS_COLOR_ATTACHMENT_READ_BIT",+               pure VK_ACCESS_COLOR_ATTACHMENT_READ_BIT),+              ("VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT",+               pure VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT),+              ("VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT",+               pure VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT),+              ("VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT",+               pure VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT),+              ("VK_ACCESS_TRANSFER_READ_BIT", pure VK_ACCESS_TRANSFER_READ_BIT),+              ("VK_ACCESS_TRANSFER_WRITE_BIT",+               pure VK_ACCESS_TRANSFER_WRITE_BIT),+              ("VK_ACCESS_HOST_READ_BIT", pure VK_ACCESS_HOST_READ_BIT),+              ("VK_ACCESS_HOST_WRITE_BIT", pure VK_ACCESS_HOST_WRITE_BIT),+              ("VK_ACCESS_MEMORY_READ_BIT", pure VK_ACCESS_MEMORY_READ_BIT),+              ("VK_ACCESS_MEMORY_WRITE_BIT", pure VK_ACCESS_MEMORY_WRITE_BIT)]+             ++++             prec 10+               (expectP (Ident "VkAccessBitmask") >>+                  (VkAccessBitmask <$> step readPrec)))  -- | Controls coherency of indirect command reads --
src-gen/Graphics/Vulkan/Types/Enum/Attachment.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -21,9 +19,7 @@                             VK_ATTACHMENT_STORE_OP_STORE, VK_ATTACHMENT_STORE_OP_DONT_CARE))        where import Data.Bits                       (Bits, FiniteBits)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType, Int32) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -33,7 +29,7 @@  newtype VkAttachmentDescriptionBitmask (a ::                                           FlagType) = VkAttachmentDescriptionBitmask VkFlags-                                                        deriving (Eq, Ord, Storable, Data, Generic)+                                                      deriving (Eq, Ord, Storable)  type VkAttachmentDescriptionFlags =      VkAttachmentDescriptionBitmask FlagMask@@ -58,34 +54,23 @@ deriving instance          FiniteBits (VkAttachmentDescriptionBitmask FlagMask) -deriving instance-         Integral (VkAttachmentDescriptionBitmask FlagMask)--deriving instance Num (VkAttachmentDescriptionBitmask FlagMask)--deriving instance Bounded (VkAttachmentDescriptionBitmask FlagMask)--deriving instance Enum (VkAttachmentDescriptionBitmask FlagMask)--deriving instance Real (VkAttachmentDescriptionBitmask FlagMask)- instance Show (VkAttachmentDescriptionBitmask a) where-        showsPrec _ VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT-          = showString "VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT"-        showsPrec p (VkAttachmentDescriptionBitmask x)-          = showParen (p >= 11)-              (showString "VkAttachmentDescriptionBitmask " . showsPrec 11 x)+    showsPrec _ VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT+      = showString "VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT"+    showsPrec p (VkAttachmentDescriptionBitmask x)+      = showParen (p >= 11)+          (showString "VkAttachmentDescriptionBitmask " . showsPrec 11 x)  instance Read (VkAttachmentDescriptionBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT",-                   pure VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkAttachmentDescriptionBitmask") >>-                      (VkAttachmentDescriptionBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT",+               pure VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT)]+             ++++             prec 10+               (expectP (Ident "VkAttachmentDescriptionBitmask") >>+                  (VkAttachmentDescriptionBitmask <$> step readPrec)))  -- | The attachment may alias physical memory of another attachment in the same render pass --@@ -100,31 +85,31 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkAttachmentLoadOp VkAttachmentLoadOp registry at www.khronos.org> newtype VkAttachmentLoadOp = VkAttachmentLoadOp Int32-                               deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                             deriving (Eq, Ord, Enum, Storable)  instance Show VkAttachmentLoadOp where-        showsPrec _ VK_ATTACHMENT_LOAD_OP_LOAD-          = showString "VK_ATTACHMENT_LOAD_OP_LOAD"-        showsPrec _ VK_ATTACHMENT_LOAD_OP_CLEAR-          = showString "VK_ATTACHMENT_LOAD_OP_CLEAR"-        showsPrec _ VK_ATTACHMENT_LOAD_OP_DONT_CARE-          = showString "VK_ATTACHMENT_LOAD_OP_DONT_CARE"-        showsPrec p (VkAttachmentLoadOp x)-          = showParen (p >= 11)-              (showString "VkAttachmentLoadOp " . showsPrec 11 x)+    showsPrec _ VK_ATTACHMENT_LOAD_OP_LOAD+      = showString "VK_ATTACHMENT_LOAD_OP_LOAD"+    showsPrec _ VK_ATTACHMENT_LOAD_OP_CLEAR+      = showString "VK_ATTACHMENT_LOAD_OP_CLEAR"+    showsPrec _ VK_ATTACHMENT_LOAD_OP_DONT_CARE+      = showString "VK_ATTACHMENT_LOAD_OP_DONT_CARE"+    showsPrec p (VkAttachmentLoadOp x)+      = showParen (p >= 11)+          (showString "VkAttachmentLoadOp " . showsPrec 11 x)  instance Read VkAttachmentLoadOp where-        readPrec-          = parens-              (choose-                 [("VK_ATTACHMENT_LOAD_OP_LOAD", pure VK_ATTACHMENT_LOAD_OP_LOAD),-                  ("VK_ATTACHMENT_LOAD_OP_CLEAR", pure VK_ATTACHMENT_LOAD_OP_CLEAR),-                  ("VK_ATTACHMENT_LOAD_OP_DONT_CARE",-                   pure VK_ATTACHMENT_LOAD_OP_DONT_CARE)]-                 +++-                 prec 10-                   (expectP (Ident "VkAttachmentLoadOp") >>-                      (VkAttachmentLoadOp <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_ATTACHMENT_LOAD_OP_LOAD", pure VK_ATTACHMENT_LOAD_OP_LOAD),+              ("VK_ATTACHMENT_LOAD_OP_CLEAR", pure VK_ATTACHMENT_LOAD_OP_CLEAR),+              ("VK_ATTACHMENT_LOAD_OP_DONT_CARE",+               pure VK_ATTACHMENT_LOAD_OP_DONT_CARE)]+             ++++             prec 10+               (expectP (Ident "VkAttachmentLoadOp") >>+                  (VkAttachmentLoadOp <$> step readPrec)))  pattern VK_ATTACHMENT_LOAD_OP_LOAD :: VkAttachmentLoadOp @@ -142,29 +127,29 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkAttachmentStoreOp VkAttachmentStoreOp registry at www.khronos.org> newtype VkAttachmentStoreOp = VkAttachmentStoreOp Int32-                                deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                              deriving (Eq, Ord, Enum, Storable)  instance Show VkAttachmentStoreOp where-        showsPrec _ VK_ATTACHMENT_STORE_OP_STORE-          = showString "VK_ATTACHMENT_STORE_OP_STORE"-        showsPrec _ VK_ATTACHMENT_STORE_OP_DONT_CARE-          = showString "VK_ATTACHMENT_STORE_OP_DONT_CARE"-        showsPrec p (VkAttachmentStoreOp x)-          = showParen (p >= 11)-              (showString "VkAttachmentStoreOp " . showsPrec 11 x)+    showsPrec _ VK_ATTACHMENT_STORE_OP_STORE+      = showString "VK_ATTACHMENT_STORE_OP_STORE"+    showsPrec _ VK_ATTACHMENT_STORE_OP_DONT_CARE+      = showString "VK_ATTACHMENT_STORE_OP_DONT_CARE"+    showsPrec p (VkAttachmentStoreOp x)+      = showParen (p >= 11)+          (showString "VkAttachmentStoreOp " . showsPrec 11 x)  instance Read VkAttachmentStoreOp where-        readPrec-          = parens-              (choose-                 [("VK_ATTACHMENT_STORE_OP_STORE",-                   pure VK_ATTACHMENT_STORE_OP_STORE),-                  ("VK_ATTACHMENT_STORE_OP_DONT_CARE",-                   pure VK_ATTACHMENT_STORE_OP_DONT_CARE)]-                 +++-                 prec 10-                   (expectP (Ident "VkAttachmentStoreOp") >>-                      (VkAttachmentStoreOp <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_ATTACHMENT_STORE_OP_STORE",+               pure VK_ATTACHMENT_STORE_OP_STORE),+              ("VK_ATTACHMENT_STORE_OP_DONT_CARE",+               pure VK_ATTACHMENT_STORE_OP_DONT_CARE)]+             ++++             prec 10+               (expectP (Ident "VkAttachmentStoreOp") >>+                  (VkAttachmentStoreOp <$> step readPrec)))  pattern VK_ATTACHMENT_STORE_OP_STORE :: VkAttachmentStoreOp 
src-gen/Graphics/Vulkan/Types/Enum/Blend.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -25,9 +23,7 @@                           VK_BLEND_OVERLAP_UNCORRELATED_EXT, VK_BLEND_OVERLAP_DISJOINT_EXT,                           VK_BLEND_OVERLAP_CONJOINT_EXT))        where-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Text.ParserCombinators.ReadPrec (prec, step, (+++))@@ -38,88 +34,88 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBlendFactor VkBlendFactor registry at www.khronos.org> newtype VkBlendFactor = VkBlendFactor Int32-                          deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                        deriving (Eq, Ord, Enum, Storable)  instance Show VkBlendFactor where-        showsPrec _ VK_BLEND_FACTOR_ZERO-          = showString "VK_BLEND_FACTOR_ZERO"-        showsPrec _ VK_BLEND_FACTOR_ONE = showString "VK_BLEND_FACTOR_ONE"-        showsPrec _ VK_BLEND_FACTOR_SRC_COLOR-          = showString "VK_BLEND_FACTOR_SRC_COLOR"-        showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR-          = showString "VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR"-        showsPrec _ VK_BLEND_FACTOR_DST_COLOR-          = showString "VK_BLEND_FACTOR_DST_COLOR"-        showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR-          = showString "VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR"-        showsPrec _ VK_BLEND_FACTOR_SRC_ALPHA-          = showString "VK_BLEND_FACTOR_SRC_ALPHA"-        showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA-          = showString "VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA"-        showsPrec _ VK_BLEND_FACTOR_DST_ALPHA-          = showString "VK_BLEND_FACTOR_DST_ALPHA"-        showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA-          = showString "VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA"-        showsPrec _ VK_BLEND_FACTOR_CONSTANT_COLOR-          = showString "VK_BLEND_FACTOR_CONSTANT_COLOR"-        showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR-          = showString "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR"-        showsPrec _ VK_BLEND_FACTOR_CONSTANT_ALPHA-          = showString "VK_BLEND_FACTOR_CONSTANT_ALPHA"-        showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA-          = showString "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA"-        showsPrec _ VK_BLEND_FACTOR_SRC_ALPHA_SATURATE-          = showString "VK_BLEND_FACTOR_SRC_ALPHA_SATURATE"-        showsPrec _ VK_BLEND_FACTOR_SRC1_COLOR-          = showString "VK_BLEND_FACTOR_SRC1_COLOR"-        showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR-          = showString "VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR"-        showsPrec _ VK_BLEND_FACTOR_SRC1_ALPHA-          = showString "VK_BLEND_FACTOR_SRC1_ALPHA"-        showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA-          = showString "VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA"-        showsPrec p (VkBlendFactor x)-          = showParen (p >= 11)-              (showString "VkBlendFactor " . showsPrec 11 x)+    showsPrec _ VK_BLEND_FACTOR_ZERO+      = showString "VK_BLEND_FACTOR_ZERO"+    showsPrec _ VK_BLEND_FACTOR_ONE = showString "VK_BLEND_FACTOR_ONE"+    showsPrec _ VK_BLEND_FACTOR_SRC_COLOR+      = showString "VK_BLEND_FACTOR_SRC_COLOR"+    showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR+      = showString "VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR"+    showsPrec _ VK_BLEND_FACTOR_DST_COLOR+      = showString "VK_BLEND_FACTOR_DST_COLOR"+    showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR+      = showString "VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR"+    showsPrec _ VK_BLEND_FACTOR_SRC_ALPHA+      = showString "VK_BLEND_FACTOR_SRC_ALPHA"+    showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA+      = showString "VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA"+    showsPrec _ VK_BLEND_FACTOR_DST_ALPHA+      = showString "VK_BLEND_FACTOR_DST_ALPHA"+    showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA+      = showString "VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA"+    showsPrec _ VK_BLEND_FACTOR_CONSTANT_COLOR+      = showString "VK_BLEND_FACTOR_CONSTANT_COLOR"+    showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR+      = showString "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR"+    showsPrec _ VK_BLEND_FACTOR_CONSTANT_ALPHA+      = showString "VK_BLEND_FACTOR_CONSTANT_ALPHA"+    showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA+      = showString "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA"+    showsPrec _ VK_BLEND_FACTOR_SRC_ALPHA_SATURATE+      = showString "VK_BLEND_FACTOR_SRC_ALPHA_SATURATE"+    showsPrec _ VK_BLEND_FACTOR_SRC1_COLOR+      = showString "VK_BLEND_FACTOR_SRC1_COLOR"+    showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR+      = showString "VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR"+    showsPrec _ VK_BLEND_FACTOR_SRC1_ALPHA+      = showString "VK_BLEND_FACTOR_SRC1_ALPHA"+    showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA+      = showString "VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA"+    showsPrec p (VkBlendFactor x)+      = showParen (p >= 11)+          (showString "VkBlendFactor " . showsPrec 11 x)  instance Read VkBlendFactor where-        readPrec-          = parens-              (choose-                 [("VK_BLEND_FACTOR_ZERO", pure VK_BLEND_FACTOR_ZERO),-                  ("VK_BLEND_FACTOR_ONE", pure VK_BLEND_FACTOR_ONE),-                  ("VK_BLEND_FACTOR_SRC_COLOR", pure VK_BLEND_FACTOR_SRC_COLOR),-                  ("VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR",-                   pure VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR),-                  ("VK_BLEND_FACTOR_DST_COLOR", pure VK_BLEND_FACTOR_DST_COLOR),-                  ("VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR",-                   pure VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR),-                  ("VK_BLEND_FACTOR_SRC_ALPHA", pure VK_BLEND_FACTOR_SRC_ALPHA),-                  ("VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA",-                   pure VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA),-                  ("VK_BLEND_FACTOR_DST_ALPHA", pure VK_BLEND_FACTOR_DST_ALPHA),-                  ("VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA",-                   pure VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA),-                  ("VK_BLEND_FACTOR_CONSTANT_COLOR",-                   pure VK_BLEND_FACTOR_CONSTANT_COLOR),-                  ("VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR",-                   pure VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR),-                  ("VK_BLEND_FACTOR_CONSTANT_ALPHA",-                   pure VK_BLEND_FACTOR_CONSTANT_ALPHA),-                  ("VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA",-                   pure VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA),-                  ("VK_BLEND_FACTOR_SRC_ALPHA_SATURATE",-                   pure VK_BLEND_FACTOR_SRC_ALPHA_SATURATE),-                  ("VK_BLEND_FACTOR_SRC1_COLOR", pure VK_BLEND_FACTOR_SRC1_COLOR),-                  ("VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR",-                   pure VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR),-                  ("VK_BLEND_FACTOR_SRC1_ALPHA", pure VK_BLEND_FACTOR_SRC1_ALPHA),-                  ("VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA",-                   pure VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA)]-                 +++-                 prec 10-                   (expectP (Ident "VkBlendFactor") >>-                      (VkBlendFactor <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_BLEND_FACTOR_ZERO", pure VK_BLEND_FACTOR_ZERO),+              ("VK_BLEND_FACTOR_ONE", pure VK_BLEND_FACTOR_ONE),+              ("VK_BLEND_FACTOR_SRC_COLOR", pure VK_BLEND_FACTOR_SRC_COLOR),+              ("VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR",+               pure VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR),+              ("VK_BLEND_FACTOR_DST_COLOR", pure VK_BLEND_FACTOR_DST_COLOR),+              ("VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR",+               pure VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR),+              ("VK_BLEND_FACTOR_SRC_ALPHA", pure VK_BLEND_FACTOR_SRC_ALPHA),+              ("VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA",+               pure VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA),+              ("VK_BLEND_FACTOR_DST_ALPHA", pure VK_BLEND_FACTOR_DST_ALPHA),+              ("VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA",+               pure VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA),+              ("VK_BLEND_FACTOR_CONSTANT_COLOR",+               pure VK_BLEND_FACTOR_CONSTANT_COLOR),+              ("VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR",+               pure VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR),+              ("VK_BLEND_FACTOR_CONSTANT_ALPHA",+               pure VK_BLEND_FACTOR_CONSTANT_ALPHA),+              ("VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA",+               pure VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA),+              ("VK_BLEND_FACTOR_SRC_ALPHA_SATURATE",+               pure VK_BLEND_FACTOR_SRC_ALPHA_SATURATE),+              ("VK_BLEND_FACTOR_SRC1_COLOR", pure VK_BLEND_FACTOR_SRC1_COLOR),+              ("VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR",+               pure VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR),+              ("VK_BLEND_FACTOR_SRC1_ALPHA", pure VK_BLEND_FACTOR_SRC1_ALPHA),+              ("VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA",+               pure VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA)]+             ++++             prec 10+               (expectP (Ident "VkBlendFactor") >>+                  (VkBlendFactor <$> step readPrec)))  pattern VK_BLEND_FACTOR_ZERO :: VkBlendFactor @@ -201,32 +197,32 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBlendOp VkBlendOp registry at www.khronos.org> newtype VkBlendOp = VkBlendOp Int32-                      deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                    deriving (Eq, Ord, Enum, Storable)  instance Show VkBlendOp where-        showsPrec _ VK_BLEND_OP_ADD = showString "VK_BLEND_OP_ADD"-        showsPrec _ VK_BLEND_OP_SUBTRACT-          = showString "VK_BLEND_OP_SUBTRACT"-        showsPrec _ VK_BLEND_OP_REVERSE_SUBTRACT-          = showString "VK_BLEND_OP_REVERSE_SUBTRACT"-        showsPrec _ VK_BLEND_OP_MIN = showString "VK_BLEND_OP_MIN"-        showsPrec _ VK_BLEND_OP_MAX = showString "VK_BLEND_OP_MAX"-        showsPrec p (VkBlendOp x)-          = showParen (p >= 11) (showString "VkBlendOp " . showsPrec 11 x)+    showsPrec _ VK_BLEND_OP_ADD = showString "VK_BLEND_OP_ADD"+    showsPrec _ VK_BLEND_OP_SUBTRACT+      = showString "VK_BLEND_OP_SUBTRACT"+    showsPrec _ VK_BLEND_OP_REVERSE_SUBTRACT+      = showString "VK_BLEND_OP_REVERSE_SUBTRACT"+    showsPrec _ VK_BLEND_OP_MIN = showString "VK_BLEND_OP_MIN"+    showsPrec _ VK_BLEND_OP_MAX = showString "VK_BLEND_OP_MAX"+    showsPrec p (VkBlendOp x)+      = showParen (p >= 11) (showString "VkBlendOp " . showsPrec 11 x)  instance Read VkBlendOp where-        readPrec-          = parens-              (choose-                 [("VK_BLEND_OP_ADD", pure VK_BLEND_OP_ADD),-                  ("VK_BLEND_OP_SUBTRACT", pure VK_BLEND_OP_SUBTRACT),-                  ("VK_BLEND_OP_REVERSE_SUBTRACT",-                   pure VK_BLEND_OP_REVERSE_SUBTRACT),-                  ("VK_BLEND_OP_MIN", pure VK_BLEND_OP_MIN),-                  ("VK_BLEND_OP_MAX", pure VK_BLEND_OP_MAX)]-                 +++-                 prec 10-                   (expectP (Ident "VkBlendOp") >> (VkBlendOp <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_BLEND_OP_ADD", pure VK_BLEND_OP_ADD),+              ("VK_BLEND_OP_SUBTRACT", pure VK_BLEND_OP_SUBTRACT),+              ("VK_BLEND_OP_REVERSE_SUBTRACT",+               pure VK_BLEND_OP_REVERSE_SUBTRACT),+              ("VK_BLEND_OP_MIN", pure VK_BLEND_OP_MIN),+              ("VK_BLEND_OP_MAX", pure VK_BLEND_OP_MAX)]+             ++++             prec 10+               (expectP (Ident "VkBlendOp") >> (VkBlendOp <$> step readPrec)))  pattern VK_BLEND_OP_ADD :: VkBlendOp @@ -252,33 +248,33 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBlendOverlapEXT VkBlendOverlapEXT registry at www.khronos.org> newtype VkBlendOverlapEXT = VkBlendOverlapEXT Int32-                              deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                            deriving (Eq, Ord, Enum, Storable)  instance Show VkBlendOverlapEXT where-        showsPrec _ VK_BLEND_OVERLAP_UNCORRELATED_EXT-          = showString "VK_BLEND_OVERLAP_UNCORRELATED_EXT"-        showsPrec _ VK_BLEND_OVERLAP_DISJOINT_EXT-          = showString "VK_BLEND_OVERLAP_DISJOINT_EXT"-        showsPrec _ VK_BLEND_OVERLAP_CONJOINT_EXT-          = showString "VK_BLEND_OVERLAP_CONJOINT_EXT"-        showsPrec p (VkBlendOverlapEXT x)-          = showParen (p >= 11)-              (showString "VkBlendOverlapEXT " . showsPrec 11 x)+    showsPrec _ VK_BLEND_OVERLAP_UNCORRELATED_EXT+      = showString "VK_BLEND_OVERLAP_UNCORRELATED_EXT"+    showsPrec _ VK_BLEND_OVERLAP_DISJOINT_EXT+      = showString "VK_BLEND_OVERLAP_DISJOINT_EXT"+    showsPrec _ VK_BLEND_OVERLAP_CONJOINT_EXT+      = showString "VK_BLEND_OVERLAP_CONJOINT_EXT"+    showsPrec p (VkBlendOverlapEXT x)+      = showParen (p >= 11)+          (showString "VkBlendOverlapEXT " . showsPrec 11 x)  instance Read VkBlendOverlapEXT where-        readPrec-          = parens-              (choose-                 [("VK_BLEND_OVERLAP_UNCORRELATED_EXT",-                   pure VK_BLEND_OVERLAP_UNCORRELATED_EXT),-                  ("VK_BLEND_OVERLAP_DISJOINT_EXT",-                   pure VK_BLEND_OVERLAP_DISJOINT_EXT),-                  ("VK_BLEND_OVERLAP_CONJOINT_EXT",-                   pure VK_BLEND_OVERLAP_CONJOINT_EXT)]-                 +++-                 prec 10-                   (expectP (Ident "VkBlendOverlapEXT") >>-                      (VkBlendOverlapEXT <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_BLEND_OVERLAP_UNCORRELATED_EXT",+               pure VK_BLEND_OVERLAP_UNCORRELATED_EXT),+              ("VK_BLEND_OVERLAP_DISJOINT_EXT",+               pure VK_BLEND_OVERLAP_DISJOINT_EXT),+              ("VK_BLEND_OVERLAP_CONJOINT_EXT",+               pure VK_BLEND_OVERLAP_CONJOINT_EXT)]+             ++++             prec 10+               (expectP (Ident "VkBlendOverlapEXT") >>+                  (VkBlendOverlapEXT <$> step readPrec)))  pattern VK_BLEND_OVERLAP_UNCORRELATED_EXT :: VkBlendOverlapEXT 
src-gen/Graphics/Vulkan/Types/Enum/BorderColor.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -14,9 +12,7 @@                       VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE,                       VK_BORDER_COLOR_INT_OPAQUE_WHITE))        where-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Text.ParserCombinators.ReadPrec (prec, step, (+++))@@ -27,45 +23,45 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBorderColor VkBorderColor registry at www.khronos.org> newtype VkBorderColor = VkBorderColor Int32-                          deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                        deriving (Eq, Ord, Enum, Storable)  instance Show VkBorderColor where-        showsPrec _ VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK-          = showString "VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK"-        showsPrec _ VK_BORDER_COLOR_INT_TRANSPARENT_BLACK-          = showString "VK_BORDER_COLOR_INT_TRANSPARENT_BLACK"-        showsPrec _ VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK-          = showString "VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK"-        showsPrec _ VK_BORDER_COLOR_INT_OPAQUE_BLACK-          = showString "VK_BORDER_COLOR_INT_OPAQUE_BLACK"-        showsPrec _ VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE-          = showString "VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE"-        showsPrec _ VK_BORDER_COLOR_INT_OPAQUE_WHITE-          = showString "VK_BORDER_COLOR_INT_OPAQUE_WHITE"-        showsPrec p (VkBorderColor x)-          = showParen (p >= 11)-              (showString "VkBorderColor " . showsPrec 11 x)+    showsPrec _ VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK+      = showString "VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK"+    showsPrec _ VK_BORDER_COLOR_INT_TRANSPARENT_BLACK+      = showString "VK_BORDER_COLOR_INT_TRANSPARENT_BLACK"+    showsPrec _ VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK+      = showString "VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK"+    showsPrec _ VK_BORDER_COLOR_INT_OPAQUE_BLACK+      = showString "VK_BORDER_COLOR_INT_OPAQUE_BLACK"+    showsPrec _ VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE+      = showString "VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE"+    showsPrec _ VK_BORDER_COLOR_INT_OPAQUE_WHITE+      = showString "VK_BORDER_COLOR_INT_OPAQUE_WHITE"+    showsPrec p (VkBorderColor x)+      = showParen (p >= 11)+          (showString "VkBorderColor " . showsPrec 11 x)  instance Read VkBorderColor where-        readPrec-          = parens-              (choose-                 [("VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK",-                   pure VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK),-                  ("VK_BORDER_COLOR_INT_TRANSPARENT_BLACK",-                   pure VK_BORDER_COLOR_INT_TRANSPARENT_BLACK),-                  ("VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK",-                   pure VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK),-                  ("VK_BORDER_COLOR_INT_OPAQUE_BLACK",-                   pure VK_BORDER_COLOR_INT_OPAQUE_BLACK),-                  ("VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE",-                   pure VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE),-                  ("VK_BORDER_COLOR_INT_OPAQUE_WHITE",-                   pure VK_BORDER_COLOR_INT_OPAQUE_WHITE)]-                 +++-                 prec 10-                   (expectP (Ident "VkBorderColor") >>-                      (VkBorderColor <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK",+               pure VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK),+              ("VK_BORDER_COLOR_INT_TRANSPARENT_BLACK",+               pure VK_BORDER_COLOR_INT_TRANSPARENT_BLACK),+              ("VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK",+               pure VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK),+              ("VK_BORDER_COLOR_INT_OPAQUE_BLACK",+               pure VK_BORDER_COLOR_INT_OPAQUE_BLACK),+              ("VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE",+               pure VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE),+              ("VK_BORDER_COLOR_INT_OPAQUE_WHITE",+               pure VK_BORDER_COLOR_INT_OPAQUE_WHITE)]+             ++++             prec 10+               (expectP (Ident "VkBorderColor") >>+                  (VkBorderColor <$> step readPrec)))  pattern VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK :: VkBorderColor 
src-gen/Graphics/Vulkan/Types/Enum/Buffer.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -30,9 +28,7 @@        where import Data.Bits                       (Bits, FiniteBits) import Data.Coerce                     (coerce)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -42,7 +38,7 @@  newtype VkBufferCreateBitmask (a ::                                  FlagType) = VkBufferCreateBitmask VkFlags-                                               deriving (Eq, Ord, Storable, Data, Generic)+                                             deriving (Eq, Ord, Storable)  type VkBufferCreateFlags = VkBufferCreateBitmask FlagMask @@ -62,41 +58,31 @@  deriving instance FiniteBits (VkBufferCreateBitmask FlagMask) -deriving instance Integral (VkBufferCreateBitmask FlagMask)--deriving instance Num (VkBufferCreateBitmask FlagMask)--deriving instance Bounded (VkBufferCreateBitmask FlagMask)--deriving instance Enum (VkBufferCreateBitmask FlagMask)--deriving instance Real (VkBufferCreateBitmask FlagMask)- instance Show (VkBufferCreateBitmask a) where-        showsPrec _ VK_BUFFER_CREATE_SPARSE_BINDING_BIT-          = showString "VK_BUFFER_CREATE_SPARSE_BINDING_BIT"-        showsPrec _ VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT-          = showString "VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT"-        showsPrec _ VK_BUFFER_CREATE_SPARSE_ALIASED_BIT-          = showString "VK_BUFFER_CREATE_SPARSE_ALIASED_BIT"-        showsPrec p (VkBufferCreateBitmask x)-          = showParen (p >= 11)-              (showString "VkBufferCreateBitmask " . showsPrec 11 x)+    showsPrec _ VK_BUFFER_CREATE_SPARSE_BINDING_BIT+      = showString "VK_BUFFER_CREATE_SPARSE_BINDING_BIT"+    showsPrec _ VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT+      = showString "VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT"+    showsPrec _ VK_BUFFER_CREATE_SPARSE_ALIASED_BIT+      = showString "VK_BUFFER_CREATE_SPARSE_ALIASED_BIT"+    showsPrec p (VkBufferCreateBitmask x)+      = showParen (p >= 11)+          (showString "VkBufferCreateBitmask " . showsPrec 11 x)  instance Read (VkBufferCreateBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_BUFFER_CREATE_SPARSE_BINDING_BIT",-                   pure VK_BUFFER_CREATE_SPARSE_BINDING_BIT),-                  ("VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT",-                   pure VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT),-                  ("VK_BUFFER_CREATE_SPARSE_ALIASED_BIT",-                   pure VK_BUFFER_CREATE_SPARSE_ALIASED_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkBufferCreateBitmask") >>-                      (VkBufferCreateBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_BUFFER_CREATE_SPARSE_BINDING_BIT",+               pure VK_BUFFER_CREATE_SPARSE_BINDING_BIT),+              ("VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT",+               pure VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT),+              ("VK_BUFFER_CREATE_SPARSE_ALIASED_BIT",+               pure VK_BUFFER_CREATE_SPARSE_ALIASED_BIT)]+             ++++             prec 10+               (expectP (Ident "VkBufferCreateBitmask") >>+                  (VkBufferCreateBitmask <$> step readPrec)))  -- | Buffer should support sparse backing --@@ -127,7 +113,7 @@  newtype VkBufferUsageBitmask (a ::                                 FlagType) = VkBufferUsageBitmask VkFlags-                                              deriving (Eq, Ord, Storable, Data, Generic)+                                            deriving (Eq, Ord, Storable)  type VkBufferUsageFlags = VkBufferUsageBitmask FlagMask @@ -147,65 +133,55 @@  deriving instance FiniteBits (VkBufferUsageBitmask FlagMask) -deriving instance Integral (VkBufferUsageBitmask FlagMask)--deriving instance Num (VkBufferUsageBitmask FlagMask)--deriving instance Bounded (VkBufferUsageBitmask FlagMask)--deriving instance Enum (VkBufferUsageBitmask FlagMask)--deriving instance Real (VkBufferUsageBitmask FlagMask)- instance Show (VkBufferUsageBitmask a) where-        showsPrec _ VK_BUFFER_USAGE_TRANSFER_SRC_BIT-          = showString "VK_BUFFER_USAGE_TRANSFER_SRC_BIT"-        showsPrec _ VK_BUFFER_USAGE_TRANSFER_DST_BIT-          = showString "VK_BUFFER_USAGE_TRANSFER_DST_BIT"-        showsPrec _ VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT-          = showString "VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT"-        showsPrec _ VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT-          = showString "VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT"-        showsPrec _ VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT-          = showString "VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT"-        showsPrec _ VK_BUFFER_USAGE_STORAGE_BUFFER_BIT-          = showString "VK_BUFFER_USAGE_STORAGE_BUFFER_BIT"-        showsPrec _ VK_BUFFER_USAGE_INDEX_BUFFER_BIT-          = showString "VK_BUFFER_USAGE_INDEX_BUFFER_BIT"-        showsPrec _ VK_BUFFER_USAGE_VERTEX_BUFFER_BIT-          = showString "VK_BUFFER_USAGE_VERTEX_BUFFER_BIT"-        showsPrec _ VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT-          = showString "VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT"-        showsPrec p (VkBufferUsageBitmask x)-          = showParen (p >= 11)-              (showString "VkBufferUsageBitmask " . showsPrec 11 x)+    showsPrec _ VK_BUFFER_USAGE_TRANSFER_SRC_BIT+      = showString "VK_BUFFER_USAGE_TRANSFER_SRC_BIT"+    showsPrec _ VK_BUFFER_USAGE_TRANSFER_DST_BIT+      = showString "VK_BUFFER_USAGE_TRANSFER_DST_BIT"+    showsPrec _ VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT+      = showString "VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT"+    showsPrec _ VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT+      = showString "VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT"+    showsPrec _ VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT+      = showString "VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT"+    showsPrec _ VK_BUFFER_USAGE_STORAGE_BUFFER_BIT+      = showString "VK_BUFFER_USAGE_STORAGE_BUFFER_BIT"+    showsPrec _ VK_BUFFER_USAGE_INDEX_BUFFER_BIT+      = showString "VK_BUFFER_USAGE_INDEX_BUFFER_BIT"+    showsPrec _ VK_BUFFER_USAGE_VERTEX_BUFFER_BIT+      = showString "VK_BUFFER_USAGE_VERTEX_BUFFER_BIT"+    showsPrec _ VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT+      = showString "VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT"+    showsPrec p (VkBufferUsageBitmask x)+      = showParen (p >= 11)+          (showString "VkBufferUsageBitmask " . showsPrec 11 x)  instance Read (VkBufferUsageBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_BUFFER_USAGE_TRANSFER_SRC_BIT",-                   pure VK_BUFFER_USAGE_TRANSFER_SRC_BIT),-                  ("VK_BUFFER_USAGE_TRANSFER_DST_BIT",-                   pure VK_BUFFER_USAGE_TRANSFER_DST_BIT),-                  ("VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT",-                   pure VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT),-                  ("VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT",-                   pure VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT),-                  ("VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT",-                   pure VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT),-                  ("VK_BUFFER_USAGE_STORAGE_BUFFER_BIT",-                   pure VK_BUFFER_USAGE_STORAGE_BUFFER_BIT),-                  ("VK_BUFFER_USAGE_INDEX_BUFFER_BIT",-                   pure VK_BUFFER_USAGE_INDEX_BUFFER_BIT),-                  ("VK_BUFFER_USAGE_VERTEX_BUFFER_BIT",-                   pure VK_BUFFER_USAGE_VERTEX_BUFFER_BIT),-                  ("VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT",-                   pure VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkBufferUsageBitmask") >>-                      (VkBufferUsageBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_BUFFER_USAGE_TRANSFER_SRC_BIT",+               pure VK_BUFFER_USAGE_TRANSFER_SRC_BIT),+              ("VK_BUFFER_USAGE_TRANSFER_DST_BIT",+               pure VK_BUFFER_USAGE_TRANSFER_DST_BIT),+              ("VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT",+               pure VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT),+              ("VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT",+               pure VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT),+              ("VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT",+               pure VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT),+              ("VK_BUFFER_USAGE_STORAGE_BUFFER_BIT",+               pure VK_BUFFER_USAGE_STORAGE_BUFFER_BIT),+              ("VK_BUFFER_USAGE_INDEX_BUFFER_BIT",+               pure VK_BUFFER_USAGE_INDEX_BUFFER_BIT),+              ("VK_BUFFER_USAGE_VERTEX_BUFFER_BIT",+               pure VK_BUFFER_USAGE_VERTEX_BUFFER_BIT),+              ("VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT",+               pure VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT)]+             ++++             prec 10+               (expectP (Ident "VkBufferUsageBitmask") >>+                  (VkBufferUsageBitmask <$> step readPrec)))  -- | Can be used as a source of transfer operations --@@ -282,13 +258,12 @@         VkBufferUsageBitmask 256  newtype VkBufferViewCreateFlagBits = VkBufferViewCreateFlagBits VkFlags-                                       deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                 FiniteBits, Storable, Real, Data, Generic)+                                     deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkBufferViewCreateFlagBits where-        {-# INLINE show #-}-        show (VkBufferViewCreateFlagBits x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkBufferViewCreateFlagBits where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
src-gen/Graphics/Vulkan/Types/Enum/ChromaLocation.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -12,9 +10,7 @@        where import Data.Bits                       (Bits, FiniteBits) import Data.Coerce                     (coerce)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Graphics.Vulkan.Types.BaseTypes (VkFlags)@@ -26,28 +22,28 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkChromaLocation VkChromaLocation registry at www.khronos.org> newtype VkChromaLocation = VkChromaLocation Int32-                             deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                           deriving (Eq, Ord, Enum, Storable)  instance Show VkChromaLocation where-        showsPrec _ VK_CHROMA_LOCATION_COSITED_EVEN-          = showString "VK_CHROMA_LOCATION_COSITED_EVEN"-        showsPrec _ VK_CHROMA_LOCATION_MIDPOINT-          = showString "VK_CHROMA_LOCATION_MIDPOINT"-        showsPrec p (VkChromaLocation x)-          = showParen (p >= 11)-              (showString "VkChromaLocation " . showsPrec 11 x)+    showsPrec _ VK_CHROMA_LOCATION_COSITED_EVEN+      = showString "VK_CHROMA_LOCATION_COSITED_EVEN"+    showsPrec _ VK_CHROMA_LOCATION_MIDPOINT+      = showString "VK_CHROMA_LOCATION_MIDPOINT"+    showsPrec p (VkChromaLocation x)+      = showParen (p >= 11)+          (showString "VkChromaLocation " . showsPrec 11 x)  instance Read VkChromaLocation where-        readPrec-          = parens-              (choose-                 [("VK_CHROMA_LOCATION_COSITED_EVEN",-                   pure VK_CHROMA_LOCATION_COSITED_EVEN),-                  ("VK_CHROMA_LOCATION_MIDPOINT", pure VK_CHROMA_LOCATION_MIDPOINT)]-                 +++-                 prec 10-                   (expectP (Ident "VkChromaLocation") >>-                      (VkChromaLocation <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_CHROMA_LOCATION_COSITED_EVEN",+               pure VK_CHROMA_LOCATION_COSITED_EVEN),+              ("VK_CHROMA_LOCATION_MIDPOINT", pure VK_CHROMA_LOCATION_MIDPOINT)]+             ++++             prec 10+               (expectP (Ident "VkChromaLocation") >>+                  (VkChromaLocation <$> step readPrec)))  pattern VK_CHROMA_LOCATION_COSITED_EVEN :: VkChromaLocation @@ -58,13 +54,12 @@ pattern VK_CHROMA_LOCATION_MIDPOINT = VkChromaLocation 1  newtype VkChromaLocationKHR = VkChromaLocationKHR VkFlags-                                deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits, FiniteBits,-                                          Storable, Real, Data, Generic)+                              deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkChromaLocationKHR where-        {-# INLINE show #-}-        show (VkChromaLocationKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkChromaLocationKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
src-gen/Graphics/Vulkan/Types/Enum/Color.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -19,9 +17,7 @@                         VK_COLOR_SPACE_SRGB_NONLINEAR_KHR))        where import Data.Bits                       (Bits, FiniteBits)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType, Int32) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -31,7 +27,7 @@  newtype VkColorComponentBitmask (a ::                                    FlagType) = VkColorComponentBitmask VkFlags-                                                 deriving (Eq, Ord, Storable, Data, Generic)+                                               deriving (Eq, Ord, Storable)  type VkColorComponentFlags = VkColorComponentBitmask FlagMask @@ -51,41 +47,31 @@  deriving instance FiniteBits (VkColorComponentBitmask FlagMask) -deriving instance Integral (VkColorComponentBitmask FlagMask)--deriving instance Num (VkColorComponentBitmask FlagMask)--deriving instance Bounded (VkColorComponentBitmask FlagMask)--deriving instance Enum (VkColorComponentBitmask FlagMask)--deriving instance Real (VkColorComponentBitmask FlagMask)- instance Show (VkColorComponentBitmask a) where-        showsPrec _ VK_COLOR_COMPONENT_R_BIT-          = showString "VK_COLOR_COMPONENT_R_BIT"-        showsPrec _ VK_COLOR_COMPONENT_G_BIT-          = showString "VK_COLOR_COMPONENT_G_BIT"-        showsPrec _ VK_COLOR_COMPONENT_B_BIT-          = showString "VK_COLOR_COMPONENT_B_BIT"-        showsPrec _ VK_COLOR_COMPONENT_A_BIT-          = showString "VK_COLOR_COMPONENT_A_BIT"-        showsPrec p (VkColorComponentBitmask x)-          = showParen (p >= 11)-              (showString "VkColorComponentBitmask " . showsPrec 11 x)+    showsPrec _ VK_COLOR_COMPONENT_R_BIT+      = showString "VK_COLOR_COMPONENT_R_BIT"+    showsPrec _ VK_COLOR_COMPONENT_G_BIT+      = showString "VK_COLOR_COMPONENT_G_BIT"+    showsPrec _ VK_COLOR_COMPONENT_B_BIT+      = showString "VK_COLOR_COMPONENT_B_BIT"+    showsPrec _ VK_COLOR_COMPONENT_A_BIT+      = showString "VK_COLOR_COMPONENT_A_BIT"+    showsPrec p (VkColorComponentBitmask x)+      = showParen (p >= 11)+          (showString "VkColorComponentBitmask " . showsPrec 11 x)  instance Read (VkColorComponentBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_COLOR_COMPONENT_R_BIT", pure VK_COLOR_COMPONENT_R_BIT),-                  ("VK_COLOR_COMPONENT_G_BIT", pure VK_COLOR_COMPONENT_G_BIT),-                  ("VK_COLOR_COMPONENT_B_BIT", pure VK_COLOR_COMPONENT_B_BIT),-                  ("VK_COLOR_COMPONENT_A_BIT", pure VK_COLOR_COMPONENT_A_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkColorComponentBitmask") >>-                      (VkColorComponentBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_COLOR_COMPONENT_R_BIT", pure VK_COLOR_COMPONENT_R_BIT),+              ("VK_COLOR_COMPONENT_G_BIT", pure VK_COLOR_COMPONENT_G_BIT),+              ("VK_COLOR_COMPONENT_B_BIT", pure VK_COLOR_COMPONENT_B_BIT),+              ("VK_COLOR_COMPONENT_A_BIT", pure VK_COLOR_COMPONENT_A_BIT)]+             ++++             prec 10+               (expectP (Ident "VkColorComponentBitmask") >>+                  (VkColorComponentBitmask <$> step readPrec)))  -- | bitpos = @0@ pattern VK_COLOR_COMPONENT_R_BIT :: VkColorComponentBitmask a@@ -111,25 +97,25 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkColorSpaceKHR VkColorSpaceKHR registry at www.khronos.org> newtype VkColorSpaceKHR = VkColorSpaceKHR Int32-                            deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                          deriving (Eq, Ord, Enum, Storable)  instance Show VkColorSpaceKHR where-        showsPrec _ VK_COLOR_SPACE_SRGB_NONLINEAR_KHR-          = showString "VK_COLOR_SPACE_SRGB_NONLINEAR_KHR"-        showsPrec p (VkColorSpaceKHR x)-          = showParen (p >= 11)-              (showString "VkColorSpaceKHR " . showsPrec 11 x)+    showsPrec _ VK_COLOR_SPACE_SRGB_NONLINEAR_KHR+      = showString "VK_COLOR_SPACE_SRGB_NONLINEAR_KHR"+    showsPrec p (VkColorSpaceKHR x)+      = showParen (p >= 11)+          (showString "VkColorSpaceKHR " . showsPrec 11 x)  instance Read VkColorSpaceKHR where-        readPrec-          = parens-              (choose-                 [("VK_COLOR_SPACE_SRGB_NONLINEAR_KHR",-                   pure VK_COLOR_SPACE_SRGB_NONLINEAR_KHR)]-                 +++-                 prec 10-                   (expectP (Ident "VkColorSpaceKHR") >>-                      (VkColorSpaceKHR <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_COLOR_SPACE_SRGB_NONLINEAR_KHR",+               pure VK_COLOR_SPACE_SRGB_NONLINEAR_KHR)]+             ++++             prec 10+               (expectP (Ident "VkColorSpaceKHR") >>+                  (VkColorSpaceKHR <$> step readPrec)))  pattern VK_COLOR_SPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR 
src-gen/Graphics/Vulkan/Types/Enum/Command.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -34,9 +32,7 @@         VkCommandPoolResetFlags, VkCommandPoolResetFlagBits)        where import Data.Bits                       (Bits, FiniteBits)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType, Int32) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -48,29 +44,29 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkCommandBufferLevel VkCommandBufferLevel registry at www.khronos.org> newtype VkCommandBufferLevel = VkCommandBufferLevel Int32-                                 deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                               deriving (Eq, Ord, Enum, Storable)  instance Show VkCommandBufferLevel where-        showsPrec _ VK_COMMAND_BUFFER_LEVEL_PRIMARY-          = showString "VK_COMMAND_BUFFER_LEVEL_PRIMARY"-        showsPrec _ VK_COMMAND_BUFFER_LEVEL_SECONDARY-          = showString "VK_COMMAND_BUFFER_LEVEL_SECONDARY"-        showsPrec p (VkCommandBufferLevel x)-          = showParen (p >= 11)-              (showString "VkCommandBufferLevel " . showsPrec 11 x)+    showsPrec _ VK_COMMAND_BUFFER_LEVEL_PRIMARY+      = showString "VK_COMMAND_BUFFER_LEVEL_PRIMARY"+    showsPrec _ VK_COMMAND_BUFFER_LEVEL_SECONDARY+      = showString "VK_COMMAND_BUFFER_LEVEL_SECONDARY"+    showsPrec p (VkCommandBufferLevel x)+      = showParen (p >= 11)+          (showString "VkCommandBufferLevel " . showsPrec 11 x)  instance Read VkCommandBufferLevel where-        readPrec-          = parens-              (choose-                 [("VK_COMMAND_BUFFER_LEVEL_PRIMARY",-                   pure VK_COMMAND_BUFFER_LEVEL_PRIMARY),-                  ("VK_COMMAND_BUFFER_LEVEL_SECONDARY",-                   pure VK_COMMAND_BUFFER_LEVEL_SECONDARY)]-                 +++-                 prec 10-                   (expectP (Ident "VkCommandBufferLevel") >>-                      (VkCommandBufferLevel <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_COMMAND_BUFFER_LEVEL_PRIMARY",+               pure VK_COMMAND_BUFFER_LEVEL_PRIMARY),+              ("VK_COMMAND_BUFFER_LEVEL_SECONDARY",+               pure VK_COMMAND_BUFFER_LEVEL_SECONDARY)]+             ++++             prec 10+               (expectP (Ident "VkCommandBufferLevel") >>+                  (VkCommandBufferLevel <$> step readPrec)))  pattern VK_COMMAND_BUFFER_LEVEL_PRIMARY :: VkCommandBufferLevel @@ -82,7 +78,7 @@  newtype VkCommandBufferResetBitmask (a ::                                        FlagType) = VkCommandBufferResetBitmask VkFlags-                                                     deriving (Eq, Ord, Storable, Data, Generic)+                                                   deriving (Eq, Ord, Storable)  type VkCommandBufferResetFlags =      VkCommandBufferResetBitmask FlagMask@@ -105,33 +101,23 @@  deriving instance FiniteBits (VkCommandBufferResetBitmask FlagMask) -deriving instance Integral (VkCommandBufferResetBitmask FlagMask)--deriving instance Num (VkCommandBufferResetBitmask FlagMask)--deriving instance Bounded (VkCommandBufferResetBitmask FlagMask)--deriving instance Enum (VkCommandBufferResetBitmask FlagMask)--deriving instance Real (VkCommandBufferResetBitmask FlagMask)- instance Show (VkCommandBufferResetBitmask a) where-        showsPrec _ VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT-          = showString "VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT"-        showsPrec p (VkCommandBufferResetBitmask x)-          = showParen (p >= 11)-              (showString "VkCommandBufferResetBitmask " . showsPrec 11 x)+    showsPrec _ VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT+      = showString "VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT"+    showsPrec p (VkCommandBufferResetBitmask x)+      = showParen (p >= 11)+          (showString "VkCommandBufferResetBitmask " . showsPrec 11 x)  instance Read (VkCommandBufferResetBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT",-                   pure VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkCommandBufferResetBitmask") >>-                      (VkCommandBufferResetBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT",+               pure VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT)]+             ++++             prec 10+               (expectP (Ident "VkCommandBufferResetBitmask") >>+                  (VkCommandBufferResetBitmask <$> step readPrec)))  -- | Release resources owned by the buffer --@@ -144,7 +130,7 @@  newtype VkCommandBufferUsageBitmask (a ::                                        FlagType) = VkCommandBufferUsageBitmask VkFlags-                                                     deriving (Eq, Ord, Storable, Data, Generic)+                                                   deriving (Eq, Ord, Storable)  type VkCommandBufferUsageFlags =      VkCommandBufferUsageBitmask FlagMask@@ -167,41 +153,31 @@  deriving instance FiniteBits (VkCommandBufferUsageBitmask FlagMask) -deriving instance Integral (VkCommandBufferUsageBitmask FlagMask)--deriving instance Num (VkCommandBufferUsageBitmask FlagMask)--deriving instance Bounded (VkCommandBufferUsageBitmask FlagMask)--deriving instance Enum (VkCommandBufferUsageBitmask FlagMask)--deriving instance Real (VkCommandBufferUsageBitmask FlagMask)- instance Show (VkCommandBufferUsageBitmask a) where-        showsPrec _ VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT-          = showString "VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT"-        showsPrec _ VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT-          = showString "VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT"-        showsPrec _ VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT-          = showString "VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT"-        showsPrec p (VkCommandBufferUsageBitmask x)-          = showParen (p >= 11)-              (showString "VkCommandBufferUsageBitmask " . showsPrec 11 x)+    showsPrec _ VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT+      = showString "VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT"+    showsPrec _ VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT+      = showString "VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT"+    showsPrec _ VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT+      = showString "VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT"+    showsPrec p (VkCommandBufferUsageBitmask x)+      = showParen (p >= 11)+          (showString "VkCommandBufferUsageBitmask " . showsPrec 11 x)  instance Read (VkCommandBufferUsageBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT",-                   pure VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT),-                  ("VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT",-                   pure VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT),-                  ("VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT",-                   pure VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkCommandBufferUsageBitmask") >>-                      (VkCommandBufferUsageBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT",+               pure VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT),+              ("VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT",+               pure VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT),+              ("VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT",+               pure VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT)]+             ++++             prec 10+               (expectP (Ident "VkCommandBufferUsageBitmask") >>+                  (VkCommandBufferUsageBitmask <$> step readPrec)))  -- | bitpos = @0@ pattern VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT ::@@ -228,7 +204,7 @@  newtype VkCommandPoolCreateBitmask (a ::                                       FlagType) = VkCommandPoolCreateBitmask VkFlags-                                                    deriving (Eq, Ord, Storable, Data, Generic)+                                                  deriving (Eq, Ord, Storable)  type VkCommandPoolCreateFlags = VkCommandPoolCreateBitmask FlagMask @@ -250,37 +226,27 @@  deriving instance FiniteBits (VkCommandPoolCreateBitmask FlagMask) -deriving instance Integral (VkCommandPoolCreateBitmask FlagMask)--deriving instance Num (VkCommandPoolCreateBitmask FlagMask)--deriving instance Bounded (VkCommandPoolCreateBitmask FlagMask)--deriving instance Enum (VkCommandPoolCreateBitmask FlagMask)--deriving instance Real (VkCommandPoolCreateBitmask FlagMask)- instance Show (VkCommandPoolCreateBitmask a) where-        showsPrec _ VK_COMMAND_POOL_CREATE_TRANSIENT_BIT-          = showString "VK_COMMAND_POOL_CREATE_TRANSIENT_BIT"-        showsPrec _ VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT-          = showString "VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT"-        showsPrec p (VkCommandPoolCreateBitmask x)-          = showParen (p >= 11)-              (showString "VkCommandPoolCreateBitmask " . showsPrec 11 x)+    showsPrec _ VK_COMMAND_POOL_CREATE_TRANSIENT_BIT+      = showString "VK_COMMAND_POOL_CREATE_TRANSIENT_BIT"+    showsPrec _ VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT+      = showString "VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT"+    showsPrec p (VkCommandPoolCreateBitmask x)+      = showParen (p >= 11)+          (showString "VkCommandPoolCreateBitmask " . showsPrec 11 x)  instance Read (VkCommandPoolCreateBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_COMMAND_POOL_CREATE_TRANSIENT_BIT",-                   pure VK_COMMAND_POOL_CREATE_TRANSIENT_BIT),-                  ("VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT",-                   pure VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkCommandPoolCreateBitmask") >>-                      (VkCommandPoolCreateBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_COMMAND_POOL_CREATE_TRANSIENT_BIT",+               pure VK_COMMAND_POOL_CREATE_TRANSIENT_BIT),+              ("VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT",+               pure VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT)]+             ++++             prec 10+               (expectP (Ident "VkCommandPoolCreateBitmask") >>+                  (VkCommandPoolCreateBitmask <$> step readPrec)))  -- | Command buffers have a short lifetime --@@ -302,7 +268,7 @@  newtype VkCommandPoolResetBitmask (a ::                                      FlagType) = VkCommandPoolResetBitmask VkFlags-                                                   deriving (Eq, Ord, Storable, Data, Generic)+                                                 deriving (Eq, Ord, Storable)  type VkCommandPoolResetFlags = VkCommandPoolResetBitmask FlagMask @@ -322,33 +288,23 @@  deriving instance FiniteBits (VkCommandPoolResetBitmask FlagMask) -deriving instance Integral (VkCommandPoolResetBitmask FlagMask)--deriving instance Num (VkCommandPoolResetBitmask FlagMask)--deriving instance Bounded (VkCommandPoolResetBitmask FlagMask)--deriving instance Enum (VkCommandPoolResetBitmask FlagMask)--deriving instance Real (VkCommandPoolResetBitmask FlagMask)- instance Show (VkCommandPoolResetBitmask a) where-        showsPrec _ VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT-          = showString "VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT"-        showsPrec p (VkCommandPoolResetBitmask x)-          = showParen (p >= 11)-              (showString "VkCommandPoolResetBitmask " . showsPrec 11 x)+    showsPrec _ VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT+      = showString "VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT"+    showsPrec p (VkCommandPoolResetBitmask x)+      = showParen (p >= 11)+          (showString "VkCommandPoolResetBitmask " . showsPrec 11 x)  instance Read (VkCommandPoolResetBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT",-                   pure VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkCommandPoolResetBitmask") >>-                      (VkCommandPoolResetBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT",+               pure VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT)]+             ++++             prec 10+               (expectP (Ident "VkCommandPoolResetBitmask") >>+                  (VkCommandPoolResetBitmask <$> step readPrec)))  -- | Release resources owned by the pool --
src-gen/Graphics/Vulkan/Types/Enum/CompareOp.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -11,9 +9,7 @@                     VK_COMPARE_OP_GREATER, VK_COMPARE_OP_NOT_EQUAL,                     VK_COMPARE_OP_GREATER_OR_EQUAL, VK_COMPARE_OP_ALWAYS))        where-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Text.ParserCombinators.ReadPrec (prec, step, (+++))@@ -24,41 +20,41 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkCompareOp VkCompareOp registry at www.khronos.org> newtype VkCompareOp = VkCompareOp Int32-                        deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                      deriving (Eq, Ord, Enum, Storable)  instance Show VkCompareOp where-        showsPrec _ VK_COMPARE_OP_NEVER = showString "VK_COMPARE_OP_NEVER"-        showsPrec _ VK_COMPARE_OP_LESS = showString "VK_COMPARE_OP_LESS"-        showsPrec _ VK_COMPARE_OP_EQUAL = showString "VK_COMPARE_OP_EQUAL"-        showsPrec _ VK_COMPARE_OP_LESS_OR_EQUAL-          = showString "VK_COMPARE_OP_LESS_OR_EQUAL"-        showsPrec _ VK_COMPARE_OP_GREATER-          = showString "VK_COMPARE_OP_GREATER"-        showsPrec _ VK_COMPARE_OP_NOT_EQUAL-          = showString "VK_COMPARE_OP_NOT_EQUAL"-        showsPrec _ VK_COMPARE_OP_GREATER_OR_EQUAL-          = showString "VK_COMPARE_OP_GREATER_OR_EQUAL"-        showsPrec _ VK_COMPARE_OP_ALWAYS-          = showString "VK_COMPARE_OP_ALWAYS"-        showsPrec p (VkCompareOp x)-          = showParen (p >= 11) (showString "VkCompareOp " . showsPrec 11 x)+    showsPrec _ VK_COMPARE_OP_NEVER = showString "VK_COMPARE_OP_NEVER"+    showsPrec _ VK_COMPARE_OP_LESS = showString "VK_COMPARE_OP_LESS"+    showsPrec _ VK_COMPARE_OP_EQUAL = showString "VK_COMPARE_OP_EQUAL"+    showsPrec _ VK_COMPARE_OP_LESS_OR_EQUAL+      = showString "VK_COMPARE_OP_LESS_OR_EQUAL"+    showsPrec _ VK_COMPARE_OP_GREATER+      = showString "VK_COMPARE_OP_GREATER"+    showsPrec _ VK_COMPARE_OP_NOT_EQUAL+      = showString "VK_COMPARE_OP_NOT_EQUAL"+    showsPrec _ VK_COMPARE_OP_GREATER_OR_EQUAL+      = showString "VK_COMPARE_OP_GREATER_OR_EQUAL"+    showsPrec _ VK_COMPARE_OP_ALWAYS+      = showString "VK_COMPARE_OP_ALWAYS"+    showsPrec p (VkCompareOp x)+      = showParen (p >= 11) (showString "VkCompareOp " . showsPrec 11 x)  instance Read VkCompareOp where-        readPrec-          = parens-              (choose-                 [("VK_COMPARE_OP_NEVER", pure VK_COMPARE_OP_NEVER),-                  ("VK_COMPARE_OP_LESS", pure VK_COMPARE_OP_LESS),-                  ("VK_COMPARE_OP_EQUAL", pure VK_COMPARE_OP_EQUAL),-                  ("VK_COMPARE_OP_LESS_OR_EQUAL", pure VK_COMPARE_OP_LESS_OR_EQUAL),-                  ("VK_COMPARE_OP_GREATER", pure VK_COMPARE_OP_GREATER),-                  ("VK_COMPARE_OP_NOT_EQUAL", pure VK_COMPARE_OP_NOT_EQUAL),-                  ("VK_COMPARE_OP_GREATER_OR_EQUAL",-                   pure VK_COMPARE_OP_GREATER_OR_EQUAL),-                  ("VK_COMPARE_OP_ALWAYS", pure VK_COMPARE_OP_ALWAYS)]-                 +++-                 prec 10-                   (expectP (Ident "VkCompareOp") >> (VkCompareOp <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_COMPARE_OP_NEVER", pure VK_COMPARE_OP_NEVER),+              ("VK_COMPARE_OP_LESS", pure VK_COMPARE_OP_LESS),+              ("VK_COMPARE_OP_EQUAL", pure VK_COMPARE_OP_EQUAL),+              ("VK_COMPARE_OP_LESS_OR_EQUAL", pure VK_COMPARE_OP_LESS_OR_EQUAL),+              ("VK_COMPARE_OP_GREATER", pure VK_COMPARE_OP_GREATER),+              ("VK_COMPARE_OP_NOT_EQUAL", pure VK_COMPARE_OP_NOT_EQUAL),+              ("VK_COMPARE_OP_GREATER_OR_EQUAL",+               pure VK_COMPARE_OP_GREATER_OR_EQUAL),+              ("VK_COMPARE_OP_ALWAYS", pure VK_COMPARE_OP_ALWAYS)]+             ++++             prec 10+               (expectP (Ident "VkCompareOp") >> (VkCompareOp <$> step readPrec)))  pattern VK_COMPARE_OP_NEVER :: VkCompareOp 
src-gen/Graphics/Vulkan/Types/Enum/ComponentSwizzle.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -12,9 +10,7 @@                            VK_COMPONENT_SWIZZLE_G, VK_COMPONENT_SWIZZLE_B,                            VK_COMPONENT_SWIZZLE_A))        where-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Text.ParserCombinators.ReadPrec (prec, step, (+++))@@ -25,43 +21,43 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkComponentSwizzle VkComponentSwizzle registry at www.khronos.org> newtype VkComponentSwizzle = VkComponentSwizzle Int32-                               deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                             deriving (Eq, Ord, Enum, Storable)  instance Show VkComponentSwizzle where-        showsPrec _ VK_COMPONENT_SWIZZLE_IDENTITY-          = showString "VK_COMPONENT_SWIZZLE_IDENTITY"-        showsPrec _ VK_COMPONENT_SWIZZLE_ZERO-          = showString "VK_COMPONENT_SWIZZLE_ZERO"-        showsPrec _ VK_COMPONENT_SWIZZLE_ONE-          = showString "VK_COMPONENT_SWIZZLE_ONE"-        showsPrec _ VK_COMPONENT_SWIZZLE_R-          = showString "VK_COMPONENT_SWIZZLE_R"-        showsPrec _ VK_COMPONENT_SWIZZLE_G-          = showString "VK_COMPONENT_SWIZZLE_G"-        showsPrec _ VK_COMPONENT_SWIZZLE_B-          = showString "VK_COMPONENT_SWIZZLE_B"-        showsPrec _ VK_COMPONENT_SWIZZLE_A-          = showString "VK_COMPONENT_SWIZZLE_A"-        showsPrec p (VkComponentSwizzle x)-          = showParen (p >= 11)-              (showString "VkComponentSwizzle " . showsPrec 11 x)+    showsPrec _ VK_COMPONENT_SWIZZLE_IDENTITY+      = showString "VK_COMPONENT_SWIZZLE_IDENTITY"+    showsPrec _ VK_COMPONENT_SWIZZLE_ZERO+      = showString "VK_COMPONENT_SWIZZLE_ZERO"+    showsPrec _ VK_COMPONENT_SWIZZLE_ONE+      = showString "VK_COMPONENT_SWIZZLE_ONE"+    showsPrec _ VK_COMPONENT_SWIZZLE_R+      = showString "VK_COMPONENT_SWIZZLE_R"+    showsPrec _ VK_COMPONENT_SWIZZLE_G+      = showString "VK_COMPONENT_SWIZZLE_G"+    showsPrec _ VK_COMPONENT_SWIZZLE_B+      = showString "VK_COMPONENT_SWIZZLE_B"+    showsPrec _ VK_COMPONENT_SWIZZLE_A+      = showString "VK_COMPONENT_SWIZZLE_A"+    showsPrec p (VkComponentSwizzle x)+      = showParen (p >= 11)+          (showString "VkComponentSwizzle " . showsPrec 11 x)  instance Read VkComponentSwizzle where-        readPrec-          = parens-              (choose-                 [("VK_COMPONENT_SWIZZLE_IDENTITY",-                   pure VK_COMPONENT_SWIZZLE_IDENTITY),-                  ("VK_COMPONENT_SWIZZLE_ZERO", pure VK_COMPONENT_SWIZZLE_ZERO),-                  ("VK_COMPONENT_SWIZZLE_ONE", pure VK_COMPONENT_SWIZZLE_ONE),-                  ("VK_COMPONENT_SWIZZLE_R", pure VK_COMPONENT_SWIZZLE_R),-                  ("VK_COMPONENT_SWIZZLE_G", pure VK_COMPONENT_SWIZZLE_G),-                  ("VK_COMPONENT_SWIZZLE_B", pure VK_COMPONENT_SWIZZLE_B),-                  ("VK_COMPONENT_SWIZZLE_A", pure VK_COMPONENT_SWIZZLE_A)]-                 +++-                 prec 10-                   (expectP (Ident "VkComponentSwizzle") >>-                      (VkComponentSwizzle <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_COMPONENT_SWIZZLE_IDENTITY",+               pure VK_COMPONENT_SWIZZLE_IDENTITY),+              ("VK_COMPONENT_SWIZZLE_ZERO", pure VK_COMPONENT_SWIZZLE_ZERO),+              ("VK_COMPONENT_SWIZZLE_ONE", pure VK_COMPONENT_SWIZZLE_ONE),+              ("VK_COMPONENT_SWIZZLE_R", pure VK_COMPONENT_SWIZZLE_R),+              ("VK_COMPONENT_SWIZZLE_G", pure VK_COMPONENT_SWIZZLE_G),+              ("VK_COMPONENT_SWIZZLE_B", pure VK_COMPONENT_SWIZZLE_B),+              ("VK_COMPONENT_SWIZZLE_A", pure VK_COMPONENT_SWIZZLE_A)]+             ++++             prec 10+               (expectP (Ident "VkComponentSwizzle") >>+                  (VkComponentSwizzle <$> step readPrec)))  pattern VK_COMPONENT_SWIZZLE_IDENTITY :: VkComponentSwizzle 
src-gen/Graphics/Vulkan/Types/Enum/CompositeAlphaFlagsKHR.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -19,9 +17,7 @@         VkCompositeAlphaFlagsKHR, VkCompositeAlphaFlagBitsKHR)        where import Data.Bits                       (Bits, FiniteBits)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -31,7 +27,7 @@  newtype VkCompositeAlphaBitmaskKHR (a ::                                       FlagType) = VkCompositeAlphaBitmaskKHR VkFlags-                                                    deriving (Eq, Ord, Storable, Data, Generic)+                                                  deriving (Eq, Ord, Storable)  type VkCompositeAlphaFlagsKHR = VkCompositeAlphaBitmaskKHR FlagMask @@ -53,45 +49,35 @@  deriving instance FiniteBits (VkCompositeAlphaBitmaskKHR FlagMask) -deriving instance Integral (VkCompositeAlphaBitmaskKHR FlagMask)--deriving instance Num (VkCompositeAlphaBitmaskKHR FlagMask)--deriving instance Bounded (VkCompositeAlphaBitmaskKHR FlagMask)--deriving instance Enum (VkCompositeAlphaBitmaskKHR FlagMask)--deriving instance Real (VkCompositeAlphaBitmaskKHR FlagMask)- instance Show (VkCompositeAlphaBitmaskKHR a) where-        showsPrec _ VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR-          = showString "VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR"-        showsPrec _ VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR-          = showString "VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR"-        showsPrec _ VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR-          = showString "VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR"-        showsPrec _ VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR-          = showString "VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR"-        showsPrec p (VkCompositeAlphaBitmaskKHR x)-          = showParen (p >= 11)-              (showString "VkCompositeAlphaBitmaskKHR " . showsPrec 11 x)+    showsPrec _ VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR+      = showString "VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR"+    showsPrec _ VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR+      = showString "VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR"+    showsPrec _ VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR+      = showString "VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR"+    showsPrec _ VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR+      = showString "VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR"+    showsPrec p (VkCompositeAlphaBitmaskKHR x)+      = showParen (p >= 11)+          (showString "VkCompositeAlphaBitmaskKHR " . showsPrec 11 x)  instance Read (VkCompositeAlphaBitmaskKHR a) where-        readPrec-          = parens-              (choose-                 [("VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR",-                   pure VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR),-                  ("VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR",-                   pure VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR),-                  ("VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR",-                   pure VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR),-                  ("VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR",-                   pure VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR)]-                 +++-                 prec 10-                   (expectP (Ident "VkCompositeAlphaBitmaskKHR") >>-                      (VkCompositeAlphaBitmaskKHR <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR",+               pure VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR),+              ("VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR",+               pure VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR),+              ("VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR",+               pure VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR),+              ("VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR",+               pure VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR)]+             ++++             prec 10+               (expectP (Ident "VkCompositeAlphaBitmaskKHR") >>+                  (VkCompositeAlphaBitmaskKHR <$> step readPrec)))  -- | bitpos = @0@ pattern VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR ::
src-gen/Graphics/Vulkan/Types/Enum/ConservativeRasterizationModeEXT.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -11,9 +9,7 @@                                            VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT,                                            VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT))        where-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Text.ParserCombinators.ReadPrec (prec, step, (+++))@@ -24,34 +20,33 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkConservativeRasterizationModeEXT VkConservativeRasterizationModeEXT registry at www.khronos.org> newtype VkConservativeRasterizationModeEXT = VkConservativeRasterizationModeEXT Int32-                                               deriving (Eq, Ord, Num, Bounded, Storable, Enum,-                                                         Data, Generic)+                                             deriving (Eq, Ord, Enum, Storable)  instance Show VkConservativeRasterizationModeEXT where-        showsPrec _ VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT-          = showString "VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT"-        showsPrec _ VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT-          = showString "VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT"-        showsPrec _ VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT-          = showString "VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT"-        showsPrec p (VkConservativeRasterizationModeEXT x)-          = showParen (p >= 11)-              (showString "VkConservativeRasterizationModeEXT " . showsPrec 11 x)+    showsPrec _ VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT+      = showString "VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT"+    showsPrec _ VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT+      = showString "VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT"+    showsPrec _ VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT+      = showString "VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT"+    showsPrec p (VkConservativeRasterizationModeEXT x)+      = showParen (p >= 11)+          (showString "VkConservativeRasterizationModeEXT " . showsPrec 11 x)  instance Read VkConservativeRasterizationModeEXT where-        readPrec-          = parens-              (choose-                 [("VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT",-                   pure VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT),-                  ("VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT",-                   pure VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT),-                  ("VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT",-                   pure VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT)]-                 +++-                 prec 10-                   (expectP (Ident "VkConservativeRasterizationModeEXT") >>-                      (VkConservativeRasterizationModeEXT <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT",+               pure VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT),+              ("VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT",+               pure VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT),+              ("VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT",+               pure VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT)]+             ++++             prec 10+               (expectP (Ident "VkConservativeRasterizationModeEXT") >>+                  (VkConservativeRasterizationModeEXT <$> step readPrec)))  pattern VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT ::         VkConservativeRasterizationModeEXT
src-gen/Graphics/Vulkan/Types/Enum/CoverageModulationModeNV.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -12,9 +10,7 @@                                    VK_COVERAGE_MODULATION_MODE_ALPHA_NV,                                    VK_COVERAGE_MODULATION_MODE_RGBA_NV))        where-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Text.ParserCombinators.ReadPrec (prec, step, (+++))@@ -25,38 +21,37 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkCoverageModulationModeNV VkCoverageModulationModeNV registry at www.khronos.org> newtype VkCoverageModulationModeNV = VkCoverageModulationModeNV Int32-                                       deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,-                                                 Generic)+                                     deriving (Eq, Ord, Enum, Storable)  instance Show VkCoverageModulationModeNV where-        showsPrec _ VK_COVERAGE_MODULATION_MODE_NONE_NV-          = showString "VK_COVERAGE_MODULATION_MODE_NONE_NV"-        showsPrec _ VK_COVERAGE_MODULATION_MODE_RGB_NV-          = showString "VK_COVERAGE_MODULATION_MODE_RGB_NV"-        showsPrec _ VK_COVERAGE_MODULATION_MODE_ALPHA_NV-          = showString "VK_COVERAGE_MODULATION_MODE_ALPHA_NV"-        showsPrec _ VK_COVERAGE_MODULATION_MODE_RGBA_NV-          = showString "VK_COVERAGE_MODULATION_MODE_RGBA_NV"-        showsPrec p (VkCoverageModulationModeNV x)-          = showParen (p >= 11)-              (showString "VkCoverageModulationModeNV " . showsPrec 11 x)+    showsPrec _ VK_COVERAGE_MODULATION_MODE_NONE_NV+      = showString "VK_COVERAGE_MODULATION_MODE_NONE_NV"+    showsPrec _ VK_COVERAGE_MODULATION_MODE_RGB_NV+      = showString "VK_COVERAGE_MODULATION_MODE_RGB_NV"+    showsPrec _ VK_COVERAGE_MODULATION_MODE_ALPHA_NV+      = showString "VK_COVERAGE_MODULATION_MODE_ALPHA_NV"+    showsPrec _ VK_COVERAGE_MODULATION_MODE_RGBA_NV+      = showString "VK_COVERAGE_MODULATION_MODE_RGBA_NV"+    showsPrec p (VkCoverageModulationModeNV x)+      = showParen (p >= 11)+          (showString "VkCoverageModulationModeNV " . showsPrec 11 x)  instance Read VkCoverageModulationModeNV where-        readPrec-          = parens-              (choose-                 [("VK_COVERAGE_MODULATION_MODE_NONE_NV",-                   pure VK_COVERAGE_MODULATION_MODE_NONE_NV),-                  ("VK_COVERAGE_MODULATION_MODE_RGB_NV",-                   pure VK_COVERAGE_MODULATION_MODE_RGB_NV),-                  ("VK_COVERAGE_MODULATION_MODE_ALPHA_NV",-                   pure VK_COVERAGE_MODULATION_MODE_ALPHA_NV),-                  ("VK_COVERAGE_MODULATION_MODE_RGBA_NV",-                   pure VK_COVERAGE_MODULATION_MODE_RGBA_NV)]-                 +++-                 prec 10-                   (expectP (Ident "VkCoverageModulationModeNV") >>-                      (VkCoverageModulationModeNV <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_COVERAGE_MODULATION_MODE_NONE_NV",+               pure VK_COVERAGE_MODULATION_MODE_NONE_NV),+              ("VK_COVERAGE_MODULATION_MODE_RGB_NV",+               pure VK_COVERAGE_MODULATION_MODE_RGB_NV),+              ("VK_COVERAGE_MODULATION_MODE_ALPHA_NV",+               pure VK_COVERAGE_MODULATION_MODE_ALPHA_NV),+              ("VK_COVERAGE_MODULATION_MODE_RGBA_NV",+               pure VK_COVERAGE_MODULATION_MODE_RGBA_NV)]+             ++++             prec 10+               (expectP (Ident "VkCoverageModulationModeNV") >>+                  (VkCoverageModulationModeNV <$> step readPrec)))  pattern VK_COVERAGE_MODULATION_MODE_NONE_NV ::         VkCoverageModulationModeNV
src-gen/Graphics/Vulkan/Types/Enum/CullModeFlags.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -16,9 +14,7 @@         VkCullModeFlags, VkCullModeFlagBits)        where import Data.Bits                       (Bits, FiniteBits)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -28,7 +24,7 @@  newtype VkCullModeBitmask (a ::                              FlagType) = VkCullModeBitmask VkFlags-                                           deriving (Eq, Ord, Storable, Data, Generic)+                                         deriving (Eq, Ord, Storable)  type VkCullModeFlags = VkCullModeBitmask FlagMask @@ -46,40 +42,30 @@  deriving instance FiniteBits (VkCullModeBitmask FlagMask) -deriving instance Integral (VkCullModeBitmask FlagMask)--deriving instance Num (VkCullModeBitmask FlagMask)--deriving instance Bounded (VkCullModeBitmask FlagMask)--deriving instance Enum (VkCullModeBitmask FlagMask)--deriving instance Real (VkCullModeBitmask FlagMask)- instance Show (VkCullModeBitmask a) where-        showsPrec _ VK_CULL_MODE_NONE = showString "VK_CULL_MODE_NONE"-        showsPrec _ VK_CULL_MODE_FRONT_BIT-          = showString "VK_CULL_MODE_FRONT_BIT"-        showsPrec _ VK_CULL_MODE_BACK_BIT-          = showString "VK_CULL_MODE_BACK_BIT"-        showsPrec _ VK_CULL_MODE_FRONT_AND_BACK-          = showString "VK_CULL_MODE_FRONT_AND_BACK"-        showsPrec p (VkCullModeBitmask x)-          = showParen (p >= 11)-              (showString "VkCullModeBitmask " . showsPrec 11 x)+    showsPrec _ VK_CULL_MODE_NONE = showString "VK_CULL_MODE_NONE"+    showsPrec _ VK_CULL_MODE_FRONT_BIT+      = showString "VK_CULL_MODE_FRONT_BIT"+    showsPrec _ VK_CULL_MODE_BACK_BIT+      = showString "VK_CULL_MODE_BACK_BIT"+    showsPrec _ VK_CULL_MODE_FRONT_AND_BACK+      = showString "VK_CULL_MODE_FRONT_AND_BACK"+    showsPrec p (VkCullModeBitmask x)+      = showParen (p >= 11)+          (showString "VkCullModeBitmask " . showsPrec 11 x)  instance Read (VkCullModeBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_CULL_MODE_NONE", pure VK_CULL_MODE_NONE),-                  ("VK_CULL_MODE_FRONT_BIT", pure VK_CULL_MODE_FRONT_BIT),-                  ("VK_CULL_MODE_BACK_BIT", pure VK_CULL_MODE_BACK_BIT),-                  ("VK_CULL_MODE_FRONT_AND_BACK", pure VK_CULL_MODE_FRONT_AND_BACK)]-                 +++-                 prec 10-                   (expectP (Ident "VkCullModeBitmask") >>-                      (VkCullModeBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_CULL_MODE_NONE", pure VK_CULL_MODE_NONE),+              ("VK_CULL_MODE_FRONT_BIT", pure VK_CULL_MODE_FRONT_BIT),+              ("VK_CULL_MODE_BACK_BIT", pure VK_CULL_MODE_BACK_BIT),+              ("VK_CULL_MODE_FRONT_AND_BACK", pure VK_CULL_MODE_FRONT_AND_BACK)]+             ++++             prec 10+               (expectP (Ident "VkCullModeBitmask") >>+                  (VkCullModeBitmask <$> step readPrec)))  pattern VK_CULL_MODE_NONE :: VkCullModeBitmask a 
src-gen/Graphics/Vulkan/Types/Enum/Debug.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -71,9 +69,7 @@         VkDebugUtilsMessageTypeFlagBitsEXT)        where import Data.Bits                       (Bits, FiniteBits)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType, Int32) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -83,7 +79,7 @@  newtype VkDebugReportBitmaskEXT (a ::                                    FlagType) = VkDebugReportBitmaskEXT VkFlags-                                                 deriving (Eq, Ord, Storable, Data, Generic)+                                               deriving (Eq, Ord, Storable)  type VkDebugReportFlagsEXT = VkDebugReportBitmaskEXT FlagMask @@ -103,49 +99,39 @@  deriving instance FiniteBits (VkDebugReportBitmaskEXT FlagMask) -deriving instance Integral (VkDebugReportBitmaskEXT FlagMask)--deriving instance Num (VkDebugReportBitmaskEXT FlagMask)--deriving instance Bounded (VkDebugReportBitmaskEXT FlagMask)--deriving instance Enum (VkDebugReportBitmaskEXT FlagMask)--deriving instance Real (VkDebugReportBitmaskEXT FlagMask)- instance Show (VkDebugReportBitmaskEXT a) where-        showsPrec _ VK_DEBUG_REPORT_INFORMATION_BIT_EXT-          = showString "VK_DEBUG_REPORT_INFORMATION_BIT_EXT"-        showsPrec _ VK_DEBUG_REPORT_WARNING_BIT_EXT-          = showString "VK_DEBUG_REPORT_WARNING_BIT_EXT"-        showsPrec _ VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT-          = showString "VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT"-        showsPrec _ VK_DEBUG_REPORT_ERROR_BIT_EXT-          = showString "VK_DEBUG_REPORT_ERROR_BIT_EXT"-        showsPrec _ VK_DEBUG_REPORT_DEBUG_BIT_EXT-          = showString "VK_DEBUG_REPORT_DEBUG_BIT_EXT"-        showsPrec p (VkDebugReportBitmaskEXT x)-          = showParen (p >= 11)-              (showString "VkDebugReportBitmaskEXT " . showsPrec 11 x)+    showsPrec _ VK_DEBUG_REPORT_INFORMATION_BIT_EXT+      = showString "VK_DEBUG_REPORT_INFORMATION_BIT_EXT"+    showsPrec _ VK_DEBUG_REPORT_WARNING_BIT_EXT+      = showString "VK_DEBUG_REPORT_WARNING_BIT_EXT"+    showsPrec _ VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT+      = showString "VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT"+    showsPrec _ VK_DEBUG_REPORT_ERROR_BIT_EXT+      = showString "VK_DEBUG_REPORT_ERROR_BIT_EXT"+    showsPrec _ VK_DEBUG_REPORT_DEBUG_BIT_EXT+      = showString "VK_DEBUG_REPORT_DEBUG_BIT_EXT"+    showsPrec p (VkDebugReportBitmaskEXT x)+      = showParen (p >= 11)+          (showString "VkDebugReportBitmaskEXT " . showsPrec 11 x)  instance Read (VkDebugReportBitmaskEXT a) where-        readPrec-          = parens-              (choose-                 [("VK_DEBUG_REPORT_INFORMATION_BIT_EXT",-                   pure VK_DEBUG_REPORT_INFORMATION_BIT_EXT),-                  ("VK_DEBUG_REPORT_WARNING_BIT_EXT",-                   pure VK_DEBUG_REPORT_WARNING_BIT_EXT),-                  ("VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT",-                   pure VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT),-                  ("VK_DEBUG_REPORT_ERROR_BIT_EXT",-                   pure VK_DEBUG_REPORT_ERROR_BIT_EXT),-                  ("VK_DEBUG_REPORT_DEBUG_BIT_EXT",-                   pure VK_DEBUG_REPORT_DEBUG_BIT_EXT)]-                 +++-                 prec 10-                   (expectP (Ident "VkDebugReportBitmaskEXT") >>-                      (VkDebugReportBitmaskEXT <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_DEBUG_REPORT_INFORMATION_BIT_EXT",+               pure VK_DEBUG_REPORT_INFORMATION_BIT_EXT),+              ("VK_DEBUG_REPORT_WARNING_BIT_EXT",+               pure VK_DEBUG_REPORT_WARNING_BIT_EXT),+              ("VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT",+               pure VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT),+              ("VK_DEBUG_REPORT_ERROR_BIT_EXT",+               pure VK_DEBUG_REPORT_ERROR_BIT_EXT),+              ("VK_DEBUG_REPORT_DEBUG_BIT_EXT",+               pure VK_DEBUG_REPORT_DEBUG_BIT_EXT)]+             ++++             prec 10+               (expectP (Ident "VkDebugReportBitmaskEXT") >>+                  (VkDebugReportBitmaskEXT <$> step readPrec)))  -- | bitpos = @0@ pattern VK_DEBUG_REPORT_INFORMATION_BIT_EXT ::@@ -181,163 +167,162 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDebugReportObjectTypeEXT VkDebugReportObjectTypeEXT registry at www.khronos.org> newtype VkDebugReportObjectTypeEXT = VkDebugReportObjectTypeEXT Int32-                                       deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,-                                                 Generic)+                                     deriving (Eq, Ord, Enum, Storable)  instance Show VkDebugReportObjectTypeEXT where-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT-          = showString-              "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT"-        showsPrec _-          VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT-          = showString-              "VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT"-        showsPrec _-          VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT-          = showString-              "VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT"-        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT-          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT"-        showsPrec p (VkDebugReportObjectTypeEXT x)-          = showParen (p >= 11)-              (showString "VkDebugReportObjectTypeEXT " . showsPrec 11 x)+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT+      = showString+          "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT"+    showsPrec _+      VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT+      = showString+          "VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT"+    showsPrec _+      VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT+      = showString+          "VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT"+    showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT+      = showString "VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT"+    showsPrec p (VkDebugReportObjectTypeEXT x)+      = showParen (p >= 11)+          (showString "VkDebugReportObjectTypeEXT " . showsPrec 11 x)  instance Read VkDebugReportObjectTypeEXT where-        readPrec-          = parens-              (choose-                 [("VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT),-                  ("VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT",-                   pure VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT)]-                 +++-                 prec 10-                   (expectP (Ident "VkDebugReportObjectTypeEXT") >>-                      (VkDebugReportObjectTypeEXT <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT),+              ("VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT",+               pure VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT)]+             ++++             prec 10+               (expectP (Ident "VkDebugReportObjectTypeEXT") >>+                  (VkDebugReportObjectTypeEXT <$> step readPrec)))  pattern VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT ::         VkDebugReportObjectTypeEXT@@ -545,8 +530,7 @@  newtype VkDebugUtilsMessageSeverityBitmaskEXT (a ::                                                  FlagType) = VkDebugUtilsMessageSeverityBitmaskEXT VkFlags-                                                               deriving (Eq, Ord, Storable, Data,-                                                                         Generic)+                                                             deriving (Eq, Ord, Storable)  type VkDebugUtilsMessageSeverityFlagsEXT =      VkDebugUtilsMessageSeverityBitmaskEXT FlagMask@@ -572,51 +556,36 @@ deriving instance          FiniteBits (VkDebugUtilsMessageSeverityBitmaskEXT FlagMask) -deriving instance-         Integral (VkDebugUtilsMessageSeverityBitmaskEXT FlagMask)--deriving instance-         Num (VkDebugUtilsMessageSeverityBitmaskEXT FlagMask)--deriving instance-         Bounded (VkDebugUtilsMessageSeverityBitmaskEXT FlagMask)--deriving instance-         Enum (VkDebugUtilsMessageSeverityBitmaskEXT FlagMask)--deriving instance-         Real (VkDebugUtilsMessageSeverityBitmaskEXT FlagMask)- instance Show (VkDebugUtilsMessageSeverityBitmaskEXT a) where-        showsPrec _ VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT-          = showString "VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT"-        showsPrec _ VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT-          = showString "VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT"-        showsPrec _ VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT-          = showString "VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT"-        showsPrec _ VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT-          = showString "VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT"-        showsPrec p (VkDebugUtilsMessageSeverityBitmaskEXT x)-          = showParen (p >= 11)-              (showString "VkDebugUtilsMessageSeverityBitmaskEXT " .-                 showsPrec 11 x)+    showsPrec _ VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT+      = showString "VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT"+    showsPrec _ VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT+      = showString "VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT"+    showsPrec _ VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT+      = showString "VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT"+    showsPrec _ VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT+      = showString "VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT"+    showsPrec p (VkDebugUtilsMessageSeverityBitmaskEXT x)+      = showParen (p >= 11)+          (showString "VkDebugUtilsMessageSeverityBitmaskEXT " .+             showsPrec 11 x)  instance Read (VkDebugUtilsMessageSeverityBitmaskEXT a) where-        readPrec-          = parens-              (choose-                 [("VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT",-                   pure VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT),-                  ("VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT",-                   pure VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT),-                  ("VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT",-                   pure VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT),-                  ("VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT",-                   pure VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT)]-                 +++-                 prec 10-                   (expectP (Ident "VkDebugUtilsMessageSeverityBitmaskEXT") >>-                      (VkDebugUtilsMessageSeverityBitmaskEXT <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT",+               pure VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT),+              ("VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT",+               pure VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT),+              ("VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT",+               pure VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT),+              ("VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT",+               pure VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT)]+             ++++             prec 10+               (expectP (Ident "VkDebugUtilsMessageSeverityBitmaskEXT") >>+                  (VkDebugUtilsMessageSeverityBitmaskEXT <$> step readPrec)))  -- | bitpos = @0@ pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT ::@@ -648,8 +617,7 @@  newtype VkDebugUtilsMessageTypeBitmaskEXT (a ::                                              FlagType) = VkDebugUtilsMessageTypeBitmaskEXT VkFlags-                                                           deriving (Eq, Ord, Storable, Data,-                                                                     Generic)+                                                         deriving (Eq, Ord, Storable)  type VkDebugUtilsMessageTypeFlagsEXT =      VkDebugUtilsMessageTypeBitmaskEXT FlagMask@@ -674,43 +642,31 @@ deriving instance          FiniteBits (VkDebugUtilsMessageTypeBitmaskEXT FlagMask) -deriving instance-         Integral (VkDebugUtilsMessageTypeBitmaskEXT FlagMask)--deriving instance Num (VkDebugUtilsMessageTypeBitmaskEXT FlagMask)--deriving instance-         Bounded (VkDebugUtilsMessageTypeBitmaskEXT FlagMask)--deriving instance Enum (VkDebugUtilsMessageTypeBitmaskEXT FlagMask)--deriving instance Real (VkDebugUtilsMessageTypeBitmaskEXT FlagMask)- instance Show (VkDebugUtilsMessageTypeBitmaskEXT a) where-        showsPrec _ VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT-          = showString "VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT"-        showsPrec _ VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT-          = showString "VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT"-        showsPrec _ VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT-          = showString "VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT"-        showsPrec p (VkDebugUtilsMessageTypeBitmaskEXT x)-          = showParen (p >= 11)-              (showString "VkDebugUtilsMessageTypeBitmaskEXT " . showsPrec 11 x)+    showsPrec _ VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT+      = showString "VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT"+    showsPrec _ VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT+      = showString "VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT"+    showsPrec _ VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT+      = showString "VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT"+    showsPrec p (VkDebugUtilsMessageTypeBitmaskEXT x)+      = showParen (p >= 11)+          (showString "VkDebugUtilsMessageTypeBitmaskEXT " . showsPrec 11 x)  instance Read (VkDebugUtilsMessageTypeBitmaskEXT a) where-        readPrec-          = parens-              (choose-                 [("VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT",-                   pure VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT),-                  ("VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT",-                   pure VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT),-                  ("VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT",-                   pure VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT)]-                 +++-                 prec 10-                   (expectP (Ident "VkDebugUtilsMessageTypeBitmaskEXT") >>-                      (VkDebugUtilsMessageTypeBitmaskEXT <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT",+               pure VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT),+              ("VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT",+               pure VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT),+              ("VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT",+               pure VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT)]+             ++++             prec 10+               (expectP (Ident "VkDebugUtilsMessageTypeBitmaskEXT") >>+                  (VkDebugUtilsMessageTypeBitmaskEXT <$> step readPrec)))  -- | bitpos = @0@ pattern VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT ::
src-gen/Graphics/Vulkan/Types/Enum/DependencyFlags.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -15,9 +13,7 @@         VkDependencyFlags, VkDependencyFlagBits)        where import Data.Bits                       (Bits, FiniteBits)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -27,7 +23,7 @@  newtype VkDependencyBitmask (a ::                                FlagType) = VkDependencyBitmask VkFlags-                                             deriving (Eq, Ord, Storable, Data, Generic)+                                           deriving (Eq, Ord, Storable)  type VkDependencyFlags = VkDependencyBitmask FlagMask @@ -47,32 +43,22 @@  deriving instance FiniteBits (VkDependencyBitmask FlagMask) -deriving instance Integral (VkDependencyBitmask FlagMask)--deriving instance Num (VkDependencyBitmask FlagMask)--deriving instance Bounded (VkDependencyBitmask FlagMask)--deriving instance Enum (VkDependencyBitmask FlagMask)--deriving instance Real (VkDependencyBitmask FlagMask)- instance Show (VkDependencyBitmask a) where-        showsPrec _ VK_DEPENDENCY_BY_REGION_BIT-          = showString "VK_DEPENDENCY_BY_REGION_BIT"-        showsPrec p (VkDependencyBitmask x)-          = showParen (p >= 11)-              (showString "VkDependencyBitmask " . showsPrec 11 x)+    showsPrec _ VK_DEPENDENCY_BY_REGION_BIT+      = showString "VK_DEPENDENCY_BY_REGION_BIT"+    showsPrec p (VkDependencyBitmask x)+      = showParen (p >= 11)+          (showString "VkDependencyBitmask " . showsPrec 11 x)  instance Read (VkDependencyBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_DEPENDENCY_BY_REGION_BIT", pure VK_DEPENDENCY_BY_REGION_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkDependencyBitmask") >>-                      (VkDependencyBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_DEPENDENCY_BY_REGION_BIT", pure VK_DEPENDENCY_BY_REGION_BIT)]+             ++++             prec 10+               (expectP (Ident "VkDependencyBitmask") >>+                  (VkDependencyBitmask <$> step readPrec)))  -- | Dependency is per pixel region --
src-gen/Graphics/Vulkan/Types/Enum/Descriptor.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -42,9 +40,7 @@        where import Data.Bits                       (Bits, FiniteBits) import Data.Coerce                     (coerce)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType, Int32) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -54,7 +50,7 @@  newtype VkDescriptorBindingBitmaskEXT (a ::                                          FlagType) = VkDescriptorBindingBitmaskEXT VkFlags-                                                       deriving (Eq, Ord, Storable, Data, Generic)+                                                     deriving (Eq, Ord, Storable)  type VkDescriptorBindingFlagsEXT =      VkDescriptorBindingBitmaskEXT FlagMask@@ -79,48 +75,38 @@ deriving instance          FiniteBits (VkDescriptorBindingBitmaskEXT FlagMask) -deriving instance Integral (VkDescriptorBindingBitmaskEXT FlagMask)--deriving instance Num (VkDescriptorBindingBitmaskEXT FlagMask)--deriving instance Bounded (VkDescriptorBindingBitmaskEXT FlagMask)--deriving instance Enum (VkDescriptorBindingBitmaskEXT FlagMask)--deriving instance Real (VkDescriptorBindingBitmaskEXT FlagMask)- instance Show (VkDescriptorBindingBitmaskEXT a) where-        showsPrec _ VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT-          = showString "VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT"-        showsPrec _-          VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT-          = showString-              "VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT"-        showsPrec _ VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT-          = showString "VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT"-        showsPrec _ VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT-          = showString-              "VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT"-        showsPrec p (VkDescriptorBindingBitmaskEXT x)-          = showParen (p >= 11)-              (showString "VkDescriptorBindingBitmaskEXT " . showsPrec 11 x)+    showsPrec _ VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT+      = showString "VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT"+    showsPrec _+      VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT+      = showString+          "VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT"+    showsPrec _ VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT+      = showString "VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT"+    showsPrec _ VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT+      = showString+          "VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT"+    showsPrec p (VkDescriptorBindingBitmaskEXT x)+      = showParen (p >= 11)+          (showString "VkDescriptorBindingBitmaskEXT " . showsPrec 11 x)  instance Read (VkDescriptorBindingBitmaskEXT a) where-        readPrec-          = parens-              (choose-                 [("VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT",-                   pure VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT),-                  ("VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT",-                   pure VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT),-                  ("VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT",-                   pure VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT),-                  ("VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT",-                   pure VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT)]-                 +++-                 prec 10-                   (expectP (Ident "VkDescriptorBindingBitmaskEXT") >>-                      (VkDescriptorBindingBitmaskEXT <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT",+               pure VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT),+              ("VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT",+               pure VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT),+              ("VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT",+               pure VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT),+              ("VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT",+               pure VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT)]+             ++++             prec 10+               (expectP (Ident "VkDescriptorBindingBitmaskEXT") >>+                  (VkDescriptorBindingBitmaskEXT <$> step readPrec)))  -- | bitpos = @0@ pattern VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT ::@@ -152,7 +138,7 @@  newtype VkDescriptorPoolCreateBitmask (a ::                                          FlagType) = VkDescriptorPoolCreateBitmask VkFlags-                                                       deriving (Eq, Ord, Storable, Data, Generic)+                                                     deriving (Eq, Ord, Storable)  type VkDescriptorPoolCreateFlags =      VkDescriptorPoolCreateBitmask FlagMask@@ -177,33 +163,23 @@ deriving instance          FiniteBits (VkDescriptorPoolCreateBitmask FlagMask) -deriving instance Integral (VkDescriptorPoolCreateBitmask FlagMask)--deriving instance Num (VkDescriptorPoolCreateBitmask FlagMask)--deriving instance Bounded (VkDescriptorPoolCreateBitmask FlagMask)--deriving instance Enum (VkDescriptorPoolCreateBitmask FlagMask)--deriving instance Real (VkDescriptorPoolCreateBitmask FlagMask)- instance Show (VkDescriptorPoolCreateBitmask a) where-        showsPrec _ VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT-          = showString "VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT"-        showsPrec p (VkDescriptorPoolCreateBitmask x)-          = showParen (p >= 11)-              (showString "VkDescriptorPoolCreateBitmask " . showsPrec 11 x)+    showsPrec _ VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT+      = showString "VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT"+    showsPrec p (VkDescriptorPoolCreateBitmask x)+      = showParen (p >= 11)+          (showString "VkDescriptorPoolCreateBitmask " . showsPrec 11 x)  instance Read (VkDescriptorPoolCreateBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT",-                   pure VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkDescriptorPoolCreateBitmask") >>-                      (VkDescriptorPoolCreateBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT",+               pure VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT)]+             ++++             prec 10+               (expectP (Ident "VkDescriptorPoolCreateBitmask") >>+                  (VkDescriptorPoolCreateBitmask <$> step readPrec)))  -- | Descriptor sets may be freed individually --@@ -216,8 +192,7 @@  newtype VkDescriptorSetLayoutCreateBitmask (a ::                                               FlagType) = VkDescriptorSetLayoutCreateBitmask VkFlags-                                                            deriving (Eq, Ord, Storable, Data,-                                                                      Generic)+                                                          deriving (Eq, Ord, Storable)  type VkDescriptorSetLayoutCreateFlags =      VkDescriptorSetLayoutCreateBitmask FlagMask@@ -243,95 +218,81 @@ deriving instance          FiniteBits (VkDescriptorSetLayoutCreateBitmask FlagMask) -deriving instance-         Integral (VkDescriptorSetLayoutCreateBitmask FlagMask)--deriving instance Num (VkDescriptorSetLayoutCreateBitmask FlagMask)--deriving instance-         Bounded (VkDescriptorSetLayoutCreateBitmask FlagMask)--deriving instance-         Enum (VkDescriptorSetLayoutCreateBitmask FlagMask)--deriving instance-         Real (VkDescriptorSetLayoutCreateBitmask FlagMask)- instance Show (VkDescriptorSetLayoutCreateBitmask a) where-        showsPrec p (VkDescriptorSetLayoutCreateBitmask x)-          = showParen (p >= 11)-              (showString "VkDescriptorSetLayoutCreateBitmask " . showsPrec 11 x)+    showsPrec p (VkDescriptorSetLayoutCreateBitmask x)+      = showParen (p >= 11)+          (showString "VkDescriptorSetLayoutCreateBitmask " . showsPrec 11 x)  instance Read (VkDescriptorSetLayoutCreateBitmask a) where-        readPrec-          = parens-              (choose [] +++-                 prec 10-                   (expectP (Ident "VkDescriptorSetLayoutCreateBitmask") >>-                      (VkDescriptorSetLayoutCreateBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose [] ++++             prec 10+               (expectP (Ident "VkDescriptorSetLayoutCreateBitmask") >>+                  (VkDescriptorSetLayoutCreateBitmask <$> step readPrec)))  -- | type = @enum@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorType VkDescriptorType registry at www.khronos.org> newtype VkDescriptorType = VkDescriptorType Int32-                             deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                           deriving (Eq, Ord, Enum, Storable)  instance Show VkDescriptorType where-        showsPrec _ VK_DESCRIPTOR_TYPE_SAMPLER-          = showString "VK_DESCRIPTOR_TYPE_SAMPLER"-        showsPrec _ VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER-          = showString "VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER"-        showsPrec _ VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE-          = showString "VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE"-        showsPrec _ VK_DESCRIPTOR_TYPE_STORAGE_IMAGE-          = showString "VK_DESCRIPTOR_TYPE_STORAGE_IMAGE"-        showsPrec _ VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER-          = showString "VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER"-        showsPrec _ VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER-          = showString "VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER"-        showsPrec _ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER-          = showString "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER"-        showsPrec _ VK_DESCRIPTOR_TYPE_STORAGE_BUFFER-          = showString "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER"-        showsPrec _ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC-          = showString "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC"-        showsPrec _ VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC-          = showString "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC"-        showsPrec _ VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT-          = showString "VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT"-        showsPrec p (VkDescriptorType x)-          = showParen (p >= 11)-              (showString "VkDescriptorType " . showsPrec 11 x)+    showsPrec _ VK_DESCRIPTOR_TYPE_SAMPLER+      = showString "VK_DESCRIPTOR_TYPE_SAMPLER"+    showsPrec _ VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER+      = showString "VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER"+    showsPrec _ VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE+      = showString "VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE"+    showsPrec _ VK_DESCRIPTOR_TYPE_STORAGE_IMAGE+      = showString "VK_DESCRIPTOR_TYPE_STORAGE_IMAGE"+    showsPrec _ VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER+      = showString "VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER"+    showsPrec _ VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER+      = showString "VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER"+    showsPrec _ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER+      = showString "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER"+    showsPrec _ VK_DESCRIPTOR_TYPE_STORAGE_BUFFER+      = showString "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER"+    showsPrec _ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC+      = showString "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC"+    showsPrec _ VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC+      = showString "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC"+    showsPrec _ VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT+      = showString "VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT"+    showsPrec p (VkDescriptorType x)+      = showParen (p >= 11)+          (showString "VkDescriptorType " . showsPrec 11 x)  instance Read VkDescriptorType where-        readPrec-          = parens-              (choose-                 [("VK_DESCRIPTOR_TYPE_SAMPLER", pure VK_DESCRIPTOR_TYPE_SAMPLER),-                  ("VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER",-                   pure VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER),-                  ("VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE",-                   pure VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE),-                  ("VK_DESCRIPTOR_TYPE_STORAGE_IMAGE",-                   pure VK_DESCRIPTOR_TYPE_STORAGE_IMAGE),-                  ("VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER",-                   pure VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER),-                  ("VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER",-                   pure VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER),-                  ("VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER",-                   pure VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER),-                  ("VK_DESCRIPTOR_TYPE_STORAGE_BUFFER",-                   pure VK_DESCRIPTOR_TYPE_STORAGE_BUFFER),-                  ("VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC",-                   pure VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC),-                  ("VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC",-                   pure VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC),-                  ("VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT",-                   pure VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT)]-                 +++-                 prec 10-                   (expectP (Ident "VkDescriptorType") >>-                      (VkDescriptorType <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_DESCRIPTOR_TYPE_SAMPLER", pure VK_DESCRIPTOR_TYPE_SAMPLER),+              ("VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER",+               pure VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER),+              ("VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE",+               pure VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE),+              ("VK_DESCRIPTOR_TYPE_STORAGE_IMAGE",+               pure VK_DESCRIPTOR_TYPE_STORAGE_IMAGE),+              ("VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER",+               pure VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER),+              ("VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER",+               pure VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER),+              ("VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER",+               pure VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER),+              ("VK_DESCRIPTOR_TYPE_STORAGE_BUFFER",+               pure VK_DESCRIPTOR_TYPE_STORAGE_BUFFER),+              ("VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC",+               pure VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC),+              ("VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC",+               pure VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC),+              ("VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT",+               pure VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT)]+             ++++             prec 10+               (expectP (Ident "VkDescriptorType") >>+                  (VkDescriptorType <$> step readPrec)))  pattern VK_DESCRIPTOR_TYPE_SAMPLER :: VkDescriptorType @@ -389,26 +350,25 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateType registry at www.khronos.org> newtype VkDescriptorUpdateTemplateType = VkDescriptorUpdateTemplateType Int32-                                           deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,-                                                     Generic)+                                         deriving (Eq, Ord, Enum, Storable)  instance Show VkDescriptorUpdateTemplateType where-        showsPrec _ VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET-          = showString "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET"-        showsPrec p (VkDescriptorUpdateTemplateType x)-          = showParen (p >= 11)-              (showString "VkDescriptorUpdateTemplateType " . showsPrec 11 x)+    showsPrec _ VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET+      = showString "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET"+    showsPrec p (VkDescriptorUpdateTemplateType x)+      = showParen (p >= 11)+          (showString "VkDescriptorUpdateTemplateType " . showsPrec 11 x)  instance Read VkDescriptorUpdateTemplateType where-        readPrec-          = parens-              (choose-                 [("VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET",-                   pure VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET)]-                 +++-                 prec 10-                   (expectP (Ident "VkDescriptorUpdateTemplateType") >>-                      (VkDescriptorUpdateTemplateType <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET",+               pure VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET)]+             ++++             prec 10+               (expectP (Ident "VkDescriptorUpdateTemplateType") >>+                  (VkDescriptorUpdateTemplateType <$> step readPrec)))  -- | Create descriptor update template for descriptor set updates pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET ::@@ -418,13 +378,12 @@         VkDescriptorUpdateTemplateType 0  newtype VkDescriptorUpdateTemplateTypeKHR = VkDescriptorUpdateTemplateTypeKHR VkFlags-                                              deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                        FiniteBits, Storable, Real, Data, Generic)+                                            deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkDescriptorUpdateTemplateTypeKHR where-        {-# INLINE show #-}-        show (VkDescriptorUpdateTemplateTypeKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkDescriptorUpdateTemplateTypeKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
src-gen/Graphics/Vulkan/Types/Enum/Device.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -28,9 +26,7 @@        where import Data.Bits                       (Bits, FiniteBits) import Data.Coerce                     (coerce)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType, Int32) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -39,40 +35,39 @@ import Text.Read.Lex                   (Lexeme (..))  newtype VkDeviceCreateFlagBits = VkDeviceCreateFlagBits VkFlags-                                   deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                             FiniteBits, Storable, Real, Data, Generic)+                                 deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkDeviceCreateFlagBits where-        {-# INLINE show #-}-        show (VkDeviceCreateFlagBits x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkDeviceCreateFlagBits where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  -- | type = @enum@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceEventTypeEXT VkDeviceEventTypeEXT registry at www.khronos.org> newtype VkDeviceEventTypeEXT = VkDeviceEventTypeEXT Int32-                                 deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                               deriving (Eq, Ord, Enum, Storable)  instance Show VkDeviceEventTypeEXT where-        showsPrec _ VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT-          = showString "VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT"-        showsPrec p (VkDeviceEventTypeEXT x)-          = showParen (p >= 11)-              (showString "VkDeviceEventTypeEXT " . showsPrec 11 x)+    showsPrec _ VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT+      = showString "VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT"+    showsPrec p (VkDeviceEventTypeEXT x)+      = showParen (p >= 11)+          (showString "VkDeviceEventTypeEXT " . showsPrec 11 x)  instance Read VkDeviceEventTypeEXT where-        readPrec-          = parens-              (choose-                 [("VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT",-                   pure VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT)]-                 +++-                 prec 10-                   (expectP (Ident "VkDeviceEventTypeEXT") >>-                      (VkDeviceEventTypeEXT <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT",+               pure VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT)]+             ++++             prec 10+               (expectP (Ident "VkDeviceEventTypeEXT") >>+                  (VkDeviceEventTypeEXT <$> step readPrec)))  pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT ::         VkDeviceEventTypeEXT@@ -82,8 +77,7 @@  newtype VkDeviceGroupPresentModeBitmaskKHR (a ::                                               FlagType) = VkDeviceGroupPresentModeBitmaskKHR VkFlags-                                                            deriving (Eq, Ord, Storable, Data,-                                                                      Generic)+                                                          deriving (Eq, Ord, Storable)  type VkDeviceGroupPresentModeFlagsKHR =      VkDeviceGroupPresentModeBitmaskKHR FlagMask@@ -109,50 +103,36 @@ deriving instance          FiniteBits (VkDeviceGroupPresentModeBitmaskKHR FlagMask) -deriving instance-         Integral (VkDeviceGroupPresentModeBitmaskKHR FlagMask)--deriving instance Num (VkDeviceGroupPresentModeBitmaskKHR FlagMask)--deriving instance-         Bounded (VkDeviceGroupPresentModeBitmaskKHR FlagMask)--deriving instance-         Enum (VkDeviceGroupPresentModeBitmaskKHR FlagMask)--deriving instance-         Real (VkDeviceGroupPresentModeBitmaskKHR FlagMask)- instance Show (VkDeviceGroupPresentModeBitmaskKHR a) where-        showsPrec _ VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR-          = showString "VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR"-        showsPrec _ VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR-          = showString "VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR"-        showsPrec _ VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR-          = showString "VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR"-        showsPrec _ VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR-          = showString-              "VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR"-        showsPrec p (VkDeviceGroupPresentModeBitmaskKHR x)-          = showParen (p >= 11)-              (showString "VkDeviceGroupPresentModeBitmaskKHR " . showsPrec 11 x)+    showsPrec _ VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR+      = showString "VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR"+    showsPrec _ VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR+      = showString "VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR"+    showsPrec _ VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR+      = showString "VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR"+    showsPrec _ VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR+      = showString+          "VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR"+    showsPrec p (VkDeviceGroupPresentModeBitmaskKHR x)+      = showParen (p >= 11)+          (showString "VkDeviceGroupPresentModeBitmaskKHR " . showsPrec 11 x)  instance Read (VkDeviceGroupPresentModeBitmaskKHR a) where-        readPrec-          = parens-              (choose-                 [("VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR",-                   pure VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR),-                  ("VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR",-                   pure VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR),-                  ("VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR",-                   pure VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR),-                  ("VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR",-                   pure VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR)]-                 +++-                 prec 10-                   (expectP (Ident "VkDeviceGroupPresentModeBitmaskKHR") >>-                      (VkDeviceGroupPresentModeBitmaskKHR <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR",+               pure VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR),+              ("VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR",+               pure VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR),+              ("VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR",+               pure VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR),+              ("VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR",+               pure VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR)]+             ++++             prec 10+               (expectP (Ident "VkDeviceGroupPresentModeBitmaskKHR") >>+                  (VkDeviceGroupPresentModeBitmaskKHR <$> step readPrec)))  -- | Present from local memory --@@ -192,7 +172,7 @@  newtype VkDeviceQueueCreateBitmask (a ::                                       FlagType) = VkDeviceQueueCreateBitmask VkFlags-                                                    deriving (Eq, Ord, Storable, Data, Generic)+                                                  deriving (Eq, Ord, Storable)  type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask @@ -214,25 +194,15 @@  deriving instance FiniteBits (VkDeviceQueueCreateBitmask FlagMask) -deriving instance Integral (VkDeviceQueueCreateBitmask FlagMask)--deriving instance Num (VkDeviceQueueCreateBitmask FlagMask)--deriving instance Bounded (VkDeviceQueueCreateBitmask FlagMask)--deriving instance Enum (VkDeviceQueueCreateBitmask FlagMask)--deriving instance Real (VkDeviceQueueCreateBitmask FlagMask)- instance Show (VkDeviceQueueCreateBitmask a) where-        showsPrec p (VkDeviceQueueCreateBitmask x)-          = showParen (p >= 11)-              (showString "VkDeviceQueueCreateBitmask " . showsPrec 11 x)+    showsPrec p (VkDeviceQueueCreateBitmask x)+      = showParen (p >= 11)+          (showString "VkDeviceQueueCreateBitmask " . showsPrec 11 x)  instance Read (VkDeviceQueueCreateBitmask a) where-        readPrec-          = parens-              (choose [] +++-                 prec 10-                   (expectP (Ident "VkDeviceQueueCreateBitmask") >>-                      (VkDeviceQueueCreateBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose [] ++++             prec 10+               (expectP (Ident "VkDeviceQueueCreateBitmask") >>+                  (VkDeviceQueueCreateBitmask <$> step readPrec)))
src-gen/Graphics/Vulkan/Types/Enum/DiscardRectangleModeEXT.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -10,9 +8,7 @@                                   VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT,                                   VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT))        where-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Text.ParserCombinators.ReadPrec (prec, step, (+++))@@ -23,30 +19,29 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDiscardRectangleModeEXT VkDiscardRectangleModeEXT registry at www.khronos.org> newtype VkDiscardRectangleModeEXT = VkDiscardRectangleModeEXT Int32-                                      deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,-                                                Generic)+                                    deriving (Eq, Ord, Enum, Storable)  instance Show VkDiscardRectangleModeEXT where-        showsPrec _ VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT-          = showString "VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT"-        showsPrec _ VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT-          = showString "VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT"-        showsPrec p (VkDiscardRectangleModeEXT x)-          = showParen (p >= 11)-              (showString "VkDiscardRectangleModeEXT " . showsPrec 11 x)+    showsPrec _ VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT+      = showString "VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT"+    showsPrec _ VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT+      = showString "VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT"+    showsPrec p (VkDiscardRectangleModeEXT x)+      = showParen (p >= 11)+          (showString "VkDiscardRectangleModeEXT " . showsPrec 11 x)  instance Read VkDiscardRectangleModeEXT where-        readPrec-          = parens-              (choose-                 [("VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT",-                   pure VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT),-                  ("VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT",-                   pure VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT)]-                 +++-                 prec 10-                   (expectP (Ident "VkDiscardRectangleModeEXT") >>-                      (VkDiscardRectangleModeEXT <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT",+               pure VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT),+              ("VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT",+               pure VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT)]+             ++++             prec 10+               (expectP (Ident "VkDiscardRectangleModeEXT") >>+                  (VkDiscardRectangleModeEXT <$> step readPrec)))  pattern VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT ::         VkDiscardRectangleModeEXT
src-gen/Graphics/Vulkan/Types/Enum/Display.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -24,9 +22,7 @@                                VK_DISPLAY_POWER_STATE_ON_EXT))        where import Data.Bits                       (Bits, FiniteBits)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType, Int32) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -38,25 +34,25 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayEventTypeEXT VkDisplayEventTypeEXT registry at www.khronos.org> newtype VkDisplayEventTypeEXT = VkDisplayEventTypeEXT Int32-                                  deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                                deriving (Eq, Ord, Enum, Storable)  instance Show VkDisplayEventTypeEXT where-        showsPrec _ VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT-          = showString "VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT"-        showsPrec p (VkDisplayEventTypeEXT x)-          = showParen (p >= 11)-              (showString "VkDisplayEventTypeEXT " . showsPrec 11 x)+    showsPrec _ VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT+      = showString "VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT"+    showsPrec p (VkDisplayEventTypeEXT x)+      = showParen (p >= 11)+          (showString "VkDisplayEventTypeEXT " . showsPrec 11 x)  instance Read VkDisplayEventTypeEXT where-        readPrec-          = parens-              (choose-                 [("VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT",-                   pure VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT)]-                 +++-                 prec 10-                   (expectP (Ident "VkDisplayEventTypeEXT") >>-                      (VkDisplayEventTypeEXT <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT",+               pure VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT)]+             ++++             prec 10+               (expectP (Ident "VkDisplayEventTypeEXT") >>+                  (VkDisplayEventTypeEXT <$> step readPrec)))  pattern VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT ::         VkDisplayEventTypeEXT@@ -66,7 +62,7 @@  newtype VkDisplayPlaneAlphaBitmaskKHR (a ::                                          FlagType) = VkDisplayPlaneAlphaBitmaskKHR VkFlags-                                                       deriving (Eq, Ord, Storable, Data, Generic)+                                                     deriving (Eq, Ord, Storable)  type VkDisplayPlaneAlphaFlagsKHR =      VkDisplayPlaneAlphaBitmaskKHR FlagMask@@ -91,46 +87,36 @@ deriving instance          FiniteBits (VkDisplayPlaneAlphaBitmaskKHR FlagMask) -deriving instance Integral (VkDisplayPlaneAlphaBitmaskKHR FlagMask)--deriving instance Num (VkDisplayPlaneAlphaBitmaskKHR FlagMask)--deriving instance Bounded (VkDisplayPlaneAlphaBitmaskKHR FlagMask)--deriving instance Enum (VkDisplayPlaneAlphaBitmaskKHR FlagMask)--deriving instance Real (VkDisplayPlaneAlphaBitmaskKHR FlagMask)- instance Show (VkDisplayPlaneAlphaBitmaskKHR a) where-        showsPrec _ VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR-          = showString "VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR"-        showsPrec _ VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR-          = showString "VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR"-        showsPrec _ VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR-          = showString "VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR"-        showsPrec _ VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR-          = showString-              "VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR"-        showsPrec p (VkDisplayPlaneAlphaBitmaskKHR x)-          = showParen (p >= 11)-              (showString "VkDisplayPlaneAlphaBitmaskKHR " . showsPrec 11 x)+    showsPrec _ VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR+      = showString "VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR"+    showsPrec _ VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR+      = showString "VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR"+    showsPrec _ VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR+      = showString "VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR"+    showsPrec _ VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR+      = showString+          "VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR"+    showsPrec p (VkDisplayPlaneAlphaBitmaskKHR x)+      = showParen (p >= 11)+          (showString "VkDisplayPlaneAlphaBitmaskKHR " . showsPrec 11 x)  instance Read (VkDisplayPlaneAlphaBitmaskKHR a) where-        readPrec-          = parens-              (choose-                 [("VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR",-                   pure VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR),-                  ("VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR",-                   pure VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR),-                  ("VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR",-                   pure VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR),-                  ("VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR",-                   pure VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR)]-                 +++-                 prec 10-                   (expectP (Ident "VkDisplayPlaneAlphaBitmaskKHR") >>-                      (VkDisplayPlaneAlphaBitmaskKHR <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR",+               pure VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR),+              ("VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR",+               pure VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR),+              ("VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR",+               pure VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR),+              ("VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR",+               pure VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR)]+             ++++             prec 10+               (expectP (Ident "VkDisplayPlaneAlphaBitmaskKHR") >>+                  (VkDisplayPlaneAlphaBitmaskKHR <$> step readPrec)))  -- | bitpos = @0@ pattern VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR ::@@ -164,33 +150,33 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayPowerStateEXT VkDisplayPowerStateEXT registry at www.khronos.org> newtype VkDisplayPowerStateEXT = VkDisplayPowerStateEXT Int32-                                   deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                                 deriving (Eq, Ord, Enum, Storable)  instance Show VkDisplayPowerStateEXT where-        showsPrec _ VK_DISPLAY_POWER_STATE_OFF_EXT-          = showString "VK_DISPLAY_POWER_STATE_OFF_EXT"-        showsPrec _ VK_DISPLAY_POWER_STATE_SUSPEND_EXT-          = showString "VK_DISPLAY_POWER_STATE_SUSPEND_EXT"-        showsPrec _ VK_DISPLAY_POWER_STATE_ON_EXT-          = showString "VK_DISPLAY_POWER_STATE_ON_EXT"-        showsPrec p (VkDisplayPowerStateEXT x)-          = showParen (p >= 11)-              (showString "VkDisplayPowerStateEXT " . showsPrec 11 x)+    showsPrec _ VK_DISPLAY_POWER_STATE_OFF_EXT+      = showString "VK_DISPLAY_POWER_STATE_OFF_EXT"+    showsPrec _ VK_DISPLAY_POWER_STATE_SUSPEND_EXT+      = showString "VK_DISPLAY_POWER_STATE_SUSPEND_EXT"+    showsPrec _ VK_DISPLAY_POWER_STATE_ON_EXT+      = showString "VK_DISPLAY_POWER_STATE_ON_EXT"+    showsPrec p (VkDisplayPowerStateEXT x)+      = showParen (p >= 11)+          (showString "VkDisplayPowerStateEXT " . showsPrec 11 x)  instance Read VkDisplayPowerStateEXT where-        readPrec-          = parens-              (choose-                 [("VK_DISPLAY_POWER_STATE_OFF_EXT",-                   pure VK_DISPLAY_POWER_STATE_OFF_EXT),-                  ("VK_DISPLAY_POWER_STATE_SUSPEND_EXT",-                   pure VK_DISPLAY_POWER_STATE_SUSPEND_EXT),-                  ("VK_DISPLAY_POWER_STATE_ON_EXT",-                   pure VK_DISPLAY_POWER_STATE_ON_EXT)]-                 +++-                 prec 10-                   (expectP (Ident "VkDisplayPowerStateEXT") >>-                      (VkDisplayPowerStateEXT <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_DISPLAY_POWER_STATE_OFF_EXT",+               pure VK_DISPLAY_POWER_STATE_OFF_EXT),+              ("VK_DISPLAY_POWER_STATE_SUSPEND_EXT",+               pure VK_DISPLAY_POWER_STATE_SUSPEND_EXT),+              ("VK_DISPLAY_POWER_STATE_ON_EXT",+               pure VK_DISPLAY_POWER_STATE_ON_EXT)]+             ++++             prec 10+               (expectP (Ident "VkDisplayPowerStateEXT") >>+                  (VkDisplayPowerStateEXT <$> step readPrec)))  pattern VK_DISPLAY_POWER_STATE_OFF_EXT :: VkDisplayPowerStateEXT 
src-gen/Graphics/Vulkan/Types/Enum/DynamicState.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -14,9 +12,7 @@                        VK_DYNAMIC_STATE_STENCIL_WRITE_MASK,                        VK_DYNAMIC_STATE_STENCIL_REFERENCE))        where-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Text.ParserCombinators.ReadPrec (prec, step, (+++))@@ -27,53 +23,53 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDynamicState VkDynamicState registry at www.khronos.org> newtype VkDynamicState = VkDynamicState Int32-                           deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                         deriving (Eq, Ord, Enum, Storable)  instance Show VkDynamicState where-        showsPrec _ VK_DYNAMIC_STATE_VIEWPORT-          = showString "VK_DYNAMIC_STATE_VIEWPORT"-        showsPrec _ VK_DYNAMIC_STATE_SCISSOR-          = showString "VK_DYNAMIC_STATE_SCISSOR"-        showsPrec _ VK_DYNAMIC_STATE_LINE_WIDTH-          = showString "VK_DYNAMIC_STATE_LINE_WIDTH"-        showsPrec _ VK_DYNAMIC_STATE_DEPTH_BIAS-          = showString "VK_DYNAMIC_STATE_DEPTH_BIAS"-        showsPrec _ VK_DYNAMIC_STATE_BLEND_CONSTANTS-          = showString "VK_DYNAMIC_STATE_BLEND_CONSTANTS"-        showsPrec _ VK_DYNAMIC_STATE_DEPTH_BOUNDS-          = showString "VK_DYNAMIC_STATE_DEPTH_BOUNDS"-        showsPrec _ VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK-          = showString "VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK"-        showsPrec _ VK_DYNAMIC_STATE_STENCIL_WRITE_MASK-          = showString "VK_DYNAMIC_STATE_STENCIL_WRITE_MASK"-        showsPrec _ VK_DYNAMIC_STATE_STENCIL_REFERENCE-          = showString "VK_DYNAMIC_STATE_STENCIL_REFERENCE"-        showsPrec p (VkDynamicState x)-          = showParen (p >= 11)-              (showString "VkDynamicState " . showsPrec 11 x)+    showsPrec _ VK_DYNAMIC_STATE_VIEWPORT+      = showString "VK_DYNAMIC_STATE_VIEWPORT"+    showsPrec _ VK_DYNAMIC_STATE_SCISSOR+      = showString "VK_DYNAMIC_STATE_SCISSOR"+    showsPrec _ VK_DYNAMIC_STATE_LINE_WIDTH+      = showString "VK_DYNAMIC_STATE_LINE_WIDTH"+    showsPrec _ VK_DYNAMIC_STATE_DEPTH_BIAS+      = showString "VK_DYNAMIC_STATE_DEPTH_BIAS"+    showsPrec _ VK_DYNAMIC_STATE_BLEND_CONSTANTS+      = showString "VK_DYNAMIC_STATE_BLEND_CONSTANTS"+    showsPrec _ VK_DYNAMIC_STATE_DEPTH_BOUNDS+      = showString "VK_DYNAMIC_STATE_DEPTH_BOUNDS"+    showsPrec _ VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK+      = showString "VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK"+    showsPrec _ VK_DYNAMIC_STATE_STENCIL_WRITE_MASK+      = showString "VK_DYNAMIC_STATE_STENCIL_WRITE_MASK"+    showsPrec _ VK_DYNAMIC_STATE_STENCIL_REFERENCE+      = showString "VK_DYNAMIC_STATE_STENCIL_REFERENCE"+    showsPrec p (VkDynamicState x)+      = showParen (p >= 11)+          (showString "VkDynamicState " . showsPrec 11 x)  instance Read VkDynamicState where-        readPrec-          = parens-              (choose-                 [("VK_DYNAMIC_STATE_VIEWPORT", pure VK_DYNAMIC_STATE_VIEWPORT),-                  ("VK_DYNAMIC_STATE_SCISSOR", pure VK_DYNAMIC_STATE_SCISSOR),-                  ("VK_DYNAMIC_STATE_LINE_WIDTH", pure VK_DYNAMIC_STATE_LINE_WIDTH),-                  ("VK_DYNAMIC_STATE_DEPTH_BIAS", pure VK_DYNAMIC_STATE_DEPTH_BIAS),-                  ("VK_DYNAMIC_STATE_BLEND_CONSTANTS",-                   pure VK_DYNAMIC_STATE_BLEND_CONSTANTS),-                  ("VK_DYNAMIC_STATE_DEPTH_BOUNDS",-                   pure VK_DYNAMIC_STATE_DEPTH_BOUNDS),-                  ("VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK",-                   pure VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK),-                  ("VK_DYNAMIC_STATE_STENCIL_WRITE_MASK",-                   pure VK_DYNAMIC_STATE_STENCIL_WRITE_MASK),-                  ("VK_DYNAMIC_STATE_STENCIL_REFERENCE",-                   pure VK_DYNAMIC_STATE_STENCIL_REFERENCE)]-                 +++-                 prec 10-                   (expectP (Ident "VkDynamicState") >>-                      (VkDynamicState <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_DYNAMIC_STATE_VIEWPORT", pure VK_DYNAMIC_STATE_VIEWPORT),+              ("VK_DYNAMIC_STATE_SCISSOR", pure VK_DYNAMIC_STATE_SCISSOR),+              ("VK_DYNAMIC_STATE_LINE_WIDTH", pure VK_DYNAMIC_STATE_LINE_WIDTH),+              ("VK_DYNAMIC_STATE_DEPTH_BIAS", pure VK_DYNAMIC_STATE_DEPTH_BIAS),+              ("VK_DYNAMIC_STATE_BLEND_CONSTANTS",+               pure VK_DYNAMIC_STATE_BLEND_CONSTANTS),+              ("VK_DYNAMIC_STATE_DEPTH_BOUNDS",+               pure VK_DYNAMIC_STATE_DEPTH_BOUNDS),+              ("VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK",+               pure VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK),+              ("VK_DYNAMIC_STATE_STENCIL_WRITE_MASK",+               pure VK_DYNAMIC_STATE_STENCIL_WRITE_MASK),+              ("VK_DYNAMIC_STATE_STENCIL_REFERENCE",+               pure VK_DYNAMIC_STATE_STENCIL_REFERENCE)]+             ++++             prec 10+               (expectP (Ident "VkDynamicState") >>+                  (VkDynamicState <$> step readPrec)))  pattern VK_DYNAMIC_STATE_VIEWPORT :: VkDynamicState 
src-gen/Graphics/Vulkan/Types/Enum/External.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -84,9 +82,7 @@        where import Data.Bits                       (Bits, FiniteBits) import Data.Coerce                     (coerce)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -95,20 +91,19 @@ import Text.Read.Lex                   (Lexeme (..))  newtype VkExternalFenceFeatureFlagBitsKHR = VkExternalFenceFeatureFlagBitsKHR VkFlags-                                              deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                        FiniteBits, Storable, Real, Data, Generic)+                                            deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkExternalFenceFeatureFlagBitsKHR where-        {-# INLINE show #-}-        show (VkExternalFenceFeatureFlagBitsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkExternalFenceFeatureFlagBitsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkExternalFenceFeatureBitmask (a ::                                          FlagType) = VkExternalFenceFeatureBitmask VkFlags-                                                       deriving (Eq, Ord, Storable, Data, Generic)+                                                     deriving (Eq, Ord, Storable)  type VkExternalFenceFeatureFlags =      VkExternalFenceFeatureBitmask FlagMask@@ -133,37 +128,27 @@ deriving instance          FiniteBits (VkExternalFenceFeatureBitmask FlagMask) -deriving instance Integral (VkExternalFenceFeatureBitmask FlagMask)--deriving instance Num (VkExternalFenceFeatureBitmask FlagMask)--deriving instance Bounded (VkExternalFenceFeatureBitmask FlagMask)--deriving instance Enum (VkExternalFenceFeatureBitmask FlagMask)--deriving instance Real (VkExternalFenceFeatureBitmask FlagMask)- instance Show (VkExternalFenceFeatureBitmask a) where-        showsPrec _ VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT-          = showString "VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT"-        showsPrec _ VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT-          = showString "VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT"-        showsPrec p (VkExternalFenceFeatureBitmask x)-          = showParen (p >= 11)-              (showString "VkExternalFenceFeatureBitmask " . showsPrec 11 x)+    showsPrec _ VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT+      = showString "VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT"+    showsPrec _ VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT+      = showString "VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT"+    showsPrec p (VkExternalFenceFeatureBitmask x)+      = showParen (p >= 11)+          (showString "VkExternalFenceFeatureBitmask " . showsPrec 11 x)  instance Read (VkExternalFenceFeatureBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT",-                   pure VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT),-                  ("VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT",-                   pure VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkExternalFenceFeatureBitmask") >>-                      (VkExternalFenceFeatureBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT",+               pure VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT),+              ("VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT",+               pure VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT)]+             ++++             prec 10+               (expectP (Ident "VkExternalFenceFeatureBitmask") >>+                  (VkExternalFenceFeatureBitmask <$> step readPrec)))  -- | bitpos = @0@ pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT ::@@ -180,22 +165,19 @@         VkExternalFenceFeatureBitmask 2  newtype VkExternalFenceHandleTypeFlagBitsKHR = VkExternalFenceHandleTypeFlagBitsKHR VkFlags-                                                 deriving (Eq, Ord, Num, Bounded, Enum, Integral,-                                                           Bits, FiniteBits, Storable, Real, Data,-                                                           Generic)+                                               deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkExternalFenceHandleTypeFlagBitsKHR where-        {-# INLINE show #-}-        show (VkExternalFenceHandleTypeFlagBitsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkExternalFenceHandleTypeFlagBitsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkExternalFenceHandleTypeBitmask (a ::                                             FlagType) = VkExternalFenceHandleTypeBitmask VkFlags-                                                          deriving (Eq, Ord, Storable, Data,-                                                                    Generic)+                                                        deriving (Eq, Ord, Storable)  type VkExternalFenceHandleTypeFlags =      VkExternalFenceHandleTypeBitmask FlagMask@@ -220,47 +202,35 @@ deriving instance          FiniteBits (VkExternalFenceHandleTypeBitmask FlagMask) -deriving instance-         Integral (VkExternalFenceHandleTypeBitmask FlagMask)--deriving instance Num (VkExternalFenceHandleTypeBitmask FlagMask)--deriving instance-         Bounded (VkExternalFenceHandleTypeBitmask FlagMask)--deriving instance Enum (VkExternalFenceHandleTypeBitmask FlagMask)--deriving instance Real (VkExternalFenceHandleTypeBitmask FlagMask)- instance Show (VkExternalFenceHandleTypeBitmask a) where-        showsPrec _ VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT-          = showString "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT"-        showsPrec _ VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT-          = showString "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT"-        showsPrec _ VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT-          = showString "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT"-        showsPrec _ VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT-          = showString "VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT"-        showsPrec p (VkExternalFenceHandleTypeBitmask x)-          = showParen (p >= 11)-              (showString "VkExternalFenceHandleTypeBitmask " . showsPrec 11 x)+    showsPrec _ VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT+      = showString "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT"+    showsPrec _ VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT+      = showString "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT"+    showsPrec _ VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT+      = showString "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT"+    showsPrec _ VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT+      = showString "VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT"+    showsPrec p (VkExternalFenceHandleTypeBitmask x)+      = showParen (p >= 11)+          (showString "VkExternalFenceHandleTypeBitmask " . showsPrec 11 x)  instance Read (VkExternalFenceHandleTypeBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT",-                   pure VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT),-                  ("VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT",-                   pure VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT),-                  ("VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT",-                   pure VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT),-                  ("VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT",-                   pure VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkExternalFenceHandleTypeBitmask") >>-                      (VkExternalFenceHandleTypeBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT",+               pure VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT),+              ("VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT",+               pure VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT),+              ("VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT",+               pure VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT),+              ("VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT",+               pure VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT)]+             ++++             prec 10+               (expectP (Ident "VkExternalFenceHandleTypeBitmask") >>+                  (VkExternalFenceHandleTypeBitmask <$> step readPrec)))  -- | bitpos = @0@ pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT ::@@ -291,21 +261,19 @@         VkExternalFenceHandleTypeBitmask 8  newtype VkExternalMemoryFeatureFlagBitsKHR = VkExternalMemoryFeatureFlagBitsKHR VkFlags-                                               deriving (Eq, Ord, Num, Bounded, Enum, Integral,-                                                         Bits, FiniteBits, Storable, Real, Data,-                                                         Generic)+                                             deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkExternalMemoryFeatureFlagBitsKHR where-        {-# INLINE show #-}-        show (VkExternalMemoryFeatureFlagBitsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkExternalMemoryFeatureFlagBitsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkExternalMemoryFeatureBitmask (a ::                                           FlagType) = VkExternalMemoryFeatureBitmask VkFlags-                                                        deriving (Eq, Ord, Storable, Data, Generic)+                                                      deriving (Eq, Ord, Storable)  type VkExternalMemoryFeatureFlags =      VkExternalMemoryFeatureBitmask FlagMask@@ -330,42 +298,31 @@ deriving instance          FiniteBits (VkExternalMemoryFeatureBitmask FlagMask) -deriving instance-         Integral (VkExternalMemoryFeatureBitmask FlagMask)--deriving instance Num (VkExternalMemoryFeatureBitmask FlagMask)--deriving instance Bounded (VkExternalMemoryFeatureBitmask FlagMask)--deriving instance Enum (VkExternalMemoryFeatureBitmask FlagMask)--deriving instance Real (VkExternalMemoryFeatureBitmask FlagMask)- instance Show (VkExternalMemoryFeatureBitmask a) where-        showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT-          = showString "VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT"-        showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT-          = showString "VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT"-        showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT-          = showString "VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT"-        showsPrec p (VkExternalMemoryFeatureBitmask x)-          = showParen (p >= 11)-              (showString "VkExternalMemoryFeatureBitmask " . showsPrec 11 x)+    showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT+      = showString "VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT"+    showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT+      = showString "VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT"+    showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT+      = showString "VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT"+    showsPrec p (VkExternalMemoryFeatureBitmask x)+      = showParen (p >= 11)+          (showString "VkExternalMemoryFeatureBitmask " . showsPrec 11 x)  instance Read (VkExternalMemoryFeatureBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT",-                   pure VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT),-                  ("VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT",-                   pure VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT),-                  ("VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT",-                   pure VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkExternalMemoryFeatureBitmask") >>-                      (VkExternalMemoryFeatureBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT",+               pure VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT),+              ("VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT",+               pure VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT),+              ("VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT",+               pure VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT)]+             ++++             prec 10+               (expectP (Ident "VkExternalMemoryFeatureBitmask") >>+                  (VkExternalMemoryFeatureBitmask <$> step readPrec)))  -- | bitpos = @0@ pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT ::@@ -390,8 +347,7 @@  newtype VkExternalMemoryFeatureBitmaskNV (a ::                                             FlagType) = VkExternalMemoryFeatureBitmaskNV VkFlags-                                                          deriving (Eq, Ord, Storable, Data,-                                                                    Generic)+                                                        deriving (Eq, Ord, Storable)  type VkExternalMemoryFeatureFlagsNV =      VkExternalMemoryFeatureBitmaskNV FlagMask@@ -416,43 +372,31 @@ deriving instance          FiniteBits (VkExternalMemoryFeatureBitmaskNV FlagMask) -deriving instance-         Integral (VkExternalMemoryFeatureBitmaskNV FlagMask)--deriving instance Num (VkExternalMemoryFeatureBitmaskNV FlagMask)--deriving instance-         Bounded (VkExternalMemoryFeatureBitmaskNV FlagMask)--deriving instance Enum (VkExternalMemoryFeatureBitmaskNV FlagMask)--deriving instance Real (VkExternalMemoryFeatureBitmaskNV FlagMask)- instance Show (VkExternalMemoryFeatureBitmaskNV a) where-        showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV-          = showString "VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV"-        showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV-          = showString "VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV"-        showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV-          = showString "VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV"-        showsPrec p (VkExternalMemoryFeatureBitmaskNV x)-          = showParen (p >= 11)-              (showString "VkExternalMemoryFeatureBitmaskNV " . showsPrec 11 x)+    showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV+      = showString "VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV"+    showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV+      = showString "VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV"+    showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV+      = showString "VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV"+    showsPrec p (VkExternalMemoryFeatureBitmaskNV x)+      = showParen (p >= 11)+          (showString "VkExternalMemoryFeatureBitmaskNV " . showsPrec 11 x)  instance Read (VkExternalMemoryFeatureBitmaskNV a) where-        readPrec-          = parens-              (choose-                 [("VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV",-                   pure VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV),-                  ("VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV",-                   pure VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV),-                  ("VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV",-                   pure VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV)]-                 +++-                 prec 10-                   (expectP (Ident "VkExternalMemoryFeatureBitmaskNV") >>-                      (VkExternalMemoryFeatureBitmaskNV <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV",+               pure VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV),+              ("VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV",+               pure VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV),+              ("VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV",+               pure VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV)]+             ++++             prec 10+               (expectP (Ident "VkExternalMemoryFeatureBitmaskNV") >>+                  (VkExternalMemoryFeatureBitmaskNV <$> step readPrec)))  -- | bitpos = @0@ pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV ::@@ -476,22 +420,19 @@         VkExternalMemoryFeatureBitmaskNV 4  newtype VkExternalMemoryHandleTypeFlagBitsKHR = VkExternalMemoryHandleTypeFlagBitsKHR VkFlags-                                                  deriving (Eq, Ord, Num, Bounded, Enum, Integral,-                                                            Bits, FiniteBits, Storable, Real, Data,-                                                            Generic)+                                                deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkExternalMemoryHandleTypeFlagBitsKHR where-        {-# INLINE show #-}-        show (VkExternalMemoryHandleTypeFlagBitsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkExternalMemoryHandleTypeFlagBitsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkExternalMemoryHandleTypeBitmask (a ::                                              FlagType) = VkExternalMemoryHandleTypeBitmask VkFlags-                                                           deriving (Eq, Ord, Storable, Data,-                                                                     Generic)+                                                         deriving (Eq, Ord, Storable)  type VkExternalMemoryHandleTypeFlags =      VkExternalMemoryHandleTypeBitmask FlagMask@@ -516,59 +457,47 @@ deriving instance          FiniteBits (VkExternalMemoryHandleTypeBitmask FlagMask) -deriving instance-         Integral (VkExternalMemoryHandleTypeBitmask FlagMask)--deriving instance Num (VkExternalMemoryHandleTypeBitmask FlagMask)--deriving instance-         Bounded (VkExternalMemoryHandleTypeBitmask FlagMask)--deriving instance Enum (VkExternalMemoryHandleTypeBitmask FlagMask)--deriving instance Real (VkExternalMemoryHandleTypeBitmask FlagMask)- instance Show (VkExternalMemoryHandleTypeBitmask a) where-        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT-          = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT"-        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT-          = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT"-        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT-          = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT"-        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT-          = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT"-        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT-          = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT"-        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT-          = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT"-        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT-          = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT"-        showsPrec p (VkExternalMemoryHandleTypeBitmask x)-          = showParen (p >= 11)-              (showString "VkExternalMemoryHandleTypeBitmask " . showsPrec 11 x)+    showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT+      = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT"+    showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT+      = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT"+    showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT+      = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT"+    showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT+      = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT"+    showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT+      = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT"+    showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT+      = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT"+    showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT+      = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT"+    showsPrec p (VkExternalMemoryHandleTypeBitmask x)+      = showParen (p >= 11)+          (showString "VkExternalMemoryHandleTypeBitmask " . showsPrec 11 x)  instance Read (VkExternalMemoryHandleTypeBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT",-                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT),-                  ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT",-                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT),-                  ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT",-                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT),-                  ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT",-                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT),-                  ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT",-                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT),-                  ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT",-                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT),-                  ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT",-                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkExternalMemoryHandleTypeBitmask") >>-                      (VkExternalMemoryHandleTypeBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT",+               pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT),+              ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT",+               pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT),+              ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT",+               pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT),+              ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT",+               pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT),+              ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT",+               pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT),+              ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT",+               pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT),+              ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT",+               pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT)]+             ++++             prec 10+               (expectP (Ident "VkExternalMemoryHandleTypeBitmask") >>+                  (VkExternalMemoryHandleTypeBitmask <$> step readPrec)))  -- | bitpos = @0@ pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT ::@@ -621,8 +550,7 @@  newtype VkExternalMemoryHandleTypeBitmaskNV (a ::                                                FlagType) = VkExternalMemoryHandleTypeBitmaskNV VkFlags-                                                             deriving (Eq, Ord, Storable, Data,-                                                                       Generic)+                                                           deriving (Eq, Ord, Storable)  type VkExternalMemoryHandleTypeFlagsNV =      VkExternalMemoryHandleTypeBitmaskNV FlagMask@@ -648,53 +576,38 @@ deriving instance          FiniteBits (VkExternalMemoryHandleTypeBitmaskNV FlagMask) -deriving instance-         Integral (VkExternalMemoryHandleTypeBitmaskNV FlagMask)--deriving instance-         Num (VkExternalMemoryHandleTypeBitmaskNV FlagMask)--deriving instance-         Bounded (VkExternalMemoryHandleTypeBitmaskNV FlagMask)--deriving instance-         Enum (VkExternalMemoryHandleTypeBitmaskNV FlagMask)--deriving instance-         Real (VkExternalMemoryHandleTypeBitmaskNV FlagMask)- instance Show (VkExternalMemoryHandleTypeBitmaskNV a) where-        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV-          = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV"-        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV-          = showString-              "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV"-        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV-          = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV"-        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV-          = showString-              "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV"-        showsPrec p (VkExternalMemoryHandleTypeBitmaskNV x)-          = showParen (p >= 11)-              (showString "VkExternalMemoryHandleTypeBitmaskNV " .-                 showsPrec 11 x)+    showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV+      = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV"+    showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV+      = showString+          "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV"+    showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV+      = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV"+    showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV+      = showString+          "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV"+    showsPrec p (VkExternalMemoryHandleTypeBitmaskNV x)+      = showParen (p >= 11)+          (showString "VkExternalMemoryHandleTypeBitmaskNV " .+             showsPrec 11 x)  instance Read (VkExternalMemoryHandleTypeBitmaskNV a) where-        readPrec-          = parens-              (choose-                 [("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV",-                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV),-                  ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV",-                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV),-                  ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV",-                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV),-                  ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV",-                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV)]-                 +++-                 prec 10-                   (expectP (Ident "VkExternalMemoryHandleTypeBitmaskNV") >>-                      (VkExternalMemoryHandleTypeBitmaskNV <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV",+               pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV),+              ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV",+               pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV),+              ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV",+               pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV),+              ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV",+               pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV)]+             ++++             prec 10+               (expectP (Ident "VkExternalMemoryHandleTypeBitmaskNV") >>+                  (VkExternalMemoryHandleTypeBitmaskNV <$> step readPrec)))  -- | bitpos = @0@ pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV ::@@ -725,22 +638,19 @@         VkExternalMemoryHandleTypeBitmaskNV 8  newtype VkExternalSemaphoreFeatureFlagBitsKHR = VkExternalSemaphoreFeatureFlagBitsKHR VkFlags-                                                  deriving (Eq, Ord, Num, Bounded, Enum, Integral,-                                                            Bits, FiniteBits, Storable, Real, Data,-                                                            Generic)+                                                deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkExternalSemaphoreFeatureFlagBitsKHR where-        {-# INLINE show #-}-        show (VkExternalSemaphoreFeatureFlagBitsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkExternalSemaphoreFeatureFlagBitsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkExternalSemaphoreFeatureBitmask (a ::                                              FlagType) = VkExternalSemaphoreFeatureBitmask VkFlags-                                                           deriving (Eq, Ord, Storable, Data,-                                                                     Generic)+                                                         deriving (Eq, Ord, Storable)  type VkExternalSemaphoreFeatureFlags =      VkExternalSemaphoreFeatureBitmask FlagMask@@ -765,39 +675,27 @@ deriving instance          FiniteBits (VkExternalSemaphoreFeatureBitmask FlagMask) -deriving instance-         Integral (VkExternalSemaphoreFeatureBitmask FlagMask)--deriving instance Num (VkExternalSemaphoreFeatureBitmask FlagMask)--deriving instance-         Bounded (VkExternalSemaphoreFeatureBitmask FlagMask)--deriving instance Enum (VkExternalSemaphoreFeatureBitmask FlagMask)--deriving instance Real (VkExternalSemaphoreFeatureBitmask FlagMask)- instance Show (VkExternalSemaphoreFeatureBitmask a) where-        showsPrec _ VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT-          = showString "VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT"-        showsPrec _ VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT-          = showString "VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT"-        showsPrec p (VkExternalSemaphoreFeatureBitmask x)-          = showParen (p >= 11)-              (showString "VkExternalSemaphoreFeatureBitmask " . showsPrec 11 x)+    showsPrec _ VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT+      = showString "VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT"+    showsPrec _ VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT+      = showString "VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT"+    showsPrec p (VkExternalSemaphoreFeatureBitmask x)+      = showParen (p >= 11)+          (showString "VkExternalSemaphoreFeatureBitmask " . showsPrec 11 x)  instance Read (VkExternalSemaphoreFeatureBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT",-                   pure VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT),-                  ("VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT",-                   pure VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkExternalSemaphoreFeatureBitmask") >>-                      (VkExternalSemaphoreFeatureBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT",+               pure VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT),+              ("VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT",+               pure VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT)]+             ++++             prec 10+               (expectP (Ident "VkExternalSemaphoreFeatureBitmask") >>+                  (VkExternalSemaphoreFeatureBitmask <$> step readPrec)))  -- | bitpos = @0@ pattern VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT ::@@ -814,22 +712,20 @@         VkExternalSemaphoreFeatureBitmask 2  newtype VkExternalSemaphoreHandleTypeFlagBitsKHR = VkExternalSemaphoreHandleTypeFlagBitsKHR VkFlags-                                                     deriving (Eq, Ord, Num, Bounded, Enum,-                                                               Integral, Bits, FiniteBits, Storable,-                                                               Real, Data, Generic)+                                                   deriving (Eq, Ord, Enum, Bits, FiniteBits,+                                                             Storable)  instance Show VkExternalSemaphoreHandleTypeFlagBitsKHR where-        {-# INLINE show #-}-        show (VkExternalSemaphoreHandleTypeFlagBitsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkExternalSemaphoreHandleTypeFlagBitsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkExternalSemaphoreHandleTypeBitmask (a ::                                                 FlagType) = VkExternalSemaphoreHandleTypeBitmask VkFlags-                                                              deriving (Eq, Ord, Storable, Data,-                                                                        Generic)+                                                            deriving (Eq, Ord, Storable)  type VkExternalSemaphoreHandleTypeFlags =      VkExternalSemaphoreHandleTypeBitmask FlagMask@@ -855,56 +751,41 @@ deriving instance          FiniteBits (VkExternalSemaphoreHandleTypeBitmask FlagMask) -deriving instance-         Integral (VkExternalSemaphoreHandleTypeBitmask FlagMask)--deriving instance-         Num (VkExternalSemaphoreHandleTypeBitmask FlagMask)--deriving instance-         Bounded (VkExternalSemaphoreHandleTypeBitmask FlagMask)--deriving instance-         Enum (VkExternalSemaphoreHandleTypeBitmask FlagMask)--deriving instance-         Real (VkExternalSemaphoreHandleTypeBitmask FlagMask)- instance Show (VkExternalSemaphoreHandleTypeBitmask a) where-        showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT-          = showString "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT"-        showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT-          = showString "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT"-        showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT-          = showString-              "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT"-        showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT-          = showString "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT"-        showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT-          = showString "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT"-        showsPrec p (VkExternalSemaphoreHandleTypeBitmask x)-          = showParen (p >= 11)-              (showString "VkExternalSemaphoreHandleTypeBitmask " .-                 showsPrec 11 x)+    showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT+      = showString "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT"+    showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT+      = showString "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT"+    showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT+      = showString+          "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT"+    showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT+      = showString "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT"+    showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT+      = showString "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT"+    showsPrec p (VkExternalSemaphoreHandleTypeBitmask x)+      = showParen (p >= 11)+          (showString "VkExternalSemaphoreHandleTypeBitmask " .+             showsPrec 11 x)  instance Read (VkExternalSemaphoreHandleTypeBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT",-                   pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT),-                  ("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT",-                   pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT),-                  ("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT",-                   pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT),-                  ("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT",-                   pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT),-                  ("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT",-                   pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkExternalSemaphoreHandleTypeBitmask") >>-                      (VkExternalSemaphoreHandleTypeBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT",+               pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT),+              ("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT",+               pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT),+              ("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT",+               pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT),+              ("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT",+               pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT),+              ("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT",+               pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT)]+             ++++             prec 10+               (expectP (Ident "VkExternalSemaphoreHandleTypeBitmask") >>+                  (VkExternalSemaphoreHandleTypeBitmask <$> step readPrec)))  -- | bitpos = @0@ pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT ::
src-gen/Graphics/Vulkan/Types/Enum/Fence.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -20,9 +18,7 @@        where import Data.Bits                       (Bits, FiniteBits) import Data.Coerce                     (coerce)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -32,7 +28,7 @@  newtype VkFenceCreateBitmask (a ::                                 FlagType) = VkFenceCreateBitmask VkFlags-                                              deriving (Eq, Ord, Storable, Data, Generic)+                                            deriving (Eq, Ord, Storable)  type VkFenceCreateFlags = VkFenceCreateBitmask FlagMask @@ -52,33 +48,23 @@  deriving instance FiniteBits (VkFenceCreateBitmask FlagMask) -deriving instance Integral (VkFenceCreateBitmask FlagMask)--deriving instance Num (VkFenceCreateBitmask FlagMask)--deriving instance Bounded (VkFenceCreateBitmask FlagMask)--deriving instance Enum (VkFenceCreateBitmask FlagMask)--deriving instance Real (VkFenceCreateBitmask FlagMask)- instance Show (VkFenceCreateBitmask a) where-        showsPrec _ VK_FENCE_CREATE_SIGNALED_BIT-          = showString "VK_FENCE_CREATE_SIGNALED_BIT"-        showsPrec p (VkFenceCreateBitmask x)-          = showParen (p >= 11)-              (showString "VkFenceCreateBitmask " . showsPrec 11 x)+    showsPrec _ VK_FENCE_CREATE_SIGNALED_BIT+      = showString "VK_FENCE_CREATE_SIGNALED_BIT"+    showsPrec p (VkFenceCreateBitmask x)+      = showParen (p >= 11)+          (showString "VkFenceCreateBitmask " . showsPrec 11 x)  instance Read (VkFenceCreateBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_FENCE_CREATE_SIGNALED_BIT",-                   pure VK_FENCE_CREATE_SIGNALED_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkFenceCreateBitmask") >>-                      (VkFenceCreateBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_FENCE_CREATE_SIGNALED_BIT",+               pure VK_FENCE_CREATE_SIGNALED_BIT)]+             ++++             prec 10+               (expectP (Ident "VkFenceCreateBitmask") >>+                  (VkFenceCreateBitmask <$> step readPrec)))  -- | bitpos = @0@ pattern VK_FENCE_CREATE_SIGNALED_BIT :: VkFenceCreateBitmask a@@ -86,20 +72,19 @@ pattern VK_FENCE_CREATE_SIGNALED_BIT = VkFenceCreateBitmask 1  newtype VkFenceImportFlagBitsKHR = VkFenceImportFlagBitsKHR VkFlags-                                     deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                               FiniteBits, Storable, Real, Data, Generic)+                                   deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkFenceImportFlagBitsKHR where-        {-# INLINE show #-}-        show (VkFenceImportFlagBitsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkFenceImportFlagBitsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkFenceImportBitmask (a ::                                 FlagType) = VkFenceImportBitmask VkFlags-                                              deriving (Eq, Ord, Storable, Data, Generic)+                                            deriving (Eq, Ord, Storable)  type VkFenceImportFlags = VkFenceImportBitmask FlagMask @@ -119,33 +104,23 @@  deriving instance FiniteBits (VkFenceImportBitmask FlagMask) -deriving instance Integral (VkFenceImportBitmask FlagMask)--deriving instance Num (VkFenceImportBitmask FlagMask)--deriving instance Bounded (VkFenceImportBitmask FlagMask)--deriving instance Enum (VkFenceImportBitmask FlagMask)--deriving instance Real (VkFenceImportBitmask FlagMask)- instance Show (VkFenceImportBitmask a) where-        showsPrec _ VK_FENCE_IMPORT_TEMPORARY_BIT-          = showString "VK_FENCE_IMPORT_TEMPORARY_BIT"-        showsPrec p (VkFenceImportBitmask x)-          = showParen (p >= 11)-              (showString "VkFenceImportBitmask " . showsPrec 11 x)+    showsPrec _ VK_FENCE_IMPORT_TEMPORARY_BIT+      = showString "VK_FENCE_IMPORT_TEMPORARY_BIT"+    showsPrec p (VkFenceImportBitmask x)+      = showParen (p >= 11)+          (showString "VkFenceImportBitmask " . showsPrec 11 x)  instance Read (VkFenceImportBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_FENCE_IMPORT_TEMPORARY_BIT",-                   pure VK_FENCE_IMPORT_TEMPORARY_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkFenceImportBitmask") >>-                      (VkFenceImportBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_FENCE_IMPORT_TEMPORARY_BIT",+               pure VK_FENCE_IMPORT_TEMPORARY_BIT)]+             ++++             prec 10+               (expectP (Ident "VkFenceImportBitmask") >>+                  (VkFenceImportBitmask <$> step readPrec)))  -- | bitpos = @0@ pattern VK_FENCE_IMPORT_TEMPORARY_BIT :: VkFenceImportBitmask a
src-gen/Graphics/Vulkan/Types/Enum/Filter.hs view
@@ -1,15 +1,11 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-} module Graphics.Vulkan.Types.Enum.Filter        (VkFilter(VkFilter, VK_FILTER_NEAREST, VK_FILTER_LINEAR)) where-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Text.ParserCombinators.ReadPrec (prec, step, (+++))@@ -20,23 +16,23 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkFilter VkFilter registry at www.khronos.org> newtype VkFilter = VkFilter Int32-                     deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                   deriving (Eq, Ord, Enum, Storable)  instance Show VkFilter where-        showsPrec _ VK_FILTER_NEAREST = showString "VK_FILTER_NEAREST"-        showsPrec _ VK_FILTER_LINEAR = showString "VK_FILTER_LINEAR"-        showsPrec p (VkFilter x)-          = showParen (p >= 11) (showString "VkFilter " . showsPrec 11 x)+    showsPrec _ VK_FILTER_NEAREST = showString "VK_FILTER_NEAREST"+    showsPrec _ VK_FILTER_LINEAR = showString "VK_FILTER_LINEAR"+    showsPrec p (VkFilter x)+      = showParen (p >= 11) (showString "VkFilter " . showsPrec 11 x)  instance Read VkFilter where-        readPrec-          = parens-              (choose-                 [("VK_FILTER_NEAREST", pure VK_FILTER_NEAREST),-                  ("VK_FILTER_LINEAR", pure VK_FILTER_LINEAR)]-                 +++-                 prec 10-                   (expectP (Ident "VkFilter") >> (VkFilter <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_FILTER_NEAREST", pure VK_FILTER_NEAREST),+              ("VK_FILTER_LINEAR", pure VK_FILTER_LINEAR)]+             ++++             prec 10+               (expectP (Ident "VkFilter") >> (VkFilter <$> step readPrec)))  pattern VK_FILTER_NEAREST :: VkFilter 
src-gen/Graphics/Vulkan/Types/Enum/Format.hs view
@@ -1,1613 +1,1599 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-}-{-# LANGUAGE FlexibleInstances          #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures             #-}-{-# LANGUAGE PatternSynonyms            #-}-{-# LANGUAGE StandaloneDeriving         #-}-{-# LANGUAGE Strict                     #-}-{-# LANGUAGE TypeSynonymInstances       #-}-module Graphics.Vulkan.Types.Enum.Format-       (VkFormat(VkFormat, VK_FORMAT_UNDEFINED,-                 VK_FORMAT_R4G4_UNORM_PACK8, VK_FORMAT_R4G4B4A4_UNORM_PACK16,-                 VK_FORMAT_B4G4R4A4_UNORM_PACK16, VK_FORMAT_R5G6B5_UNORM_PACK16,-                 VK_FORMAT_B5G6R5_UNORM_PACK16, VK_FORMAT_R5G5B5A1_UNORM_PACK16,-                 VK_FORMAT_B5G5R5A1_UNORM_PACK16, VK_FORMAT_A1R5G5B5_UNORM_PACK16,-                 VK_FORMAT_R8_UNORM, VK_FORMAT_R8_SNORM, VK_FORMAT_R8_USCALED,-                 VK_FORMAT_R8_SSCALED, VK_FORMAT_R8_UINT, VK_FORMAT_R8_SINT,-                 VK_FORMAT_R8_SRGB, VK_FORMAT_R8G8_UNORM, VK_FORMAT_R8G8_SNORM,-                 VK_FORMAT_R8G8_USCALED, VK_FORMAT_R8G8_SSCALED,-                 VK_FORMAT_R8G8_UINT, VK_FORMAT_R8G8_SINT, VK_FORMAT_R8G8_SRGB,-                 VK_FORMAT_R8G8B8_UNORM, VK_FORMAT_R8G8B8_SNORM,-                 VK_FORMAT_R8G8B8_USCALED, VK_FORMAT_R8G8B8_SSCALED,-                 VK_FORMAT_R8G8B8_UINT, VK_FORMAT_R8G8B8_SINT,-                 VK_FORMAT_R8G8B8_SRGB, VK_FORMAT_B8G8R8_UNORM,-                 VK_FORMAT_B8G8R8_SNORM, VK_FORMAT_B8G8R8_USCALED,-                 VK_FORMAT_B8G8R8_SSCALED, VK_FORMAT_B8G8R8_UINT,-                 VK_FORMAT_B8G8R8_SINT, VK_FORMAT_B8G8R8_SRGB,-                 VK_FORMAT_R8G8B8A8_UNORM, VK_FORMAT_R8G8B8A8_SNORM,-                 VK_FORMAT_R8G8B8A8_USCALED, VK_FORMAT_R8G8B8A8_SSCALED,-                 VK_FORMAT_R8G8B8A8_UINT, VK_FORMAT_R8G8B8A8_SINT,-                 VK_FORMAT_R8G8B8A8_SRGB, VK_FORMAT_B8G8R8A8_UNORM,-                 VK_FORMAT_B8G8R8A8_SNORM, VK_FORMAT_B8G8R8A8_USCALED,-                 VK_FORMAT_B8G8R8A8_SSCALED, VK_FORMAT_B8G8R8A8_UINT,-                 VK_FORMAT_B8G8R8A8_SINT, VK_FORMAT_B8G8R8A8_SRGB,-                 VK_FORMAT_A8B8G8R8_UNORM_PACK32, VK_FORMAT_A8B8G8R8_SNORM_PACK32,-                 VK_FORMAT_A8B8G8R8_USCALED_PACK32,-                 VK_FORMAT_A8B8G8R8_SSCALED_PACK32, VK_FORMAT_A8B8G8R8_UINT_PACK32,-                 VK_FORMAT_A8B8G8R8_SINT_PACK32, VK_FORMAT_A8B8G8R8_SRGB_PACK32,-                 VK_FORMAT_A2R10G10B10_UNORM_PACK32,-                 VK_FORMAT_A2R10G10B10_SNORM_PACK32,-                 VK_FORMAT_A2R10G10B10_USCALED_PACK32,-                 VK_FORMAT_A2R10G10B10_SSCALED_PACK32,-                 VK_FORMAT_A2R10G10B10_UINT_PACK32,-                 VK_FORMAT_A2R10G10B10_SINT_PACK32,-                 VK_FORMAT_A2B10G10R10_UNORM_PACK32,-                 VK_FORMAT_A2B10G10R10_SNORM_PACK32,-                 VK_FORMAT_A2B10G10R10_USCALED_PACK32,-                 VK_FORMAT_A2B10G10R10_SSCALED_PACK32,-                 VK_FORMAT_A2B10G10R10_UINT_PACK32,-                 VK_FORMAT_A2B10G10R10_SINT_PACK32, VK_FORMAT_R16_UNORM,-                 VK_FORMAT_R16_SNORM, VK_FORMAT_R16_USCALED, VK_FORMAT_R16_SSCALED,-                 VK_FORMAT_R16_UINT, VK_FORMAT_R16_SINT, VK_FORMAT_R16_SFLOAT,-                 VK_FORMAT_R16G16_UNORM, VK_FORMAT_R16G16_SNORM,-                 VK_FORMAT_R16G16_USCALED, VK_FORMAT_R16G16_SSCALED,-                 VK_FORMAT_R16G16_UINT, VK_FORMAT_R16G16_SINT,-                 VK_FORMAT_R16G16_SFLOAT, VK_FORMAT_R16G16B16_UNORM,-                 VK_FORMAT_R16G16B16_SNORM, VK_FORMAT_R16G16B16_USCALED,-                 VK_FORMAT_R16G16B16_SSCALED, VK_FORMAT_R16G16B16_UINT,-                 VK_FORMAT_R16G16B16_SINT, VK_FORMAT_R16G16B16_SFLOAT,-                 VK_FORMAT_R16G16B16A16_UNORM, VK_FORMAT_R16G16B16A16_SNORM,-                 VK_FORMAT_R16G16B16A16_USCALED, VK_FORMAT_R16G16B16A16_SSCALED,-                 VK_FORMAT_R16G16B16A16_UINT, VK_FORMAT_R16G16B16A16_SINT,-                 VK_FORMAT_R16G16B16A16_SFLOAT, VK_FORMAT_R32_UINT,-                 VK_FORMAT_R32_SINT, VK_FORMAT_R32_SFLOAT, VK_FORMAT_R32G32_UINT,-                 VK_FORMAT_R32G32_SINT, VK_FORMAT_R32G32_SFLOAT,-                 VK_FORMAT_R32G32B32_UINT, VK_FORMAT_R32G32B32_SINT,-                 VK_FORMAT_R32G32B32_SFLOAT, VK_FORMAT_R32G32B32A32_UINT,-                 VK_FORMAT_R32G32B32A32_SINT, VK_FORMAT_R32G32B32A32_SFLOAT,-                 VK_FORMAT_R64_UINT, VK_FORMAT_R64_SINT, VK_FORMAT_R64_SFLOAT,-                 VK_FORMAT_R64G64_UINT, VK_FORMAT_R64G64_SINT,-                 VK_FORMAT_R64G64_SFLOAT, VK_FORMAT_R64G64B64_UINT,-                 VK_FORMAT_R64G64B64_SINT, VK_FORMAT_R64G64B64_SFLOAT,-                 VK_FORMAT_R64G64B64A64_UINT, VK_FORMAT_R64G64B64A64_SINT,-                 VK_FORMAT_R64G64B64A64_SFLOAT, VK_FORMAT_B10G11R11_UFLOAT_PACK32,-                 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32, VK_FORMAT_D16_UNORM,-                 VK_FORMAT_X8_D24_UNORM_PACK32, VK_FORMAT_D32_SFLOAT,-                 VK_FORMAT_S8_UINT, VK_FORMAT_D16_UNORM_S8_UINT,-                 VK_FORMAT_D24_UNORM_S8_UINT, VK_FORMAT_D32_SFLOAT_S8_UINT,-                 VK_FORMAT_BC1_RGB_UNORM_BLOCK, VK_FORMAT_BC1_RGB_SRGB_BLOCK,-                 VK_FORMAT_BC1_RGBA_UNORM_BLOCK, VK_FORMAT_BC1_RGBA_SRGB_BLOCK,-                 VK_FORMAT_BC2_UNORM_BLOCK, VK_FORMAT_BC2_SRGB_BLOCK,-                 VK_FORMAT_BC3_UNORM_BLOCK, VK_FORMAT_BC3_SRGB_BLOCK,-                 VK_FORMAT_BC4_UNORM_BLOCK, VK_FORMAT_BC4_SNORM_BLOCK,-                 VK_FORMAT_BC5_UNORM_BLOCK, VK_FORMAT_BC5_SNORM_BLOCK,-                 VK_FORMAT_BC6H_UFLOAT_BLOCK, VK_FORMAT_BC6H_SFLOAT_BLOCK,-                 VK_FORMAT_BC7_UNORM_BLOCK, VK_FORMAT_BC7_SRGB_BLOCK,-                 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK,-                 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK,-                 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK,-                 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK,-                 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK,-                 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK, VK_FORMAT_EAC_R11_UNORM_BLOCK,-                 VK_FORMAT_EAC_R11_SNORM_BLOCK, VK_FORMAT_EAC_R11G11_UNORM_BLOCK,-                 VK_FORMAT_EAC_R11G11_SNORM_BLOCK, VK_FORMAT_ASTC_4x4_UNORM_BLOCK,-                 VK_FORMAT_ASTC_4x4_SRGB_BLOCK, VK_FORMAT_ASTC_5x4_UNORM_BLOCK,-                 VK_FORMAT_ASTC_5x4_SRGB_BLOCK, VK_FORMAT_ASTC_5x5_UNORM_BLOCK,-                 VK_FORMAT_ASTC_5x5_SRGB_BLOCK, VK_FORMAT_ASTC_6x5_UNORM_BLOCK,-                 VK_FORMAT_ASTC_6x5_SRGB_BLOCK, VK_FORMAT_ASTC_6x6_UNORM_BLOCK,-                 VK_FORMAT_ASTC_6x6_SRGB_BLOCK, VK_FORMAT_ASTC_8x5_UNORM_BLOCK,-                 VK_FORMAT_ASTC_8x5_SRGB_BLOCK, VK_FORMAT_ASTC_8x6_UNORM_BLOCK,-                 VK_FORMAT_ASTC_8x6_SRGB_BLOCK, VK_FORMAT_ASTC_8x8_UNORM_BLOCK,-                 VK_FORMAT_ASTC_8x8_SRGB_BLOCK, VK_FORMAT_ASTC_10x5_UNORM_BLOCK,-                 VK_FORMAT_ASTC_10x5_SRGB_BLOCK, VK_FORMAT_ASTC_10x6_UNORM_BLOCK,-                 VK_FORMAT_ASTC_10x6_SRGB_BLOCK, VK_FORMAT_ASTC_10x8_UNORM_BLOCK,-                 VK_FORMAT_ASTC_10x8_SRGB_BLOCK, VK_FORMAT_ASTC_10x10_UNORM_BLOCK,-                 VK_FORMAT_ASTC_10x10_SRGB_BLOCK, VK_FORMAT_ASTC_12x10_UNORM_BLOCK,-                 VK_FORMAT_ASTC_12x10_SRGB_BLOCK, VK_FORMAT_ASTC_12x12_UNORM_BLOCK,-                 VK_FORMAT_ASTC_12x12_SRGB_BLOCK),-        VkFormatFeatureBitmask(VkFormatFeatureBitmask,-                               VkFormatFeatureFlags, VkFormatFeatureFlagBits,-                               VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT,-                               VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT,-                               VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT,-                               VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT,-                               VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT,-                               VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT,-                               VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT,-                               VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT,-                               VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT,-                               VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT,-                               VK_FORMAT_FEATURE_BLIT_SRC_BIT, VK_FORMAT_FEATURE_BLIT_DST_BIT,-                               VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT),-        VkFormatFeatureFlags, VkFormatFeatureFlagBits)-       where-import Data.Bits                       (Bits, FiniteBits)-import Data.Data                       (Data)-import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic)-import GHC.Read                        (choose, expectP)-import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType, Int32)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read                       (Read (..), parens)-import Text.Read.Lex                   (Lexeme (..))---- | Vulkan format definitions------   type = @enum@---------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkFormat VkFormat registry at www.khronos.org>-newtype VkFormat = VkFormat Int32-                     deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkFormat where-        showsPrec _ VK_FORMAT_UNDEFINED = showString "VK_FORMAT_UNDEFINED"-        showsPrec _ VK_FORMAT_R4G4_UNORM_PACK8-          = showString "VK_FORMAT_R4G4_UNORM_PACK8"-        showsPrec _ VK_FORMAT_R4G4B4A4_UNORM_PACK16-          = showString "VK_FORMAT_R4G4B4A4_UNORM_PACK16"-        showsPrec _ VK_FORMAT_B4G4R4A4_UNORM_PACK16-          = showString "VK_FORMAT_B4G4R4A4_UNORM_PACK16"-        showsPrec _ VK_FORMAT_R5G6B5_UNORM_PACK16-          = showString "VK_FORMAT_R5G6B5_UNORM_PACK16"-        showsPrec _ VK_FORMAT_B5G6R5_UNORM_PACK16-          = showString "VK_FORMAT_B5G6R5_UNORM_PACK16"-        showsPrec _ VK_FORMAT_R5G5B5A1_UNORM_PACK16-          = showString "VK_FORMAT_R5G5B5A1_UNORM_PACK16"-        showsPrec _ VK_FORMAT_B5G5R5A1_UNORM_PACK16-          = showString "VK_FORMAT_B5G5R5A1_UNORM_PACK16"-        showsPrec _ VK_FORMAT_A1R5G5B5_UNORM_PACK16-          = showString "VK_FORMAT_A1R5G5B5_UNORM_PACK16"-        showsPrec _ VK_FORMAT_R8_UNORM = showString "VK_FORMAT_R8_UNORM"-        showsPrec _ VK_FORMAT_R8_SNORM = showString "VK_FORMAT_R8_SNORM"-        showsPrec _ VK_FORMAT_R8_USCALED-          = showString "VK_FORMAT_R8_USCALED"-        showsPrec _ VK_FORMAT_R8_SSCALED-          = showString "VK_FORMAT_R8_SSCALED"-        showsPrec _ VK_FORMAT_R8_UINT = showString "VK_FORMAT_R8_UINT"-        showsPrec _ VK_FORMAT_R8_SINT = showString "VK_FORMAT_R8_SINT"-        showsPrec _ VK_FORMAT_R8_SRGB = showString "VK_FORMAT_R8_SRGB"-        showsPrec _ VK_FORMAT_R8G8_UNORM-          = showString "VK_FORMAT_R8G8_UNORM"-        showsPrec _ VK_FORMAT_R8G8_SNORM-          = showString "VK_FORMAT_R8G8_SNORM"-        showsPrec _ VK_FORMAT_R8G8_USCALED-          = showString "VK_FORMAT_R8G8_USCALED"-        showsPrec _ VK_FORMAT_R8G8_SSCALED-          = showString "VK_FORMAT_R8G8_SSCALED"-        showsPrec _ VK_FORMAT_R8G8_UINT = showString "VK_FORMAT_R8G8_UINT"-        showsPrec _ VK_FORMAT_R8G8_SINT = showString "VK_FORMAT_R8G8_SINT"-        showsPrec _ VK_FORMAT_R8G8_SRGB = showString "VK_FORMAT_R8G8_SRGB"-        showsPrec _ VK_FORMAT_R8G8B8_UNORM-          = showString "VK_FORMAT_R8G8B8_UNORM"-        showsPrec _ VK_FORMAT_R8G8B8_SNORM-          = showString "VK_FORMAT_R8G8B8_SNORM"-        showsPrec _ VK_FORMAT_R8G8B8_USCALED-          = showString "VK_FORMAT_R8G8B8_USCALED"-        showsPrec _ VK_FORMAT_R8G8B8_SSCALED-          = showString "VK_FORMAT_R8G8B8_SSCALED"-        showsPrec _ VK_FORMAT_R8G8B8_UINT-          = showString "VK_FORMAT_R8G8B8_UINT"-        showsPrec _ VK_FORMAT_R8G8B8_SINT-          = showString "VK_FORMAT_R8G8B8_SINT"-        showsPrec _ VK_FORMAT_R8G8B8_SRGB-          = showString "VK_FORMAT_R8G8B8_SRGB"-        showsPrec _ VK_FORMAT_B8G8R8_UNORM-          = showString "VK_FORMAT_B8G8R8_UNORM"-        showsPrec _ VK_FORMAT_B8G8R8_SNORM-          = showString "VK_FORMAT_B8G8R8_SNORM"-        showsPrec _ VK_FORMAT_B8G8R8_USCALED-          = showString "VK_FORMAT_B8G8R8_USCALED"-        showsPrec _ VK_FORMAT_B8G8R8_SSCALED-          = showString "VK_FORMAT_B8G8R8_SSCALED"-        showsPrec _ VK_FORMAT_B8G8R8_UINT-          = showString "VK_FORMAT_B8G8R8_UINT"-        showsPrec _ VK_FORMAT_B8G8R8_SINT-          = showString "VK_FORMAT_B8G8R8_SINT"-        showsPrec _ VK_FORMAT_B8G8R8_SRGB-          = showString "VK_FORMAT_B8G8R8_SRGB"-        showsPrec _ VK_FORMAT_R8G8B8A8_UNORM-          = showString "VK_FORMAT_R8G8B8A8_UNORM"-        showsPrec _ VK_FORMAT_R8G8B8A8_SNORM-          = showString "VK_FORMAT_R8G8B8A8_SNORM"-        showsPrec _ VK_FORMAT_R8G8B8A8_USCALED-          = showString "VK_FORMAT_R8G8B8A8_USCALED"-        showsPrec _ VK_FORMAT_R8G8B8A8_SSCALED-          = showString "VK_FORMAT_R8G8B8A8_SSCALED"-        showsPrec _ VK_FORMAT_R8G8B8A8_UINT-          = showString "VK_FORMAT_R8G8B8A8_UINT"-        showsPrec _ VK_FORMAT_R8G8B8A8_SINT-          = showString "VK_FORMAT_R8G8B8A8_SINT"-        showsPrec _ VK_FORMAT_R8G8B8A8_SRGB-          = showString "VK_FORMAT_R8G8B8A8_SRGB"-        showsPrec _ VK_FORMAT_B8G8R8A8_UNORM-          = showString "VK_FORMAT_B8G8R8A8_UNORM"-        showsPrec _ VK_FORMAT_B8G8R8A8_SNORM-          = showString "VK_FORMAT_B8G8R8A8_SNORM"-        showsPrec _ VK_FORMAT_B8G8R8A8_USCALED-          = showString "VK_FORMAT_B8G8R8A8_USCALED"-        showsPrec _ VK_FORMAT_B8G8R8A8_SSCALED-          = showString "VK_FORMAT_B8G8R8A8_SSCALED"-        showsPrec _ VK_FORMAT_B8G8R8A8_UINT-          = showString "VK_FORMAT_B8G8R8A8_UINT"-        showsPrec _ VK_FORMAT_B8G8R8A8_SINT-          = showString "VK_FORMAT_B8G8R8A8_SINT"-        showsPrec _ VK_FORMAT_B8G8R8A8_SRGB-          = showString "VK_FORMAT_B8G8R8A8_SRGB"-        showsPrec _ VK_FORMAT_A8B8G8R8_UNORM_PACK32-          = showString "VK_FORMAT_A8B8G8R8_UNORM_PACK32"-        showsPrec _ VK_FORMAT_A8B8G8R8_SNORM_PACK32-          = showString "VK_FORMAT_A8B8G8R8_SNORM_PACK32"-        showsPrec _ VK_FORMAT_A8B8G8R8_USCALED_PACK32-          = showString "VK_FORMAT_A8B8G8R8_USCALED_PACK32"-        showsPrec _ VK_FORMAT_A8B8G8R8_SSCALED_PACK32-          = showString "VK_FORMAT_A8B8G8R8_SSCALED_PACK32"-        showsPrec _ VK_FORMAT_A8B8G8R8_UINT_PACK32-          = showString "VK_FORMAT_A8B8G8R8_UINT_PACK32"-        showsPrec _ VK_FORMAT_A8B8G8R8_SINT_PACK32-          = showString "VK_FORMAT_A8B8G8R8_SINT_PACK32"-        showsPrec _ VK_FORMAT_A8B8G8R8_SRGB_PACK32-          = showString "VK_FORMAT_A8B8G8R8_SRGB_PACK32"-        showsPrec _ VK_FORMAT_A2R10G10B10_UNORM_PACK32-          = showString "VK_FORMAT_A2R10G10B10_UNORM_PACK32"-        showsPrec _ VK_FORMAT_A2R10G10B10_SNORM_PACK32-          = showString "VK_FORMAT_A2R10G10B10_SNORM_PACK32"-        showsPrec _ VK_FORMAT_A2R10G10B10_USCALED_PACK32-          = showString "VK_FORMAT_A2R10G10B10_USCALED_PACK32"-        showsPrec _ VK_FORMAT_A2R10G10B10_SSCALED_PACK32-          = showString "VK_FORMAT_A2R10G10B10_SSCALED_PACK32"-        showsPrec _ VK_FORMAT_A2R10G10B10_UINT_PACK32-          = showString "VK_FORMAT_A2R10G10B10_UINT_PACK32"-        showsPrec _ VK_FORMAT_A2R10G10B10_SINT_PACK32-          = showString "VK_FORMAT_A2R10G10B10_SINT_PACK32"-        showsPrec _ VK_FORMAT_A2B10G10R10_UNORM_PACK32-          = showString "VK_FORMAT_A2B10G10R10_UNORM_PACK32"-        showsPrec _ VK_FORMAT_A2B10G10R10_SNORM_PACK32-          = showString "VK_FORMAT_A2B10G10R10_SNORM_PACK32"-        showsPrec _ VK_FORMAT_A2B10G10R10_USCALED_PACK32-          = showString "VK_FORMAT_A2B10G10R10_USCALED_PACK32"-        showsPrec _ VK_FORMAT_A2B10G10R10_SSCALED_PACK32-          = showString "VK_FORMAT_A2B10G10R10_SSCALED_PACK32"-        showsPrec _ VK_FORMAT_A2B10G10R10_UINT_PACK32-          = showString "VK_FORMAT_A2B10G10R10_UINT_PACK32"-        showsPrec _ VK_FORMAT_A2B10G10R10_SINT_PACK32-          = showString "VK_FORMAT_A2B10G10R10_SINT_PACK32"-        showsPrec _ VK_FORMAT_R16_UNORM = showString "VK_FORMAT_R16_UNORM"-        showsPrec _ VK_FORMAT_R16_SNORM = showString "VK_FORMAT_R16_SNORM"-        showsPrec _ VK_FORMAT_R16_USCALED-          = showString "VK_FORMAT_R16_USCALED"-        showsPrec _ VK_FORMAT_R16_SSCALED-          = showString "VK_FORMAT_R16_SSCALED"-        showsPrec _ VK_FORMAT_R16_UINT = showString "VK_FORMAT_R16_UINT"-        showsPrec _ VK_FORMAT_R16_SINT = showString "VK_FORMAT_R16_SINT"-        showsPrec _ VK_FORMAT_R16_SFLOAT-          = showString "VK_FORMAT_R16_SFLOAT"-        showsPrec _ VK_FORMAT_R16G16_UNORM-          = showString "VK_FORMAT_R16G16_UNORM"-        showsPrec _ VK_FORMAT_R16G16_SNORM-          = showString "VK_FORMAT_R16G16_SNORM"-        showsPrec _ VK_FORMAT_R16G16_USCALED-          = showString "VK_FORMAT_R16G16_USCALED"-        showsPrec _ VK_FORMAT_R16G16_SSCALED-          = showString "VK_FORMAT_R16G16_SSCALED"-        showsPrec _ VK_FORMAT_R16G16_UINT-          = showString "VK_FORMAT_R16G16_UINT"-        showsPrec _ VK_FORMAT_R16G16_SINT-          = showString "VK_FORMAT_R16G16_SINT"-        showsPrec _ VK_FORMAT_R16G16_SFLOAT-          = showString "VK_FORMAT_R16G16_SFLOAT"-        showsPrec _ VK_FORMAT_R16G16B16_UNORM-          = showString "VK_FORMAT_R16G16B16_UNORM"-        showsPrec _ VK_FORMAT_R16G16B16_SNORM-          = showString "VK_FORMAT_R16G16B16_SNORM"-        showsPrec _ VK_FORMAT_R16G16B16_USCALED-          = showString "VK_FORMAT_R16G16B16_USCALED"-        showsPrec _ VK_FORMAT_R16G16B16_SSCALED-          = showString "VK_FORMAT_R16G16B16_SSCALED"-        showsPrec _ VK_FORMAT_R16G16B16_UINT-          = showString "VK_FORMAT_R16G16B16_UINT"-        showsPrec _ VK_FORMAT_R16G16B16_SINT-          = showString "VK_FORMAT_R16G16B16_SINT"-        showsPrec _ VK_FORMAT_R16G16B16_SFLOAT-          = showString "VK_FORMAT_R16G16B16_SFLOAT"-        showsPrec _ VK_FORMAT_R16G16B16A16_UNORM-          = showString "VK_FORMAT_R16G16B16A16_UNORM"-        showsPrec _ VK_FORMAT_R16G16B16A16_SNORM-          = showString "VK_FORMAT_R16G16B16A16_SNORM"-        showsPrec _ VK_FORMAT_R16G16B16A16_USCALED-          = showString "VK_FORMAT_R16G16B16A16_USCALED"-        showsPrec _ VK_FORMAT_R16G16B16A16_SSCALED-          = showString "VK_FORMAT_R16G16B16A16_SSCALED"-        showsPrec _ VK_FORMAT_R16G16B16A16_UINT-          = showString "VK_FORMAT_R16G16B16A16_UINT"-        showsPrec _ VK_FORMAT_R16G16B16A16_SINT-          = showString "VK_FORMAT_R16G16B16A16_SINT"-        showsPrec _ VK_FORMAT_R16G16B16A16_SFLOAT-          = showString "VK_FORMAT_R16G16B16A16_SFLOAT"-        showsPrec _ VK_FORMAT_R32_UINT = showString "VK_FORMAT_R32_UINT"-        showsPrec _ VK_FORMAT_R32_SINT = showString "VK_FORMAT_R32_SINT"-        showsPrec _ VK_FORMAT_R32_SFLOAT-          = showString "VK_FORMAT_R32_SFLOAT"-        showsPrec _ VK_FORMAT_R32G32_UINT-          = showString "VK_FORMAT_R32G32_UINT"-        showsPrec _ VK_FORMAT_R32G32_SINT-          = showString "VK_FORMAT_R32G32_SINT"-        showsPrec _ VK_FORMAT_R32G32_SFLOAT-          = showString "VK_FORMAT_R32G32_SFLOAT"-        showsPrec _ VK_FORMAT_R32G32B32_UINT-          = showString "VK_FORMAT_R32G32B32_UINT"-        showsPrec _ VK_FORMAT_R32G32B32_SINT-          = showString "VK_FORMAT_R32G32B32_SINT"-        showsPrec _ VK_FORMAT_R32G32B32_SFLOAT-          = showString "VK_FORMAT_R32G32B32_SFLOAT"-        showsPrec _ VK_FORMAT_R32G32B32A32_UINT-          = showString "VK_FORMAT_R32G32B32A32_UINT"-        showsPrec _ VK_FORMAT_R32G32B32A32_SINT-          = showString "VK_FORMAT_R32G32B32A32_SINT"-        showsPrec _ VK_FORMAT_R32G32B32A32_SFLOAT-          = showString "VK_FORMAT_R32G32B32A32_SFLOAT"-        showsPrec _ VK_FORMAT_R64_UINT = showString "VK_FORMAT_R64_UINT"-        showsPrec _ VK_FORMAT_R64_SINT = showString "VK_FORMAT_R64_SINT"-        showsPrec _ VK_FORMAT_R64_SFLOAT-          = showString "VK_FORMAT_R64_SFLOAT"-        showsPrec _ VK_FORMAT_R64G64_UINT-          = showString "VK_FORMAT_R64G64_UINT"-        showsPrec _ VK_FORMAT_R64G64_SINT-          = showString "VK_FORMAT_R64G64_SINT"-        showsPrec _ VK_FORMAT_R64G64_SFLOAT-          = showString "VK_FORMAT_R64G64_SFLOAT"-        showsPrec _ VK_FORMAT_R64G64B64_UINT-          = showString "VK_FORMAT_R64G64B64_UINT"-        showsPrec _ VK_FORMAT_R64G64B64_SINT-          = showString "VK_FORMAT_R64G64B64_SINT"-        showsPrec _ VK_FORMAT_R64G64B64_SFLOAT-          = showString "VK_FORMAT_R64G64B64_SFLOAT"-        showsPrec _ VK_FORMAT_R64G64B64A64_UINT-          = showString "VK_FORMAT_R64G64B64A64_UINT"-        showsPrec _ VK_FORMAT_R64G64B64A64_SINT-          = showString "VK_FORMAT_R64G64B64A64_SINT"-        showsPrec _ VK_FORMAT_R64G64B64A64_SFLOAT-          = showString "VK_FORMAT_R64G64B64A64_SFLOAT"-        showsPrec _ VK_FORMAT_B10G11R11_UFLOAT_PACK32-          = showString "VK_FORMAT_B10G11R11_UFLOAT_PACK32"-        showsPrec _ VK_FORMAT_E5B9G9R9_UFLOAT_PACK32-          = showString "VK_FORMAT_E5B9G9R9_UFLOAT_PACK32"-        showsPrec _ VK_FORMAT_D16_UNORM = showString "VK_FORMAT_D16_UNORM"-        showsPrec _ VK_FORMAT_X8_D24_UNORM_PACK32-          = showString "VK_FORMAT_X8_D24_UNORM_PACK32"-        showsPrec _ VK_FORMAT_D32_SFLOAT-          = showString "VK_FORMAT_D32_SFLOAT"-        showsPrec _ VK_FORMAT_S8_UINT = showString "VK_FORMAT_S8_UINT"-        showsPrec _ VK_FORMAT_D16_UNORM_S8_UINT-          = showString "VK_FORMAT_D16_UNORM_S8_UINT"-        showsPrec _ VK_FORMAT_D24_UNORM_S8_UINT-          = showString "VK_FORMAT_D24_UNORM_S8_UINT"-        showsPrec _ VK_FORMAT_D32_SFLOAT_S8_UINT-          = showString "VK_FORMAT_D32_SFLOAT_S8_UINT"-        showsPrec _ VK_FORMAT_BC1_RGB_UNORM_BLOCK-          = showString "VK_FORMAT_BC1_RGB_UNORM_BLOCK"-        showsPrec _ VK_FORMAT_BC1_RGB_SRGB_BLOCK-          = showString "VK_FORMAT_BC1_RGB_SRGB_BLOCK"-        showsPrec _ VK_FORMAT_BC1_RGBA_UNORM_BLOCK-          = showString "VK_FORMAT_BC1_RGBA_UNORM_BLOCK"-        showsPrec _ VK_FORMAT_BC1_RGBA_SRGB_BLOCK-          = showString "VK_FORMAT_BC1_RGBA_SRGB_BLOCK"-        showsPrec _ VK_FORMAT_BC2_UNORM_BLOCK-          = showString "VK_FORMAT_BC2_UNORM_BLOCK"-        showsPrec _ VK_FORMAT_BC2_SRGB_BLOCK-          = showString "VK_FORMAT_BC2_SRGB_BLOCK"-        showsPrec _ VK_FORMAT_BC3_UNORM_BLOCK-          = showString "VK_FORMAT_BC3_UNORM_BLOCK"-        showsPrec _ VK_FORMAT_BC3_SRGB_BLOCK-          = showString "VK_FORMAT_BC3_SRGB_BLOCK"-        showsPrec _ VK_FORMAT_BC4_UNORM_BLOCK-          = showString "VK_FORMAT_BC4_UNORM_BLOCK"-        showsPrec _ VK_FORMAT_BC4_SNORM_BLOCK-          = showString "VK_FORMAT_BC4_SNORM_BLOCK"-        showsPrec _ VK_FORMAT_BC5_UNORM_BLOCK-          = showString "VK_FORMAT_BC5_UNORM_BLOCK"-        showsPrec _ VK_FORMAT_BC5_SNORM_BLOCK-          = showString "VK_FORMAT_BC5_SNORM_BLOCK"-        showsPrec _ VK_FORMAT_BC6H_UFLOAT_BLOCK-          = showString "VK_FORMAT_BC6H_UFLOAT_BLOCK"-        showsPrec _ VK_FORMAT_BC6H_SFLOAT_BLOCK-          = showString "VK_FORMAT_BC6H_SFLOAT_BLOCK"-        showsPrec _ VK_FORMAT_BC7_UNORM_BLOCK-          = showString "VK_FORMAT_BC7_UNORM_BLOCK"-        showsPrec _ VK_FORMAT_BC7_SRGB_BLOCK-          = showString "VK_FORMAT_BC7_SRGB_BLOCK"-        showsPrec _ VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK-          = showString "VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK"-        showsPrec _ VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK-          = showString "VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK"-        showsPrec _ VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK-          = showString "VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK"-        showsPrec _ VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK-          = showString "VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK"-        showsPrec _ VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK-          = showString "VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK"-        showsPrec _ VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK-          = showString "VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK"-        showsPrec _ VK_FORMAT_EAC_R11_UNORM_BLOCK-          = showString "VK_FORMAT_EAC_R11_UNORM_BLOCK"-        showsPrec _ VK_FORMAT_EAC_R11_SNORM_BLOCK-          = showString "VK_FORMAT_EAC_R11_SNORM_BLOCK"-        showsPrec _ VK_FORMAT_EAC_R11G11_UNORM_BLOCK-          = showString "VK_FORMAT_EAC_R11G11_UNORM_BLOCK"-        showsPrec _ VK_FORMAT_EAC_R11G11_SNORM_BLOCK-          = showString "VK_FORMAT_EAC_R11G11_SNORM_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_4x4_UNORM_BLOCK-          = showString "VK_FORMAT_ASTC_4x4_UNORM_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_4x4_SRGB_BLOCK-          = showString "VK_FORMAT_ASTC_4x4_SRGB_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_5x4_UNORM_BLOCK-          = showString "VK_FORMAT_ASTC_5x4_UNORM_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_5x4_SRGB_BLOCK-          = showString "VK_FORMAT_ASTC_5x4_SRGB_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_5x5_UNORM_BLOCK-          = showString "VK_FORMAT_ASTC_5x5_UNORM_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_5x5_SRGB_BLOCK-          = showString "VK_FORMAT_ASTC_5x5_SRGB_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_6x5_UNORM_BLOCK-          = showString "VK_FORMAT_ASTC_6x5_UNORM_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_6x5_SRGB_BLOCK-          = showString "VK_FORMAT_ASTC_6x5_SRGB_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_6x6_UNORM_BLOCK-          = showString "VK_FORMAT_ASTC_6x6_UNORM_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_6x6_SRGB_BLOCK-          = showString "VK_FORMAT_ASTC_6x6_SRGB_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_8x5_UNORM_BLOCK-          = showString "VK_FORMAT_ASTC_8x5_UNORM_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_8x5_SRGB_BLOCK-          = showString "VK_FORMAT_ASTC_8x5_SRGB_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_8x6_UNORM_BLOCK-          = showString "VK_FORMAT_ASTC_8x6_UNORM_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_8x6_SRGB_BLOCK-          = showString "VK_FORMAT_ASTC_8x6_SRGB_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_8x8_UNORM_BLOCK-          = showString "VK_FORMAT_ASTC_8x8_UNORM_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_8x8_SRGB_BLOCK-          = showString "VK_FORMAT_ASTC_8x8_SRGB_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_10x5_UNORM_BLOCK-          = showString "VK_FORMAT_ASTC_10x5_UNORM_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_10x5_SRGB_BLOCK-          = showString "VK_FORMAT_ASTC_10x5_SRGB_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_10x6_UNORM_BLOCK-          = showString "VK_FORMAT_ASTC_10x6_UNORM_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_10x6_SRGB_BLOCK-          = showString "VK_FORMAT_ASTC_10x6_SRGB_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_10x8_UNORM_BLOCK-          = showString "VK_FORMAT_ASTC_10x8_UNORM_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_10x8_SRGB_BLOCK-          = showString "VK_FORMAT_ASTC_10x8_SRGB_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_10x10_UNORM_BLOCK-          = showString "VK_FORMAT_ASTC_10x10_UNORM_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_10x10_SRGB_BLOCK-          = showString "VK_FORMAT_ASTC_10x10_SRGB_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_12x10_UNORM_BLOCK-          = showString "VK_FORMAT_ASTC_12x10_UNORM_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_12x10_SRGB_BLOCK-          = showString "VK_FORMAT_ASTC_12x10_SRGB_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_12x12_UNORM_BLOCK-          = showString "VK_FORMAT_ASTC_12x12_UNORM_BLOCK"-        showsPrec _ VK_FORMAT_ASTC_12x12_SRGB_BLOCK-          = showString "VK_FORMAT_ASTC_12x12_SRGB_BLOCK"-        showsPrec p (VkFormat x)-          = showParen (p >= 11) (showString "VkFormat " . showsPrec 11 x)--instance Read VkFormat where-        readPrec-          = parens-              (choose-                 [("VK_FORMAT_UNDEFINED", pure VK_FORMAT_UNDEFINED),-                  ("VK_FORMAT_R4G4_UNORM_PACK8", pure VK_FORMAT_R4G4_UNORM_PACK8),-                  ("VK_FORMAT_R4G4B4A4_UNORM_PACK16",-                   pure VK_FORMAT_R4G4B4A4_UNORM_PACK16),-                  ("VK_FORMAT_B4G4R4A4_UNORM_PACK16",-                   pure VK_FORMAT_B4G4R4A4_UNORM_PACK16),-                  ("VK_FORMAT_R5G6B5_UNORM_PACK16",-                   pure VK_FORMAT_R5G6B5_UNORM_PACK16),-                  ("VK_FORMAT_B5G6R5_UNORM_PACK16",-                   pure VK_FORMAT_B5G6R5_UNORM_PACK16),-                  ("VK_FORMAT_R5G5B5A1_UNORM_PACK16",-                   pure VK_FORMAT_R5G5B5A1_UNORM_PACK16),-                  ("VK_FORMAT_B5G5R5A1_UNORM_PACK16",-                   pure VK_FORMAT_B5G5R5A1_UNORM_PACK16),-                  ("VK_FORMAT_A1R5G5B5_UNORM_PACK16",-                   pure VK_FORMAT_A1R5G5B5_UNORM_PACK16),-                  ("VK_FORMAT_R8_UNORM", pure VK_FORMAT_R8_UNORM),-                  ("VK_FORMAT_R8_SNORM", pure VK_FORMAT_R8_SNORM),-                  ("VK_FORMAT_R8_USCALED", pure VK_FORMAT_R8_USCALED),-                  ("VK_FORMAT_R8_SSCALED", pure VK_FORMAT_R8_SSCALED),-                  ("VK_FORMAT_R8_UINT", pure VK_FORMAT_R8_UINT),-                  ("VK_FORMAT_R8_SINT", pure VK_FORMAT_R8_SINT),-                  ("VK_FORMAT_R8_SRGB", pure VK_FORMAT_R8_SRGB),-                  ("VK_FORMAT_R8G8_UNORM", pure VK_FORMAT_R8G8_UNORM),-                  ("VK_FORMAT_R8G8_SNORM", pure VK_FORMAT_R8G8_SNORM),-                  ("VK_FORMAT_R8G8_USCALED", pure VK_FORMAT_R8G8_USCALED),-                  ("VK_FORMAT_R8G8_SSCALED", pure VK_FORMAT_R8G8_SSCALED),-                  ("VK_FORMAT_R8G8_UINT", pure VK_FORMAT_R8G8_UINT),-                  ("VK_FORMAT_R8G8_SINT", pure VK_FORMAT_R8G8_SINT),-                  ("VK_FORMAT_R8G8_SRGB", pure VK_FORMAT_R8G8_SRGB),-                  ("VK_FORMAT_R8G8B8_UNORM", pure VK_FORMAT_R8G8B8_UNORM),-                  ("VK_FORMAT_R8G8B8_SNORM", pure VK_FORMAT_R8G8B8_SNORM),-                  ("VK_FORMAT_R8G8B8_USCALED", pure VK_FORMAT_R8G8B8_USCALED),-                  ("VK_FORMAT_R8G8B8_SSCALED", pure VK_FORMAT_R8G8B8_SSCALED),-                  ("VK_FORMAT_R8G8B8_UINT", pure VK_FORMAT_R8G8B8_UINT),-                  ("VK_FORMAT_R8G8B8_SINT", pure VK_FORMAT_R8G8B8_SINT),-                  ("VK_FORMAT_R8G8B8_SRGB", pure VK_FORMAT_R8G8B8_SRGB),-                  ("VK_FORMAT_B8G8R8_UNORM", pure VK_FORMAT_B8G8R8_UNORM),-                  ("VK_FORMAT_B8G8R8_SNORM", pure VK_FORMAT_B8G8R8_SNORM),-                  ("VK_FORMAT_B8G8R8_USCALED", pure VK_FORMAT_B8G8R8_USCALED),-                  ("VK_FORMAT_B8G8R8_SSCALED", pure VK_FORMAT_B8G8R8_SSCALED),-                  ("VK_FORMAT_B8G8R8_UINT", pure VK_FORMAT_B8G8R8_UINT),-                  ("VK_FORMAT_B8G8R8_SINT", pure VK_FORMAT_B8G8R8_SINT),-                  ("VK_FORMAT_B8G8R8_SRGB", pure VK_FORMAT_B8G8R8_SRGB),-                  ("VK_FORMAT_R8G8B8A8_UNORM", pure VK_FORMAT_R8G8B8A8_UNORM),-                  ("VK_FORMAT_R8G8B8A8_SNORM", pure VK_FORMAT_R8G8B8A8_SNORM),-                  ("VK_FORMAT_R8G8B8A8_USCALED", pure VK_FORMAT_R8G8B8A8_USCALED),-                  ("VK_FORMAT_R8G8B8A8_SSCALED", pure VK_FORMAT_R8G8B8A8_SSCALED),-                  ("VK_FORMAT_R8G8B8A8_UINT", pure VK_FORMAT_R8G8B8A8_UINT),-                  ("VK_FORMAT_R8G8B8A8_SINT", pure VK_FORMAT_R8G8B8A8_SINT),-                  ("VK_FORMAT_R8G8B8A8_SRGB", pure VK_FORMAT_R8G8B8A8_SRGB),-                  ("VK_FORMAT_B8G8R8A8_UNORM", pure VK_FORMAT_B8G8R8A8_UNORM),-                  ("VK_FORMAT_B8G8R8A8_SNORM", pure VK_FORMAT_B8G8R8A8_SNORM),-                  ("VK_FORMAT_B8G8R8A8_USCALED", pure VK_FORMAT_B8G8R8A8_USCALED),-                  ("VK_FORMAT_B8G8R8A8_SSCALED", pure VK_FORMAT_B8G8R8A8_SSCALED),-                  ("VK_FORMAT_B8G8R8A8_UINT", pure VK_FORMAT_B8G8R8A8_UINT),-                  ("VK_FORMAT_B8G8R8A8_SINT", pure VK_FORMAT_B8G8R8A8_SINT),-                  ("VK_FORMAT_B8G8R8A8_SRGB", pure VK_FORMAT_B8G8R8A8_SRGB),-                  ("VK_FORMAT_A8B8G8R8_UNORM_PACK32",-                   pure VK_FORMAT_A8B8G8R8_UNORM_PACK32),-                  ("VK_FORMAT_A8B8G8R8_SNORM_PACK32",-                   pure VK_FORMAT_A8B8G8R8_SNORM_PACK32),-                  ("VK_FORMAT_A8B8G8R8_USCALED_PACK32",-                   pure VK_FORMAT_A8B8G8R8_USCALED_PACK32),-                  ("VK_FORMAT_A8B8G8R8_SSCALED_PACK32",-                   pure VK_FORMAT_A8B8G8R8_SSCALED_PACK32),-                  ("VK_FORMAT_A8B8G8R8_UINT_PACK32",-                   pure VK_FORMAT_A8B8G8R8_UINT_PACK32),-                  ("VK_FORMAT_A8B8G8R8_SINT_PACK32",-                   pure VK_FORMAT_A8B8G8R8_SINT_PACK32),-                  ("VK_FORMAT_A8B8G8R8_SRGB_PACK32",-                   pure VK_FORMAT_A8B8G8R8_SRGB_PACK32),-                  ("VK_FORMAT_A2R10G10B10_UNORM_PACK32",-                   pure VK_FORMAT_A2R10G10B10_UNORM_PACK32),-                  ("VK_FORMAT_A2R10G10B10_SNORM_PACK32",-                   pure VK_FORMAT_A2R10G10B10_SNORM_PACK32),-                  ("VK_FORMAT_A2R10G10B10_USCALED_PACK32",-                   pure VK_FORMAT_A2R10G10B10_USCALED_PACK32),-                  ("VK_FORMAT_A2R10G10B10_SSCALED_PACK32",-                   pure VK_FORMAT_A2R10G10B10_SSCALED_PACK32),-                  ("VK_FORMAT_A2R10G10B10_UINT_PACK32",-                   pure VK_FORMAT_A2R10G10B10_UINT_PACK32),-                  ("VK_FORMAT_A2R10G10B10_SINT_PACK32",-                   pure VK_FORMAT_A2R10G10B10_SINT_PACK32),-                  ("VK_FORMAT_A2B10G10R10_UNORM_PACK32",-                   pure VK_FORMAT_A2B10G10R10_UNORM_PACK32),-                  ("VK_FORMAT_A2B10G10R10_SNORM_PACK32",-                   pure VK_FORMAT_A2B10G10R10_SNORM_PACK32),-                  ("VK_FORMAT_A2B10G10R10_USCALED_PACK32",-                   pure VK_FORMAT_A2B10G10R10_USCALED_PACK32),-                  ("VK_FORMAT_A2B10G10R10_SSCALED_PACK32",-                   pure VK_FORMAT_A2B10G10R10_SSCALED_PACK32),-                  ("VK_FORMAT_A2B10G10R10_UINT_PACK32",-                   pure VK_FORMAT_A2B10G10R10_UINT_PACK32),-                  ("VK_FORMAT_A2B10G10R10_SINT_PACK32",-                   pure VK_FORMAT_A2B10G10R10_SINT_PACK32),-                  ("VK_FORMAT_R16_UNORM", pure VK_FORMAT_R16_UNORM),-                  ("VK_FORMAT_R16_SNORM", pure VK_FORMAT_R16_SNORM),-                  ("VK_FORMAT_R16_USCALED", pure VK_FORMAT_R16_USCALED),-                  ("VK_FORMAT_R16_SSCALED", pure VK_FORMAT_R16_SSCALED),-                  ("VK_FORMAT_R16_UINT", pure VK_FORMAT_R16_UINT),-                  ("VK_FORMAT_R16_SINT", pure VK_FORMAT_R16_SINT),-                  ("VK_FORMAT_R16_SFLOAT", pure VK_FORMAT_R16_SFLOAT),-                  ("VK_FORMAT_R16G16_UNORM", pure VK_FORMAT_R16G16_UNORM),-                  ("VK_FORMAT_R16G16_SNORM", pure VK_FORMAT_R16G16_SNORM),-                  ("VK_FORMAT_R16G16_USCALED", pure VK_FORMAT_R16G16_USCALED),-                  ("VK_FORMAT_R16G16_SSCALED", pure VK_FORMAT_R16G16_SSCALED),-                  ("VK_FORMAT_R16G16_UINT", pure VK_FORMAT_R16G16_UINT),-                  ("VK_FORMAT_R16G16_SINT", pure VK_FORMAT_R16G16_SINT),-                  ("VK_FORMAT_R16G16_SFLOAT", pure VK_FORMAT_R16G16_SFLOAT),-                  ("VK_FORMAT_R16G16B16_UNORM", pure VK_FORMAT_R16G16B16_UNORM),-                  ("VK_FORMAT_R16G16B16_SNORM", pure VK_FORMAT_R16G16B16_SNORM),-                  ("VK_FORMAT_R16G16B16_USCALED", pure VK_FORMAT_R16G16B16_USCALED),-                  ("VK_FORMAT_R16G16B16_SSCALED", pure VK_FORMAT_R16G16B16_SSCALED),-                  ("VK_FORMAT_R16G16B16_UINT", pure VK_FORMAT_R16G16B16_UINT),-                  ("VK_FORMAT_R16G16B16_SINT", pure VK_FORMAT_R16G16B16_SINT),-                  ("VK_FORMAT_R16G16B16_SFLOAT", pure VK_FORMAT_R16G16B16_SFLOAT),-                  ("VK_FORMAT_R16G16B16A16_UNORM",-                   pure VK_FORMAT_R16G16B16A16_UNORM),-                  ("VK_FORMAT_R16G16B16A16_SNORM",-                   pure VK_FORMAT_R16G16B16A16_SNORM),-                  ("VK_FORMAT_R16G16B16A16_USCALED",-                   pure VK_FORMAT_R16G16B16A16_USCALED),-                  ("VK_FORMAT_R16G16B16A16_SSCALED",-                   pure VK_FORMAT_R16G16B16A16_SSCALED),-                  ("VK_FORMAT_R16G16B16A16_UINT", pure VK_FORMAT_R16G16B16A16_UINT),-                  ("VK_FORMAT_R16G16B16A16_SINT", pure VK_FORMAT_R16G16B16A16_SINT),-                  ("VK_FORMAT_R16G16B16A16_SFLOAT",-                   pure VK_FORMAT_R16G16B16A16_SFLOAT),-                  ("VK_FORMAT_R32_UINT", pure VK_FORMAT_R32_UINT),-                  ("VK_FORMAT_R32_SINT", pure VK_FORMAT_R32_SINT),-                  ("VK_FORMAT_R32_SFLOAT", pure VK_FORMAT_R32_SFLOAT),-                  ("VK_FORMAT_R32G32_UINT", pure VK_FORMAT_R32G32_UINT),-                  ("VK_FORMAT_R32G32_SINT", pure VK_FORMAT_R32G32_SINT),-                  ("VK_FORMAT_R32G32_SFLOAT", pure VK_FORMAT_R32G32_SFLOAT),-                  ("VK_FORMAT_R32G32B32_UINT", pure VK_FORMAT_R32G32B32_UINT),-                  ("VK_FORMAT_R32G32B32_SINT", pure VK_FORMAT_R32G32B32_SINT),-                  ("VK_FORMAT_R32G32B32_SFLOAT", pure VK_FORMAT_R32G32B32_SFLOAT),-                  ("VK_FORMAT_R32G32B32A32_UINT", pure VK_FORMAT_R32G32B32A32_UINT),-                  ("VK_FORMAT_R32G32B32A32_SINT", pure VK_FORMAT_R32G32B32A32_SINT),-                  ("VK_FORMAT_R32G32B32A32_SFLOAT",-                   pure VK_FORMAT_R32G32B32A32_SFLOAT),-                  ("VK_FORMAT_R64_UINT", pure VK_FORMAT_R64_UINT),-                  ("VK_FORMAT_R64_SINT", pure VK_FORMAT_R64_SINT),-                  ("VK_FORMAT_R64_SFLOAT", pure VK_FORMAT_R64_SFLOAT),-                  ("VK_FORMAT_R64G64_UINT", pure VK_FORMAT_R64G64_UINT),-                  ("VK_FORMAT_R64G64_SINT", pure VK_FORMAT_R64G64_SINT),-                  ("VK_FORMAT_R64G64_SFLOAT", pure VK_FORMAT_R64G64_SFLOAT),-                  ("VK_FORMAT_R64G64B64_UINT", pure VK_FORMAT_R64G64B64_UINT),-                  ("VK_FORMAT_R64G64B64_SINT", pure VK_FORMAT_R64G64B64_SINT),-                  ("VK_FORMAT_R64G64B64_SFLOAT", pure VK_FORMAT_R64G64B64_SFLOAT),-                  ("VK_FORMAT_R64G64B64A64_UINT", pure VK_FORMAT_R64G64B64A64_UINT),-                  ("VK_FORMAT_R64G64B64A64_SINT", pure VK_FORMAT_R64G64B64A64_SINT),-                  ("VK_FORMAT_R64G64B64A64_SFLOAT",-                   pure VK_FORMAT_R64G64B64A64_SFLOAT),-                  ("VK_FORMAT_B10G11R11_UFLOAT_PACK32",-                   pure VK_FORMAT_B10G11R11_UFLOAT_PACK32),-                  ("VK_FORMAT_E5B9G9R9_UFLOAT_PACK32",-                   pure VK_FORMAT_E5B9G9R9_UFLOAT_PACK32),-                  ("VK_FORMAT_D16_UNORM", pure VK_FORMAT_D16_UNORM),-                  ("VK_FORMAT_X8_D24_UNORM_PACK32",-                   pure VK_FORMAT_X8_D24_UNORM_PACK32),-                  ("VK_FORMAT_D32_SFLOAT", pure VK_FORMAT_D32_SFLOAT),-                  ("VK_FORMAT_S8_UINT", pure VK_FORMAT_S8_UINT),-                  ("VK_FORMAT_D16_UNORM_S8_UINT", pure VK_FORMAT_D16_UNORM_S8_UINT),-                  ("VK_FORMAT_D24_UNORM_S8_UINT", pure VK_FORMAT_D24_UNORM_S8_UINT),-                  ("VK_FORMAT_D32_SFLOAT_S8_UINT",-                   pure VK_FORMAT_D32_SFLOAT_S8_UINT),-                  ("VK_FORMAT_BC1_RGB_UNORM_BLOCK",-                   pure VK_FORMAT_BC1_RGB_UNORM_BLOCK),-                  ("VK_FORMAT_BC1_RGB_SRGB_BLOCK",-                   pure VK_FORMAT_BC1_RGB_SRGB_BLOCK),-                  ("VK_FORMAT_BC1_RGBA_UNORM_BLOCK",-                   pure VK_FORMAT_BC1_RGBA_UNORM_BLOCK),-                  ("VK_FORMAT_BC1_RGBA_SRGB_BLOCK",-                   pure VK_FORMAT_BC1_RGBA_SRGB_BLOCK),-                  ("VK_FORMAT_BC2_UNORM_BLOCK", pure VK_FORMAT_BC2_UNORM_BLOCK),-                  ("VK_FORMAT_BC2_SRGB_BLOCK", pure VK_FORMAT_BC2_SRGB_BLOCK),-                  ("VK_FORMAT_BC3_UNORM_BLOCK", pure VK_FORMAT_BC3_UNORM_BLOCK),-                  ("VK_FORMAT_BC3_SRGB_BLOCK", pure VK_FORMAT_BC3_SRGB_BLOCK),-                  ("VK_FORMAT_BC4_UNORM_BLOCK", pure VK_FORMAT_BC4_UNORM_BLOCK),-                  ("VK_FORMAT_BC4_SNORM_BLOCK", pure VK_FORMAT_BC4_SNORM_BLOCK),-                  ("VK_FORMAT_BC5_UNORM_BLOCK", pure VK_FORMAT_BC5_UNORM_BLOCK),-                  ("VK_FORMAT_BC5_SNORM_BLOCK", pure VK_FORMAT_BC5_SNORM_BLOCK),-                  ("VK_FORMAT_BC6H_UFLOAT_BLOCK", pure VK_FORMAT_BC6H_UFLOAT_BLOCK),-                  ("VK_FORMAT_BC6H_SFLOAT_BLOCK", pure VK_FORMAT_BC6H_SFLOAT_BLOCK),-                  ("VK_FORMAT_BC7_UNORM_BLOCK", pure VK_FORMAT_BC7_UNORM_BLOCK),-                  ("VK_FORMAT_BC7_SRGB_BLOCK", pure VK_FORMAT_BC7_SRGB_BLOCK),-                  ("VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK",-                   pure VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK),-                  ("VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK",-                   pure VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK),-                  ("VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK",-                   pure VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK),-                  ("VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK",-                   pure VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK),-                  ("VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK",-                   pure VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK),-                  ("VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK",-                   pure VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK),-                  ("VK_FORMAT_EAC_R11_UNORM_BLOCK",-                   pure VK_FORMAT_EAC_R11_UNORM_BLOCK),-                  ("VK_FORMAT_EAC_R11_SNORM_BLOCK",-                   pure VK_FORMAT_EAC_R11_SNORM_BLOCK),-                  ("VK_FORMAT_EAC_R11G11_UNORM_BLOCK",-                   pure VK_FORMAT_EAC_R11G11_UNORM_BLOCK),-                  ("VK_FORMAT_EAC_R11G11_SNORM_BLOCK",-                   pure VK_FORMAT_EAC_R11G11_SNORM_BLOCK),-                  ("VK_FORMAT_ASTC_4x4_UNORM_BLOCK",-                   pure VK_FORMAT_ASTC_4x4_UNORM_BLOCK),-                  ("VK_FORMAT_ASTC_4x4_SRGB_BLOCK",-                   pure VK_FORMAT_ASTC_4x4_SRGB_BLOCK),-                  ("VK_FORMAT_ASTC_5x4_UNORM_BLOCK",-                   pure VK_FORMAT_ASTC_5x4_UNORM_BLOCK),-                  ("VK_FORMAT_ASTC_5x4_SRGB_BLOCK",-                   pure VK_FORMAT_ASTC_5x4_SRGB_BLOCK),-                  ("VK_FORMAT_ASTC_5x5_UNORM_BLOCK",-                   pure VK_FORMAT_ASTC_5x5_UNORM_BLOCK),-                  ("VK_FORMAT_ASTC_5x5_SRGB_BLOCK",-                   pure VK_FORMAT_ASTC_5x5_SRGB_BLOCK),-                  ("VK_FORMAT_ASTC_6x5_UNORM_BLOCK",-                   pure VK_FORMAT_ASTC_6x5_UNORM_BLOCK),-                  ("VK_FORMAT_ASTC_6x5_SRGB_BLOCK",-                   pure VK_FORMAT_ASTC_6x5_SRGB_BLOCK),-                  ("VK_FORMAT_ASTC_6x6_UNORM_BLOCK",-                   pure VK_FORMAT_ASTC_6x6_UNORM_BLOCK),-                  ("VK_FORMAT_ASTC_6x6_SRGB_BLOCK",-                   pure VK_FORMAT_ASTC_6x6_SRGB_BLOCK),-                  ("VK_FORMAT_ASTC_8x5_UNORM_BLOCK",-                   pure VK_FORMAT_ASTC_8x5_UNORM_BLOCK),-                  ("VK_FORMAT_ASTC_8x5_SRGB_BLOCK",-                   pure VK_FORMAT_ASTC_8x5_SRGB_BLOCK),-                  ("VK_FORMAT_ASTC_8x6_UNORM_BLOCK",-                   pure VK_FORMAT_ASTC_8x6_UNORM_BLOCK),-                  ("VK_FORMAT_ASTC_8x6_SRGB_BLOCK",-                   pure VK_FORMAT_ASTC_8x6_SRGB_BLOCK),-                  ("VK_FORMAT_ASTC_8x8_UNORM_BLOCK",-                   pure VK_FORMAT_ASTC_8x8_UNORM_BLOCK),-                  ("VK_FORMAT_ASTC_8x8_SRGB_BLOCK",-                   pure VK_FORMAT_ASTC_8x8_SRGB_BLOCK),-                  ("VK_FORMAT_ASTC_10x5_UNORM_BLOCK",-                   pure VK_FORMAT_ASTC_10x5_UNORM_BLOCK),-                  ("VK_FORMAT_ASTC_10x5_SRGB_BLOCK",-                   pure VK_FORMAT_ASTC_10x5_SRGB_BLOCK),-                  ("VK_FORMAT_ASTC_10x6_UNORM_BLOCK",-                   pure VK_FORMAT_ASTC_10x6_UNORM_BLOCK),-                  ("VK_FORMAT_ASTC_10x6_SRGB_BLOCK",-                   pure VK_FORMAT_ASTC_10x6_SRGB_BLOCK),-                  ("VK_FORMAT_ASTC_10x8_UNORM_BLOCK",-                   pure VK_FORMAT_ASTC_10x8_UNORM_BLOCK),-                  ("VK_FORMAT_ASTC_10x8_SRGB_BLOCK",-                   pure VK_FORMAT_ASTC_10x8_SRGB_BLOCK),-                  ("VK_FORMAT_ASTC_10x10_UNORM_BLOCK",-                   pure VK_FORMAT_ASTC_10x10_UNORM_BLOCK),-                  ("VK_FORMAT_ASTC_10x10_SRGB_BLOCK",-                   pure VK_FORMAT_ASTC_10x10_SRGB_BLOCK),-                  ("VK_FORMAT_ASTC_12x10_UNORM_BLOCK",-                   pure VK_FORMAT_ASTC_12x10_UNORM_BLOCK),-                  ("VK_FORMAT_ASTC_12x10_SRGB_BLOCK",-                   pure VK_FORMAT_ASTC_12x10_SRGB_BLOCK),-                  ("VK_FORMAT_ASTC_12x12_UNORM_BLOCK",-                   pure VK_FORMAT_ASTC_12x12_UNORM_BLOCK),-                  ("VK_FORMAT_ASTC_12x12_SRGB_BLOCK",-                   pure VK_FORMAT_ASTC_12x12_SRGB_BLOCK)]-                 +++-                 prec 10-                   (expectP (Ident "VkFormat") >> (VkFormat <$> step readPrec)))--pattern VK_FORMAT_UNDEFINED :: VkFormat--pattern VK_FORMAT_UNDEFINED = VkFormat 0--pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat--pattern VK_FORMAT_R4G4_UNORM_PACK8 = VkFormat 1--pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat--pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 = VkFormat 2--pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat--pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 = VkFormat 3--pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat--pattern VK_FORMAT_R5G6B5_UNORM_PACK16 = VkFormat 4--pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat--pattern VK_FORMAT_B5G6R5_UNORM_PACK16 = VkFormat 5--pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat--pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 = VkFormat 6--pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat--pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 = VkFormat 7--pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat--pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 = VkFormat 8--pattern VK_FORMAT_R8_UNORM :: VkFormat--pattern VK_FORMAT_R8_UNORM = VkFormat 9--pattern VK_FORMAT_R8_SNORM :: VkFormat--pattern VK_FORMAT_R8_SNORM = VkFormat 10--pattern VK_FORMAT_R8_USCALED :: VkFormat--pattern VK_FORMAT_R8_USCALED = VkFormat 11--pattern VK_FORMAT_R8_SSCALED :: VkFormat--pattern VK_FORMAT_R8_SSCALED = VkFormat 12--pattern VK_FORMAT_R8_UINT :: VkFormat--pattern VK_FORMAT_R8_UINT = VkFormat 13--pattern VK_FORMAT_R8_SINT :: VkFormat--pattern VK_FORMAT_R8_SINT = VkFormat 14--pattern VK_FORMAT_R8_SRGB :: VkFormat--pattern VK_FORMAT_R8_SRGB = VkFormat 15--pattern VK_FORMAT_R8G8_UNORM :: VkFormat--pattern VK_FORMAT_R8G8_UNORM = VkFormat 16--pattern VK_FORMAT_R8G8_SNORM :: VkFormat--pattern VK_FORMAT_R8G8_SNORM = VkFormat 17--pattern VK_FORMAT_R8G8_USCALED :: VkFormat--pattern VK_FORMAT_R8G8_USCALED = VkFormat 18--pattern VK_FORMAT_R8G8_SSCALED :: VkFormat--pattern VK_FORMAT_R8G8_SSCALED = VkFormat 19--pattern VK_FORMAT_R8G8_UINT :: VkFormat--pattern VK_FORMAT_R8G8_UINT = VkFormat 20--pattern VK_FORMAT_R8G8_SINT :: VkFormat--pattern VK_FORMAT_R8G8_SINT = VkFormat 21--pattern VK_FORMAT_R8G8_SRGB :: VkFormat--pattern VK_FORMAT_R8G8_SRGB = VkFormat 22--pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat--pattern VK_FORMAT_R8G8B8_UNORM = VkFormat 23--pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat--pattern VK_FORMAT_R8G8B8_SNORM = VkFormat 24--pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat--pattern VK_FORMAT_R8G8B8_USCALED = VkFormat 25--pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat--pattern VK_FORMAT_R8G8B8_SSCALED = VkFormat 26--pattern VK_FORMAT_R8G8B8_UINT :: VkFormat--pattern VK_FORMAT_R8G8B8_UINT = VkFormat 27--pattern VK_FORMAT_R8G8B8_SINT :: VkFormat--pattern VK_FORMAT_R8G8B8_SINT = VkFormat 28--pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat--pattern VK_FORMAT_R8G8B8_SRGB = VkFormat 29--pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat--pattern VK_FORMAT_B8G8R8_UNORM = VkFormat 30--pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat--pattern VK_FORMAT_B8G8R8_SNORM = VkFormat 31--pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat--pattern VK_FORMAT_B8G8R8_USCALED = VkFormat 32--pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat--pattern VK_FORMAT_B8G8R8_SSCALED = VkFormat 33--pattern VK_FORMAT_B8G8R8_UINT :: VkFormat--pattern VK_FORMAT_B8G8R8_UINT = VkFormat 34--pattern VK_FORMAT_B8G8R8_SINT :: VkFormat--pattern VK_FORMAT_B8G8R8_SINT = VkFormat 35--pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat--pattern VK_FORMAT_B8G8R8_SRGB = VkFormat 36--pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat--pattern VK_FORMAT_R8G8B8A8_UNORM = VkFormat 37--pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat--pattern VK_FORMAT_R8G8B8A8_SNORM = VkFormat 38--pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat--pattern VK_FORMAT_R8G8B8A8_USCALED = VkFormat 39--pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat--pattern VK_FORMAT_R8G8B8A8_SSCALED = VkFormat 40--pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat--pattern VK_FORMAT_R8G8B8A8_UINT = VkFormat 41--pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat--pattern VK_FORMAT_R8G8B8A8_SINT = VkFormat 42--pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat--pattern VK_FORMAT_R8G8B8A8_SRGB = VkFormat 43--pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat--pattern VK_FORMAT_B8G8R8A8_UNORM = VkFormat 44--pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat--pattern VK_FORMAT_B8G8R8A8_SNORM = VkFormat 45--pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat--pattern VK_FORMAT_B8G8R8A8_USCALED = VkFormat 46--pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat--pattern VK_FORMAT_B8G8R8A8_SSCALED = VkFormat 47--pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat--pattern VK_FORMAT_B8G8R8A8_UINT = VkFormat 48--pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat--pattern VK_FORMAT_B8G8R8A8_SINT = VkFormat 49--pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat--pattern VK_FORMAT_B8G8R8A8_SRGB = VkFormat 50--pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat--pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 = VkFormat 51--pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat--pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 = VkFormat 52--pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat--pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 = VkFormat 53--pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat--pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = VkFormat 54--pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat--pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 = VkFormat 55--pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat--pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 = VkFormat 56--pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat--pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 = VkFormat 57--pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat--pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 = VkFormat 58--pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat--pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 = VkFormat 59--pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat--pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 = VkFormat 60--pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat--pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = VkFormat 61--pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat--pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 = VkFormat 62--pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat--pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 = VkFormat 63--pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat--pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 = VkFormat 64--pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat--pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 = VkFormat 65--pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat--pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 = VkFormat 66--pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat--pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = VkFormat 67--pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat--pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 = VkFormat 68--pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat--pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 = VkFormat 69--pattern VK_FORMAT_R16_UNORM :: VkFormat--pattern VK_FORMAT_R16_UNORM = VkFormat 70--pattern VK_FORMAT_R16_SNORM :: VkFormat--pattern VK_FORMAT_R16_SNORM = VkFormat 71--pattern VK_FORMAT_R16_USCALED :: VkFormat--pattern VK_FORMAT_R16_USCALED = VkFormat 72--pattern VK_FORMAT_R16_SSCALED :: VkFormat--pattern VK_FORMAT_R16_SSCALED = VkFormat 73--pattern VK_FORMAT_R16_UINT :: VkFormat--pattern VK_FORMAT_R16_UINT = VkFormat 74--pattern VK_FORMAT_R16_SINT :: VkFormat--pattern VK_FORMAT_R16_SINT = VkFormat 75--pattern VK_FORMAT_R16_SFLOAT :: VkFormat--pattern VK_FORMAT_R16_SFLOAT = VkFormat 76--pattern VK_FORMAT_R16G16_UNORM :: VkFormat--pattern VK_FORMAT_R16G16_UNORM = VkFormat 77--pattern VK_FORMAT_R16G16_SNORM :: VkFormat--pattern VK_FORMAT_R16G16_SNORM = VkFormat 78--pattern VK_FORMAT_R16G16_USCALED :: VkFormat--pattern VK_FORMAT_R16G16_USCALED = VkFormat 79--pattern VK_FORMAT_R16G16_SSCALED :: VkFormat--pattern VK_FORMAT_R16G16_SSCALED = VkFormat 80--pattern VK_FORMAT_R16G16_UINT :: VkFormat--pattern VK_FORMAT_R16G16_UINT = VkFormat 81--pattern VK_FORMAT_R16G16_SINT :: VkFormat--pattern VK_FORMAT_R16G16_SINT = VkFormat 82--pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat--pattern VK_FORMAT_R16G16_SFLOAT = VkFormat 83--pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat--pattern VK_FORMAT_R16G16B16_UNORM = VkFormat 84--pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat--pattern VK_FORMAT_R16G16B16_SNORM = VkFormat 85--pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat--pattern VK_FORMAT_R16G16B16_USCALED = VkFormat 86--pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat--pattern VK_FORMAT_R16G16B16_SSCALED = VkFormat 87--pattern VK_FORMAT_R16G16B16_UINT :: VkFormat--pattern VK_FORMAT_R16G16B16_UINT = VkFormat 88--pattern VK_FORMAT_R16G16B16_SINT :: VkFormat--pattern VK_FORMAT_R16G16B16_SINT = VkFormat 89--pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat--pattern VK_FORMAT_R16G16B16_SFLOAT = VkFormat 90--pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat--pattern VK_FORMAT_R16G16B16A16_UNORM = VkFormat 91--pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat--pattern VK_FORMAT_R16G16B16A16_SNORM = VkFormat 92--pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat--pattern VK_FORMAT_R16G16B16A16_USCALED = VkFormat 93--pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat--pattern VK_FORMAT_R16G16B16A16_SSCALED = VkFormat 94--pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat--pattern VK_FORMAT_R16G16B16A16_UINT = VkFormat 95--pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat--pattern VK_FORMAT_R16G16B16A16_SINT = VkFormat 96--pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat--pattern VK_FORMAT_R16G16B16A16_SFLOAT = VkFormat 97--pattern VK_FORMAT_R32_UINT :: VkFormat--pattern VK_FORMAT_R32_UINT = VkFormat 98--pattern VK_FORMAT_R32_SINT :: VkFormat--pattern VK_FORMAT_R32_SINT = VkFormat 99--pattern VK_FORMAT_R32_SFLOAT :: VkFormat--pattern VK_FORMAT_R32_SFLOAT = VkFormat 100--pattern VK_FORMAT_R32G32_UINT :: VkFormat--pattern VK_FORMAT_R32G32_UINT = VkFormat 101--pattern VK_FORMAT_R32G32_SINT :: VkFormat--pattern VK_FORMAT_R32G32_SINT = VkFormat 102--pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat--pattern VK_FORMAT_R32G32_SFLOAT = VkFormat 103--pattern VK_FORMAT_R32G32B32_UINT :: VkFormat--pattern VK_FORMAT_R32G32B32_UINT = VkFormat 104--pattern VK_FORMAT_R32G32B32_SINT :: VkFormat--pattern VK_FORMAT_R32G32B32_SINT = VkFormat 105--pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat--pattern VK_FORMAT_R32G32B32_SFLOAT = VkFormat 106--pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat--pattern VK_FORMAT_R32G32B32A32_UINT = VkFormat 107--pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat--pattern VK_FORMAT_R32G32B32A32_SINT = VkFormat 108--pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat--pattern VK_FORMAT_R32G32B32A32_SFLOAT = VkFormat 109--pattern VK_FORMAT_R64_UINT :: VkFormat--pattern VK_FORMAT_R64_UINT = VkFormat 110--pattern VK_FORMAT_R64_SINT :: VkFormat--pattern VK_FORMAT_R64_SINT = VkFormat 111--pattern VK_FORMAT_R64_SFLOAT :: VkFormat--pattern VK_FORMAT_R64_SFLOAT = VkFormat 112--pattern VK_FORMAT_R64G64_UINT :: VkFormat--pattern VK_FORMAT_R64G64_UINT = VkFormat 113--pattern VK_FORMAT_R64G64_SINT :: VkFormat--pattern VK_FORMAT_R64G64_SINT = VkFormat 114--pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat--pattern VK_FORMAT_R64G64_SFLOAT = VkFormat 115--pattern VK_FORMAT_R64G64B64_UINT :: VkFormat--pattern VK_FORMAT_R64G64B64_UINT = VkFormat 116--pattern VK_FORMAT_R64G64B64_SINT :: VkFormat--pattern VK_FORMAT_R64G64B64_SINT = VkFormat 117--pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat--pattern VK_FORMAT_R64G64B64_SFLOAT = VkFormat 118--pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat--pattern VK_FORMAT_R64G64B64A64_UINT = VkFormat 119--pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat--pattern VK_FORMAT_R64G64B64A64_SINT = VkFormat 120--pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat--pattern VK_FORMAT_R64G64B64A64_SFLOAT = VkFormat 121--pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat--pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 = VkFormat 122--pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat--pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = VkFormat 123--pattern VK_FORMAT_D16_UNORM :: VkFormat--pattern VK_FORMAT_D16_UNORM = VkFormat 124--pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat--pattern VK_FORMAT_X8_D24_UNORM_PACK32 = VkFormat 125--pattern VK_FORMAT_D32_SFLOAT :: VkFormat--pattern VK_FORMAT_D32_SFLOAT = VkFormat 126--pattern VK_FORMAT_S8_UINT :: VkFormat--pattern VK_FORMAT_S8_UINT = VkFormat 127--pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat--pattern VK_FORMAT_D16_UNORM_S8_UINT = VkFormat 128--pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat--pattern VK_FORMAT_D24_UNORM_S8_UINT = VkFormat 129--pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat--pattern VK_FORMAT_D32_SFLOAT_S8_UINT = VkFormat 130--pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK = VkFormat 131--pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK = VkFormat 132--pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK = VkFormat 133--pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK = VkFormat 134--pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_BC2_UNORM_BLOCK = VkFormat 135--pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_BC2_SRGB_BLOCK = VkFormat 136--pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_BC3_UNORM_BLOCK = VkFormat 137--pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_BC3_SRGB_BLOCK = VkFormat 138--pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_BC4_UNORM_BLOCK = VkFormat 139--pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat--pattern VK_FORMAT_BC4_SNORM_BLOCK = VkFormat 140--pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_BC5_UNORM_BLOCK = VkFormat 141--pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat--pattern VK_FORMAT_BC5_SNORM_BLOCK = VkFormat 142--pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat--pattern VK_FORMAT_BC6H_UFLOAT_BLOCK = VkFormat 143--pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat--pattern VK_FORMAT_BC6H_SFLOAT_BLOCK = VkFormat 144--pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_BC7_UNORM_BLOCK = VkFormat 145--pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_BC7_SRGB_BLOCK = VkFormat 146--pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = VkFormat 147--pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = VkFormat 148--pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = VkFormat 149--pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = VkFormat 150--pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = VkFormat 151--pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = VkFormat 152--pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_EAC_R11_UNORM_BLOCK = VkFormat 153--pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat--pattern VK_FORMAT_EAC_R11_SNORM_BLOCK = VkFormat 154--pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK = VkFormat 155--pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat--pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK = VkFormat 156--pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK = VkFormat 157--pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK = VkFormat 158--pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK = VkFormat 159--pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK = VkFormat 160--pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK = VkFormat 161--pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK = VkFormat 162--pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK = VkFormat 163--pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK = VkFormat 164--pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK = VkFormat 165--pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK = VkFormat 166--pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK = VkFormat 167--pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK = VkFormat 168--pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK = VkFormat 169--pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK = VkFormat 170--pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK = VkFormat 171--pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK = VkFormat 172--pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK = VkFormat 173--pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK = VkFormat 174--pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK = VkFormat 175--pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK = VkFormat 176--pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK = VkFormat 177--pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK = VkFormat 178--pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK = VkFormat 179--pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK = VkFormat 180--pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK = VkFormat 181--pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK = VkFormat 182--pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK = VkFormat 183--pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK = VkFormat 184--newtype VkFormatFeatureBitmask (a ::-                                  FlagType) = VkFormatFeatureBitmask VkFlags-                                                deriving (Eq, Ord, Storable, Data, Generic)--type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask--type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit--pattern VkFormatFeatureFlagBits ::-        VkFlags -> VkFormatFeatureBitmask FlagBit--pattern VkFormatFeatureFlagBits n = VkFormatFeatureBitmask n--pattern VkFormatFeatureFlags ::-        VkFlags -> VkFormatFeatureBitmask FlagMask--pattern VkFormatFeatureFlags n = VkFormatFeatureBitmask n--deriving instance Bits (VkFormatFeatureBitmask FlagMask)--deriving instance FiniteBits (VkFormatFeatureBitmask FlagMask)--deriving instance Integral (VkFormatFeatureBitmask FlagMask)--deriving instance Num (VkFormatFeatureBitmask FlagMask)--deriving instance Bounded (VkFormatFeatureBitmask FlagMask)--deriving instance Enum (VkFormatFeatureBitmask FlagMask)--deriving instance Real (VkFormatFeatureBitmask FlagMask)--instance Show (VkFormatFeatureBitmask a) where-        showsPrec _ VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT-          = showString "VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT"-        showsPrec _ VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT-          = showString "VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT"-        showsPrec _ VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT-          = showString "VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT"-        showsPrec _ VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT-          = showString "VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT"-        showsPrec _ VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT-          = showString "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT"-        showsPrec _ VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT-          = showString "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT"-        showsPrec _ VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT-          = showString "VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT"-        showsPrec _ VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT-          = showString "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT"-        showsPrec _ VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT-          = showString "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT"-        showsPrec _ VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT-          = showString "VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT"-        showsPrec _ VK_FORMAT_FEATURE_BLIT_SRC_BIT-          = showString "VK_FORMAT_FEATURE_BLIT_SRC_BIT"-        showsPrec _ VK_FORMAT_FEATURE_BLIT_DST_BIT-          = showString "VK_FORMAT_FEATURE_BLIT_DST_BIT"-        showsPrec _ VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT-          = showString "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT"-        showsPrec p (VkFormatFeatureBitmask x)-          = showParen (p >= 11)-              (showString "VkFormatFeatureBitmask " . showsPrec 11 x)--instance Read (VkFormatFeatureBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT",-                   pure VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT),-                  ("VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT",-                   pure VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT),-                  ("VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT",-                   pure VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT),-                  ("VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT",-                   pure VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT),-                  ("VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT",-                   pure VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT),-                  ("VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT",-                   pure VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT),-                  ("VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT",-                   pure VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT),-                  ("VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT",-                   pure VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT),-                  ("VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT",-                   pure VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT),-                  ("VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT",-                   pure VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT),-                  ("VK_FORMAT_FEATURE_BLIT_SRC_BIT",-                   pure VK_FORMAT_FEATURE_BLIT_SRC_BIT),-                  ("VK_FORMAT_FEATURE_BLIT_DST_BIT",-                   pure VK_FORMAT_FEATURE_BLIT_DST_BIT),-                  ("VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT",-                   pure VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkFormatFeatureBitmask") >>-                      (VkFormatFeatureBitmask <$> step readPrec)))+{-# LANGUAGE FlexibleInstances          #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures             #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE StandaloneDeriving         #-}+{-# LANGUAGE Strict                     #-}+{-# LANGUAGE TypeSynonymInstances       #-}+module Graphics.Vulkan.Types.Enum.Format+       (VkFormat(VkFormat, VK_FORMAT_UNDEFINED,+                 VK_FORMAT_R4G4_UNORM_PACK8, VK_FORMAT_R4G4B4A4_UNORM_PACK16,+                 VK_FORMAT_B4G4R4A4_UNORM_PACK16, VK_FORMAT_R5G6B5_UNORM_PACK16,+                 VK_FORMAT_B5G6R5_UNORM_PACK16, VK_FORMAT_R5G5B5A1_UNORM_PACK16,+                 VK_FORMAT_B5G5R5A1_UNORM_PACK16, VK_FORMAT_A1R5G5B5_UNORM_PACK16,+                 VK_FORMAT_R8_UNORM, VK_FORMAT_R8_SNORM, VK_FORMAT_R8_USCALED,+                 VK_FORMAT_R8_SSCALED, VK_FORMAT_R8_UINT, VK_FORMAT_R8_SINT,+                 VK_FORMAT_R8_SRGB, VK_FORMAT_R8G8_UNORM, VK_FORMAT_R8G8_SNORM,+                 VK_FORMAT_R8G8_USCALED, VK_FORMAT_R8G8_SSCALED,+                 VK_FORMAT_R8G8_UINT, VK_FORMAT_R8G8_SINT, VK_FORMAT_R8G8_SRGB,+                 VK_FORMAT_R8G8B8_UNORM, VK_FORMAT_R8G8B8_SNORM,+                 VK_FORMAT_R8G8B8_USCALED, VK_FORMAT_R8G8B8_SSCALED,+                 VK_FORMAT_R8G8B8_UINT, VK_FORMAT_R8G8B8_SINT,+                 VK_FORMAT_R8G8B8_SRGB, VK_FORMAT_B8G8R8_UNORM,+                 VK_FORMAT_B8G8R8_SNORM, VK_FORMAT_B8G8R8_USCALED,+                 VK_FORMAT_B8G8R8_SSCALED, VK_FORMAT_B8G8R8_UINT,+                 VK_FORMAT_B8G8R8_SINT, VK_FORMAT_B8G8R8_SRGB,+                 VK_FORMAT_R8G8B8A8_UNORM, VK_FORMAT_R8G8B8A8_SNORM,+                 VK_FORMAT_R8G8B8A8_USCALED, VK_FORMAT_R8G8B8A8_SSCALED,+                 VK_FORMAT_R8G8B8A8_UINT, VK_FORMAT_R8G8B8A8_SINT,+                 VK_FORMAT_R8G8B8A8_SRGB, VK_FORMAT_B8G8R8A8_UNORM,+                 VK_FORMAT_B8G8R8A8_SNORM, VK_FORMAT_B8G8R8A8_USCALED,+                 VK_FORMAT_B8G8R8A8_SSCALED, VK_FORMAT_B8G8R8A8_UINT,+                 VK_FORMAT_B8G8R8A8_SINT, VK_FORMAT_B8G8R8A8_SRGB,+                 VK_FORMAT_A8B8G8R8_UNORM_PACK32, VK_FORMAT_A8B8G8R8_SNORM_PACK32,+                 VK_FORMAT_A8B8G8R8_USCALED_PACK32,+                 VK_FORMAT_A8B8G8R8_SSCALED_PACK32, VK_FORMAT_A8B8G8R8_UINT_PACK32,+                 VK_FORMAT_A8B8G8R8_SINT_PACK32, VK_FORMAT_A8B8G8R8_SRGB_PACK32,+                 VK_FORMAT_A2R10G10B10_UNORM_PACK32,+                 VK_FORMAT_A2R10G10B10_SNORM_PACK32,+                 VK_FORMAT_A2R10G10B10_USCALED_PACK32,+                 VK_FORMAT_A2R10G10B10_SSCALED_PACK32,+                 VK_FORMAT_A2R10G10B10_UINT_PACK32,+                 VK_FORMAT_A2R10G10B10_SINT_PACK32,+                 VK_FORMAT_A2B10G10R10_UNORM_PACK32,+                 VK_FORMAT_A2B10G10R10_SNORM_PACK32,+                 VK_FORMAT_A2B10G10R10_USCALED_PACK32,+                 VK_FORMAT_A2B10G10R10_SSCALED_PACK32,+                 VK_FORMAT_A2B10G10R10_UINT_PACK32,+                 VK_FORMAT_A2B10G10R10_SINT_PACK32, VK_FORMAT_R16_UNORM,+                 VK_FORMAT_R16_SNORM, VK_FORMAT_R16_USCALED, VK_FORMAT_R16_SSCALED,+                 VK_FORMAT_R16_UINT, VK_FORMAT_R16_SINT, VK_FORMAT_R16_SFLOAT,+                 VK_FORMAT_R16G16_UNORM, VK_FORMAT_R16G16_SNORM,+                 VK_FORMAT_R16G16_USCALED, VK_FORMAT_R16G16_SSCALED,+                 VK_FORMAT_R16G16_UINT, VK_FORMAT_R16G16_SINT,+                 VK_FORMAT_R16G16_SFLOAT, VK_FORMAT_R16G16B16_UNORM,+                 VK_FORMAT_R16G16B16_SNORM, VK_FORMAT_R16G16B16_USCALED,+                 VK_FORMAT_R16G16B16_SSCALED, VK_FORMAT_R16G16B16_UINT,+                 VK_FORMAT_R16G16B16_SINT, VK_FORMAT_R16G16B16_SFLOAT,+                 VK_FORMAT_R16G16B16A16_UNORM, VK_FORMAT_R16G16B16A16_SNORM,+                 VK_FORMAT_R16G16B16A16_USCALED, VK_FORMAT_R16G16B16A16_SSCALED,+                 VK_FORMAT_R16G16B16A16_UINT, VK_FORMAT_R16G16B16A16_SINT,+                 VK_FORMAT_R16G16B16A16_SFLOAT, VK_FORMAT_R32_UINT,+                 VK_FORMAT_R32_SINT, VK_FORMAT_R32_SFLOAT, VK_FORMAT_R32G32_UINT,+                 VK_FORMAT_R32G32_SINT, VK_FORMAT_R32G32_SFLOAT,+                 VK_FORMAT_R32G32B32_UINT, VK_FORMAT_R32G32B32_SINT,+                 VK_FORMAT_R32G32B32_SFLOAT, VK_FORMAT_R32G32B32A32_UINT,+                 VK_FORMAT_R32G32B32A32_SINT, VK_FORMAT_R32G32B32A32_SFLOAT,+                 VK_FORMAT_R64_UINT, VK_FORMAT_R64_SINT, VK_FORMAT_R64_SFLOAT,+                 VK_FORMAT_R64G64_UINT, VK_FORMAT_R64G64_SINT,+                 VK_FORMAT_R64G64_SFLOAT, VK_FORMAT_R64G64B64_UINT,+                 VK_FORMAT_R64G64B64_SINT, VK_FORMAT_R64G64B64_SFLOAT,+                 VK_FORMAT_R64G64B64A64_UINT, VK_FORMAT_R64G64B64A64_SINT,+                 VK_FORMAT_R64G64B64A64_SFLOAT, VK_FORMAT_B10G11R11_UFLOAT_PACK32,+                 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32, VK_FORMAT_D16_UNORM,+                 VK_FORMAT_X8_D24_UNORM_PACK32, VK_FORMAT_D32_SFLOAT,+                 VK_FORMAT_S8_UINT, VK_FORMAT_D16_UNORM_S8_UINT,+                 VK_FORMAT_D24_UNORM_S8_UINT, VK_FORMAT_D32_SFLOAT_S8_UINT,+                 VK_FORMAT_BC1_RGB_UNORM_BLOCK, VK_FORMAT_BC1_RGB_SRGB_BLOCK,+                 VK_FORMAT_BC1_RGBA_UNORM_BLOCK, VK_FORMAT_BC1_RGBA_SRGB_BLOCK,+                 VK_FORMAT_BC2_UNORM_BLOCK, VK_FORMAT_BC2_SRGB_BLOCK,+                 VK_FORMAT_BC3_UNORM_BLOCK, VK_FORMAT_BC3_SRGB_BLOCK,+                 VK_FORMAT_BC4_UNORM_BLOCK, VK_FORMAT_BC4_SNORM_BLOCK,+                 VK_FORMAT_BC5_UNORM_BLOCK, VK_FORMAT_BC5_SNORM_BLOCK,+                 VK_FORMAT_BC6H_UFLOAT_BLOCK, VK_FORMAT_BC6H_SFLOAT_BLOCK,+                 VK_FORMAT_BC7_UNORM_BLOCK, VK_FORMAT_BC7_SRGB_BLOCK,+                 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK,+                 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK,+                 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK,+                 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK,+                 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK,+                 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK, VK_FORMAT_EAC_R11_UNORM_BLOCK,+                 VK_FORMAT_EAC_R11_SNORM_BLOCK, VK_FORMAT_EAC_R11G11_UNORM_BLOCK,+                 VK_FORMAT_EAC_R11G11_SNORM_BLOCK, VK_FORMAT_ASTC_4x4_UNORM_BLOCK,+                 VK_FORMAT_ASTC_4x4_SRGB_BLOCK, VK_FORMAT_ASTC_5x4_UNORM_BLOCK,+                 VK_FORMAT_ASTC_5x4_SRGB_BLOCK, VK_FORMAT_ASTC_5x5_UNORM_BLOCK,+                 VK_FORMAT_ASTC_5x5_SRGB_BLOCK, VK_FORMAT_ASTC_6x5_UNORM_BLOCK,+                 VK_FORMAT_ASTC_6x5_SRGB_BLOCK, VK_FORMAT_ASTC_6x6_UNORM_BLOCK,+                 VK_FORMAT_ASTC_6x6_SRGB_BLOCK, VK_FORMAT_ASTC_8x5_UNORM_BLOCK,+                 VK_FORMAT_ASTC_8x5_SRGB_BLOCK, VK_FORMAT_ASTC_8x6_UNORM_BLOCK,+                 VK_FORMAT_ASTC_8x6_SRGB_BLOCK, VK_FORMAT_ASTC_8x8_UNORM_BLOCK,+                 VK_FORMAT_ASTC_8x8_SRGB_BLOCK, VK_FORMAT_ASTC_10x5_UNORM_BLOCK,+                 VK_FORMAT_ASTC_10x5_SRGB_BLOCK, VK_FORMAT_ASTC_10x6_UNORM_BLOCK,+                 VK_FORMAT_ASTC_10x6_SRGB_BLOCK, VK_FORMAT_ASTC_10x8_UNORM_BLOCK,+                 VK_FORMAT_ASTC_10x8_SRGB_BLOCK, VK_FORMAT_ASTC_10x10_UNORM_BLOCK,+                 VK_FORMAT_ASTC_10x10_SRGB_BLOCK, VK_FORMAT_ASTC_12x10_UNORM_BLOCK,+                 VK_FORMAT_ASTC_12x10_SRGB_BLOCK, VK_FORMAT_ASTC_12x12_UNORM_BLOCK,+                 VK_FORMAT_ASTC_12x12_SRGB_BLOCK),+        VkFormatFeatureBitmask(VkFormatFeatureBitmask,+                               VkFormatFeatureFlags, VkFormatFeatureFlagBits,+                               VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT,+                               VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT,+                               VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT,+                               VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT,+                               VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT,+                               VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT,+                               VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT,+                               VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT,+                               VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT,+                               VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT,+                               VK_FORMAT_FEATURE_BLIT_SRC_BIT, VK_FORMAT_FEATURE_BLIT_DST_BIT,+                               VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT),+        VkFormatFeatureFlags, VkFormatFeatureFlagBits)+       where+import Data.Bits                       (Bits, FiniteBits)+import Foreign.Storable                (Storable)+import GHC.Read                        (choose, expectP)+import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType, Int32)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read                       (Read (..), parens)+import Text.Read.Lex                   (Lexeme (..))++-- | Vulkan format definitions+--+--   type = @enum@+--+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkFormat VkFormat registry at www.khronos.org>+newtype VkFormat = VkFormat Int32+                   deriving (Eq, Ord, Enum, Storable)++instance Show VkFormat where+    showsPrec _ VK_FORMAT_UNDEFINED = showString "VK_FORMAT_UNDEFINED"+    showsPrec _ VK_FORMAT_R4G4_UNORM_PACK8+      = showString "VK_FORMAT_R4G4_UNORM_PACK8"+    showsPrec _ VK_FORMAT_R4G4B4A4_UNORM_PACK16+      = showString "VK_FORMAT_R4G4B4A4_UNORM_PACK16"+    showsPrec _ VK_FORMAT_B4G4R4A4_UNORM_PACK16+      = showString "VK_FORMAT_B4G4R4A4_UNORM_PACK16"+    showsPrec _ VK_FORMAT_R5G6B5_UNORM_PACK16+      = showString "VK_FORMAT_R5G6B5_UNORM_PACK16"+    showsPrec _ VK_FORMAT_B5G6R5_UNORM_PACK16+      = showString "VK_FORMAT_B5G6R5_UNORM_PACK16"+    showsPrec _ VK_FORMAT_R5G5B5A1_UNORM_PACK16+      = showString "VK_FORMAT_R5G5B5A1_UNORM_PACK16"+    showsPrec _ VK_FORMAT_B5G5R5A1_UNORM_PACK16+      = showString "VK_FORMAT_B5G5R5A1_UNORM_PACK16"+    showsPrec _ VK_FORMAT_A1R5G5B5_UNORM_PACK16+      = showString "VK_FORMAT_A1R5G5B5_UNORM_PACK16"+    showsPrec _ VK_FORMAT_R8_UNORM = showString "VK_FORMAT_R8_UNORM"+    showsPrec _ VK_FORMAT_R8_SNORM = showString "VK_FORMAT_R8_SNORM"+    showsPrec _ VK_FORMAT_R8_USCALED+      = showString "VK_FORMAT_R8_USCALED"+    showsPrec _ VK_FORMAT_R8_SSCALED+      = showString "VK_FORMAT_R8_SSCALED"+    showsPrec _ VK_FORMAT_R8_UINT = showString "VK_FORMAT_R8_UINT"+    showsPrec _ VK_FORMAT_R8_SINT = showString "VK_FORMAT_R8_SINT"+    showsPrec _ VK_FORMAT_R8_SRGB = showString "VK_FORMAT_R8_SRGB"+    showsPrec _ VK_FORMAT_R8G8_UNORM+      = showString "VK_FORMAT_R8G8_UNORM"+    showsPrec _ VK_FORMAT_R8G8_SNORM+      = showString "VK_FORMAT_R8G8_SNORM"+    showsPrec _ VK_FORMAT_R8G8_USCALED+      = showString "VK_FORMAT_R8G8_USCALED"+    showsPrec _ VK_FORMAT_R8G8_SSCALED+      = showString "VK_FORMAT_R8G8_SSCALED"+    showsPrec _ VK_FORMAT_R8G8_UINT = showString "VK_FORMAT_R8G8_UINT"+    showsPrec _ VK_FORMAT_R8G8_SINT = showString "VK_FORMAT_R8G8_SINT"+    showsPrec _ VK_FORMAT_R8G8_SRGB = showString "VK_FORMAT_R8G8_SRGB"+    showsPrec _ VK_FORMAT_R8G8B8_UNORM+      = showString "VK_FORMAT_R8G8B8_UNORM"+    showsPrec _ VK_FORMAT_R8G8B8_SNORM+      = showString "VK_FORMAT_R8G8B8_SNORM"+    showsPrec _ VK_FORMAT_R8G8B8_USCALED+      = showString "VK_FORMAT_R8G8B8_USCALED"+    showsPrec _ VK_FORMAT_R8G8B8_SSCALED+      = showString "VK_FORMAT_R8G8B8_SSCALED"+    showsPrec _ VK_FORMAT_R8G8B8_UINT+      = showString "VK_FORMAT_R8G8B8_UINT"+    showsPrec _ VK_FORMAT_R8G8B8_SINT+      = showString "VK_FORMAT_R8G8B8_SINT"+    showsPrec _ VK_FORMAT_R8G8B8_SRGB+      = showString "VK_FORMAT_R8G8B8_SRGB"+    showsPrec _ VK_FORMAT_B8G8R8_UNORM+      = showString "VK_FORMAT_B8G8R8_UNORM"+    showsPrec _ VK_FORMAT_B8G8R8_SNORM+      = showString "VK_FORMAT_B8G8R8_SNORM"+    showsPrec _ VK_FORMAT_B8G8R8_USCALED+      = showString "VK_FORMAT_B8G8R8_USCALED"+    showsPrec _ VK_FORMAT_B8G8R8_SSCALED+      = showString "VK_FORMAT_B8G8R8_SSCALED"+    showsPrec _ VK_FORMAT_B8G8R8_UINT+      = showString "VK_FORMAT_B8G8R8_UINT"+    showsPrec _ VK_FORMAT_B8G8R8_SINT+      = showString "VK_FORMAT_B8G8R8_SINT"+    showsPrec _ VK_FORMAT_B8G8R8_SRGB+      = showString "VK_FORMAT_B8G8R8_SRGB"+    showsPrec _ VK_FORMAT_R8G8B8A8_UNORM+      = showString "VK_FORMAT_R8G8B8A8_UNORM"+    showsPrec _ VK_FORMAT_R8G8B8A8_SNORM+      = showString "VK_FORMAT_R8G8B8A8_SNORM"+    showsPrec _ VK_FORMAT_R8G8B8A8_USCALED+      = showString "VK_FORMAT_R8G8B8A8_USCALED"+    showsPrec _ VK_FORMAT_R8G8B8A8_SSCALED+      = showString "VK_FORMAT_R8G8B8A8_SSCALED"+    showsPrec _ VK_FORMAT_R8G8B8A8_UINT+      = showString "VK_FORMAT_R8G8B8A8_UINT"+    showsPrec _ VK_FORMAT_R8G8B8A8_SINT+      = showString "VK_FORMAT_R8G8B8A8_SINT"+    showsPrec _ VK_FORMAT_R8G8B8A8_SRGB+      = showString "VK_FORMAT_R8G8B8A8_SRGB"+    showsPrec _ VK_FORMAT_B8G8R8A8_UNORM+      = showString "VK_FORMAT_B8G8R8A8_UNORM"+    showsPrec _ VK_FORMAT_B8G8R8A8_SNORM+      = showString "VK_FORMAT_B8G8R8A8_SNORM"+    showsPrec _ VK_FORMAT_B8G8R8A8_USCALED+      = showString "VK_FORMAT_B8G8R8A8_USCALED"+    showsPrec _ VK_FORMAT_B8G8R8A8_SSCALED+      = showString "VK_FORMAT_B8G8R8A8_SSCALED"+    showsPrec _ VK_FORMAT_B8G8R8A8_UINT+      = showString "VK_FORMAT_B8G8R8A8_UINT"+    showsPrec _ VK_FORMAT_B8G8R8A8_SINT+      = showString "VK_FORMAT_B8G8R8A8_SINT"+    showsPrec _ VK_FORMAT_B8G8R8A8_SRGB+      = showString "VK_FORMAT_B8G8R8A8_SRGB"+    showsPrec _ VK_FORMAT_A8B8G8R8_UNORM_PACK32+      = showString "VK_FORMAT_A8B8G8R8_UNORM_PACK32"+    showsPrec _ VK_FORMAT_A8B8G8R8_SNORM_PACK32+      = showString "VK_FORMAT_A8B8G8R8_SNORM_PACK32"+    showsPrec _ VK_FORMAT_A8B8G8R8_USCALED_PACK32+      = showString "VK_FORMAT_A8B8G8R8_USCALED_PACK32"+    showsPrec _ VK_FORMAT_A8B8G8R8_SSCALED_PACK32+      = showString "VK_FORMAT_A8B8G8R8_SSCALED_PACK32"+    showsPrec _ VK_FORMAT_A8B8G8R8_UINT_PACK32+      = showString "VK_FORMAT_A8B8G8R8_UINT_PACK32"+    showsPrec _ VK_FORMAT_A8B8G8R8_SINT_PACK32+      = showString "VK_FORMAT_A8B8G8R8_SINT_PACK32"+    showsPrec _ VK_FORMAT_A8B8G8R8_SRGB_PACK32+      = showString "VK_FORMAT_A8B8G8R8_SRGB_PACK32"+    showsPrec _ VK_FORMAT_A2R10G10B10_UNORM_PACK32+      = showString "VK_FORMAT_A2R10G10B10_UNORM_PACK32"+    showsPrec _ VK_FORMAT_A2R10G10B10_SNORM_PACK32+      = showString "VK_FORMAT_A2R10G10B10_SNORM_PACK32"+    showsPrec _ VK_FORMAT_A2R10G10B10_USCALED_PACK32+      = showString "VK_FORMAT_A2R10G10B10_USCALED_PACK32"+    showsPrec _ VK_FORMAT_A2R10G10B10_SSCALED_PACK32+      = showString "VK_FORMAT_A2R10G10B10_SSCALED_PACK32"+    showsPrec _ VK_FORMAT_A2R10G10B10_UINT_PACK32+      = showString "VK_FORMAT_A2R10G10B10_UINT_PACK32"+    showsPrec _ VK_FORMAT_A2R10G10B10_SINT_PACK32+      = showString "VK_FORMAT_A2R10G10B10_SINT_PACK32"+    showsPrec _ VK_FORMAT_A2B10G10R10_UNORM_PACK32+      = showString "VK_FORMAT_A2B10G10R10_UNORM_PACK32"+    showsPrec _ VK_FORMAT_A2B10G10R10_SNORM_PACK32+      = showString "VK_FORMAT_A2B10G10R10_SNORM_PACK32"+    showsPrec _ VK_FORMAT_A2B10G10R10_USCALED_PACK32+      = showString "VK_FORMAT_A2B10G10R10_USCALED_PACK32"+    showsPrec _ VK_FORMAT_A2B10G10R10_SSCALED_PACK32+      = showString "VK_FORMAT_A2B10G10R10_SSCALED_PACK32"+    showsPrec _ VK_FORMAT_A2B10G10R10_UINT_PACK32+      = showString "VK_FORMAT_A2B10G10R10_UINT_PACK32"+    showsPrec _ VK_FORMAT_A2B10G10R10_SINT_PACK32+      = showString "VK_FORMAT_A2B10G10R10_SINT_PACK32"+    showsPrec _ VK_FORMAT_R16_UNORM = showString "VK_FORMAT_R16_UNORM"+    showsPrec _ VK_FORMAT_R16_SNORM = showString "VK_FORMAT_R16_SNORM"+    showsPrec _ VK_FORMAT_R16_USCALED+      = showString "VK_FORMAT_R16_USCALED"+    showsPrec _ VK_FORMAT_R16_SSCALED+      = showString "VK_FORMAT_R16_SSCALED"+    showsPrec _ VK_FORMAT_R16_UINT = showString "VK_FORMAT_R16_UINT"+    showsPrec _ VK_FORMAT_R16_SINT = showString "VK_FORMAT_R16_SINT"+    showsPrec _ VK_FORMAT_R16_SFLOAT+      = showString "VK_FORMAT_R16_SFLOAT"+    showsPrec _ VK_FORMAT_R16G16_UNORM+      = showString "VK_FORMAT_R16G16_UNORM"+    showsPrec _ VK_FORMAT_R16G16_SNORM+      = showString "VK_FORMAT_R16G16_SNORM"+    showsPrec _ VK_FORMAT_R16G16_USCALED+      = showString "VK_FORMAT_R16G16_USCALED"+    showsPrec _ VK_FORMAT_R16G16_SSCALED+      = showString "VK_FORMAT_R16G16_SSCALED"+    showsPrec _ VK_FORMAT_R16G16_UINT+      = showString "VK_FORMAT_R16G16_UINT"+    showsPrec _ VK_FORMAT_R16G16_SINT+      = showString "VK_FORMAT_R16G16_SINT"+    showsPrec _ VK_FORMAT_R16G16_SFLOAT+      = showString "VK_FORMAT_R16G16_SFLOAT"+    showsPrec _ VK_FORMAT_R16G16B16_UNORM+      = showString "VK_FORMAT_R16G16B16_UNORM"+    showsPrec _ VK_FORMAT_R16G16B16_SNORM+      = showString "VK_FORMAT_R16G16B16_SNORM"+    showsPrec _ VK_FORMAT_R16G16B16_USCALED+      = showString "VK_FORMAT_R16G16B16_USCALED"+    showsPrec _ VK_FORMAT_R16G16B16_SSCALED+      = showString "VK_FORMAT_R16G16B16_SSCALED"+    showsPrec _ VK_FORMAT_R16G16B16_UINT+      = showString "VK_FORMAT_R16G16B16_UINT"+    showsPrec _ VK_FORMAT_R16G16B16_SINT+      = showString "VK_FORMAT_R16G16B16_SINT"+    showsPrec _ VK_FORMAT_R16G16B16_SFLOAT+      = showString "VK_FORMAT_R16G16B16_SFLOAT"+    showsPrec _ VK_FORMAT_R16G16B16A16_UNORM+      = showString "VK_FORMAT_R16G16B16A16_UNORM"+    showsPrec _ VK_FORMAT_R16G16B16A16_SNORM+      = showString "VK_FORMAT_R16G16B16A16_SNORM"+    showsPrec _ VK_FORMAT_R16G16B16A16_USCALED+      = showString "VK_FORMAT_R16G16B16A16_USCALED"+    showsPrec _ VK_FORMAT_R16G16B16A16_SSCALED+      = showString "VK_FORMAT_R16G16B16A16_SSCALED"+    showsPrec _ VK_FORMAT_R16G16B16A16_UINT+      = showString "VK_FORMAT_R16G16B16A16_UINT"+    showsPrec _ VK_FORMAT_R16G16B16A16_SINT+      = showString "VK_FORMAT_R16G16B16A16_SINT"+    showsPrec _ VK_FORMAT_R16G16B16A16_SFLOAT+      = showString "VK_FORMAT_R16G16B16A16_SFLOAT"+    showsPrec _ VK_FORMAT_R32_UINT = showString "VK_FORMAT_R32_UINT"+    showsPrec _ VK_FORMAT_R32_SINT = showString "VK_FORMAT_R32_SINT"+    showsPrec _ VK_FORMAT_R32_SFLOAT+      = showString "VK_FORMAT_R32_SFLOAT"+    showsPrec _ VK_FORMAT_R32G32_UINT+      = showString "VK_FORMAT_R32G32_UINT"+    showsPrec _ VK_FORMAT_R32G32_SINT+      = showString "VK_FORMAT_R32G32_SINT"+    showsPrec _ VK_FORMAT_R32G32_SFLOAT+      = showString "VK_FORMAT_R32G32_SFLOAT"+    showsPrec _ VK_FORMAT_R32G32B32_UINT+      = showString "VK_FORMAT_R32G32B32_UINT"+    showsPrec _ VK_FORMAT_R32G32B32_SINT+      = showString "VK_FORMAT_R32G32B32_SINT"+    showsPrec _ VK_FORMAT_R32G32B32_SFLOAT+      = showString "VK_FORMAT_R32G32B32_SFLOAT"+    showsPrec _ VK_FORMAT_R32G32B32A32_UINT+      = showString "VK_FORMAT_R32G32B32A32_UINT"+    showsPrec _ VK_FORMAT_R32G32B32A32_SINT+      = showString "VK_FORMAT_R32G32B32A32_SINT"+    showsPrec _ VK_FORMAT_R32G32B32A32_SFLOAT+      = showString "VK_FORMAT_R32G32B32A32_SFLOAT"+    showsPrec _ VK_FORMAT_R64_UINT = showString "VK_FORMAT_R64_UINT"+    showsPrec _ VK_FORMAT_R64_SINT = showString "VK_FORMAT_R64_SINT"+    showsPrec _ VK_FORMAT_R64_SFLOAT+      = showString "VK_FORMAT_R64_SFLOAT"+    showsPrec _ VK_FORMAT_R64G64_UINT+      = showString "VK_FORMAT_R64G64_UINT"+    showsPrec _ VK_FORMAT_R64G64_SINT+      = showString "VK_FORMAT_R64G64_SINT"+    showsPrec _ VK_FORMAT_R64G64_SFLOAT+      = showString "VK_FORMAT_R64G64_SFLOAT"+    showsPrec _ VK_FORMAT_R64G64B64_UINT+      = showString "VK_FORMAT_R64G64B64_UINT"+    showsPrec _ VK_FORMAT_R64G64B64_SINT+      = showString "VK_FORMAT_R64G64B64_SINT"+    showsPrec _ VK_FORMAT_R64G64B64_SFLOAT+      = showString "VK_FORMAT_R64G64B64_SFLOAT"+    showsPrec _ VK_FORMAT_R64G64B64A64_UINT+      = showString "VK_FORMAT_R64G64B64A64_UINT"+    showsPrec _ VK_FORMAT_R64G64B64A64_SINT+      = showString "VK_FORMAT_R64G64B64A64_SINT"+    showsPrec _ VK_FORMAT_R64G64B64A64_SFLOAT+      = showString "VK_FORMAT_R64G64B64A64_SFLOAT"+    showsPrec _ VK_FORMAT_B10G11R11_UFLOAT_PACK32+      = showString "VK_FORMAT_B10G11R11_UFLOAT_PACK32"+    showsPrec _ VK_FORMAT_E5B9G9R9_UFLOAT_PACK32+      = showString "VK_FORMAT_E5B9G9R9_UFLOAT_PACK32"+    showsPrec _ VK_FORMAT_D16_UNORM = showString "VK_FORMAT_D16_UNORM"+    showsPrec _ VK_FORMAT_X8_D24_UNORM_PACK32+      = showString "VK_FORMAT_X8_D24_UNORM_PACK32"+    showsPrec _ VK_FORMAT_D32_SFLOAT+      = showString "VK_FORMAT_D32_SFLOAT"+    showsPrec _ VK_FORMAT_S8_UINT = showString "VK_FORMAT_S8_UINT"+    showsPrec _ VK_FORMAT_D16_UNORM_S8_UINT+      = showString "VK_FORMAT_D16_UNORM_S8_UINT"+    showsPrec _ VK_FORMAT_D24_UNORM_S8_UINT+      = showString "VK_FORMAT_D24_UNORM_S8_UINT"+    showsPrec _ VK_FORMAT_D32_SFLOAT_S8_UINT+      = showString "VK_FORMAT_D32_SFLOAT_S8_UINT"+    showsPrec _ VK_FORMAT_BC1_RGB_UNORM_BLOCK+      = showString "VK_FORMAT_BC1_RGB_UNORM_BLOCK"+    showsPrec _ VK_FORMAT_BC1_RGB_SRGB_BLOCK+      = showString "VK_FORMAT_BC1_RGB_SRGB_BLOCK"+    showsPrec _ VK_FORMAT_BC1_RGBA_UNORM_BLOCK+      = showString "VK_FORMAT_BC1_RGBA_UNORM_BLOCK"+    showsPrec _ VK_FORMAT_BC1_RGBA_SRGB_BLOCK+      = showString "VK_FORMAT_BC1_RGBA_SRGB_BLOCK"+    showsPrec _ VK_FORMAT_BC2_UNORM_BLOCK+      = showString "VK_FORMAT_BC2_UNORM_BLOCK"+    showsPrec _ VK_FORMAT_BC2_SRGB_BLOCK+      = showString "VK_FORMAT_BC2_SRGB_BLOCK"+    showsPrec _ VK_FORMAT_BC3_UNORM_BLOCK+      = showString "VK_FORMAT_BC3_UNORM_BLOCK"+    showsPrec _ VK_FORMAT_BC3_SRGB_BLOCK+      = showString "VK_FORMAT_BC3_SRGB_BLOCK"+    showsPrec _ VK_FORMAT_BC4_UNORM_BLOCK+      = showString "VK_FORMAT_BC4_UNORM_BLOCK"+    showsPrec _ VK_FORMAT_BC4_SNORM_BLOCK+      = showString "VK_FORMAT_BC4_SNORM_BLOCK"+    showsPrec _ VK_FORMAT_BC5_UNORM_BLOCK+      = showString "VK_FORMAT_BC5_UNORM_BLOCK"+    showsPrec _ VK_FORMAT_BC5_SNORM_BLOCK+      = showString "VK_FORMAT_BC5_SNORM_BLOCK"+    showsPrec _ VK_FORMAT_BC6H_UFLOAT_BLOCK+      = showString "VK_FORMAT_BC6H_UFLOAT_BLOCK"+    showsPrec _ VK_FORMAT_BC6H_SFLOAT_BLOCK+      = showString "VK_FORMAT_BC6H_SFLOAT_BLOCK"+    showsPrec _ VK_FORMAT_BC7_UNORM_BLOCK+      = showString "VK_FORMAT_BC7_UNORM_BLOCK"+    showsPrec _ VK_FORMAT_BC7_SRGB_BLOCK+      = showString "VK_FORMAT_BC7_SRGB_BLOCK"+    showsPrec _ VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK+      = showString "VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK"+    showsPrec _ VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK+      = showString "VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK"+    showsPrec _ VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK+      = showString "VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK"+    showsPrec _ VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK+      = showString "VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK"+    showsPrec _ VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK+      = showString "VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK"+    showsPrec _ VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK+      = showString "VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK"+    showsPrec _ VK_FORMAT_EAC_R11_UNORM_BLOCK+      = showString "VK_FORMAT_EAC_R11_UNORM_BLOCK"+    showsPrec _ VK_FORMAT_EAC_R11_SNORM_BLOCK+      = showString "VK_FORMAT_EAC_R11_SNORM_BLOCK"+    showsPrec _ VK_FORMAT_EAC_R11G11_UNORM_BLOCK+      = showString "VK_FORMAT_EAC_R11G11_UNORM_BLOCK"+    showsPrec _ VK_FORMAT_EAC_R11G11_SNORM_BLOCK+      = showString "VK_FORMAT_EAC_R11G11_SNORM_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_4x4_UNORM_BLOCK+      = showString "VK_FORMAT_ASTC_4x4_UNORM_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_4x4_SRGB_BLOCK+      = showString "VK_FORMAT_ASTC_4x4_SRGB_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_5x4_UNORM_BLOCK+      = showString "VK_FORMAT_ASTC_5x4_UNORM_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_5x4_SRGB_BLOCK+      = showString "VK_FORMAT_ASTC_5x4_SRGB_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_5x5_UNORM_BLOCK+      = showString "VK_FORMAT_ASTC_5x5_UNORM_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_5x5_SRGB_BLOCK+      = showString "VK_FORMAT_ASTC_5x5_SRGB_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_6x5_UNORM_BLOCK+      = showString "VK_FORMAT_ASTC_6x5_UNORM_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_6x5_SRGB_BLOCK+      = showString "VK_FORMAT_ASTC_6x5_SRGB_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_6x6_UNORM_BLOCK+      = showString "VK_FORMAT_ASTC_6x6_UNORM_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_6x6_SRGB_BLOCK+      = showString "VK_FORMAT_ASTC_6x6_SRGB_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_8x5_UNORM_BLOCK+      = showString "VK_FORMAT_ASTC_8x5_UNORM_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_8x5_SRGB_BLOCK+      = showString "VK_FORMAT_ASTC_8x5_SRGB_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_8x6_UNORM_BLOCK+      = showString "VK_FORMAT_ASTC_8x6_UNORM_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_8x6_SRGB_BLOCK+      = showString "VK_FORMAT_ASTC_8x6_SRGB_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_8x8_UNORM_BLOCK+      = showString "VK_FORMAT_ASTC_8x8_UNORM_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_8x8_SRGB_BLOCK+      = showString "VK_FORMAT_ASTC_8x8_SRGB_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_10x5_UNORM_BLOCK+      = showString "VK_FORMAT_ASTC_10x5_UNORM_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_10x5_SRGB_BLOCK+      = showString "VK_FORMAT_ASTC_10x5_SRGB_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_10x6_UNORM_BLOCK+      = showString "VK_FORMAT_ASTC_10x6_UNORM_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_10x6_SRGB_BLOCK+      = showString "VK_FORMAT_ASTC_10x6_SRGB_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_10x8_UNORM_BLOCK+      = showString "VK_FORMAT_ASTC_10x8_UNORM_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_10x8_SRGB_BLOCK+      = showString "VK_FORMAT_ASTC_10x8_SRGB_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_10x10_UNORM_BLOCK+      = showString "VK_FORMAT_ASTC_10x10_UNORM_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_10x10_SRGB_BLOCK+      = showString "VK_FORMAT_ASTC_10x10_SRGB_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_12x10_UNORM_BLOCK+      = showString "VK_FORMAT_ASTC_12x10_UNORM_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_12x10_SRGB_BLOCK+      = showString "VK_FORMAT_ASTC_12x10_SRGB_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_12x12_UNORM_BLOCK+      = showString "VK_FORMAT_ASTC_12x12_UNORM_BLOCK"+    showsPrec _ VK_FORMAT_ASTC_12x12_SRGB_BLOCK+      = showString "VK_FORMAT_ASTC_12x12_SRGB_BLOCK"+    showsPrec p (VkFormat x)+      = showParen (p >= 11) (showString "VkFormat " . showsPrec 11 x)++instance Read VkFormat where+    readPrec+      = parens+          (choose+             [("VK_FORMAT_UNDEFINED", pure VK_FORMAT_UNDEFINED),+              ("VK_FORMAT_R4G4_UNORM_PACK8", pure VK_FORMAT_R4G4_UNORM_PACK8),+              ("VK_FORMAT_R4G4B4A4_UNORM_PACK16",+               pure VK_FORMAT_R4G4B4A4_UNORM_PACK16),+              ("VK_FORMAT_B4G4R4A4_UNORM_PACK16",+               pure VK_FORMAT_B4G4R4A4_UNORM_PACK16),+              ("VK_FORMAT_R5G6B5_UNORM_PACK16",+               pure VK_FORMAT_R5G6B5_UNORM_PACK16),+              ("VK_FORMAT_B5G6R5_UNORM_PACK16",+               pure VK_FORMAT_B5G6R5_UNORM_PACK16),+              ("VK_FORMAT_R5G5B5A1_UNORM_PACK16",+               pure VK_FORMAT_R5G5B5A1_UNORM_PACK16),+              ("VK_FORMAT_B5G5R5A1_UNORM_PACK16",+               pure VK_FORMAT_B5G5R5A1_UNORM_PACK16),+              ("VK_FORMAT_A1R5G5B5_UNORM_PACK16",+               pure VK_FORMAT_A1R5G5B5_UNORM_PACK16),+              ("VK_FORMAT_R8_UNORM", pure VK_FORMAT_R8_UNORM),+              ("VK_FORMAT_R8_SNORM", pure VK_FORMAT_R8_SNORM),+              ("VK_FORMAT_R8_USCALED", pure VK_FORMAT_R8_USCALED),+              ("VK_FORMAT_R8_SSCALED", pure VK_FORMAT_R8_SSCALED),+              ("VK_FORMAT_R8_UINT", pure VK_FORMAT_R8_UINT),+              ("VK_FORMAT_R8_SINT", pure VK_FORMAT_R8_SINT),+              ("VK_FORMAT_R8_SRGB", pure VK_FORMAT_R8_SRGB),+              ("VK_FORMAT_R8G8_UNORM", pure VK_FORMAT_R8G8_UNORM),+              ("VK_FORMAT_R8G8_SNORM", pure VK_FORMAT_R8G8_SNORM),+              ("VK_FORMAT_R8G8_USCALED", pure VK_FORMAT_R8G8_USCALED),+              ("VK_FORMAT_R8G8_SSCALED", pure VK_FORMAT_R8G8_SSCALED),+              ("VK_FORMAT_R8G8_UINT", pure VK_FORMAT_R8G8_UINT),+              ("VK_FORMAT_R8G8_SINT", pure VK_FORMAT_R8G8_SINT),+              ("VK_FORMAT_R8G8_SRGB", pure VK_FORMAT_R8G8_SRGB),+              ("VK_FORMAT_R8G8B8_UNORM", pure VK_FORMAT_R8G8B8_UNORM),+              ("VK_FORMAT_R8G8B8_SNORM", pure VK_FORMAT_R8G8B8_SNORM),+              ("VK_FORMAT_R8G8B8_USCALED", pure VK_FORMAT_R8G8B8_USCALED),+              ("VK_FORMAT_R8G8B8_SSCALED", pure VK_FORMAT_R8G8B8_SSCALED),+              ("VK_FORMAT_R8G8B8_UINT", pure VK_FORMAT_R8G8B8_UINT),+              ("VK_FORMAT_R8G8B8_SINT", pure VK_FORMAT_R8G8B8_SINT),+              ("VK_FORMAT_R8G8B8_SRGB", pure VK_FORMAT_R8G8B8_SRGB),+              ("VK_FORMAT_B8G8R8_UNORM", pure VK_FORMAT_B8G8R8_UNORM),+              ("VK_FORMAT_B8G8R8_SNORM", pure VK_FORMAT_B8G8R8_SNORM),+              ("VK_FORMAT_B8G8R8_USCALED", pure VK_FORMAT_B8G8R8_USCALED),+              ("VK_FORMAT_B8G8R8_SSCALED", pure VK_FORMAT_B8G8R8_SSCALED),+              ("VK_FORMAT_B8G8R8_UINT", pure VK_FORMAT_B8G8R8_UINT),+              ("VK_FORMAT_B8G8R8_SINT", pure VK_FORMAT_B8G8R8_SINT),+              ("VK_FORMAT_B8G8R8_SRGB", pure VK_FORMAT_B8G8R8_SRGB),+              ("VK_FORMAT_R8G8B8A8_UNORM", pure VK_FORMAT_R8G8B8A8_UNORM),+              ("VK_FORMAT_R8G8B8A8_SNORM", pure VK_FORMAT_R8G8B8A8_SNORM),+              ("VK_FORMAT_R8G8B8A8_USCALED", pure VK_FORMAT_R8G8B8A8_USCALED),+              ("VK_FORMAT_R8G8B8A8_SSCALED", pure VK_FORMAT_R8G8B8A8_SSCALED),+              ("VK_FORMAT_R8G8B8A8_UINT", pure VK_FORMAT_R8G8B8A8_UINT),+              ("VK_FORMAT_R8G8B8A8_SINT", pure VK_FORMAT_R8G8B8A8_SINT),+              ("VK_FORMAT_R8G8B8A8_SRGB", pure VK_FORMAT_R8G8B8A8_SRGB),+              ("VK_FORMAT_B8G8R8A8_UNORM", pure VK_FORMAT_B8G8R8A8_UNORM),+              ("VK_FORMAT_B8G8R8A8_SNORM", pure VK_FORMAT_B8G8R8A8_SNORM),+              ("VK_FORMAT_B8G8R8A8_USCALED", pure VK_FORMAT_B8G8R8A8_USCALED),+              ("VK_FORMAT_B8G8R8A8_SSCALED", pure VK_FORMAT_B8G8R8A8_SSCALED),+              ("VK_FORMAT_B8G8R8A8_UINT", pure VK_FORMAT_B8G8R8A8_UINT),+              ("VK_FORMAT_B8G8R8A8_SINT", pure VK_FORMAT_B8G8R8A8_SINT),+              ("VK_FORMAT_B8G8R8A8_SRGB", pure VK_FORMAT_B8G8R8A8_SRGB),+              ("VK_FORMAT_A8B8G8R8_UNORM_PACK32",+               pure VK_FORMAT_A8B8G8R8_UNORM_PACK32),+              ("VK_FORMAT_A8B8G8R8_SNORM_PACK32",+               pure VK_FORMAT_A8B8G8R8_SNORM_PACK32),+              ("VK_FORMAT_A8B8G8R8_USCALED_PACK32",+               pure VK_FORMAT_A8B8G8R8_USCALED_PACK32),+              ("VK_FORMAT_A8B8G8R8_SSCALED_PACK32",+               pure VK_FORMAT_A8B8G8R8_SSCALED_PACK32),+              ("VK_FORMAT_A8B8G8R8_UINT_PACK32",+               pure VK_FORMAT_A8B8G8R8_UINT_PACK32),+              ("VK_FORMAT_A8B8G8R8_SINT_PACK32",+               pure VK_FORMAT_A8B8G8R8_SINT_PACK32),+              ("VK_FORMAT_A8B8G8R8_SRGB_PACK32",+               pure VK_FORMAT_A8B8G8R8_SRGB_PACK32),+              ("VK_FORMAT_A2R10G10B10_UNORM_PACK32",+               pure VK_FORMAT_A2R10G10B10_UNORM_PACK32),+              ("VK_FORMAT_A2R10G10B10_SNORM_PACK32",+               pure VK_FORMAT_A2R10G10B10_SNORM_PACK32),+              ("VK_FORMAT_A2R10G10B10_USCALED_PACK32",+               pure VK_FORMAT_A2R10G10B10_USCALED_PACK32),+              ("VK_FORMAT_A2R10G10B10_SSCALED_PACK32",+               pure VK_FORMAT_A2R10G10B10_SSCALED_PACK32),+              ("VK_FORMAT_A2R10G10B10_UINT_PACK32",+               pure VK_FORMAT_A2R10G10B10_UINT_PACK32),+              ("VK_FORMAT_A2R10G10B10_SINT_PACK32",+               pure VK_FORMAT_A2R10G10B10_SINT_PACK32),+              ("VK_FORMAT_A2B10G10R10_UNORM_PACK32",+               pure VK_FORMAT_A2B10G10R10_UNORM_PACK32),+              ("VK_FORMAT_A2B10G10R10_SNORM_PACK32",+               pure VK_FORMAT_A2B10G10R10_SNORM_PACK32),+              ("VK_FORMAT_A2B10G10R10_USCALED_PACK32",+               pure VK_FORMAT_A2B10G10R10_USCALED_PACK32),+              ("VK_FORMAT_A2B10G10R10_SSCALED_PACK32",+               pure VK_FORMAT_A2B10G10R10_SSCALED_PACK32),+              ("VK_FORMAT_A2B10G10R10_UINT_PACK32",+               pure VK_FORMAT_A2B10G10R10_UINT_PACK32),+              ("VK_FORMAT_A2B10G10R10_SINT_PACK32",+               pure VK_FORMAT_A2B10G10R10_SINT_PACK32),+              ("VK_FORMAT_R16_UNORM", pure VK_FORMAT_R16_UNORM),+              ("VK_FORMAT_R16_SNORM", pure VK_FORMAT_R16_SNORM),+              ("VK_FORMAT_R16_USCALED", pure VK_FORMAT_R16_USCALED),+              ("VK_FORMAT_R16_SSCALED", pure VK_FORMAT_R16_SSCALED),+              ("VK_FORMAT_R16_UINT", pure VK_FORMAT_R16_UINT),+              ("VK_FORMAT_R16_SINT", pure VK_FORMAT_R16_SINT),+              ("VK_FORMAT_R16_SFLOAT", pure VK_FORMAT_R16_SFLOAT),+              ("VK_FORMAT_R16G16_UNORM", pure VK_FORMAT_R16G16_UNORM),+              ("VK_FORMAT_R16G16_SNORM", pure VK_FORMAT_R16G16_SNORM),+              ("VK_FORMAT_R16G16_USCALED", pure VK_FORMAT_R16G16_USCALED),+              ("VK_FORMAT_R16G16_SSCALED", pure VK_FORMAT_R16G16_SSCALED),+              ("VK_FORMAT_R16G16_UINT", pure VK_FORMAT_R16G16_UINT),+              ("VK_FORMAT_R16G16_SINT", pure VK_FORMAT_R16G16_SINT),+              ("VK_FORMAT_R16G16_SFLOAT", pure VK_FORMAT_R16G16_SFLOAT),+              ("VK_FORMAT_R16G16B16_UNORM", pure VK_FORMAT_R16G16B16_UNORM),+              ("VK_FORMAT_R16G16B16_SNORM", pure VK_FORMAT_R16G16B16_SNORM),+              ("VK_FORMAT_R16G16B16_USCALED", pure VK_FORMAT_R16G16B16_USCALED),+              ("VK_FORMAT_R16G16B16_SSCALED", pure VK_FORMAT_R16G16B16_SSCALED),+              ("VK_FORMAT_R16G16B16_UINT", pure VK_FORMAT_R16G16B16_UINT),+              ("VK_FORMAT_R16G16B16_SINT", pure VK_FORMAT_R16G16B16_SINT),+              ("VK_FORMAT_R16G16B16_SFLOAT", pure VK_FORMAT_R16G16B16_SFLOAT),+              ("VK_FORMAT_R16G16B16A16_UNORM",+               pure VK_FORMAT_R16G16B16A16_UNORM),+              ("VK_FORMAT_R16G16B16A16_SNORM",+               pure VK_FORMAT_R16G16B16A16_SNORM),+              ("VK_FORMAT_R16G16B16A16_USCALED",+               pure VK_FORMAT_R16G16B16A16_USCALED),+              ("VK_FORMAT_R16G16B16A16_SSCALED",+               pure VK_FORMAT_R16G16B16A16_SSCALED),+              ("VK_FORMAT_R16G16B16A16_UINT", pure VK_FORMAT_R16G16B16A16_UINT),+              ("VK_FORMAT_R16G16B16A16_SINT", pure VK_FORMAT_R16G16B16A16_SINT),+              ("VK_FORMAT_R16G16B16A16_SFLOAT",+               pure VK_FORMAT_R16G16B16A16_SFLOAT),+              ("VK_FORMAT_R32_UINT", pure VK_FORMAT_R32_UINT),+              ("VK_FORMAT_R32_SINT", pure VK_FORMAT_R32_SINT),+              ("VK_FORMAT_R32_SFLOAT", pure VK_FORMAT_R32_SFLOAT),+              ("VK_FORMAT_R32G32_UINT", pure VK_FORMAT_R32G32_UINT),+              ("VK_FORMAT_R32G32_SINT", pure VK_FORMAT_R32G32_SINT),+              ("VK_FORMAT_R32G32_SFLOAT", pure VK_FORMAT_R32G32_SFLOAT),+              ("VK_FORMAT_R32G32B32_UINT", pure VK_FORMAT_R32G32B32_UINT),+              ("VK_FORMAT_R32G32B32_SINT", pure VK_FORMAT_R32G32B32_SINT),+              ("VK_FORMAT_R32G32B32_SFLOAT", pure VK_FORMAT_R32G32B32_SFLOAT),+              ("VK_FORMAT_R32G32B32A32_UINT", pure VK_FORMAT_R32G32B32A32_UINT),+              ("VK_FORMAT_R32G32B32A32_SINT", pure VK_FORMAT_R32G32B32A32_SINT),+              ("VK_FORMAT_R32G32B32A32_SFLOAT",+               pure VK_FORMAT_R32G32B32A32_SFLOAT),+              ("VK_FORMAT_R64_UINT", pure VK_FORMAT_R64_UINT),+              ("VK_FORMAT_R64_SINT", pure VK_FORMAT_R64_SINT),+              ("VK_FORMAT_R64_SFLOAT", pure VK_FORMAT_R64_SFLOAT),+              ("VK_FORMAT_R64G64_UINT", pure VK_FORMAT_R64G64_UINT),+              ("VK_FORMAT_R64G64_SINT", pure VK_FORMAT_R64G64_SINT),+              ("VK_FORMAT_R64G64_SFLOAT", pure VK_FORMAT_R64G64_SFLOAT),+              ("VK_FORMAT_R64G64B64_UINT", pure VK_FORMAT_R64G64B64_UINT),+              ("VK_FORMAT_R64G64B64_SINT", pure VK_FORMAT_R64G64B64_SINT),+              ("VK_FORMAT_R64G64B64_SFLOAT", pure VK_FORMAT_R64G64B64_SFLOAT),+              ("VK_FORMAT_R64G64B64A64_UINT", pure VK_FORMAT_R64G64B64A64_UINT),+              ("VK_FORMAT_R64G64B64A64_SINT", pure VK_FORMAT_R64G64B64A64_SINT),+              ("VK_FORMAT_R64G64B64A64_SFLOAT",+               pure VK_FORMAT_R64G64B64A64_SFLOAT),+              ("VK_FORMAT_B10G11R11_UFLOAT_PACK32",+               pure VK_FORMAT_B10G11R11_UFLOAT_PACK32),+              ("VK_FORMAT_E5B9G9R9_UFLOAT_PACK32",+               pure VK_FORMAT_E5B9G9R9_UFLOAT_PACK32),+              ("VK_FORMAT_D16_UNORM", pure VK_FORMAT_D16_UNORM),+              ("VK_FORMAT_X8_D24_UNORM_PACK32",+               pure VK_FORMAT_X8_D24_UNORM_PACK32),+              ("VK_FORMAT_D32_SFLOAT", pure VK_FORMAT_D32_SFLOAT),+              ("VK_FORMAT_S8_UINT", pure VK_FORMAT_S8_UINT),+              ("VK_FORMAT_D16_UNORM_S8_UINT", pure VK_FORMAT_D16_UNORM_S8_UINT),+              ("VK_FORMAT_D24_UNORM_S8_UINT", pure VK_FORMAT_D24_UNORM_S8_UINT),+              ("VK_FORMAT_D32_SFLOAT_S8_UINT",+               pure VK_FORMAT_D32_SFLOAT_S8_UINT),+              ("VK_FORMAT_BC1_RGB_UNORM_BLOCK",+               pure VK_FORMAT_BC1_RGB_UNORM_BLOCK),+              ("VK_FORMAT_BC1_RGB_SRGB_BLOCK",+               pure VK_FORMAT_BC1_RGB_SRGB_BLOCK),+              ("VK_FORMAT_BC1_RGBA_UNORM_BLOCK",+               pure VK_FORMAT_BC1_RGBA_UNORM_BLOCK),+              ("VK_FORMAT_BC1_RGBA_SRGB_BLOCK",+               pure VK_FORMAT_BC1_RGBA_SRGB_BLOCK),+              ("VK_FORMAT_BC2_UNORM_BLOCK", pure VK_FORMAT_BC2_UNORM_BLOCK),+              ("VK_FORMAT_BC2_SRGB_BLOCK", pure VK_FORMAT_BC2_SRGB_BLOCK),+              ("VK_FORMAT_BC3_UNORM_BLOCK", pure VK_FORMAT_BC3_UNORM_BLOCK),+              ("VK_FORMAT_BC3_SRGB_BLOCK", pure VK_FORMAT_BC3_SRGB_BLOCK),+              ("VK_FORMAT_BC4_UNORM_BLOCK", pure VK_FORMAT_BC4_UNORM_BLOCK),+              ("VK_FORMAT_BC4_SNORM_BLOCK", pure VK_FORMAT_BC4_SNORM_BLOCK),+              ("VK_FORMAT_BC5_UNORM_BLOCK", pure VK_FORMAT_BC5_UNORM_BLOCK),+              ("VK_FORMAT_BC5_SNORM_BLOCK", pure VK_FORMAT_BC5_SNORM_BLOCK),+              ("VK_FORMAT_BC6H_UFLOAT_BLOCK", pure VK_FORMAT_BC6H_UFLOAT_BLOCK),+              ("VK_FORMAT_BC6H_SFLOAT_BLOCK", pure VK_FORMAT_BC6H_SFLOAT_BLOCK),+              ("VK_FORMAT_BC7_UNORM_BLOCK", pure VK_FORMAT_BC7_UNORM_BLOCK),+              ("VK_FORMAT_BC7_SRGB_BLOCK", pure VK_FORMAT_BC7_SRGB_BLOCK),+              ("VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK",+               pure VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK),+              ("VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK",+               pure VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK),+              ("VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK",+               pure VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK),+              ("VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK",+               pure VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK),+              ("VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK",+               pure VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK),+              ("VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK",+               pure VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK),+              ("VK_FORMAT_EAC_R11_UNORM_BLOCK",+               pure VK_FORMAT_EAC_R11_UNORM_BLOCK),+              ("VK_FORMAT_EAC_R11_SNORM_BLOCK",+               pure VK_FORMAT_EAC_R11_SNORM_BLOCK),+              ("VK_FORMAT_EAC_R11G11_UNORM_BLOCK",+               pure VK_FORMAT_EAC_R11G11_UNORM_BLOCK),+              ("VK_FORMAT_EAC_R11G11_SNORM_BLOCK",+               pure VK_FORMAT_EAC_R11G11_SNORM_BLOCK),+              ("VK_FORMAT_ASTC_4x4_UNORM_BLOCK",+               pure VK_FORMAT_ASTC_4x4_UNORM_BLOCK),+              ("VK_FORMAT_ASTC_4x4_SRGB_BLOCK",+               pure VK_FORMAT_ASTC_4x4_SRGB_BLOCK),+              ("VK_FORMAT_ASTC_5x4_UNORM_BLOCK",+               pure VK_FORMAT_ASTC_5x4_UNORM_BLOCK),+              ("VK_FORMAT_ASTC_5x4_SRGB_BLOCK",+               pure VK_FORMAT_ASTC_5x4_SRGB_BLOCK),+              ("VK_FORMAT_ASTC_5x5_UNORM_BLOCK",+               pure VK_FORMAT_ASTC_5x5_UNORM_BLOCK),+              ("VK_FORMAT_ASTC_5x5_SRGB_BLOCK",+               pure VK_FORMAT_ASTC_5x5_SRGB_BLOCK),+              ("VK_FORMAT_ASTC_6x5_UNORM_BLOCK",+               pure VK_FORMAT_ASTC_6x5_UNORM_BLOCK),+              ("VK_FORMAT_ASTC_6x5_SRGB_BLOCK",+               pure VK_FORMAT_ASTC_6x5_SRGB_BLOCK),+              ("VK_FORMAT_ASTC_6x6_UNORM_BLOCK",+               pure VK_FORMAT_ASTC_6x6_UNORM_BLOCK),+              ("VK_FORMAT_ASTC_6x6_SRGB_BLOCK",+               pure VK_FORMAT_ASTC_6x6_SRGB_BLOCK),+              ("VK_FORMAT_ASTC_8x5_UNORM_BLOCK",+               pure VK_FORMAT_ASTC_8x5_UNORM_BLOCK),+              ("VK_FORMAT_ASTC_8x5_SRGB_BLOCK",+               pure VK_FORMAT_ASTC_8x5_SRGB_BLOCK),+              ("VK_FORMAT_ASTC_8x6_UNORM_BLOCK",+               pure VK_FORMAT_ASTC_8x6_UNORM_BLOCK),+              ("VK_FORMAT_ASTC_8x6_SRGB_BLOCK",+               pure VK_FORMAT_ASTC_8x6_SRGB_BLOCK),+              ("VK_FORMAT_ASTC_8x8_UNORM_BLOCK",+               pure VK_FORMAT_ASTC_8x8_UNORM_BLOCK),+              ("VK_FORMAT_ASTC_8x8_SRGB_BLOCK",+               pure VK_FORMAT_ASTC_8x8_SRGB_BLOCK),+              ("VK_FORMAT_ASTC_10x5_UNORM_BLOCK",+               pure VK_FORMAT_ASTC_10x5_UNORM_BLOCK),+              ("VK_FORMAT_ASTC_10x5_SRGB_BLOCK",+               pure VK_FORMAT_ASTC_10x5_SRGB_BLOCK),+              ("VK_FORMAT_ASTC_10x6_UNORM_BLOCK",+               pure VK_FORMAT_ASTC_10x6_UNORM_BLOCK),+              ("VK_FORMAT_ASTC_10x6_SRGB_BLOCK",+               pure VK_FORMAT_ASTC_10x6_SRGB_BLOCK),+              ("VK_FORMAT_ASTC_10x8_UNORM_BLOCK",+               pure VK_FORMAT_ASTC_10x8_UNORM_BLOCK),+              ("VK_FORMAT_ASTC_10x8_SRGB_BLOCK",+               pure VK_FORMAT_ASTC_10x8_SRGB_BLOCK),+              ("VK_FORMAT_ASTC_10x10_UNORM_BLOCK",+               pure VK_FORMAT_ASTC_10x10_UNORM_BLOCK),+              ("VK_FORMAT_ASTC_10x10_SRGB_BLOCK",+               pure VK_FORMAT_ASTC_10x10_SRGB_BLOCK),+              ("VK_FORMAT_ASTC_12x10_UNORM_BLOCK",+               pure VK_FORMAT_ASTC_12x10_UNORM_BLOCK),+              ("VK_FORMAT_ASTC_12x10_SRGB_BLOCK",+               pure VK_FORMAT_ASTC_12x10_SRGB_BLOCK),+              ("VK_FORMAT_ASTC_12x12_UNORM_BLOCK",+               pure VK_FORMAT_ASTC_12x12_UNORM_BLOCK),+              ("VK_FORMAT_ASTC_12x12_SRGB_BLOCK",+               pure VK_FORMAT_ASTC_12x12_SRGB_BLOCK)]+             ++++             prec 10+               (expectP (Ident "VkFormat") >> (VkFormat <$> step readPrec)))++pattern VK_FORMAT_UNDEFINED :: VkFormat++pattern VK_FORMAT_UNDEFINED = VkFormat 0++pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat++pattern VK_FORMAT_R4G4_UNORM_PACK8 = VkFormat 1++pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat++pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 = VkFormat 2++pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat++pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 = VkFormat 3++pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat++pattern VK_FORMAT_R5G6B5_UNORM_PACK16 = VkFormat 4++pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat++pattern VK_FORMAT_B5G6R5_UNORM_PACK16 = VkFormat 5++pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat++pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 = VkFormat 6++pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat++pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 = VkFormat 7++pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat++pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 = VkFormat 8++pattern VK_FORMAT_R8_UNORM :: VkFormat++pattern VK_FORMAT_R8_UNORM = VkFormat 9++pattern VK_FORMAT_R8_SNORM :: VkFormat++pattern VK_FORMAT_R8_SNORM = VkFormat 10++pattern VK_FORMAT_R8_USCALED :: VkFormat++pattern VK_FORMAT_R8_USCALED = VkFormat 11++pattern VK_FORMAT_R8_SSCALED :: VkFormat++pattern VK_FORMAT_R8_SSCALED = VkFormat 12++pattern VK_FORMAT_R8_UINT :: VkFormat++pattern VK_FORMAT_R8_UINT = VkFormat 13++pattern VK_FORMAT_R8_SINT :: VkFormat++pattern VK_FORMAT_R8_SINT = VkFormat 14++pattern VK_FORMAT_R8_SRGB :: VkFormat++pattern VK_FORMAT_R8_SRGB = VkFormat 15++pattern VK_FORMAT_R8G8_UNORM :: VkFormat++pattern VK_FORMAT_R8G8_UNORM = VkFormat 16++pattern VK_FORMAT_R8G8_SNORM :: VkFormat++pattern VK_FORMAT_R8G8_SNORM = VkFormat 17++pattern VK_FORMAT_R8G8_USCALED :: VkFormat++pattern VK_FORMAT_R8G8_USCALED = VkFormat 18++pattern VK_FORMAT_R8G8_SSCALED :: VkFormat++pattern VK_FORMAT_R8G8_SSCALED = VkFormat 19++pattern VK_FORMAT_R8G8_UINT :: VkFormat++pattern VK_FORMAT_R8G8_UINT = VkFormat 20++pattern VK_FORMAT_R8G8_SINT :: VkFormat++pattern VK_FORMAT_R8G8_SINT = VkFormat 21++pattern VK_FORMAT_R8G8_SRGB :: VkFormat++pattern VK_FORMAT_R8G8_SRGB = VkFormat 22++pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat++pattern VK_FORMAT_R8G8B8_UNORM = VkFormat 23++pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat++pattern VK_FORMAT_R8G8B8_SNORM = VkFormat 24++pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat++pattern VK_FORMAT_R8G8B8_USCALED = VkFormat 25++pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat++pattern VK_FORMAT_R8G8B8_SSCALED = VkFormat 26++pattern VK_FORMAT_R8G8B8_UINT :: VkFormat++pattern VK_FORMAT_R8G8B8_UINT = VkFormat 27++pattern VK_FORMAT_R8G8B8_SINT :: VkFormat++pattern VK_FORMAT_R8G8B8_SINT = VkFormat 28++pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat++pattern VK_FORMAT_R8G8B8_SRGB = VkFormat 29++pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat++pattern VK_FORMAT_B8G8R8_UNORM = VkFormat 30++pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat++pattern VK_FORMAT_B8G8R8_SNORM = VkFormat 31++pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat++pattern VK_FORMAT_B8G8R8_USCALED = VkFormat 32++pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat++pattern VK_FORMAT_B8G8R8_SSCALED = VkFormat 33++pattern VK_FORMAT_B8G8R8_UINT :: VkFormat++pattern VK_FORMAT_B8G8R8_UINT = VkFormat 34++pattern VK_FORMAT_B8G8R8_SINT :: VkFormat++pattern VK_FORMAT_B8G8R8_SINT = VkFormat 35++pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat++pattern VK_FORMAT_B8G8R8_SRGB = VkFormat 36++pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat++pattern VK_FORMAT_R8G8B8A8_UNORM = VkFormat 37++pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat++pattern VK_FORMAT_R8G8B8A8_SNORM = VkFormat 38++pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat++pattern VK_FORMAT_R8G8B8A8_USCALED = VkFormat 39++pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat++pattern VK_FORMAT_R8G8B8A8_SSCALED = VkFormat 40++pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat++pattern VK_FORMAT_R8G8B8A8_UINT = VkFormat 41++pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat++pattern VK_FORMAT_R8G8B8A8_SINT = VkFormat 42++pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat++pattern VK_FORMAT_R8G8B8A8_SRGB = VkFormat 43++pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat++pattern VK_FORMAT_B8G8R8A8_UNORM = VkFormat 44++pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat++pattern VK_FORMAT_B8G8R8A8_SNORM = VkFormat 45++pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat++pattern VK_FORMAT_B8G8R8A8_USCALED = VkFormat 46++pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat++pattern VK_FORMAT_B8G8R8A8_SSCALED = VkFormat 47++pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat++pattern VK_FORMAT_B8G8R8A8_UINT = VkFormat 48++pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat++pattern VK_FORMAT_B8G8R8A8_SINT = VkFormat 49++pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat++pattern VK_FORMAT_B8G8R8A8_SRGB = VkFormat 50++pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat++pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 = VkFormat 51++pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat++pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 = VkFormat 52++pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat++pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 = VkFormat 53++pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat++pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = VkFormat 54++pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat++pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 = VkFormat 55++pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat++pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 = VkFormat 56++pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat++pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 = VkFormat 57++pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat++pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 = VkFormat 58++pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat++pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 = VkFormat 59++pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat++pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 = VkFormat 60++pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat++pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = VkFormat 61++pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat++pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 = VkFormat 62++pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat++pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 = VkFormat 63++pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat++pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 = VkFormat 64++pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat++pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 = VkFormat 65++pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat++pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 = VkFormat 66++pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat++pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = VkFormat 67++pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat++pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 = VkFormat 68++pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat++pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 = VkFormat 69++pattern VK_FORMAT_R16_UNORM :: VkFormat++pattern VK_FORMAT_R16_UNORM = VkFormat 70++pattern VK_FORMAT_R16_SNORM :: VkFormat++pattern VK_FORMAT_R16_SNORM = VkFormat 71++pattern VK_FORMAT_R16_USCALED :: VkFormat++pattern VK_FORMAT_R16_USCALED = VkFormat 72++pattern VK_FORMAT_R16_SSCALED :: VkFormat++pattern VK_FORMAT_R16_SSCALED = VkFormat 73++pattern VK_FORMAT_R16_UINT :: VkFormat++pattern VK_FORMAT_R16_UINT = VkFormat 74++pattern VK_FORMAT_R16_SINT :: VkFormat++pattern VK_FORMAT_R16_SINT = VkFormat 75++pattern VK_FORMAT_R16_SFLOAT :: VkFormat++pattern VK_FORMAT_R16_SFLOAT = VkFormat 76++pattern VK_FORMAT_R16G16_UNORM :: VkFormat++pattern VK_FORMAT_R16G16_UNORM = VkFormat 77++pattern VK_FORMAT_R16G16_SNORM :: VkFormat++pattern VK_FORMAT_R16G16_SNORM = VkFormat 78++pattern VK_FORMAT_R16G16_USCALED :: VkFormat++pattern VK_FORMAT_R16G16_USCALED = VkFormat 79++pattern VK_FORMAT_R16G16_SSCALED :: VkFormat++pattern VK_FORMAT_R16G16_SSCALED = VkFormat 80++pattern VK_FORMAT_R16G16_UINT :: VkFormat++pattern VK_FORMAT_R16G16_UINT = VkFormat 81++pattern VK_FORMAT_R16G16_SINT :: VkFormat++pattern VK_FORMAT_R16G16_SINT = VkFormat 82++pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat++pattern VK_FORMAT_R16G16_SFLOAT = VkFormat 83++pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat++pattern VK_FORMAT_R16G16B16_UNORM = VkFormat 84++pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat++pattern VK_FORMAT_R16G16B16_SNORM = VkFormat 85++pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat++pattern VK_FORMAT_R16G16B16_USCALED = VkFormat 86++pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat++pattern VK_FORMAT_R16G16B16_SSCALED = VkFormat 87++pattern VK_FORMAT_R16G16B16_UINT :: VkFormat++pattern VK_FORMAT_R16G16B16_UINT = VkFormat 88++pattern VK_FORMAT_R16G16B16_SINT :: VkFormat++pattern VK_FORMAT_R16G16B16_SINT = VkFormat 89++pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat++pattern VK_FORMAT_R16G16B16_SFLOAT = VkFormat 90++pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat++pattern VK_FORMAT_R16G16B16A16_UNORM = VkFormat 91++pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat++pattern VK_FORMAT_R16G16B16A16_SNORM = VkFormat 92++pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat++pattern VK_FORMAT_R16G16B16A16_USCALED = VkFormat 93++pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat++pattern VK_FORMAT_R16G16B16A16_SSCALED = VkFormat 94++pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat++pattern VK_FORMAT_R16G16B16A16_UINT = VkFormat 95++pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat++pattern VK_FORMAT_R16G16B16A16_SINT = VkFormat 96++pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat++pattern VK_FORMAT_R16G16B16A16_SFLOAT = VkFormat 97++pattern VK_FORMAT_R32_UINT :: VkFormat++pattern VK_FORMAT_R32_UINT = VkFormat 98++pattern VK_FORMAT_R32_SINT :: VkFormat++pattern VK_FORMAT_R32_SINT = VkFormat 99++pattern VK_FORMAT_R32_SFLOAT :: VkFormat++pattern VK_FORMAT_R32_SFLOAT = VkFormat 100++pattern VK_FORMAT_R32G32_UINT :: VkFormat++pattern VK_FORMAT_R32G32_UINT = VkFormat 101++pattern VK_FORMAT_R32G32_SINT :: VkFormat++pattern VK_FORMAT_R32G32_SINT = VkFormat 102++pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat++pattern VK_FORMAT_R32G32_SFLOAT = VkFormat 103++pattern VK_FORMAT_R32G32B32_UINT :: VkFormat++pattern VK_FORMAT_R32G32B32_UINT = VkFormat 104++pattern VK_FORMAT_R32G32B32_SINT :: VkFormat++pattern VK_FORMAT_R32G32B32_SINT = VkFormat 105++pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat++pattern VK_FORMAT_R32G32B32_SFLOAT = VkFormat 106++pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat++pattern VK_FORMAT_R32G32B32A32_UINT = VkFormat 107++pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat++pattern VK_FORMAT_R32G32B32A32_SINT = VkFormat 108++pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat++pattern VK_FORMAT_R32G32B32A32_SFLOAT = VkFormat 109++pattern VK_FORMAT_R64_UINT :: VkFormat++pattern VK_FORMAT_R64_UINT = VkFormat 110++pattern VK_FORMAT_R64_SINT :: VkFormat++pattern VK_FORMAT_R64_SINT = VkFormat 111++pattern VK_FORMAT_R64_SFLOAT :: VkFormat++pattern VK_FORMAT_R64_SFLOAT = VkFormat 112++pattern VK_FORMAT_R64G64_UINT :: VkFormat++pattern VK_FORMAT_R64G64_UINT = VkFormat 113++pattern VK_FORMAT_R64G64_SINT :: VkFormat++pattern VK_FORMAT_R64G64_SINT = VkFormat 114++pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat++pattern VK_FORMAT_R64G64_SFLOAT = VkFormat 115++pattern VK_FORMAT_R64G64B64_UINT :: VkFormat++pattern VK_FORMAT_R64G64B64_UINT = VkFormat 116++pattern VK_FORMAT_R64G64B64_SINT :: VkFormat++pattern VK_FORMAT_R64G64B64_SINT = VkFormat 117++pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat++pattern VK_FORMAT_R64G64B64_SFLOAT = VkFormat 118++pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat++pattern VK_FORMAT_R64G64B64A64_UINT = VkFormat 119++pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat++pattern VK_FORMAT_R64G64B64A64_SINT = VkFormat 120++pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat++pattern VK_FORMAT_R64G64B64A64_SFLOAT = VkFormat 121++pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat++pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 = VkFormat 122++pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat++pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = VkFormat 123++pattern VK_FORMAT_D16_UNORM :: VkFormat++pattern VK_FORMAT_D16_UNORM = VkFormat 124++pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat++pattern VK_FORMAT_X8_D24_UNORM_PACK32 = VkFormat 125++pattern VK_FORMAT_D32_SFLOAT :: VkFormat++pattern VK_FORMAT_D32_SFLOAT = VkFormat 126++pattern VK_FORMAT_S8_UINT :: VkFormat++pattern VK_FORMAT_S8_UINT = VkFormat 127++pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat++pattern VK_FORMAT_D16_UNORM_S8_UINT = VkFormat 128++pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat++pattern VK_FORMAT_D24_UNORM_S8_UINT = VkFormat 129++pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat++pattern VK_FORMAT_D32_SFLOAT_S8_UINT = VkFormat 130++pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK = VkFormat 131++pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK = VkFormat 132++pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK = VkFormat 133++pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK = VkFormat 134++pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_BC2_UNORM_BLOCK = VkFormat 135++pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_BC2_SRGB_BLOCK = VkFormat 136++pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_BC3_UNORM_BLOCK = VkFormat 137++pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_BC3_SRGB_BLOCK = VkFormat 138++pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_BC4_UNORM_BLOCK = VkFormat 139++pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat++pattern VK_FORMAT_BC4_SNORM_BLOCK = VkFormat 140++pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_BC5_UNORM_BLOCK = VkFormat 141++pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat++pattern VK_FORMAT_BC5_SNORM_BLOCK = VkFormat 142++pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat++pattern VK_FORMAT_BC6H_UFLOAT_BLOCK = VkFormat 143++pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat++pattern VK_FORMAT_BC6H_SFLOAT_BLOCK = VkFormat 144++pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_BC7_UNORM_BLOCK = VkFormat 145++pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_BC7_SRGB_BLOCK = VkFormat 146++pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = VkFormat 147++pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = VkFormat 148++pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = VkFormat 149++pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = VkFormat 150++pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = VkFormat 151++pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = VkFormat 152++pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_EAC_R11_UNORM_BLOCK = VkFormat 153++pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat++pattern VK_FORMAT_EAC_R11_SNORM_BLOCK = VkFormat 154++pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK = VkFormat 155++pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat++pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK = VkFormat 156++pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK = VkFormat 157++pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK = VkFormat 158++pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK = VkFormat 159++pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK = VkFormat 160++pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK = VkFormat 161++pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK = VkFormat 162++pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK = VkFormat 163++pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK = VkFormat 164++pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK = VkFormat 165++pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK = VkFormat 166++pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK = VkFormat 167++pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK = VkFormat 168++pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK = VkFormat 169++pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK = VkFormat 170++pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK = VkFormat 171++pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK = VkFormat 172++pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK = VkFormat 173++pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK = VkFormat 174++pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK = VkFormat 175++pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK = VkFormat 176++pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK = VkFormat 177++pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK = VkFormat 178++pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK = VkFormat 179++pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK = VkFormat 180++pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK = VkFormat 181++pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK = VkFormat 182++pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK = VkFormat 183++pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK = VkFormat 184++newtype VkFormatFeatureBitmask (a ::+                                  FlagType) = VkFormatFeatureBitmask VkFlags+                                              deriving (Eq, Ord, Storable)++type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask++type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit++pattern VkFormatFeatureFlagBits ::+        VkFlags -> VkFormatFeatureBitmask FlagBit++pattern VkFormatFeatureFlagBits n = VkFormatFeatureBitmask n++pattern VkFormatFeatureFlags ::+        VkFlags -> VkFormatFeatureBitmask FlagMask++pattern VkFormatFeatureFlags n = VkFormatFeatureBitmask n++deriving instance Bits (VkFormatFeatureBitmask FlagMask)++deriving instance FiniteBits (VkFormatFeatureBitmask FlagMask)++instance Show (VkFormatFeatureBitmask a) where+    showsPrec _ VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT+      = showString "VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT"+    showsPrec _ VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT+      = showString "VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT"+    showsPrec _ VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT+      = showString "VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT"+    showsPrec _ VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT+      = showString "VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT"+    showsPrec _ VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT+      = showString "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT"+    showsPrec _ VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT+      = showString "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT"+    showsPrec _ VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT+      = showString "VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT"+    showsPrec _ VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT+      = showString "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT"+    showsPrec _ VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT+      = showString "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT"+    showsPrec _ VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT+      = showString "VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT"+    showsPrec _ VK_FORMAT_FEATURE_BLIT_SRC_BIT+      = showString "VK_FORMAT_FEATURE_BLIT_SRC_BIT"+    showsPrec _ VK_FORMAT_FEATURE_BLIT_DST_BIT+      = showString "VK_FORMAT_FEATURE_BLIT_DST_BIT"+    showsPrec _ VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT+      = showString "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT"+    showsPrec p (VkFormatFeatureBitmask x)+      = showParen (p >= 11)+          (showString "VkFormatFeatureBitmask " . showsPrec 11 x)++instance Read (VkFormatFeatureBitmask a) where+    readPrec+      = parens+          (choose+             [("VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT",+               pure VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT),+              ("VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT",+               pure VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT),+              ("VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT",+               pure VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT),+              ("VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT",+               pure VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT),+              ("VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT",+               pure VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT),+              ("VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT",+               pure VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT),+              ("VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT",+               pure VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT),+              ("VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT",+               pure VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT),+              ("VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT",+               pure VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT),+              ("VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT",+               pure VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT),+              ("VK_FORMAT_FEATURE_BLIT_SRC_BIT",+               pure VK_FORMAT_FEATURE_BLIT_SRC_BIT),+              ("VK_FORMAT_FEATURE_BLIT_DST_BIT",+               pure VK_FORMAT_FEATURE_BLIT_DST_BIT),+              ("VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT",+               pure VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT)]+             ++++             prec 10+               (expectP (Ident "VkFormatFeatureBitmask") >>+                  (VkFormatFeatureBitmask <$> step readPrec)))  -- | Format can be used for sampled images (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER descriptor types) --
src-gen/Graphics/Vulkan/Types/Enum/FramebufferCreateFlagBits.hs view
@@ -1,25 +1,20 @@ {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE Strict                     #-} module Graphics.Vulkan.Types.Enum.FramebufferCreateFlagBits        (VkFramebufferCreateFlagBits(..)) where import Data.Bits                       (Bits, FiniteBits) import Data.Coerce                     (coerce)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import Graphics.Vulkan.Types.BaseTypes (VkFlags)  newtype VkFramebufferCreateFlagBits = VkFramebufferCreateFlagBits VkFlags-                                        deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                  FiniteBits, Storable, Real, Data, Generic)+                                      deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkFramebufferCreateFlagBits where-        {-# INLINE show #-}-        show (VkFramebufferCreateFlagBits x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkFramebufferCreateFlagBits where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
src-gen/Graphics/Vulkan/Types/Enum/FrontFace.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -9,9 +7,7 @@        (VkFrontFace(VkFrontFace, VK_FRONT_FACE_COUNTER_CLOCKWISE,                     VK_FRONT_FACE_CLOCKWISE))        where-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Text.ParserCombinators.ReadPrec (prec, step, (+++))@@ -22,26 +18,26 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkFrontFace VkFrontFace registry at www.khronos.org> newtype VkFrontFace = VkFrontFace Int32-                        deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                      deriving (Eq, Ord, Enum, Storable)  instance Show VkFrontFace where-        showsPrec _ VK_FRONT_FACE_COUNTER_CLOCKWISE-          = showString "VK_FRONT_FACE_COUNTER_CLOCKWISE"-        showsPrec _ VK_FRONT_FACE_CLOCKWISE-          = showString "VK_FRONT_FACE_CLOCKWISE"-        showsPrec p (VkFrontFace x)-          = showParen (p >= 11) (showString "VkFrontFace " . showsPrec 11 x)+    showsPrec _ VK_FRONT_FACE_COUNTER_CLOCKWISE+      = showString "VK_FRONT_FACE_COUNTER_CLOCKWISE"+    showsPrec _ VK_FRONT_FACE_CLOCKWISE+      = showString "VK_FRONT_FACE_CLOCKWISE"+    showsPrec p (VkFrontFace x)+      = showParen (p >= 11) (showString "VkFrontFace " . showsPrec 11 x)  instance Read VkFrontFace where-        readPrec-          = parens-              (choose-                 [("VK_FRONT_FACE_COUNTER_CLOCKWISE",-                   pure VK_FRONT_FACE_COUNTER_CLOCKWISE),-                  ("VK_FRONT_FACE_CLOCKWISE", pure VK_FRONT_FACE_CLOCKWISE)]-                 +++-                 prec 10-                   (expectP (Ident "VkFrontFace") >> (VkFrontFace <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_FRONT_FACE_COUNTER_CLOCKWISE",+               pure VK_FRONT_FACE_COUNTER_CLOCKWISE),+              ("VK_FRONT_FACE_CLOCKWISE", pure VK_FRONT_FACE_CLOCKWISE)]+             ++++             prec 10+               (expectP (Ident "VkFrontFace") >> (VkFrontFace <$> step readPrec)))  pattern VK_FRONT_FACE_COUNTER_CLOCKWISE :: VkFrontFace 
src-gen/Graphics/Vulkan/Types/Enum/Image.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -48,9 +46,7 @@                         VK_IMAGE_VIEW_TYPE_2D_ARRAY, VK_IMAGE_VIEW_TYPE_CUBE_ARRAY))        where import Data.Bits                       (Bits, FiniteBits)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType, Int32) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -60,7 +56,7 @@  newtype VkImageAspectBitmask (a ::                                 FlagType) = VkImageAspectBitmask VkFlags-                                              deriving (Eq, Ord, Storable, Data, Generic)+                                            deriving (Eq, Ord, Storable)  type VkImageAspectFlags = VkImageAspectBitmask FlagMask @@ -80,42 +76,32 @@  deriving instance FiniteBits (VkImageAspectBitmask FlagMask) -deriving instance Integral (VkImageAspectBitmask FlagMask)--deriving instance Num (VkImageAspectBitmask FlagMask)--deriving instance Bounded (VkImageAspectBitmask FlagMask)--deriving instance Enum (VkImageAspectBitmask FlagMask)--deriving instance Real (VkImageAspectBitmask FlagMask)- instance Show (VkImageAspectBitmask a) where-        showsPrec _ VK_IMAGE_ASPECT_COLOR_BIT-          = showString "VK_IMAGE_ASPECT_COLOR_BIT"-        showsPrec _ VK_IMAGE_ASPECT_DEPTH_BIT-          = showString "VK_IMAGE_ASPECT_DEPTH_BIT"-        showsPrec _ VK_IMAGE_ASPECT_STENCIL_BIT-          = showString "VK_IMAGE_ASPECT_STENCIL_BIT"-        showsPrec _ VK_IMAGE_ASPECT_METADATA_BIT-          = showString "VK_IMAGE_ASPECT_METADATA_BIT"-        showsPrec p (VkImageAspectBitmask x)-          = showParen (p >= 11)-              (showString "VkImageAspectBitmask " . showsPrec 11 x)+    showsPrec _ VK_IMAGE_ASPECT_COLOR_BIT+      = showString "VK_IMAGE_ASPECT_COLOR_BIT"+    showsPrec _ VK_IMAGE_ASPECT_DEPTH_BIT+      = showString "VK_IMAGE_ASPECT_DEPTH_BIT"+    showsPrec _ VK_IMAGE_ASPECT_STENCIL_BIT+      = showString "VK_IMAGE_ASPECT_STENCIL_BIT"+    showsPrec _ VK_IMAGE_ASPECT_METADATA_BIT+      = showString "VK_IMAGE_ASPECT_METADATA_BIT"+    showsPrec p (VkImageAspectBitmask x)+      = showParen (p >= 11)+          (showString "VkImageAspectBitmask " . showsPrec 11 x)  instance Read (VkImageAspectBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_IMAGE_ASPECT_COLOR_BIT", pure VK_IMAGE_ASPECT_COLOR_BIT),-                  ("VK_IMAGE_ASPECT_DEPTH_BIT", pure VK_IMAGE_ASPECT_DEPTH_BIT),-                  ("VK_IMAGE_ASPECT_STENCIL_BIT", pure VK_IMAGE_ASPECT_STENCIL_BIT),-                  ("VK_IMAGE_ASPECT_METADATA_BIT",-                   pure VK_IMAGE_ASPECT_METADATA_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkImageAspectBitmask") >>-                      (VkImageAspectBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_IMAGE_ASPECT_COLOR_BIT", pure VK_IMAGE_ASPECT_COLOR_BIT),+              ("VK_IMAGE_ASPECT_DEPTH_BIT", pure VK_IMAGE_ASPECT_DEPTH_BIT),+              ("VK_IMAGE_ASPECT_STENCIL_BIT", pure VK_IMAGE_ASPECT_STENCIL_BIT),+              ("VK_IMAGE_ASPECT_METADATA_BIT",+               pure VK_IMAGE_ASPECT_METADATA_BIT)]+             ++++             prec 10+               (expectP (Ident "VkImageAspectBitmask") >>+                  (VkImageAspectBitmask <$> step readPrec)))  -- | bitpos = @0@ pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a@@ -139,7 +125,7 @@  newtype VkImageCreateBitmask (a ::                                 FlagType) = VkImageCreateBitmask VkFlags-                                              deriving (Eq, Ord, Storable, Data, Generic)+                                            deriving (Eq, Ord, Storable)  type VkImageCreateFlags = VkImageCreateBitmask FlagMask @@ -159,49 +145,39 @@  deriving instance FiniteBits (VkImageCreateBitmask FlagMask) -deriving instance Integral (VkImageCreateBitmask FlagMask)--deriving instance Num (VkImageCreateBitmask FlagMask)--deriving instance Bounded (VkImageCreateBitmask FlagMask)--deriving instance Enum (VkImageCreateBitmask FlagMask)--deriving instance Real (VkImageCreateBitmask FlagMask)- instance Show (VkImageCreateBitmask a) where-        showsPrec _ VK_IMAGE_CREATE_SPARSE_BINDING_BIT-          = showString "VK_IMAGE_CREATE_SPARSE_BINDING_BIT"-        showsPrec _ VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT-          = showString "VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT"-        showsPrec _ VK_IMAGE_CREATE_SPARSE_ALIASED_BIT-          = showString "VK_IMAGE_CREATE_SPARSE_ALIASED_BIT"-        showsPrec _ VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT-          = showString "VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT"-        showsPrec _ VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT-          = showString "VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT"-        showsPrec p (VkImageCreateBitmask x)-          = showParen (p >= 11)-              (showString "VkImageCreateBitmask " . showsPrec 11 x)+    showsPrec _ VK_IMAGE_CREATE_SPARSE_BINDING_BIT+      = showString "VK_IMAGE_CREATE_SPARSE_BINDING_BIT"+    showsPrec _ VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT+      = showString "VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT"+    showsPrec _ VK_IMAGE_CREATE_SPARSE_ALIASED_BIT+      = showString "VK_IMAGE_CREATE_SPARSE_ALIASED_BIT"+    showsPrec _ VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT+      = showString "VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT"+    showsPrec _ VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT+      = showString "VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT"+    showsPrec p (VkImageCreateBitmask x)+      = showParen (p >= 11)+          (showString "VkImageCreateBitmask " . showsPrec 11 x)  instance Read (VkImageCreateBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_IMAGE_CREATE_SPARSE_BINDING_BIT",-                   pure VK_IMAGE_CREATE_SPARSE_BINDING_BIT),-                  ("VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT",-                   pure VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT),-                  ("VK_IMAGE_CREATE_SPARSE_ALIASED_BIT",-                   pure VK_IMAGE_CREATE_SPARSE_ALIASED_BIT),-                  ("VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT",-                   pure VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT),-                  ("VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT",-                   pure VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkImageCreateBitmask") >>-                      (VkImageCreateBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_IMAGE_CREATE_SPARSE_BINDING_BIT",+               pure VK_IMAGE_CREATE_SPARSE_BINDING_BIT),+              ("VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT",+               pure VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT),+              ("VK_IMAGE_CREATE_SPARSE_ALIASED_BIT",+               pure VK_IMAGE_CREATE_SPARSE_ALIASED_BIT),+              ("VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT",+               pure VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT),+              ("VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT",+               pure VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT)]+             ++++             prec 10+               (expectP (Ident "VkImageCreateBitmask") >>+                  (VkImageCreateBitmask <$> step readPrec)))  -- | Image should support sparse backing --@@ -249,55 +225,55 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageLayout VkImageLayout registry at www.khronos.org> newtype VkImageLayout = VkImageLayout Int32-                          deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                        deriving (Eq, Ord, Enum, Storable)  instance Show VkImageLayout where-        showsPrec _ VK_IMAGE_LAYOUT_UNDEFINED-          = showString "VK_IMAGE_LAYOUT_UNDEFINED"-        showsPrec _ VK_IMAGE_LAYOUT_GENERAL-          = showString "VK_IMAGE_LAYOUT_GENERAL"-        showsPrec _ VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL-          = showString "VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL"-        showsPrec _ VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL-          = showString "VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL"-        showsPrec _ VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL-          = showString "VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL"-        showsPrec _ VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL-          = showString "VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL"-        showsPrec _ VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL-          = showString "VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL"-        showsPrec _ VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL-          = showString "VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL"-        showsPrec _ VK_IMAGE_LAYOUT_PREINITIALIZED-          = showString "VK_IMAGE_LAYOUT_PREINITIALIZED"-        showsPrec p (VkImageLayout x)-          = showParen (p >= 11)-              (showString "VkImageLayout " . showsPrec 11 x)+    showsPrec _ VK_IMAGE_LAYOUT_UNDEFINED+      = showString "VK_IMAGE_LAYOUT_UNDEFINED"+    showsPrec _ VK_IMAGE_LAYOUT_GENERAL+      = showString "VK_IMAGE_LAYOUT_GENERAL"+    showsPrec _ VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL+      = showString "VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL"+    showsPrec _ VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL+      = showString "VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL"+    showsPrec _ VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL+      = showString "VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL"+    showsPrec _ VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL+      = showString "VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL"+    showsPrec _ VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL+      = showString "VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL"+    showsPrec _ VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL+      = showString "VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL"+    showsPrec _ VK_IMAGE_LAYOUT_PREINITIALIZED+      = showString "VK_IMAGE_LAYOUT_PREINITIALIZED"+    showsPrec p (VkImageLayout x)+      = showParen (p >= 11)+          (showString "VkImageLayout " . showsPrec 11 x)  instance Read VkImageLayout where-        readPrec-          = parens-              (choose-                 [("VK_IMAGE_LAYOUT_UNDEFINED", pure VK_IMAGE_LAYOUT_UNDEFINED),-                  ("VK_IMAGE_LAYOUT_GENERAL", pure VK_IMAGE_LAYOUT_GENERAL),-                  ("VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL",-                   pure VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL),-                  ("VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL",-                   pure VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL),-                  ("VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL",-                   pure VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL),-                  ("VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL",-                   pure VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL),-                  ("VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL",-                   pure VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL),-                  ("VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL",-                   pure VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL),-                  ("VK_IMAGE_LAYOUT_PREINITIALIZED",-                   pure VK_IMAGE_LAYOUT_PREINITIALIZED)]-                 +++-                 prec 10-                   (expectP (Ident "VkImageLayout") >>-                      (VkImageLayout <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_IMAGE_LAYOUT_UNDEFINED", pure VK_IMAGE_LAYOUT_UNDEFINED),+              ("VK_IMAGE_LAYOUT_GENERAL", pure VK_IMAGE_LAYOUT_GENERAL),+              ("VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL",+               pure VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL),+              ("VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL",+               pure VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL),+              ("VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL",+               pure VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL),+              ("VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL",+               pure VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL),+              ("VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL",+               pure VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL),+              ("VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL",+               pure VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL),+              ("VK_IMAGE_LAYOUT_PREINITIALIZED",+               pure VK_IMAGE_LAYOUT_PREINITIALIZED)]+             ++++             prec 10+               (expectP (Ident "VkImageLayout") >>+                  (VkImageLayout <$> step readPrec)))  -- | Implicit layout an image is when its contents are undefined due to various reasons (e.g. right after creation) pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout@@ -352,27 +328,27 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageTiling VkImageTiling registry at www.khronos.org> newtype VkImageTiling = VkImageTiling Int32-                          deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                        deriving (Eq, Ord, Enum, Storable)  instance Show VkImageTiling where-        showsPrec _ VK_IMAGE_TILING_OPTIMAL-          = showString "VK_IMAGE_TILING_OPTIMAL"-        showsPrec _ VK_IMAGE_TILING_LINEAR-          = showString "VK_IMAGE_TILING_LINEAR"-        showsPrec p (VkImageTiling x)-          = showParen (p >= 11)-              (showString "VkImageTiling " . showsPrec 11 x)+    showsPrec _ VK_IMAGE_TILING_OPTIMAL+      = showString "VK_IMAGE_TILING_OPTIMAL"+    showsPrec _ VK_IMAGE_TILING_LINEAR+      = showString "VK_IMAGE_TILING_LINEAR"+    showsPrec p (VkImageTiling x)+      = showParen (p >= 11)+          (showString "VkImageTiling " . showsPrec 11 x)  instance Read VkImageTiling where-        readPrec-          = parens-              (choose-                 [("VK_IMAGE_TILING_OPTIMAL", pure VK_IMAGE_TILING_OPTIMAL),-                  ("VK_IMAGE_TILING_LINEAR", pure VK_IMAGE_TILING_LINEAR)]-                 +++-                 prec 10-                   (expectP (Ident "VkImageTiling") >>-                      (VkImageTiling <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_IMAGE_TILING_OPTIMAL", pure VK_IMAGE_TILING_OPTIMAL),+              ("VK_IMAGE_TILING_LINEAR", pure VK_IMAGE_TILING_LINEAR)]+             ++++             prec 10+               (expectP (Ident "VkImageTiling") >>+                  (VkImageTiling <$> step readPrec)))  pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling @@ -386,25 +362,25 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageType VkImageType registry at www.khronos.org> newtype VkImageType = VkImageType Int32-                        deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                      deriving (Eq, Ord, Enum, Storable)  instance Show VkImageType where-        showsPrec _ VK_IMAGE_TYPE_1D = showString "VK_IMAGE_TYPE_1D"-        showsPrec _ VK_IMAGE_TYPE_2D = showString "VK_IMAGE_TYPE_2D"-        showsPrec _ VK_IMAGE_TYPE_3D = showString "VK_IMAGE_TYPE_3D"-        showsPrec p (VkImageType x)-          = showParen (p >= 11) (showString "VkImageType " . showsPrec 11 x)+    showsPrec _ VK_IMAGE_TYPE_1D = showString "VK_IMAGE_TYPE_1D"+    showsPrec _ VK_IMAGE_TYPE_2D = showString "VK_IMAGE_TYPE_2D"+    showsPrec _ VK_IMAGE_TYPE_3D = showString "VK_IMAGE_TYPE_3D"+    showsPrec p (VkImageType x)+      = showParen (p >= 11) (showString "VkImageType " . showsPrec 11 x)  instance Read VkImageType where-        readPrec-          = parens-              (choose-                 [("VK_IMAGE_TYPE_1D", pure VK_IMAGE_TYPE_1D),-                  ("VK_IMAGE_TYPE_2D", pure VK_IMAGE_TYPE_2D),-                  ("VK_IMAGE_TYPE_3D", pure VK_IMAGE_TYPE_3D)]-                 +++-                 prec 10-                   (expectP (Ident "VkImageType") >> (VkImageType <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_IMAGE_TYPE_1D", pure VK_IMAGE_TYPE_1D),+              ("VK_IMAGE_TYPE_2D", pure VK_IMAGE_TYPE_2D),+              ("VK_IMAGE_TYPE_3D", pure VK_IMAGE_TYPE_3D)]+             ++++             prec 10+               (expectP (Ident "VkImageType") >> (VkImageType <$> step readPrec)))  pattern VK_IMAGE_TYPE_1D :: VkImageType @@ -420,7 +396,7 @@  newtype VkImageUsageBitmask (a ::                                FlagType) = VkImageUsageBitmask VkFlags-                                             deriving (Eq, Ord, Storable, Data, Generic)+                                           deriving (Eq, Ord, Storable)  type VkImageUsageFlags = VkImageUsageBitmask FlagMask @@ -440,59 +416,49 @@  deriving instance FiniteBits (VkImageUsageBitmask FlagMask) -deriving instance Integral (VkImageUsageBitmask FlagMask)--deriving instance Num (VkImageUsageBitmask FlagMask)--deriving instance Bounded (VkImageUsageBitmask FlagMask)--deriving instance Enum (VkImageUsageBitmask FlagMask)--deriving instance Real (VkImageUsageBitmask FlagMask)- instance Show (VkImageUsageBitmask a) where-        showsPrec _ VK_IMAGE_USAGE_TRANSFER_SRC_BIT-          = showString "VK_IMAGE_USAGE_TRANSFER_SRC_BIT"-        showsPrec _ VK_IMAGE_USAGE_TRANSFER_DST_BIT-          = showString "VK_IMAGE_USAGE_TRANSFER_DST_BIT"-        showsPrec _ VK_IMAGE_USAGE_SAMPLED_BIT-          = showString "VK_IMAGE_USAGE_SAMPLED_BIT"-        showsPrec _ VK_IMAGE_USAGE_STORAGE_BIT-          = showString "VK_IMAGE_USAGE_STORAGE_BIT"-        showsPrec _ VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT-          = showString "VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT"-        showsPrec _ VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT-          = showString "VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT"-        showsPrec _ VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT-          = showString "VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT"-        showsPrec _ VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT-          = showString "VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT"-        showsPrec p (VkImageUsageBitmask x)-          = showParen (p >= 11)-              (showString "VkImageUsageBitmask " . showsPrec 11 x)+    showsPrec _ VK_IMAGE_USAGE_TRANSFER_SRC_BIT+      = showString "VK_IMAGE_USAGE_TRANSFER_SRC_BIT"+    showsPrec _ VK_IMAGE_USAGE_TRANSFER_DST_BIT+      = showString "VK_IMAGE_USAGE_TRANSFER_DST_BIT"+    showsPrec _ VK_IMAGE_USAGE_SAMPLED_BIT+      = showString "VK_IMAGE_USAGE_SAMPLED_BIT"+    showsPrec _ VK_IMAGE_USAGE_STORAGE_BIT+      = showString "VK_IMAGE_USAGE_STORAGE_BIT"+    showsPrec _ VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT+      = showString "VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT"+    showsPrec _ VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT+      = showString "VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT"+    showsPrec _ VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT+      = showString "VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT"+    showsPrec _ VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT+      = showString "VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT"+    showsPrec p (VkImageUsageBitmask x)+      = showParen (p >= 11)+          (showString "VkImageUsageBitmask " . showsPrec 11 x)  instance Read (VkImageUsageBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_IMAGE_USAGE_TRANSFER_SRC_BIT",-                   pure VK_IMAGE_USAGE_TRANSFER_SRC_BIT),-                  ("VK_IMAGE_USAGE_TRANSFER_DST_BIT",-                   pure VK_IMAGE_USAGE_TRANSFER_DST_BIT),-                  ("VK_IMAGE_USAGE_SAMPLED_BIT", pure VK_IMAGE_USAGE_SAMPLED_BIT),-                  ("VK_IMAGE_USAGE_STORAGE_BIT", pure VK_IMAGE_USAGE_STORAGE_BIT),-                  ("VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT",-                   pure VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT),-                  ("VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT",-                   pure VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT),-                  ("VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT",-                   pure VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT),-                  ("VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT",-                   pure VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkImageUsageBitmask") >>-                      (VkImageUsageBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_IMAGE_USAGE_TRANSFER_SRC_BIT",+               pure VK_IMAGE_USAGE_TRANSFER_SRC_BIT),+              ("VK_IMAGE_USAGE_TRANSFER_DST_BIT",+               pure VK_IMAGE_USAGE_TRANSFER_DST_BIT),+              ("VK_IMAGE_USAGE_SAMPLED_BIT", pure VK_IMAGE_USAGE_SAMPLED_BIT),+              ("VK_IMAGE_USAGE_STORAGE_BIT", pure VK_IMAGE_USAGE_STORAGE_BIT),+              ("VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT",+               pure VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT),+              ("VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT",+               pure VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT),+              ("VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT",+               pure VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT),+              ("VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT",+               pure VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT)]+             ++++             prec 10+               (expectP (Ident "VkImageUsageBitmask") >>+                  (VkImageUsageBitmask <$> step readPrec)))  -- | Can be used as a source of transfer operations --@@ -562,43 +528,43 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageViewType VkImageViewType registry at www.khronos.org> newtype VkImageViewType = VkImageViewType Int32-                            deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                          deriving (Eq, Ord, Enum, Storable)  instance Show VkImageViewType where-        showsPrec _ VK_IMAGE_VIEW_TYPE_1D-          = showString "VK_IMAGE_VIEW_TYPE_1D"-        showsPrec _ VK_IMAGE_VIEW_TYPE_2D-          = showString "VK_IMAGE_VIEW_TYPE_2D"-        showsPrec _ VK_IMAGE_VIEW_TYPE_3D-          = showString "VK_IMAGE_VIEW_TYPE_3D"-        showsPrec _ VK_IMAGE_VIEW_TYPE_CUBE-          = showString "VK_IMAGE_VIEW_TYPE_CUBE"-        showsPrec _ VK_IMAGE_VIEW_TYPE_1D_ARRAY-          = showString "VK_IMAGE_VIEW_TYPE_1D_ARRAY"-        showsPrec _ VK_IMAGE_VIEW_TYPE_2D_ARRAY-          = showString "VK_IMAGE_VIEW_TYPE_2D_ARRAY"-        showsPrec _ VK_IMAGE_VIEW_TYPE_CUBE_ARRAY-          = showString "VK_IMAGE_VIEW_TYPE_CUBE_ARRAY"-        showsPrec p (VkImageViewType x)-          = showParen (p >= 11)-              (showString "VkImageViewType " . showsPrec 11 x)+    showsPrec _ VK_IMAGE_VIEW_TYPE_1D+      = showString "VK_IMAGE_VIEW_TYPE_1D"+    showsPrec _ VK_IMAGE_VIEW_TYPE_2D+      = showString "VK_IMAGE_VIEW_TYPE_2D"+    showsPrec _ VK_IMAGE_VIEW_TYPE_3D+      = showString "VK_IMAGE_VIEW_TYPE_3D"+    showsPrec _ VK_IMAGE_VIEW_TYPE_CUBE+      = showString "VK_IMAGE_VIEW_TYPE_CUBE"+    showsPrec _ VK_IMAGE_VIEW_TYPE_1D_ARRAY+      = showString "VK_IMAGE_VIEW_TYPE_1D_ARRAY"+    showsPrec _ VK_IMAGE_VIEW_TYPE_2D_ARRAY+      = showString "VK_IMAGE_VIEW_TYPE_2D_ARRAY"+    showsPrec _ VK_IMAGE_VIEW_TYPE_CUBE_ARRAY+      = showString "VK_IMAGE_VIEW_TYPE_CUBE_ARRAY"+    showsPrec p (VkImageViewType x)+      = showParen (p >= 11)+          (showString "VkImageViewType " . showsPrec 11 x)  instance Read VkImageViewType where-        readPrec-          = parens-              (choose-                 [("VK_IMAGE_VIEW_TYPE_1D", pure VK_IMAGE_VIEW_TYPE_1D),-                  ("VK_IMAGE_VIEW_TYPE_2D", pure VK_IMAGE_VIEW_TYPE_2D),-                  ("VK_IMAGE_VIEW_TYPE_3D", pure VK_IMAGE_VIEW_TYPE_3D),-                  ("VK_IMAGE_VIEW_TYPE_CUBE", pure VK_IMAGE_VIEW_TYPE_CUBE),-                  ("VK_IMAGE_VIEW_TYPE_1D_ARRAY", pure VK_IMAGE_VIEW_TYPE_1D_ARRAY),-                  ("VK_IMAGE_VIEW_TYPE_2D_ARRAY", pure VK_IMAGE_VIEW_TYPE_2D_ARRAY),-                  ("VK_IMAGE_VIEW_TYPE_CUBE_ARRAY",-                   pure VK_IMAGE_VIEW_TYPE_CUBE_ARRAY)]-                 +++-                 prec 10-                   (expectP (Ident "VkImageViewType") >>-                      (VkImageViewType <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_IMAGE_VIEW_TYPE_1D", pure VK_IMAGE_VIEW_TYPE_1D),+              ("VK_IMAGE_VIEW_TYPE_2D", pure VK_IMAGE_VIEW_TYPE_2D),+              ("VK_IMAGE_VIEW_TYPE_3D", pure VK_IMAGE_VIEW_TYPE_3D),+              ("VK_IMAGE_VIEW_TYPE_CUBE", pure VK_IMAGE_VIEW_TYPE_CUBE),+              ("VK_IMAGE_VIEW_TYPE_1D_ARRAY", pure VK_IMAGE_VIEW_TYPE_1D_ARRAY),+              ("VK_IMAGE_VIEW_TYPE_2D_ARRAY", pure VK_IMAGE_VIEW_TYPE_2D_ARRAY),+              ("VK_IMAGE_VIEW_TYPE_CUBE_ARRAY",+               pure VK_IMAGE_VIEW_TYPE_CUBE_ARRAY)]+             ++++             prec 10+               (expectP (Ident "VkImageViewType") >>+                  (VkImageViewType <$> step readPrec)))  pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType 
src-gen/Graphics/Vulkan/Types/Enum/IndexType.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -9,9 +7,7 @@        (VkIndexType(VkIndexType, VK_INDEX_TYPE_UINT16,                     VK_INDEX_TYPE_UINT32))        where-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Text.ParserCombinators.ReadPrec (prec, step, (+++))@@ -22,25 +18,25 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkIndexType VkIndexType registry at www.khronos.org> newtype VkIndexType = VkIndexType Int32-                        deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                      deriving (Eq, Ord, Enum, Storable)  instance Show VkIndexType where-        showsPrec _ VK_INDEX_TYPE_UINT16-          = showString "VK_INDEX_TYPE_UINT16"-        showsPrec _ VK_INDEX_TYPE_UINT32-          = showString "VK_INDEX_TYPE_UINT32"-        showsPrec p (VkIndexType x)-          = showParen (p >= 11) (showString "VkIndexType " . showsPrec 11 x)+    showsPrec _ VK_INDEX_TYPE_UINT16+      = showString "VK_INDEX_TYPE_UINT16"+    showsPrec _ VK_INDEX_TYPE_UINT32+      = showString "VK_INDEX_TYPE_UINT32"+    showsPrec p (VkIndexType x)+      = showParen (p >= 11) (showString "VkIndexType " . showsPrec 11 x)  instance Read VkIndexType where-        readPrec-          = parens-              (choose-                 [("VK_INDEX_TYPE_UINT16", pure VK_INDEX_TYPE_UINT16),-                  ("VK_INDEX_TYPE_UINT32", pure VK_INDEX_TYPE_UINT32)]-                 +++-                 prec 10-                   (expectP (Ident "VkIndexType") >> (VkIndexType <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_INDEX_TYPE_UINT16", pure VK_INDEX_TYPE_UINT16),+              ("VK_INDEX_TYPE_UINT32", pure VK_INDEX_TYPE_UINT32)]+             ++++             prec 10+               (expectP (Ident "VkIndexType") >> (VkIndexType <$> step readPrec)))  pattern VK_INDEX_TYPE_UINT16 :: VkIndexType 
src-gen/Graphics/Vulkan/Types/Enum/IndirectCommands.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -30,9 +28,7 @@                                        VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX))        where import Data.Bits                       (Bits, FiniteBits)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType, Int32) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -42,8 +38,7 @@  newtype VkIndirectCommandsLayoutUsageBitmaskNVX (a ::                                                    FlagType) = VkIndirectCommandsLayoutUsageBitmaskNVX VkFlags-                                                                 deriving (Eq, Ord, Storable, Data,-                                                                           Generic)+                                                               deriving (Eq, Ord, Storable)  type VkIndirectCommandsLayoutUsageFlagsNVX =      VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask@@ -69,60 +64,45 @@ deriving instance          FiniteBits (VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask) -deriving instance-         Integral (VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask)--deriving instance-         Num (VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask)--deriving instance-         Bounded (VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask)--deriving instance-         Enum (VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask)--deriving instance-         Real (VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask)- instance Show (VkIndirectCommandsLayoutUsageBitmaskNVX a) where-        showsPrec _-          VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX-          = showString-              "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX"-        showsPrec _-          VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX-          = showString-              "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX"-        showsPrec _-          VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX-          = showString-              "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX"-        showsPrec _-          VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX-          = showString-              "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX"-        showsPrec p (VkIndirectCommandsLayoutUsageBitmaskNVX x)-          = showParen (p >= 11)-              (showString "VkIndirectCommandsLayoutUsageBitmaskNVX " .-                 showsPrec 11 x)+    showsPrec _+      VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX+      = showString+          "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX"+    showsPrec _+      VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX+      = showString+          "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX"+    showsPrec _+      VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX+      = showString+          "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX"+    showsPrec _+      VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX+      = showString+          "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX"+    showsPrec p (VkIndirectCommandsLayoutUsageBitmaskNVX x)+      = showParen (p >= 11)+          (showString "VkIndirectCommandsLayoutUsageBitmaskNVX " .+             showsPrec 11 x)  instance Read (VkIndirectCommandsLayoutUsageBitmaskNVX a) where-        readPrec-          = parens-              (choose-                 [("VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX",-                   pure-                     VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX),-                  ("VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX",-                   pure VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX),-                  ("VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX",-                   pure VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX),-                  ("VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX",-                   pure VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX)]-                 +++-                 prec 10-                   (expectP (Ident "VkIndirectCommandsLayoutUsageBitmaskNVX") >>-                      (VkIndirectCommandsLayoutUsageBitmaskNVX <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX",+               pure+                 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX),+              ("VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX",+               pure VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX),+              ("VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX",+               pure VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX),+              ("VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX",+               pure VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX)]+             ++++             prec 10+               (expectP (Ident "VkIndirectCommandsLayoutUsageBitmaskNVX") >>+                  (VkIndirectCommandsLayoutUsageBitmaskNVX <$> step readPrec)))  -- | bitpos = @0@ pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX@@ -156,54 +136,53 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkIndirectCommandsTokenTypeNVX VkIndirectCommandsTokenTypeNVX registry at www.khronos.org> newtype VkIndirectCommandsTokenTypeNVX = VkIndirectCommandsTokenTypeNVX Int32-                                           deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,-                                                     Generic)+                                         deriving (Eq, Ord, Enum, Storable)  instance Show VkIndirectCommandsTokenTypeNVX where-        showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX-          = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX"-        showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX-          = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX"-        showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX-          = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX"-        showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX-          = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX"-        showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX-          = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX"-        showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX-          = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX"-        showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX-          = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX"-        showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX-          = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX"-        showsPrec p (VkIndirectCommandsTokenTypeNVX x)-          = showParen (p >= 11)-              (showString "VkIndirectCommandsTokenTypeNVX " . showsPrec 11 x)+    showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX+      = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX"+    showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX+      = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX"+    showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX+      = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX"+    showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX+      = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX"+    showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX+      = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX"+    showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX+      = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX"+    showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX+      = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX"+    showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX+      = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX"+    showsPrec p (VkIndirectCommandsTokenTypeNVX x)+      = showParen (p >= 11)+          (showString "VkIndirectCommandsTokenTypeNVX " . showsPrec 11 x)  instance Read VkIndirectCommandsTokenTypeNVX where-        readPrec-          = parens-              (choose-                 [("VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX",-                   pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX),-                  ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX",-                   pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX),-                  ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX",-                   pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX),-                  ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX",-                   pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX),-                  ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX",-                   pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX),-                  ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX",-                   pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX),-                  ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX",-                   pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX),-                  ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX",-                   pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX)]-                 +++-                 prec 10-                   (expectP (Ident "VkIndirectCommandsTokenTypeNVX") >>-                      (VkIndirectCommandsTokenTypeNVX <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX",+               pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX),+              ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX",+               pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX),+              ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX",+               pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX),+              ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX",+               pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX),+              ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX",+               pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX),+              ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX",+               pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX),+              ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX",+               pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX),+              ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX",+               pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX)]+             ++++             prec 10+               (expectP (Ident "VkIndirectCommandsTokenTypeNVX") >>+                  (VkIndirectCommandsTokenTypeNVX <$> step readPrec)))  pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX ::         VkIndirectCommandsTokenTypeNVX
src-gen/Graphics/Vulkan/Types/Enum/InstanceCreateFlagBits.hs view
@@ -1,25 +1,20 @@ {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE Strict                     #-} module Graphics.Vulkan.Types.Enum.InstanceCreateFlagBits        (VkInstanceCreateFlagBits(..)) where import Data.Bits                       (Bits, FiniteBits) import Data.Coerce                     (coerce)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import Graphics.Vulkan.Types.BaseTypes (VkFlags)  newtype VkInstanceCreateFlagBits = VkInstanceCreateFlagBits VkFlags-                                     deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                               FiniteBits, Storable, Real, Data, Generic)+                                   deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkInstanceCreateFlagBits where-        {-# INLINE show #-}-        show (VkInstanceCreateFlagBits x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkInstanceCreateFlagBits where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
src-gen/Graphics/Vulkan/Types/Enum/InternalAllocationType.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -9,9 +7,7 @@        (VkInternalAllocationType(VkInternalAllocationType,                                  VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE))        where-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Text.ParserCombinators.ReadPrec (prec, step, (+++))@@ -22,25 +18,25 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkInternalAllocationType VkInternalAllocationType registry at www.khronos.org> newtype VkInternalAllocationType = VkInternalAllocationType Int32-                                     deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                                   deriving (Eq, Ord, Enum, Storable)  instance Show VkInternalAllocationType where-        showsPrec _ VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE-          = showString "VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE"-        showsPrec p (VkInternalAllocationType x)-          = showParen (p >= 11)-              (showString "VkInternalAllocationType " . showsPrec 11 x)+    showsPrec _ VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE+      = showString "VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE"+    showsPrec p (VkInternalAllocationType x)+      = showParen (p >= 11)+          (showString "VkInternalAllocationType " . showsPrec 11 x)  instance Read VkInternalAllocationType where-        readPrec-          = parens-              (choose-                 [("VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE",-                   pure VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE)]-                 +++-                 prec 10-                   (expectP (Ident "VkInternalAllocationType") >>-                      (VkInternalAllocationType <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE",+               pure VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE)]+             ++++             prec 10+               (expectP (Ident "VkInternalAllocationType") >>+                  (VkInternalAllocationType <$> step readPrec)))  pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE ::         VkInternalAllocationType
src-gen/Graphics/Vulkan/Types/Enum/LogicOp.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -14,9 +12,7 @@                   VK_LOGIC_OP_COPY_INVERTED, VK_LOGIC_OP_OR_INVERTED,                   VK_LOGIC_OP_NAND, VK_LOGIC_OP_SET))        where-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Text.ParserCombinators.ReadPrec (prec, step, (+++))@@ -27,57 +23,57 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkLogicOp VkLogicOp registry at www.khronos.org> newtype VkLogicOp = VkLogicOp Int32-                      deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                    deriving (Eq, Ord, Enum, Storable)  instance Show VkLogicOp where-        showsPrec _ VK_LOGIC_OP_CLEAR = showString "VK_LOGIC_OP_CLEAR"-        showsPrec _ VK_LOGIC_OP_AND = showString "VK_LOGIC_OP_AND"-        showsPrec _ VK_LOGIC_OP_AND_REVERSE-          = showString "VK_LOGIC_OP_AND_REVERSE"-        showsPrec _ VK_LOGIC_OP_COPY = showString "VK_LOGIC_OP_COPY"-        showsPrec _ VK_LOGIC_OP_AND_INVERTED-          = showString "VK_LOGIC_OP_AND_INVERTED"-        showsPrec _ VK_LOGIC_OP_NO_OP = showString "VK_LOGIC_OP_NO_OP"-        showsPrec _ VK_LOGIC_OP_XOR = showString "VK_LOGIC_OP_XOR"-        showsPrec _ VK_LOGIC_OP_OR = showString "VK_LOGIC_OP_OR"-        showsPrec _ VK_LOGIC_OP_NOR = showString "VK_LOGIC_OP_NOR"-        showsPrec _ VK_LOGIC_OP_EQUIVALENT-          = showString "VK_LOGIC_OP_EQUIVALENT"-        showsPrec _ VK_LOGIC_OP_INVERT = showString "VK_LOGIC_OP_INVERT"-        showsPrec _ VK_LOGIC_OP_OR_REVERSE-          = showString "VK_LOGIC_OP_OR_REVERSE"-        showsPrec _ VK_LOGIC_OP_COPY_INVERTED-          = showString "VK_LOGIC_OP_COPY_INVERTED"-        showsPrec _ VK_LOGIC_OP_OR_INVERTED-          = showString "VK_LOGIC_OP_OR_INVERTED"-        showsPrec _ VK_LOGIC_OP_NAND = showString "VK_LOGIC_OP_NAND"-        showsPrec _ VK_LOGIC_OP_SET = showString "VK_LOGIC_OP_SET"-        showsPrec p (VkLogicOp x)-          = showParen (p >= 11) (showString "VkLogicOp " . showsPrec 11 x)+    showsPrec _ VK_LOGIC_OP_CLEAR = showString "VK_LOGIC_OP_CLEAR"+    showsPrec _ VK_LOGIC_OP_AND = showString "VK_LOGIC_OP_AND"+    showsPrec _ VK_LOGIC_OP_AND_REVERSE+      = showString "VK_LOGIC_OP_AND_REVERSE"+    showsPrec _ VK_LOGIC_OP_COPY = showString "VK_LOGIC_OP_COPY"+    showsPrec _ VK_LOGIC_OP_AND_INVERTED+      = showString "VK_LOGIC_OP_AND_INVERTED"+    showsPrec _ VK_LOGIC_OP_NO_OP = showString "VK_LOGIC_OP_NO_OP"+    showsPrec _ VK_LOGIC_OP_XOR = showString "VK_LOGIC_OP_XOR"+    showsPrec _ VK_LOGIC_OP_OR = showString "VK_LOGIC_OP_OR"+    showsPrec _ VK_LOGIC_OP_NOR = showString "VK_LOGIC_OP_NOR"+    showsPrec _ VK_LOGIC_OP_EQUIVALENT+      = showString "VK_LOGIC_OP_EQUIVALENT"+    showsPrec _ VK_LOGIC_OP_INVERT = showString "VK_LOGIC_OP_INVERT"+    showsPrec _ VK_LOGIC_OP_OR_REVERSE+      = showString "VK_LOGIC_OP_OR_REVERSE"+    showsPrec _ VK_LOGIC_OP_COPY_INVERTED+      = showString "VK_LOGIC_OP_COPY_INVERTED"+    showsPrec _ VK_LOGIC_OP_OR_INVERTED+      = showString "VK_LOGIC_OP_OR_INVERTED"+    showsPrec _ VK_LOGIC_OP_NAND = showString "VK_LOGIC_OP_NAND"+    showsPrec _ VK_LOGIC_OP_SET = showString "VK_LOGIC_OP_SET"+    showsPrec p (VkLogicOp x)+      = showParen (p >= 11) (showString "VkLogicOp " . showsPrec 11 x)  instance Read VkLogicOp where-        readPrec-          = parens-              (choose-                 [("VK_LOGIC_OP_CLEAR", pure VK_LOGIC_OP_CLEAR),-                  ("VK_LOGIC_OP_AND", pure VK_LOGIC_OP_AND),-                  ("VK_LOGIC_OP_AND_REVERSE", pure VK_LOGIC_OP_AND_REVERSE),-                  ("VK_LOGIC_OP_COPY", pure VK_LOGIC_OP_COPY),-                  ("VK_LOGIC_OP_AND_INVERTED", pure VK_LOGIC_OP_AND_INVERTED),-                  ("VK_LOGIC_OP_NO_OP", pure VK_LOGIC_OP_NO_OP),-                  ("VK_LOGIC_OP_XOR", pure VK_LOGIC_OP_XOR),-                  ("VK_LOGIC_OP_OR", pure VK_LOGIC_OP_OR),-                  ("VK_LOGIC_OP_NOR", pure VK_LOGIC_OP_NOR),-                  ("VK_LOGIC_OP_EQUIVALENT", pure VK_LOGIC_OP_EQUIVALENT),-                  ("VK_LOGIC_OP_INVERT", pure VK_LOGIC_OP_INVERT),-                  ("VK_LOGIC_OP_OR_REVERSE", pure VK_LOGIC_OP_OR_REVERSE),-                  ("VK_LOGIC_OP_COPY_INVERTED", pure VK_LOGIC_OP_COPY_INVERTED),-                  ("VK_LOGIC_OP_OR_INVERTED", pure VK_LOGIC_OP_OR_INVERTED),-                  ("VK_LOGIC_OP_NAND", pure VK_LOGIC_OP_NAND),-                  ("VK_LOGIC_OP_SET", pure VK_LOGIC_OP_SET)]-                 +++-                 prec 10-                   (expectP (Ident "VkLogicOp") >> (VkLogicOp <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_LOGIC_OP_CLEAR", pure VK_LOGIC_OP_CLEAR),+              ("VK_LOGIC_OP_AND", pure VK_LOGIC_OP_AND),+              ("VK_LOGIC_OP_AND_REVERSE", pure VK_LOGIC_OP_AND_REVERSE),+              ("VK_LOGIC_OP_COPY", pure VK_LOGIC_OP_COPY),+              ("VK_LOGIC_OP_AND_INVERTED", pure VK_LOGIC_OP_AND_INVERTED),+              ("VK_LOGIC_OP_NO_OP", pure VK_LOGIC_OP_NO_OP),+              ("VK_LOGIC_OP_XOR", pure VK_LOGIC_OP_XOR),+              ("VK_LOGIC_OP_OR", pure VK_LOGIC_OP_OR),+              ("VK_LOGIC_OP_NOR", pure VK_LOGIC_OP_NOR),+              ("VK_LOGIC_OP_EQUIVALENT", pure VK_LOGIC_OP_EQUIVALENT),+              ("VK_LOGIC_OP_INVERT", pure VK_LOGIC_OP_INVERT),+              ("VK_LOGIC_OP_OR_REVERSE", pure VK_LOGIC_OP_OR_REVERSE),+              ("VK_LOGIC_OP_COPY_INVERTED", pure VK_LOGIC_OP_COPY_INVERTED),+              ("VK_LOGIC_OP_OR_INVERTED", pure VK_LOGIC_OP_OR_INVERTED),+              ("VK_LOGIC_OP_NAND", pure VK_LOGIC_OP_NAND),+              ("VK_LOGIC_OP_SET", pure VK_LOGIC_OP_SET)]+             ++++             prec 10+               (expectP (Ident "VkLogicOp") >> (VkLogicOp <$> step readPrec)))  pattern VK_LOGIC_OP_CLEAR :: VkLogicOp 
src-gen/Graphics/Vulkan/Types/Enum/Memory.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -29,9 +27,7 @@        where import Data.Bits                       (Bits, FiniteBits) import Data.Coerce                     (coerce)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -40,20 +36,19 @@ import Text.Read.Lex                   (Lexeme (..))  newtype VkMemoryAllocateFlagBitsKHR = VkMemoryAllocateFlagBitsKHR VkFlags-                                        deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                  FiniteBits, Storable, Real, Data, Generic)+                                      deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkMemoryAllocateFlagBitsKHR where-        {-# INLINE show #-}-        show (VkMemoryAllocateFlagBitsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkMemoryAllocateFlagBitsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkMemoryAllocateBitmask (a ::                                    FlagType) = VkMemoryAllocateBitmask VkFlags-                                                 deriving (Eq, Ord, Storable, Data, Generic)+                                               deriving (Eq, Ord, Storable)  type VkMemoryAllocateFlags = VkMemoryAllocateBitmask FlagMask @@ -73,33 +68,23 @@  deriving instance FiniteBits (VkMemoryAllocateBitmask FlagMask) -deriving instance Integral (VkMemoryAllocateBitmask FlagMask)--deriving instance Num (VkMemoryAllocateBitmask FlagMask)--deriving instance Bounded (VkMemoryAllocateBitmask FlagMask)--deriving instance Enum (VkMemoryAllocateBitmask FlagMask)--deriving instance Real (VkMemoryAllocateBitmask FlagMask)- instance Show (VkMemoryAllocateBitmask a) where-        showsPrec _ VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT-          = showString "VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT"-        showsPrec p (VkMemoryAllocateBitmask x)-          = showParen (p >= 11)-              (showString "VkMemoryAllocateBitmask " . showsPrec 11 x)+    showsPrec _ VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT+      = showString "VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT"+    showsPrec p (VkMemoryAllocateBitmask x)+      = showParen (p >= 11)+          (showString "VkMemoryAllocateBitmask " . showsPrec 11 x)  instance Read (VkMemoryAllocateBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT",-                   pure VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkMemoryAllocateBitmask") >>-                      (VkMemoryAllocateBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT",+               pure VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT)]+             ++++             prec 10+               (expectP (Ident "VkMemoryAllocateBitmask") >>+                  (VkMemoryAllocateBitmask <$> step readPrec)))  -- | Force allocation on specific devices --@@ -112,7 +97,7 @@  newtype VkMemoryHeapBitmask (a ::                                FlagType) = VkMemoryHeapBitmask VkFlags-                                             deriving (Eq, Ord, Storable, Data, Generic)+                                           deriving (Eq, Ord, Storable)  type VkMemoryHeapFlags = VkMemoryHeapBitmask FlagMask @@ -132,33 +117,23 @@  deriving instance FiniteBits (VkMemoryHeapBitmask FlagMask) -deriving instance Integral (VkMemoryHeapBitmask FlagMask)--deriving instance Num (VkMemoryHeapBitmask FlagMask)--deriving instance Bounded (VkMemoryHeapBitmask FlagMask)--deriving instance Enum (VkMemoryHeapBitmask FlagMask)--deriving instance Real (VkMemoryHeapBitmask FlagMask)- instance Show (VkMemoryHeapBitmask a) where-        showsPrec _ VK_MEMORY_HEAP_DEVICE_LOCAL_BIT-          = showString "VK_MEMORY_HEAP_DEVICE_LOCAL_BIT"-        showsPrec p (VkMemoryHeapBitmask x)-          = showParen (p >= 11)-              (showString "VkMemoryHeapBitmask " . showsPrec 11 x)+    showsPrec _ VK_MEMORY_HEAP_DEVICE_LOCAL_BIT+      = showString "VK_MEMORY_HEAP_DEVICE_LOCAL_BIT"+    showsPrec p (VkMemoryHeapBitmask x)+      = showParen (p >= 11)+          (showString "VkMemoryHeapBitmask " . showsPrec 11 x)  instance Read (VkMemoryHeapBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_MEMORY_HEAP_DEVICE_LOCAL_BIT",-                   pure VK_MEMORY_HEAP_DEVICE_LOCAL_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkMemoryHeapBitmask") >>-                      (VkMemoryHeapBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_MEMORY_HEAP_DEVICE_LOCAL_BIT",+               pure VK_MEMORY_HEAP_DEVICE_LOCAL_BIT)]+             ++++             prec 10+               (expectP (Ident "VkMemoryHeapBitmask") >>+                  (VkMemoryHeapBitmask <$> step readPrec)))  -- | If set, heap represents device memory --@@ -169,7 +144,7 @@  newtype VkMemoryPropertyBitmask (a ::                                    FlagType) = VkMemoryPropertyBitmask VkFlags-                                                 deriving (Eq, Ord, Storable, Data, Generic)+                                               deriving (Eq, Ord, Storable)  type VkMemoryPropertyFlags = VkMemoryPropertyBitmask FlagMask @@ -189,49 +164,39 @@  deriving instance FiniteBits (VkMemoryPropertyBitmask FlagMask) -deriving instance Integral (VkMemoryPropertyBitmask FlagMask)--deriving instance Num (VkMemoryPropertyBitmask FlagMask)--deriving instance Bounded (VkMemoryPropertyBitmask FlagMask)--deriving instance Enum (VkMemoryPropertyBitmask FlagMask)--deriving instance Real (VkMemoryPropertyBitmask FlagMask)- instance Show (VkMemoryPropertyBitmask a) where-        showsPrec _ VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT-          = showString "VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT"-        showsPrec _ VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT-          = showString "VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT"-        showsPrec _ VK_MEMORY_PROPERTY_HOST_COHERENT_BIT-          = showString "VK_MEMORY_PROPERTY_HOST_COHERENT_BIT"-        showsPrec _ VK_MEMORY_PROPERTY_HOST_CACHED_BIT-          = showString "VK_MEMORY_PROPERTY_HOST_CACHED_BIT"-        showsPrec _ VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT-          = showString "VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT"-        showsPrec p (VkMemoryPropertyBitmask x)-          = showParen (p >= 11)-              (showString "VkMemoryPropertyBitmask " . showsPrec 11 x)+    showsPrec _ VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT+      = showString "VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT"+    showsPrec _ VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT+      = showString "VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT"+    showsPrec _ VK_MEMORY_PROPERTY_HOST_COHERENT_BIT+      = showString "VK_MEMORY_PROPERTY_HOST_COHERENT_BIT"+    showsPrec _ VK_MEMORY_PROPERTY_HOST_CACHED_BIT+      = showString "VK_MEMORY_PROPERTY_HOST_CACHED_BIT"+    showsPrec _ VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT+      = showString "VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT"+    showsPrec p (VkMemoryPropertyBitmask x)+      = showParen (p >= 11)+          (showString "VkMemoryPropertyBitmask " . showsPrec 11 x)  instance Read (VkMemoryPropertyBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT",-                   pure VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT),-                  ("VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT",-                   pure VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT),-                  ("VK_MEMORY_PROPERTY_HOST_COHERENT_BIT",-                   pure VK_MEMORY_PROPERTY_HOST_COHERENT_BIT),-                  ("VK_MEMORY_PROPERTY_HOST_CACHED_BIT",-                   pure VK_MEMORY_PROPERTY_HOST_CACHED_BIT),-                  ("VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT",-                   pure VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkMemoryPropertyBitmask") >>-                      (VkMemoryPropertyBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT",+               pure VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT),+              ("VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT",+               pure VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT),+              ("VK_MEMORY_PROPERTY_HOST_COHERENT_BIT",+               pure VK_MEMORY_PROPERTY_HOST_COHERENT_BIT),+              ("VK_MEMORY_PROPERTY_HOST_CACHED_BIT",+               pure VK_MEMORY_PROPERTY_HOST_CACHED_BIT),+              ("VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT",+               pure VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT)]+             ++++             prec 10+               (expectP (Ident "VkMemoryPropertyBitmask") >>+                  (VkMemoryPropertyBitmask <$> step readPrec)))  -- | If otherwise stated, then allocate memory on device --
src-gen/Graphics/Vulkan/Types/Enum/Object.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -36,9 +34,7 @@                      VK_OBJECT_TYPE_FRAMEBUFFER, VK_OBJECT_TYPE_COMMAND_POOL))        where import Data.Bits                       (Bits, FiniteBits)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType, Int32) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -50,41 +46,41 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectEntryTypeNVX VkObjectEntryTypeNVX registry at www.khronos.org> newtype VkObjectEntryTypeNVX = VkObjectEntryTypeNVX Int32-                                 deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                               deriving (Eq, Ord, Enum, Storable)  instance Show VkObjectEntryTypeNVX where-        showsPrec _ VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX-          = showString "VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX"-        showsPrec _ VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX-          = showString "VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX"-        showsPrec _ VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX-          = showString "VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX"-        showsPrec _ VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX-          = showString "VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX"-        showsPrec _ VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX-          = showString "VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX"-        showsPrec p (VkObjectEntryTypeNVX x)-          = showParen (p >= 11)-              (showString "VkObjectEntryTypeNVX " . showsPrec 11 x)+    showsPrec _ VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX+      = showString "VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX"+    showsPrec _ VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX+      = showString "VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX"+    showsPrec _ VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX+      = showString "VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX"+    showsPrec _ VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX+      = showString "VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX"+    showsPrec _ VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX+      = showString "VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX"+    showsPrec p (VkObjectEntryTypeNVX x)+      = showParen (p >= 11)+          (showString "VkObjectEntryTypeNVX " . showsPrec 11 x)  instance Read VkObjectEntryTypeNVX where-        readPrec-          = parens-              (choose-                 [("VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX",-                   pure VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX),-                  ("VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX",-                   pure VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX),-                  ("VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX",-                   pure VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX),-                  ("VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX",-                   pure VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX),-                  ("VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX",-                   pure VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX)]-                 +++-                 prec 10-                   (expectP (Ident "VkObjectEntryTypeNVX") >>-                      (VkObjectEntryTypeNVX <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX",+               pure VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX),+              ("VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX",+               pure VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX),+              ("VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX",+               pure VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX),+              ("VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX",+               pure VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX),+              ("VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX",+               pure VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX)]+             ++++             prec 10+               (expectP (Ident "VkObjectEntryTypeNVX") >>+                  (VkObjectEntryTypeNVX <$> step readPrec)))  pattern VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX ::         VkObjectEntryTypeNVX@@ -116,7 +112,7 @@  newtype VkObjectEntryUsageBitmaskNVX (a ::                                         FlagType) = VkObjectEntryUsageBitmaskNVX VkFlags-                                                      deriving (Eq, Ord, Storable, Data, Generic)+                                                    deriving (Eq, Ord, Storable)  type VkObjectEntryUsageFlagsNVX =      VkObjectEntryUsageBitmaskNVX FlagMask@@ -141,37 +137,27 @@ deriving instance          FiniteBits (VkObjectEntryUsageBitmaskNVX FlagMask) -deriving instance Integral (VkObjectEntryUsageBitmaskNVX FlagMask)--deriving instance Num (VkObjectEntryUsageBitmaskNVX FlagMask)--deriving instance Bounded (VkObjectEntryUsageBitmaskNVX FlagMask)--deriving instance Enum (VkObjectEntryUsageBitmaskNVX FlagMask)--deriving instance Real (VkObjectEntryUsageBitmaskNVX FlagMask)- instance Show (VkObjectEntryUsageBitmaskNVX a) where-        showsPrec _ VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX-          = showString "VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX"-        showsPrec _ VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX-          = showString "VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX"-        showsPrec p (VkObjectEntryUsageBitmaskNVX x)-          = showParen (p >= 11)-              (showString "VkObjectEntryUsageBitmaskNVX " . showsPrec 11 x)+    showsPrec _ VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX+      = showString "VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX"+    showsPrec _ VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX+      = showString "VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX"+    showsPrec p (VkObjectEntryUsageBitmaskNVX x)+      = showParen (p >= 11)+          (showString "VkObjectEntryUsageBitmaskNVX " . showsPrec 11 x)  instance Read (VkObjectEntryUsageBitmaskNVX a) where-        readPrec-          = parens-              (choose-                 [("VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX",-                   pure VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX),-                  ("VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX",-                   pure VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX)]-                 +++-                 prec 10-                   (expectP (Ident "VkObjectEntryUsageBitmaskNVX") >>-                      (VkObjectEntryUsageBitmaskNVX <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX",+               pure VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX),+              ("VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX",+               pure VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX)]+             ++++             prec 10+               (expectP (Ident "VkObjectEntryUsageBitmaskNVX") >>+                  (VkObjectEntryUsageBitmaskNVX <$> step readPrec)))  -- | bitpos = @0@ pattern VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX ::@@ -194,107 +180,107 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectType VkObjectType registry at www.khronos.org> newtype VkObjectType = VkObjectType Int32-                         deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                       deriving (Eq, Ord, Enum, Storable)  instance Show VkObjectType where-        showsPrec _ VK_OBJECT_TYPE_UNKNOWN-          = showString "VK_OBJECT_TYPE_UNKNOWN"-        showsPrec _ VK_OBJECT_TYPE_INSTANCE-          = showString "VK_OBJECT_TYPE_INSTANCE"-        showsPrec _ VK_OBJECT_TYPE_PHYSICAL_DEVICE-          = showString "VK_OBJECT_TYPE_PHYSICAL_DEVICE"-        showsPrec _ VK_OBJECT_TYPE_DEVICE-          = showString "VK_OBJECT_TYPE_DEVICE"-        showsPrec _ VK_OBJECT_TYPE_QUEUE-          = showString "VK_OBJECT_TYPE_QUEUE"-        showsPrec _ VK_OBJECT_TYPE_SEMAPHORE-          = showString "VK_OBJECT_TYPE_SEMAPHORE"-        showsPrec _ VK_OBJECT_TYPE_COMMAND_BUFFER-          = showString "VK_OBJECT_TYPE_COMMAND_BUFFER"-        showsPrec _ VK_OBJECT_TYPE_FENCE-          = showString "VK_OBJECT_TYPE_FENCE"-        showsPrec _ VK_OBJECT_TYPE_DEVICE_MEMORY-          = showString "VK_OBJECT_TYPE_DEVICE_MEMORY"-        showsPrec _ VK_OBJECT_TYPE_BUFFER-          = showString "VK_OBJECT_TYPE_BUFFER"-        showsPrec _ VK_OBJECT_TYPE_IMAGE-          = showString "VK_OBJECT_TYPE_IMAGE"-        showsPrec _ VK_OBJECT_TYPE_EVENT-          = showString "VK_OBJECT_TYPE_EVENT"-        showsPrec _ VK_OBJECT_TYPE_QUERY_POOL-          = showString "VK_OBJECT_TYPE_QUERY_POOL"-        showsPrec _ VK_OBJECT_TYPE_BUFFER_VIEW-          = showString "VK_OBJECT_TYPE_BUFFER_VIEW"-        showsPrec _ VK_OBJECT_TYPE_IMAGE_VIEW-          = showString "VK_OBJECT_TYPE_IMAGE_VIEW"-        showsPrec _ VK_OBJECT_TYPE_SHADER_MODULE-          = showString "VK_OBJECT_TYPE_SHADER_MODULE"-        showsPrec _ VK_OBJECT_TYPE_PIPELINE_CACHE-          = showString "VK_OBJECT_TYPE_PIPELINE_CACHE"-        showsPrec _ VK_OBJECT_TYPE_PIPELINE_LAYOUT-          = showString "VK_OBJECT_TYPE_PIPELINE_LAYOUT"-        showsPrec _ VK_OBJECT_TYPE_RENDER_PASS-          = showString "VK_OBJECT_TYPE_RENDER_PASS"-        showsPrec _ VK_OBJECT_TYPE_PIPELINE-          = showString "VK_OBJECT_TYPE_PIPELINE"-        showsPrec _ VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT-          = showString "VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT"-        showsPrec _ VK_OBJECT_TYPE_SAMPLER-          = showString "VK_OBJECT_TYPE_SAMPLER"-        showsPrec _ VK_OBJECT_TYPE_DESCRIPTOR_POOL-          = showString "VK_OBJECT_TYPE_DESCRIPTOR_POOL"-        showsPrec _ VK_OBJECT_TYPE_DESCRIPTOR_SET-          = showString "VK_OBJECT_TYPE_DESCRIPTOR_SET"-        showsPrec _ VK_OBJECT_TYPE_FRAMEBUFFER-          = showString "VK_OBJECT_TYPE_FRAMEBUFFER"-        showsPrec _ VK_OBJECT_TYPE_COMMAND_POOL-          = showString "VK_OBJECT_TYPE_COMMAND_POOL"-        showsPrec p (VkObjectType x)-          = showParen (p >= 11) (showString "VkObjectType " . showsPrec 11 x)+    showsPrec _ VK_OBJECT_TYPE_UNKNOWN+      = showString "VK_OBJECT_TYPE_UNKNOWN"+    showsPrec _ VK_OBJECT_TYPE_INSTANCE+      = showString "VK_OBJECT_TYPE_INSTANCE"+    showsPrec _ VK_OBJECT_TYPE_PHYSICAL_DEVICE+      = showString "VK_OBJECT_TYPE_PHYSICAL_DEVICE"+    showsPrec _ VK_OBJECT_TYPE_DEVICE+      = showString "VK_OBJECT_TYPE_DEVICE"+    showsPrec _ VK_OBJECT_TYPE_QUEUE+      = showString "VK_OBJECT_TYPE_QUEUE"+    showsPrec _ VK_OBJECT_TYPE_SEMAPHORE+      = showString "VK_OBJECT_TYPE_SEMAPHORE"+    showsPrec _ VK_OBJECT_TYPE_COMMAND_BUFFER+      = showString "VK_OBJECT_TYPE_COMMAND_BUFFER"+    showsPrec _ VK_OBJECT_TYPE_FENCE+      = showString "VK_OBJECT_TYPE_FENCE"+    showsPrec _ VK_OBJECT_TYPE_DEVICE_MEMORY+      = showString "VK_OBJECT_TYPE_DEVICE_MEMORY"+    showsPrec _ VK_OBJECT_TYPE_BUFFER+      = showString "VK_OBJECT_TYPE_BUFFER"+    showsPrec _ VK_OBJECT_TYPE_IMAGE+      = showString "VK_OBJECT_TYPE_IMAGE"+    showsPrec _ VK_OBJECT_TYPE_EVENT+      = showString "VK_OBJECT_TYPE_EVENT"+    showsPrec _ VK_OBJECT_TYPE_QUERY_POOL+      = showString "VK_OBJECT_TYPE_QUERY_POOL"+    showsPrec _ VK_OBJECT_TYPE_BUFFER_VIEW+      = showString "VK_OBJECT_TYPE_BUFFER_VIEW"+    showsPrec _ VK_OBJECT_TYPE_IMAGE_VIEW+      = showString "VK_OBJECT_TYPE_IMAGE_VIEW"+    showsPrec _ VK_OBJECT_TYPE_SHADER_MODULE+      = showString "VK_OBJECT_TYPE_SHADER_MODULE"+    showsPrec _ VK_OBJECT_TYPE_PIPELINE_CACHE+      = showString "VK_OBJECT_TYPE_PIPELINE_CACHE"+    showsPrec _ VK_OBJECT_TYPE_PIPELINE_LAYOUT+      = showString "VK_OBJECT_TYPE_PIPELINE_LAYOUT"+    showsPrec _ VK_OBJECT_TYPE_RENDER_PASS+      = showString "VK_OBJECT_TYPE_RENDER_PASS"+    showsPrec _ VK_OBJECT_TYPE_PIPELINE+      = showString "VK_OBJECT_TYPE_PIPELINE"+    showsPrec _ VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT+      = showString "VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT"+    showsPrec _ VK_OBJECT_TYPE_SAMPLER+      = showString "VK_OBJECT_TYPE_SAMPLER"+    showsPrec _ VK_OBJECT_TYPE_DESCRIPTOR_POOL+      = showString "VK_OBJECT_TYPE_DESCRIPTOR_POOL"+    showsPrec _ VK_OBJECT_TYPE_DESCRIPTOR_SET+      = showString "VK_OBJECT_TYPE_DESCRIPTOR_SET"+    showsPrec _ VK_OBJECT_TYPE_FRAMEBUFFER+      = showString "VK_OBJECT_TYPE_FRAMEBUFFER"+    showsPrec _ VK_OBJECT_TYPE_COMMAND_POOL+      = showString "VK_OBJECT_TYPE_COMMAND_POOL"+    showsPrec p (VkObjectType x)+      = showParen (p >= 11) (showString "VkObjectType " . showsPrec 11 x)  instance Read VkObjectType where-        readPrec-          = parens-              (choose-                 [("VK_OBJECT_TYPE_UNKNOWN", pure VK_OBJECT_TYPE_UNKNOWN),-                  ("VK_OBJECT_TYPE_INSTANCE", pure VK_OBJECT_TYPE_INSTANCE),-                  ("VK_OBJECT_TYPE_PHYSICAL_DEVICE",-                   pure VK_OBJECT_TYPE_PHYSICAL_DEVICE),-                  ("VK_OBJECT_TYPE_DEVICE", pure VK_OBJECT_TYPE_DEVICE),-                  ("VK_OBJECT_TYPE_QUEUE", pure VK_OBJECT_TYPE_QUEUE),-                  ("VK_OBJECT_TYPE_SEMAPHORE", pure VK_OBJECT_TYPE_SEMAPHORE),-                  ("VK_OBJECT_TYPE_COMMAND_BUFFER",-                   pure VK_OBJECT_TYPE_COMMAND_BUFFER),-                  ("VK_OBJECT_TYPE_FENCE", pure VK_OBJECT_TYPE_FENCE),-                  ("VK_OBJECT_TYPE_DEVICE_MEMORY",-                   pure VK_OBJECT_TYPE_DEVICE_MEMORY),-                  ("VK_OBJECT_TYPE_BUFFER", pure VK_OBJECT_TYPE_BUFFER),-                  ("VK_OBJECT_TYPE_IMAGE", pure VK_OBJECT_TYPE_IMAGE),-                  ("VK_OBJECT_TYPE_EVENT", pure VK_OBJECT_TYPE_EVENT),-                  ("VK_OBJECT_TYPE_QUERY_POOL", pure VK_OBJECT_TYPE_QUERY_POOL),-                  ("VK_OBJECT_TYPE_BUFFER_VIEW", pure VK_OBJECT_TYPE_BUFFER_VIEW),-                  ("VK_OBJECT_TYPE_IMAGE_VIEW", pure VK_OBJECT_TYPE_IMAGE_VIEW),-                  ("VK_OBJECT_TYPE_SHADER_MODULE",-                   pure VK_OBJECT_TYPE_SHADER_MODULE),-                  ("VK_OBJECT_TYPE_PIPELINE_CACHE",-                   pure VK_OBJECT_TYPE_PIPELINE_CACHE),-                  ("VK_OBJECT_TYPE_PIPELINE_LAYOUT",-                   pure VK_OBJECT_TYPE_PIPELINE_LAYOUT),-                  ("VK_OBJECT_TYPE_RENDER_PASS", pure VK_OBJECT_TYPE_RENDER_PASS),-                  ("VK_OBJECT_TYPE_PIPELINE", pure VK_OBJECT_TYPE_PIPELINE),-                  ("VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT",-                   pure VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT),-                  ("VK_OBJECT_TYPE_SAMPLER", pure VK_OBJECT_TYPE_SAMPLER),-                  ("VK_OBJECT_TYPE_DESCRIPTOR_POOL",-                   pure VK_OBJECT_TYPE_DESCRIPTOR_POOL),-                  ("VK_OBJECT_TYPE_DESCRIPTOR_SET",-                   pure VK_OBJECT_TYPE_DESCRIPTOR_SET),-                  ("VK_OBJECT_TYPE_FRAMEBUFFER", pure VK_OBJECT_TYPE_FRAMEBUFFER),-                  ("VK_OBJECT_TYPE_COMMAND_POOL", pure VK_OBJECT_TYPE_COMMAND_POOL)]-                 +++-                 prec 10-                   (expectP (Ident "VkObjectType") >>-                      (VkObjectType <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_OBJECT_TYPE_UNKNOWN", pure VK_OBJECT_TYPE_UNKNOWN),+              ("VK_OBJECT_TYPE_INSTANCE", pure VK_OBJECT_TYPE_INSTANCE),+              ("VK_OBJECT_TYPE_PHYSICAL_DEVICE",+               pure VK_OBJECT_TYPE_PHYSICAL_DEVICE),+              ("VK_OBJECT_TYPE_DEVICE", pure VK_OBJECT_TYPE_DEVICE),+              ("VK_OBJECT_TYPE_QUEUE", pure VK_OBJECT_TYPE_QUEUE),+              ("VK_OBJECT_TYPE_SEMAPHORE", pure VK_OBJECT_TYPE_SEMAPHORE),+              ("VK_OBJECT_TYPE_COMMAND_BUFFER",+               pure VK_OBJECT_TYPE_COMMAND_BUFFER),+              ("VK_OBJECT_TYPE_FENCE", pure VK_OBJECT_TYPE_FENCE),+              ("VK_OBJECT_TYPE_DEVICE_MEMORY",+               pure VK_OBJECT_TYPE_DEVICE_MEMORY),+              ("VK_OBJECT_TYPE_BUFFER", pure VK_OBJECT_TYPE_BUFFER),+              ("VK_OBJECT_TYPE_IMAGE", pure VK_OBJECT_TYPE_IMAGE),+              ("VK_OBJECT_TYPE_EVENT", pure VK_OBJECT_TYPE_EVENT),+              ("VK_OBJECT_TYPE_QUERY_POOL", pure VK_OBJECT_TYPE_QUERY_POOL),+              ("VK_OBJECT_TYPE_BUFFER_VIEW", pure VK_OBJECT_TYPE_BUFFER_VIEW),+              ("VK_OBJECT_TYPE_IMAGE_VIEW", pure VK_OBJECT_TYPE_IMAGE_VIEW),+              ("VK_OBJECT_TYPE_SHADER_MODULE",+               pure VK_OBJECT_TYPE_SHADER_MODULE),+              ("VK_OBJECT_TYPE_PIPELINE_CACHE",+               pure VK_OBJECT_TYPE_PIPELINE_CACHE),+              ("VK_OBJECT_TYPE_PIPELINE_LAYOUT",+               pure VK_OBJECT_TYPE_PIPELINE_LAYOUT),+              ("VK_OBJECT_TYPE_RENDER_PASS", pure VK_OBJECT_TYPE_RENDER_PASS),+              ("VK_OBJECT_TYPE_PIPELINE", pure VK_OBJECT_TYPE_PIPELINE),+              ("VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT",+               pure VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT),+              ("VK_OBJECT_TYPE_SAMPLER", pure VK_OBJECT_TYPE_SAMPLER),+              ("VK_OBJECT_TYPE_DESCRIPTOR_POOL",+               pure VK_OBJECT_TYPE_DESCRIPTOR_POOL),+              ("VK_OBJECT_TYPE_DESCRIPTOR_SET",+               pure VK_OBJECT_TYPE_DESCRIPTOR_SET),+              ("VK_OBJECT_TYPE_FRAMEBUFFER", pure VK_OBJECT_TYPE_FRAMEBUFFER),+              ("VK_OBJECT_TYPE_COMMAND_POOL", pure VK_OBJECT_TYPE_COMMAND_POOL)]+             ++++             prec 10+               (expectP (Ident "VkObjectType") >>+                  (VkObjectType <$> step readPrec)))  pattern VK_OBJECT_TYPE_UNKNOWN :: VkObjectType 
src-gen/Graphics/Vulkan/Types/Enum/PeerMemoryFeatureFlag.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -21,9 +19,7 @@        where import Data.Bits                       (Bits, FiniteBits) import Data.Coerce                     (coerce)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -32,20 +28,19 @@ import Text.Read.Lex                   (Lexeme (..))  newtype VkPeerMemoryFeatureFlagBitsKHR = VkPeerMemoryFeatureFlagBitsKHR VkFlags-                                           deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                     FiniteBits, Storable, Real, Data, Generic)+                                         deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkPeerMemoryFeatureFlagBitsKHR where-        {-# INLINE show #-}-        show (VkPeerMemoryFeatureFlagBitsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPeerMemoryFeatureFlagBitsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPeerMemoryFeatureBitmask (a ::                                       FlagType) = VkPeerMemoryFeatureBitmask VkFlags-                                                    deriving (Eq, Ord, Storable, Data, Generic)+                                                  deriving (Eq, Ord, Storable)  type VkPeerMemoryFeatureFlags = VkPeerMemoryFeatureBitmask FlagMask @@ -67,45 +62,35 @@  deriving instance FiniteBits (VkPeerMemoryFeatureBitmask FlagMask) -deriving instance Integral (VkPeerMemoryFeatureBitmask FlagMask)--deriving instance Num (VkPeerMemoryFeatureBitmask FlagMask)--deriving instance Bounded (VkPeerMemoryFeatureBitmask FlagMask)--deriving instance Enum (VkPeerMemoryFeatureBitmask FlagMask)--deriving instance Real (VkPeerMemoryFeatureBitmask FlagMask)- instance Show (VkPeerMemoryFeatureBitmask a) where-        showsPrec _ VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT-          = showString "VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT"-        showsPrec _ VK_PEER_MEMORY_FEATURE_COPY_DST_BIT-          = showString "VK_PEER_MEMORY_FEATURE_COPY_DST_BIT"-        showsPrec _ VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT-          = showString "VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT"-        showsPrec _ VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT-          = showString "VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT"-        showsPrec p (VkPeerMemoryFeatureBitmask x)-          = showParen (p >= 11)-              (showString "VkPeerMemoryFeatureBitmask " . showsPrec 11 x)+    showsPrec _ VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT+      = showString "VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT"+    showsPrec _ VK_PEER_MEMORY_FEATURE_COPY_DST_BIT+      = showString "VK_PEER_MEMORY_FEATURE_COPY_DST_BIT"+    showsPrec _ VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT+      = showString "VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT"+    showsPrec _ VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT+      = showString "VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT"+    showsPrec p (VkPeerMemoryFeatureBitmask x)+      = showParen (p >= 11)+          (showString "VkPeerMemoryFeatureBitmask " . showsPrec 11 x)  instance Read (VkPeerMemoryFeatureBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT",-                   pure VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT),-                  ("VK_PEER_MEMORY_FEATURE_COPY_DST_BIT",-                   pure VK_PEER_MEMORY_FEATURE_COPY_DST_BIT),-                  ("VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT",-                   pure VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT),-                  ("VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT",-                   pure VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkPeerMemoryFeatureBitmask") >>-                      (VkPeerMemoryFeatureBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT",+               pure VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT),+              ("VK_PEER_MEMORY_FEATURE_COPY_DST_BIT",+               pure VK_PEER_MEMORY_FEATURE_COPY_DST_BIT),+              ("VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT",+               pure VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT),+              ("VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT",+               pure VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT)]+             ++++             prec 10+               (expectP (Ident "VkPeerMemoryFeatureBitmask") >>+                  (VkPeerMemoryFeatureBitmask <$> step readPrec)))  -- | Can read with vkCmdCopy commands --
src-gen/Graphics/Vulkan/Types/Enum/PhysicalDeviceType.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -12,9 +10,7 @@                              VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU,                              VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU, VK_PHYSICAL_DEVICE_TYPE_CPU))        where-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Text.ParserCombinators.ReadPrec (prec, step, (+++))@@ -25,40 +21,40 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceType VkPhysicalDeviceType registry at www.khronos.org> newtype VkPhysicalDeviceType = VkPhysicalDeviceType Int32-                                 deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                               deriving (Eq, Ord, Enum, Storable)  instance Show VkPhysicalDeviceType where-        showsPrec _ VK_PHYSICAL_DEVICE_TYPE_OTHER-          = showString "VK_PHYSICAL_DEVICE_TYPE_OTHER"-        showsPrec _ VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU-          = showString "VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU"-        showsPrec _ VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU-          = showString "VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU"-        showsPrec _ VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU-          = showString "VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU"-        showsPrec _ VK_PHYSICAL_DEVICE_TYPE_CPU-          = showString "VK_PHYSICAL_DEVICE_TYPE_CPU"-        showsPrec p (VkPhysicalDeviceType x)-          = showParen (p >= 11)-              (showString "VkPhysicalDeviceType " . showsPrec 11 x)+    showsPrec _ VK_PHYSICAL_DEVICE_TYPE_OTHER+      = showString "VK_PHYSICAL_DEVICE_TYPE_OTHER"+    showsPrec _ VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU+      = showString "VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU"+    showsPrec _ VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU+      = showString "VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU"+    showsPrec _ VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU+      = showString "VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU"+    showsPrec _ VK_PHYSICAL_DEVICE_TYPE_CPU+      = showString "VK_PHYSICAL_DEVICE_TYPE_CPU"+    showsPrec p (VkPhysicalDeviceType x)+      = showParen (p >= 11)+          (showString "VkPhysicalDeviceType " . showsPrec 11 x)  instance Read VkPhysicalDeviceType where-        readPrec-          = parens-              (choose-                 [("VK_PHYSICAL_DEVICE_TYPE_OTHER",-                   pure VK_PHYSICAL_DEVICE_TYPE_OTHER),-                  ("VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU",-                   pure VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU),-                  ("VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU",-                   pure VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU),-                  ("VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU",-                   pure VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU),-                  ("VK_PHYSICAL_DEVICE_TYPE_CPU", pure VK_PHYSICAL_DEVICE_TYPE_CPU)]-                 +++-                 prec 10-                   (expectP (Ident "VkPhysicalDeviceType") >>-                      (VkPhysicalDeviceType <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_PHYSICAL_DEVICE_TYPE_OTHER",+               pure VK_PHYSICAL_DEVICE_TYPE_OTHER),+              ("VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU",+               pure VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU),+              ("VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU",+               pure VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU),+              ("VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU",+               pure VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU),+              ("VK_PHYSICAL_DEVICE_TYPE_CPU", pure VK_PHYSICAL_DEVICE_TYPE_CPU)]+             ++++             prec 10+               (expectP (Ident "VkPhysicalDeviceType") >>+                  (VkPhysicalDeviceType <$> step readPrec)))  pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType 
src-gen/Graphics/Vulkan/Types/Enum/Pipeline.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -54,9 +52,7 @@        where import Data.Bits                       (Bits, FiniteBits) import Data.Coerce                     (coerce)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType, Int32) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -68,29 +64,29 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineBindPoint VkPipelineBindPoint registry at www.khronos.org> newtype VkPipelineBindPoint = VkPipelineBindPoint Int32-                                deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                              deriving (Eq, Ord, Enum, Storable)  instance Show VkPipelineBindPoint where-        showsPrec _ VK_PIPELINE_BIND_POINT_GRAPHICS-          = showString "VK_PIPELINE_BIND_POINT_GRAPHICS"-        showsPrec _ VK_PIPELINE_BIND_POINT_COMPUTE-          = showString "VK_PIPELINE_BIND_POINT_COMPUTE"-        showsPrec p (VkPipelineBindPoint x)-          = showParen (p >= 11)-              (showString "VkPipelineBindPoint " . showsPrec 11 x)+    showsPrec _ VK_PIPELINE_BIND_POINT_GRAPHICS+      = showString "VK_PIPELINE_BIND_POINT_GRAPHICS"+    showsPrec _ VK_PIPELINE_BIND_POINT_COMPUTE+      = showString "VK_PIPELINE_BIND_POINT_COMPUTE"+    showsPrec p (VkPipelineBindPoint x)+      = showParen (p >= 11)+          (showString "VkPipelineBindPoint " . showsPrec 11 x)  instance Read VkPipelineBindPoint where-        readPrec-          = parens-              (choose-                 [("VK_PIPELINE_BIND_POINT_GRAPHICS",-                   pure VK_PIPELINE_BIND_POINT_GRAPHICS),-                  ("VK_PIPELINE_BIND_POINT_COMPUTE",-                   pure VK_PIPELINE_BIND_POINT_COMPUTE)]-                 +++-                 prec 10-                   (expectP (Ident "VkPipelineBindPoint") >>-                      (VkPipelineBindPoint <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_PIPELINE_BIND_POINT_GRAPHICS",+               pure VK_PIPELINE_BIND_POINT_GRAPHICS),+              ("VK_PIPELINE_BIND_POINT_COMPUTE",+               pure VK_PIPELINE_BIND_POINT_COMPUTE)]+             ++++             prec 10+               (expectP (Ident "VkPipelineBindPoint") >>+                  (VkPipelineBindPoint <$> step readPrec)))  pattern VK_PIPELINE_BIND_POINT_GRAPHICS :: VkPipelineBindPoint @@ -101,41 +97,39 @@ pattern VK_PIPELINE_BIND_POINT_COMPUTE = VkPipelineBindPoint 1  newtype VkPipelineCacheCreateFlagBits = VkPipelineCacheCreateFlagBits VkFlags-                                          deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                    FiniteBits, Storable, Real, Data, Generic)+                                        deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkPipelineCacheCreateFlagBits where-        {-# INLINE show #-}-        show (VkPipelineCacheCreateFlagBits x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineCacheCreateFlagBits where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  -- | type = @enum@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion registry at www.khronos.org> newtype VkPipelineCacheHeaderVersion = VkPipelineCacheHeaderVersion Int32-                                         deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,-                                                   Generic)+                                       deriving (Eq, Ord, Enum, Storable)  instance Show VkPipelineCacheHeaderVersion where-        showsPrec _ VK_PIPELINE_CACHE_HEADER_VERSION_ONE-          = showString "VK_PIPELINE_CACHE_HEADER_VERSION_ONE"-        showsPrec p (VkPipelineCacheHeaderVersion x)-          = showParen (p >= 11)-              (showString "VkPipelineCacheHeaderVersion " . showsPrec 11 x)+    showsPrec _ VK_PIPELINE_CACHE_HEADER_VERSION_ONE+      = showString "VK_PIPELINE_CACHE_HEADER_VERSION_ONE"+    showsPrec p (VkPipelineCacheHeaderVersion x)+      = showParen (p >= 11)+          (showString "VkPipelineCacheHeaderVersion " . showsPrec 11 x)  instance Read VkPipelineCacheHeaderVersion where-        readPrec-          = parens-              (choose-                 [("VK_PIPELINE_CACHE_HEADER_VERSION_ONE",-                   pure VK_PIPELINE_CACHE_HEADER_VERSION_ONE)]-                 +++-                 prec 10-                   (expectP (Ident "VkPipelineCacheHeaderVersion") >>-                      (VkPipelineCacheHeaderVersion <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_PIPELINE_CACHE_HEADER_VERSION_ONE",+               pure VK_PIPELINE_CACHE_HEADER_VERSION_ONE)]+             ++++             prec 10+               (expectP (Ident "VkPipelineCacheHeaderVersion") >>+                  (VkPipelineCacheHeaderVersion <$> step readPrec)))  pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE ::         VkPipelineCacheHeaderVersion@@ -144,21 +138,20 @@         VkPipelineCacheHeaderVersion 1  newtype VkPipelineColorBlendStateCreateFlagBits = VkPipelineColorBlendStateCreateFlagBits VkFlags-                                                    deriving (Eq, Ord, Num, Bounded, Enum, Integral,-                                                              Bits, FiniteBits, Storable, Real,-                                                              Data, Generic)+                                                  deriving (Eq, Ord, Enum, Bits, FiniteBits,+                                                            Storable)  instance Show VkPipelineColorBlendStateCreateFlagBits where-        {-# INLINE show #-}-        show (VkPipelineColorBlendStateCreateFlagBits x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineColorBlendStateCreateFlagBits where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPipelineCreateBitmask (a ::                                    FlagType) = VkPipelineCreateBitmask VkFlags-                                                 deriving (Eq, Ord, Storable, Data, Generic)+                                               deriving (Eq, Ord, Storable)  type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask @@ -178,41 +171,31 @@  deriving instance FiniteBits (VkPipelineCreateBitmask FlagMask) -deriving instance Integral (VkPipelineCreateBitmask FlagMask)--deriving instance Num (VkPipelineCreateBitmask FlagMask)--deriving instance Bounded (VkPipelineCreateBitmask FlagMask)--deriving instance Enum (VkPipelineCreateBitmask FlagMask)--deriving instance Real (VkPipelineCreateBitmask FlagMask)- instance Show (VkPipelineCreateBitmask a) where-        showsPrec _ VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT-          = showString "VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT"-        showsPrec _ VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT-          = showString "VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT"-        showsPrec _ VK_PIPELINE_CREATE_DERIVATIVE_BIT-          = showString "VK_PIPELINE_CREATE_DERIVATIVE_BIT"-        showsPrec p (VkPipelineCreateBitmask x)-          = showParen (p >= 11)-              (showString "VkPipelineCreateBitmask " . showsPrec 11 x)+    showsPrec _ VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT+      = showString "VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT"+    showsPrec _ VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT+      = showString "VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT"+    showsPrec _ VK_PIPELINE_CREATE_DERIVATIVE_BIT+      = showString "VK_PIPELINE_CREATE_DERIVATIVE_BIT"+    showsPrec p (VkPipelineCreateBitmask x)+      = showParen (p >= 11)+          (showString "VkPipelineCreateBitmask " . showsPrec 11 x)  instance Read (VkPipelineCreateBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT",-                   pure VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT),-                  ("VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT",-                   pure VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT),-                  ("VK_PIPELINE_CREATE_DERIVATIVE_BIT",-                   pure VK_PIPELINE_CREATE_DERIVATIVE_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkPipelineCreateBitmask") >>-                      (VkPipelineCreateBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT",+               pure VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT),+              ("VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT",+               pure VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT),+              ("VK_PIPELINE_CREATE_DERIVATIVE_BIT",+               pure VK_PIPELINE_CREATE_DERIVATIVE_BIT)]+             ++++             prec 10+               (expectP (Ident "VkPipelineCreateBitmask") >>+                  (VkPipelineCreateBitmask <$> step readPrec)))  -- | bitpos = @0@ pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT ::@@ -236,98 +219,89 @@         VkPipelineCreateBitmask 4  newtype VkPipelineDepthStencilStateCreateFlagBits = VkPipelineDepthStencilStateCreateFlagBits VkFlags-                                                      deriving (Eq, Ord, Num, Bounded, Enum,-                                                                Integral, Bits, FiniteBits,-                                                                Storable, Real, Data, Generic)+                                                    deriving (Eq, Ord, Enum, Bits, FiniteBits,+                                                              Storable)  instance Show VkPipelineDepthStencilStateCreateFlagBits where-        {-# INLINE show #-}-        show (VkPipelineDepthStencilStateCreateFlagBits x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineDepthStencilStateCreateFlagBits where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPipelineDynamicStateCreateFlagBits = VkPipelineDynamicStateCreateFlagBits VkFlags-                                                 deriving (Eq, Ord, Num, Bounded, Enum, Integral,-                                                           Bits, FiniteBits, Storable, Real, Data,-                                                           Generic)+                                               deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkPipelineDynamicStateCreateFlagBits where-        {-# INLINE show #-}-        show (VkPipelineDynamicStateCreateFlagBits x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineDynamicStateCreateFlagBits where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPipelineInputAssemblyStateCreateFlagBits = VkPipelineInputAssemblyStateCreateFlagBits VkFlags-                                                       deriving (Eq, Ord, Num, Bounded, Enum,-                                                                 Integral, Bits, FiniteBits,-                                                                 Storable, Real, Data, Generic)+                                                     deriving (Eq, Ord, Enum, Bits, FiniteBits,+                                                               Storable)  instance Show VkPipelineInputAssemblyStateCreateFlagBits where-        {-# INLINE show #-}-        show (VkPipelineInputAssemblyStateCreateFlagBits x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineInputAssemblyStateCreateFlagBits where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPipelineLayoutCreateFlagBits = VkPipelineLayoutCreateFlagBits VkFlags-                                           deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                     FiniteBits, Storable, Real, Data, Generic)+                                         deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkPipelineLayoutCreateFlagBits where-        {-# INLINE show #-}-        show (VkPipelineLayoutCreateFlagBits x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineLayoutCreateFlagBits where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPipelineMultisampleStateCreateFlagBits = VkPipelineMultisampleStateCreateFlagBits VkFlags-                                                     deriving (Eq, Ord, Num, Bounded, Enum,-                                                               Integral, Bits, FiniteBits, Storable,-                                                               Real, Data, Generic)+                                                   deriving (Eq, Ord, Enum, Bits, FiniteBits,+                                                             Storable)  instance Show VkPipelineMultisampleStateCreateFlagBits where-        {-# INLINE show #-}-        show (VkPipelineMultisampleStateCreateFlagBits x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineMultisampleStateCreateFlagBits where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPipelineRasterizationStateCreateFlagBits = VkPipelineRasterizationStateCreateFlagBits VkFlags-                                                       deriving (Eq, Ord, Num, Bounded, Enum,-                                                                 Integral, Bits, FiniteBits,-                                                                 Storable, Real, Data, Generic)+                                                     deriving (Eq, Ord, Enum, Bits, FiniteBits,+                                                               Storable)  instance Show VkPipelineRasterizationStateCreateFlagBits where-        {-# INLINE show #-}-        show (VkPipelineRasterizationStateCreateFlagBits x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineRasterizationStateCreateFlagBits where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPipelineShaderStageCreateFlagBits = VkPipelineShaderStageCreateFlagBits VkFlags-                                                deriving (Eq, Ord, Num, Bounded, Enum, Integral,-                                                          Bits, FiniteBits, Storable, Real, Data,-                                                          Generic)+                                              deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkPipelineShaderStageCreateFlagBits where-        {-# INLINE show #-}-        show (VkPipelineShaderStageCreateFlagBits x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineShaderStageCreateFlagBits where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPipelineStageBitmask (a ::                                   FlagType) = VkPipelineStageBitmask VkFlags-                                                deriving (Eq, Ord, Storable, Data, Generic)+                                              deriving (Eq, Ord, Storable)  type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask @@ -347,96 +321,86 @@  deriving instance FiniteBits (VkPipelineStageBitmask FlagMask) -deriving instance Integral (VkPipelineStageBitmask FlagMask)--deriving instance Num (VkPipelineStageBitmask FlagMask)--deriving instance Bounded (VkPipelineStageBitmask FlagMask)--deriving instance Enum (VkPipelineStageBitmask FlagMask)--deriving instance Real (VkPipelineStageBitmask FlagMask)- instance Show (VkPipelineStageBitmask a) where-        showsPrec _ VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT-          = showString "VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT"-        showsPrec _ VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT-          = showString "VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT"-        showsPrec _ VK_PIPELINE_STAGE_VERTEX_INPUT_BIT-          = showString "VK_PIPELINE_STAGE_VERTEX_INPUT_BIT"-        showsPrec _ VK_PIPELINE_STAGE_VERTEX_SHADER_BIT-          = showString "VK_PIPELINE_STAGE_VERTEX_SHADER_BIT"-        showsPrec _ VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT-          = showString "VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT"-        showsPrec _ VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT-          = showString "VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT"-        showsPrec _ VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT-          = showString "VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT"-        showsPrec _ VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT-          = showString "VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT"-        showsPrec _ VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT-          = showString "VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT"-        showsPrec _ VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT-          = showString "VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT"-        showsPrec _ VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT-          = showString "VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT"-        showsPrec _ VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT-          = showString "VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT"-        showsPrec _ VK_PIPELINE_STAGE_TRANSFER_BIT-          = showString "VK_PIPELINE_STAGE_TRANSFER_BIT"-        showsPrec _ VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT-          = showString "VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT"-        showsPrec _ VK_PIPELINE_STAGE_HOST_BIT-          = showString "VK_PIPELINE_STAGE_HOST_BIT"-        showsPrec _ VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT-          = showString "VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT"-        showsPrec _ VK_PIPELINE_STAGE_ALL_COMMANDS_BIT-          = showString "VK_PIPELINE_STAGE_ALL_COMMANDS_BIT"-        showsPrec p (VkPipelineStageBitmask x)-          = showParen (p >= 11)-              (showString "VkPipelineStageBitmask " . showsPrec 11 x)+    showsPrec _ VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT+      = showString "VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT"+    showsPrec _ VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT+      = showString "VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT"+    showsPrec _ VK_PIPELINE_STAGE_VERTEX_INPUT_BIT+      = showString "VK_PIPELINE_STAGE_VERTEX_INPUT_BIT"+    showsPrec _ VK_PIPELINE_STAGE_VERTEX_SHADER_BIT+      = showString "VK_PIPELINE_STAGE_VERTEX_SHADER_BIT"+    showsPrec _ VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT+      = showString "VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT"+    showsPrec _ VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT+      = showString "VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT"+    showsPrec _ VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT+      = showString "VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT"+    showsPrec _ VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT+      = showString "VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT"+    showsPrec _ VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT+      = showString "VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT"+    showsPrec _ VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT+      = showString "VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT"+    showsPrec _ VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT+      = showString "VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT"+    showsPrec _ VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT+      = showString "VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT"+    showsPrec _ VK_PIPELINE_STAGE_TRANSFER_BIT+      = showString "VK_PIPELINE_STAGE_TRANSFER_BIT"+    showsPrec _ VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT+      = showString "VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT"+    showsPrec _ VK_PIPELINE_STAGE_HOST_BIT+      = showString "VK_PIPELINE_STAGE_HOST_BIT"+    showsPrec _ VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT+      = showString "VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT"+    showsPrec _ VK_PIPELINE_STAGE_ALL_COMMANDS_BIT+      = showString "VK_PIPELINE_STAGE_ALL_COMMANDS_BIT"+    showsPrec p (VkPipelineStageBitmask x)+      = showParen (p >= 11)+          (showString "VkPipelineStageBitmask " . showsPrec 11 x)  instance Read (VkPipelineStageBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT",-                   pure VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT),-                  ("VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT",-                   pure VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT),-                  ("VK_PIPELINE_STAGE_VERTEX_INPUT_BIT",-                   pure VK_PIPELINE_STAGE_VERTEX_INPUT_BIT),-                  ("VK_PIPELINE_STAGE_VERTEX_SHADER_BIT",-                   pure VK_PIPELINE_STAGE_VERTEX_SHADER_BIT),-                  ("VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT",-                   pure VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT),-                  ("VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT",-                   pure VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT),-                  ("VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT",-                   pure VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT),-                  ("VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT",-                   pure VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT),-                  ("VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT",-                   pure VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT),-                  ("VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT",-                   pure VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT),-                  ("VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT",-                   pure VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT),-                  ("VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT",-                   pure VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT),-                  ("VK_PIPELINE_STAGE_TRANSFER_BIT",-                   pure VK_PIPELINE_STAGE_TRANSFER_BIT),-                  ("VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT",-                   pure VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT),-                  ("VK_PIPELINE_STAGE_HOST_BIT", pure VK_PIPELINE_STAGE_HOST_BIT),-                  ("VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT",-                   pure VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT),-                  ("VK_PIPELINE_STAGE_ALL_COMMANDS_BIT",-                   pure VK_PIPELINE_STAGE_ALL_COMMANDS_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkPipelineStageBitmask") >>-                      (VkPipelineStageBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT",+               pure VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT),+              ("VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT",+               pure VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT),+              ("VK_PIPELINE_STAGE_VERTEX_INPUT_BIT",+               pure VK_PIPELINE_STAGE_VERTEX_INPUT_BIT),+              ("VK_PIPELINE_STAGE_VERTEX_SHADER_BIT",+               pure VK_PIPELINE_STAGE_VERTEX_SHADER_BIT),+              ("VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT",+               pure VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT),+              ("VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT",+               pure VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT),+              ("VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT",+               pure VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT),+              ("VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT",+               pure VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT),+              ("VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT",+               pure VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT),+              ("VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT",+               pure VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT),+              ("VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT",+               pure VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT),+              ("VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT",+               pure VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT),+              ("VK_PIPELINE_STAGE_TRANSFER_BIT",+               pure VK_PIPELINE_STAGE_TRANSFER_BIT),+              ("VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT",+               pure VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT),+              ("VK_PIPELINE_STAGE_HOST_BIT", pure VK_PIPELINE_STAGE_HOST_BIT),+              ("VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT",+               pure VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT),+              ("VK_PIPELINE_STAGE_ALL_COMMANDS_BIT",+               pure VK_PIPELINE_STAGE_ALL_COMMANDS_BIT)]+             ++++             prec 10+               (expectP (Ident "VkPipelineStageBitmask") >>+                  (VkPipelineStageBitmask <$> step readPrec)))  -- | Before subsequent commands are processed --@@ -589,40 +553,36 @@         VkPipelineStageBitmask 65536  newtype VkPipelineTessellationStateCreateFlagBits = VkPipelineTessellationStateCreateFlagBits VkFlags-                                                      deriving (Eq, Ord, Num, Bounded, Enum,-                                                                Integral, Bits, FiniteBits,-                                                                Storable, Real, Data, Generic)+                                                    deriving (Eq, Ord, Enum, Bits, FiniteBits,+                                                              Storable)  instance Show VkPipelineTessellationStateCreateFlagBits where-        {-# INLINE show #-}-        show (VkPipelineTessellationStateCreateFlagBits x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineTessellationStateCreateFlagBits where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPipelineVertexInputStateCreateFlagBits = VkPipelineVertexInputStateCreateFlagBits VkFlags-                                                     deriving (Eq, Ord, Num, Bounded, Enum,-                                                               Integral, Bits, FiniteBits, Storable,-                                                               Real, Data, Generic)+                                                   deriving (Eq, Ord, Enum, Bits, FiniteBits,+                                                             Storable)  instance Show VkPipelineVertexInputStateCreateFlagBits where-        {-# INLINE show #-}-        show (VkPipelineVertexInputStateCreateFlagBits x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineVertexInputStateCreateFlagBits where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkPipelineViewportStateCreateFlagBits = VkPipelineViewportStateCreateFlagBits VkFlags-                                                  deriving (Eq, Ord, Num, Bounded, Enum, Integral,-                                                            Bits, FiniteBits, Storable, Real, Data,-                                                            Generic)+                                                deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkPipelineViewportStateCreateFlagBits where-        {-# INLINE show #-}-        show (VkPipelineViewportStateCreateFlagBits x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPipelineViewportStateCreateFlagBits where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
src-gen/Graphics/Vulkan/Types/Enum/PointClippingBehavior.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -13,9 +11,7 @@        where import Data.Bits                       (Bits, FiniteBits) import Data.Coerce                     (coerce)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Graphics.Vulkan.Types.BaseTypes (VkFlags)@@ -27,29 +23,29 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPointClippingBehavior VkPointClippingBehavior registry at www.khronos.org> newtype VkPointClippingBehavior = VkPointClippingBehavior Int32-                                    deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                                  deriving (Eq, Ord, Enum, Storable)  instance Show VkPointClippingBehavior where-        showsPrec _ VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES-          = showString "VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES"-        showsPrec _ VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY-          = showString "VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY"-        showsPrec p (VkPointClippingBehavior x)-          = showParen (p >= 11)-              (showString "VkPointClippingBehavior " . showsPrec 11 x)+    showsPrec _ VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES+      = showString "VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES"+    showsPrec _ VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY+      = showString "VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY"+    showsPrec p (VkPointClippingBehavior x)+      = showParen (p >= 11)+          (showString "VkPointClippingBehavior " . showsPrec 11 x)  instance Read VkPointClippingBehavior where-        readPrec-          = parens-              (choose-                 [("VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES",-                   pure VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES),-                  ("VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY",-                   pure VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY)]-                 +++-                 prec 10-                   (expectP (Ident "VkPointClippingBehavior") >>-                      (VkPointClippingBehavior <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES",+               pure VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES),+              ("VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY",+               pure VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY)]+             ++++             prec 10+               (expectP (Ident "VkPointClippingBehavior") >>+                  (VkPointClippingBehavior <$> step readPrec)))  pattern VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES ::         VkPointClippingBehavior@@ -64,13 +60,12 @@         VkPointClippingBehavior 1  newtype VkPointClippingBehaviorKHR = VkPointClippingBehaviorKHR VkFlags-                                       deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                 FiniteBits, Storable, Real, Data, Generic)+                                     deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkPointClippingBehaviorKHR where-        {-# INLINE show #-}-        show (VkPointClippingBehaviorKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkPointClippingBehaviorKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
src-gen/Graphics/Vulkan/Types/Enum/PolygonMode.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -9,9 +7,7 @@        (VkPolygonMode(VkPolygonMode, VK_POLYGON_MODE_FILL,                       VK_POLYGON_MODE_LINE, VK_POLYGON_MODE_POINT))        where-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Text.ParserCombinators.ReadPrec (prec, step, (+++))@@ -22,30 +18,30 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPolygonMode VkPolygonMode registry at www.khronos.org> newtype VkPolygonMode = VkPolygonMode Int32-                          deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                        deriving (Eq, Ord, Enum, Storable)  instance Show VkPolygonMode where-        showsPrec _ VK_POLYGON_MODE_FILL-          = showString "VK_POLYGON_MODE_FILL"-        showsPrec _ VK_POLYGON_MODE_LINE-          = showString "VK_POLYGON_MODE_LINE"-        showsPrec _ VK_POLYGON_MODE_POINT-          = showString "VK_POLYGON_MODE_POINT"-        showsPrec p (VkPolygonMode x)-          = showParen (p >= 11)-              (showString "VkPolygonMode " . showsPrec 11 x)+    showsPrec _ VK_POLYGON_MODE_FILL+      = showString "VK_POLYGON_MODE_FILL"+    showsPrec _ VK_POLYGON_MODE_LINE+      = showString "VK_POLYGON_MODE_LINE"+    showsPrec _ VK_POLYGON_MODE_POINT+      = showString "VK_POLYGON_MODE_POINT"+    showsPrec p (VkPolygonMode x)+      = showParen (p >= 11)+          (showString "VkPolygonMode " . showsPrec 11 x)  instance Read VkPolygonMode where-        readPrec-          = parens-              (choose-                 [("VK_POLYGON_MODE_FILL", pure VK_POLYGON_MODE_FILL),-                  ("VK_POLYGON_MODE_LINE", pure VK_POLYGON_MODE_LINE),-                  ("VK_POLYGON_MODE_POINT", pure VK_POLYGON_MODE_POINT)]-                 +++-                 prec 10-                   (expectP (Ident "VkPolygonMode") >>-                      (VkPolygonMode <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_POLYGON_MODE_FILL", pure VK_POLYGON_MODE_FILL),+              ("VK_POLYGON_MODE_LINE", pure VK_POLYGON_MODE_LINE),+              ("VK_POLYGON_MODE_POINT", pure VK_POLYGON_MODE_POINT)]+             ++++             prec 10+               (expectP (Ident "VkPolygonMode") >>+                  (VkPolygonMode <$> step readPrec)))  pattern VK_POLYGON_MODE_FILL :: VkPolygonMode 
src-gen/Graphics/Vulkan/Types/Enum/PresentModeKHR.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -10,9 +8,7 @@                          VK_PRESENT_MODE_MAILBOX_KHR, VK_PRESENT_MODE_FIFO_KHR,                          VK_PRESENT_MODE_FIFO_RELAXED_KHR))        where-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Text.ParserCombinators.ReadPrec (prec, step, (+++))@@ -23,35 +19,35 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPresentModeKHR VkPresentModeKHR registry at www.khronos.org> newtype VkPresentModeKHR = VkPresentModeKHR Int32-                             deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                           deriving (Eq, Ord, Enum, Storable)  instance Show VkPresentModeKHR where-        showsPrec _ VK_PRESENT_MODE_IMMEDIATE_KHR-          = showString "VK_PRESENT_MODE_IMMEDIATE_KHR"-        showsPrec _ VK_PRESENT_MODE_MAILBOX_KHR-          = showString "VK_PRESENT_MODE_MAILBOX_KHR"-        showsPrec _ VK_PRESENT_MODE_FIFO_KHR-          = showString "VK_PRESENT_MODE_FIFO_KHR"-        showsPrec _ VK_PRESENT_MODE_FIFO_RELAXED_KHR-          = showString "VK_PRESENT_MODE_FIFO_RELAXED_KHR"-        showsPrec p (VkPresentModeKHR x)-          = showParen (p >= 11)-              (showString "VkPresentModeKHR " . showsPrec 11 x)+    showsPrec _ VK_PRESENT_MODE_IMMEDIATE_KHR+      = showString "VK_PRESENT_MODE_IMMEDIATE_KHR"+    showsPrec _ VK_PRESENT_MODE_MAILBOX_KHR+      = showString "VK_PRESENT_MODE_MAILBOX_KHR"+    showsPrec _ VK_PRESENT_MODE_FIFO_KHR+      = showString "VK_PRESENT_MODE_FIFO_KHR"+    showsPrec _ VK_PRESENT_MODE_FIFO_RELAXED_KHR+      = showString "VK_PRESENT_MODE_FIFO_RELAXED_KHR"+    showsPrec p (VkPresentModeKHR x)+      = showParen (p >= 11)+          (showString "VkPresentModeKHR " . showsPrec 11 x)  instance Read VkPresentModeKHR where-        readPrec-          = parens-              (choose-                 [("VK_PRESENT_MODE_IMMEDIATE_KHR",-                   pure VK_PRESENT_MODE_IMMEDIATE_KHR),-                  ("VK_PRESENT_MODE_MAILBOX_KHR", pure VK_PRESENT_MODE_MAILBOX_KHR),-                  ("VK_PRESENT_MODE_FIFO_KHR", pure VK_PRESENT_MODE_FIFO_KHR),-                  ("VK_PRESENT_MODE_FIFO_RELAXED_KHR",-                   pure VK_PRESENT_MODE_FIFO_RELAXED_KHR)]-                 +++-                 prec 10-                   (expectP (Ident "VkPresentModeKHR") >>-                      (VkPresentModeKHR <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_PRESENT_MODE_IMMEDIATE_KHR",+               pure VK_PRESENT_MODE_IMMEDIATE_KHR),+              ("VK_PRESENT_MODE_MAILBOX_KHR", pure VK_PRESENT_MODE_MAILBOX_KHR),+              ("VK_PRESENT_MODE_FIFO_KHR", pure VK_PRESENT_MODE_FIFO_KHR),+              ("VK_PRESENT_MODE_FIFO_RELAXED_KHR",+               pure VK_PRESENT_MODE_FIFO_RELAXED_KHR)]+             ++++             prec 10+               (expectP (Ident "VkPresentModeKHR") >>+                  (VkPresentModeKHR <$> step readPrec)))  pattern VK_PRESENT_MODE_IMMEDIATE_KHR :: VkPresentModeKHR 
src-gen/Graphics/Vulkan/Types/Enum/PrimitiveTopology.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -18,9 +16,7 @@                             VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY,                             VK_PRIMITIVE_TOPOLOGY_PATCH_LIST))        where-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Text.ParserCombinators.ReadPrec (prec, step, (+++))@@ -31,65 +27,65 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPrimitiveTopology VkPrimitiveTopology registry at www.khronos.org> newtype VkPrimitiveTopology = VkPrimitiveTopology Int32-                                deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                              deriving (Eq, Ord, Enum, Storable)  instance Show VkPrimitiveTopology where-        showsPrec _ VK_PRIMITIVE_TOPOLOGY_POINT_LIST-          = showString "VK_PRIMITIVE_TOPOLOGY_POINT_LIST"-        showsPrec _ VK_PRIMITIVE_TOPOLOGY_LINE_LIST-          = showString "VK_PRIMITIVE_TOPOLOGY_LINE_LIST"-        showsPrec _ VK_PRIMITIVE_TOPOLOGY_LINE_STRIP-          = showString "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP"-        showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST-          = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST"-        showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP-          = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP"-        showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN-          = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN"-        showsPrec _ VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY-          = showString "VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY"-        showsPrec _ VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY-          = showString "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY"-        showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY-          = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY"-        showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY-          = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY"-        showsPrec _ VK_PRIMITIVE_TOPOLOGY_PATCH_LIST-          = showString "VK_PRIMITIVE_TOPOLOGY_PATCH_LIST"-        showsPrec p (VkPrimitiveTopology x)-          = showParen (p >= 11)-              (showString "VkPrimitiveTopology " . showsPrec 11 x)+    showsPrec _ VK_PRIMITIVE_TOPOLOGY_POINT_LIST+      = showString "VK_PRIMITIVE_TOPOLOGY_POINT_LIST"+    showsPrec _ VK_PRIMITIVE_TOPOLOGY_LINE_LIST+      = showString "VK_PRIMITIVE_TOPOLOGY_LINE_LIST"+    showsPrec _ VK_PRIMITIVE_TOPOLOGY_LINE_STRIP+      = showString "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP"+    showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST+      = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST"+    showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP+      = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP"+    showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN+      = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN"+    showsPrec _ VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY+      = showString "VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY"+    showsPrec _ VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY+      = showString "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY"+    showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY+      = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY"+    showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY+      = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY"+    showsPrec _ VK_PRIMITIVE_TOPOLOGY_PATCH_LIST+      = showString "VK_PRIMITIVE_TOPOLOGY_PATCH_LIST"+    showsPrec p (VkPrimitiveTopology x)+      = showParen (p >= 11)+          (showString "VkPrimitiveTopology " . showsPrec 11 x)  instance Read VkPrimitiveTopology where-        readPrec-          = parens-              (choose-                 [("VK_PRIMITIVE_TOPOLOGY_POINT_LIST",-                   pure VK_PRIMITIVE_TOPOLOGY_POINT_LIST),-                  ("VK_PRIMITIVE_TOPOLOGY_LINE_LIST",-                   pure VK_PRIMITIVE_TOPOLOGY_LINE_LIST),-                  ("VK_PRIMITIVE_TOPOLOGY_LINE_STRIP",-                   pure VK_PRIMITIVE_TOPOLOGY_LINE_STRIP),-                  ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST",-                   pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST),-                  ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP",-                   pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP),-                  ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN",-                   pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN),-                  ("VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY",-                   pure VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY),-                  ("VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY",-                   pure VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY),-                  ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY",-                   pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY),-                  ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY",-                   pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY),-                  ("VK_PRIMITIVE_TOPOLOGY_PATCH_LIST",-                   pure VK_PRIMITIVE_TOPOLOGY_PATCH_LIST)]-                 +++-                 prec 10-                   (expectP (Ident "VkPrimitiveTopology") >>-                      (VkPrimitiveTopology <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_PRIMITIVE_TOPOLOGY_POINT_LIST",+               pure VK_PRIMITIVE_TOPOLOGY_POINT_LIST),+              ("VK_PRIMITIVE_TOPOLOGY_LINE_LIST",+               pure VK_PRIMITIVE_TOPOLOGY_LINE_LIST),+              ("VK_PRIMITIVE_TOPOLOGY_LINE_STRIP",+               pure VK_PRIMITIVE_TOPOLOGY_LINE_STRIP),+              ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST",+               pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST),+              ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP",+               pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP),+              ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN",+               pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN),+              ("VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY",+               pure VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY),+              ("VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY",+               pure VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY),+              ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY",+               pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY),+              ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY",+               pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY),+              ("VK_PRIMITIVE_TOPOLOGY_PATCH_LIST",+               pure VK_PRIMITIVE_TOPOLOGY_PATCH_LIST)]+             ++++             prec 10+               (expectP (Ident "VkPrimitiveTopology") >>+                  (VkPrimitiveTopology <$> step readPrec)))  pattern VK_PRIMITIVE_TOPOLOGY_POINT_LIST :: VkPrimitiveTopology 
src-gen/Graphics/Vulkan/Types/Enum/Query.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -39,9 +37,7 @@        where import Data.Bits                       (Bits, FiniteBits) import Data.Coerce                     (coerce)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType, Int32) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -51,7 +47,7 @@  newtype VkQueryControlBitmask (a ::                                  FlagType) = VkQueryControlBitmask VkFlags-                                               deriving (Eq, Ord, Storable, Data, Generic)+                                             deriving (Eq, Ord, Storable)  type VkQueryControlFlags = VkQueryControlBitmask FlagMask @@ -71,33 +67,23 @@  deriving instance FiniteBits (VkQueryControlBitmask FlagMask) -deriving instance Integral (VkQueryControlBitmask FlagMask)--deriving instance Num (VkQueryControlBitmask FlagMask)--deriving instance Bounded (VkQueryControlBitmask FlagMask)--deriving instance Enum (VkQueryControlBitmask FlagMask)--deriving instance Real (VkQueryControlBitmask FlagMask)- instance Show (VkQueryControlBitmask a) where-        showsPrec _ VK_QUERY_CONTROL_PRECISE_BIT-          = showString "VK_QUERY_CONTROL_PRECISE_BIT"-        showsPrec p (VkQueryControlBitmask x)-          = showParen (p >= 11)-              (showString "VkQueryControlBitmask " . showsPrec 11 x)+    showsPrec _ VK_QUERY_CONTROL_PRECISE_BIT+      = showString "VK_QUERY_CONTROL_PRECISE_BIT"+    showsPrec p (VkQueryControlBitmask x)+      = showParen (p >= 11)+          (showString "VkQueryControlBitmask " . showsPrec 11 x)  instance Read (VkQueryControlBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_QUERY_CONTROL_PRECISE_BIT",-                   pure VK_QUERY_CONTROL_PRECISE_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkQueryControlBitmask") >>-                      (VkQueryControlBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_QUERY_CONTROL_PRECISE_BIT",+               pure VK_QUERY_CONTROL_PRECISE_BIT)]+             ++++             prec 10+               (expectP (Ident "VkQueryControlBitmask") >>+                  (VkQueryControlBitmask <$> step readPrec)))  -- | Require precise results to be collected by the query --@@ -108,7 +94,7 @@  newtype VkQueryPipelineStatisticBitmask (a ::                                            FlagType) = VkQueryPipelineStatisticBitmask VkFlags-                                                         deriving (Eq, Ord, Storable, Data, Generic)+                                                       deriving (Eq, Ord, Storable)  type VkQueryPipelineStatisticFlags =      VkQueryPipelineStatisticBitmask FlagMask@@ -133,94 +119,82 @@ deriving instance          FiniteBits (VkQueryPipelineStatisticBitmask FlagMask) -deriving instance-         Integral (VkQueryPipelineStatisticBitmask FlagMask)--deriving instance Num (VkQueryPipelineStatisticBitmask FlagMask)--deriving instance-         Bounded (VkQueryPipelineStatisticBitmask FlagMask)--deriving instance Enum (VkQueryPipelineStatisticBitmask FlagMask)--deriving instance Real (VkQueryPipelineStatisticBitmask FlagMask)- instance Show (VkQueryPipelineStatisticBitmask a) where-        showsPrec _ VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT-          = showString-              "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT"-        showsPrec _-          VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT-          = showString-              "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT"-        showsPrec _-          VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT-          = showString-              "VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT"-        showsPrec _-          VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT-          = showString-              "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT"-        showsPrec _-          VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT-          = showString-              "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT"-        showsPrec _ VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT-          = showString "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT"-        showsPrec _ VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT-          = showString "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT"-        showsPrec _-          VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT-          = showString-              "VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT"-        showsPrec _-          VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT-          = showString-              "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT"-        showsPrec _-          VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT-          = showString-              "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT"-        showsPrec _-          VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT-          = showString-              "VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT"-        showsPrec p (VkQueryPipelineStatisticBitmask x)-          = showParen (p >= 11)-              (showString "VkQueryPipelineStatisticBitmask " . showsPrec 11 x)+    showsPrec _ VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT+      = showString+          "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT"+    showsPrec _+      VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT+      = showString+          "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT"+    showsPrec _+      VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT+      = showString+          "VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT"+    showsPrec _+      VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT+      = showString+          "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT"+    showsPrec _+      VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT+      = showString+          "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT"+    showsPrec _ VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT+      = showString "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT"+    showsPrec _ VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT+      = showString "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT"+    showsPrec _+      VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT+      = showString+          "VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT"+    showsPrec _+      VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT+      = showString+          "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT"+    showsPrec _+      VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT+      = showString+          "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT"+    showsPrec _+      VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT+      = showString+          "VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT"+    showsPrec p (VkQueryPipelineStatisticBitmask x)+      = showParen (p >= 11)+          (showString "VkQueryPipelineStatisticBitmask " . showsPrec 11 x)  instance Read (VkQueryPipelineStatisticBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT",-                   pure VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT),-                  ("VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT",-                   pure VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT),-                  ("VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT",-                   pure VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT),-                  ("VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT",-                   pure VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT),-                  ("VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT",-                   pure VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT),-                  ("VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT",-                   pure VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT),-                  ("VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT",-                   pure VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT),-                  ("VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT",-                   pure VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT),-                  ("VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT",-                   pure-                     VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT),-                  ("VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT",-                   pure-                     VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT),-                  ("VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT",-                   pure VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkQueryPipelineStatisticBitmask") >>-                      (VkQueryPipelineStatisticBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT",+               pure VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT),+              ("VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT",+               pure VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT),+              ("VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT",+               pure VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT),+              ("VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT",+               pure VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT),+              ("VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT",+               pure VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT),+              ("VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT",+               pure VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT),+              ("VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT",+               pure VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT),+              ("VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT",+               pure VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT),+              ("VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT",+               pure+                 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT),+              ("VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT",+               pure+                 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT),+              ("VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT",+               pure VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT)]+             ++++             prec 10+               (expectP (Ident "VkQueryPipelineStatisticBitmask") >>+                  (VkQueryPipelineStatisticBitmask <$> step readPrec)))  -- | Optional --@@ -322,20 +296,19 @@         = VkQueryPipelineStatisticBitmask 1024  newtype VkQueryPoolCreateFlagBits = VkQueryPoolCreateFlagBits VkFlags-                                      deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                FiniteBits, Storable, Real, Data, Generic)+                                    deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkQueryPoolCreateFlagBits where-        {-# INLINE show #-}-        show (VkQueryPoolCreateFlagBits x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkQueryPoolCreateFlagBits where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkQueryResultBitmask (a ::                                 FlagType) = VkQueryResultBitmask VkFlags-                                              deriving (Eq, Ord, Storable, Data, Generic)+                                            deriving (Eq, Ord, Storable)  type VkQueryResultFlags = VkQueryResultBitmask FlagMask @@ -355,42 +328,32 @@  deriving instance FiniteBits (VkQueryResultBitmask FlagMask) -deriving instance Integral (VkQueryResultBitmask FlagMask)--deriving instance Num (VkQueryResultBitmask FlagMask)--deriving instance Bounded (VkQueryResultBitmask FlagMask)--deriving instance Enum (VkQueryResultBitmask FlagMask)--deriving instance Real (VkQueryResultBitmask FlagMask)- instance Show (VkQueryResultBitmask a) where-        showsPrec _ VK_QUERY_RESULT_64_BIT-          = showString "VK_QUERY_RESULT_64_BIT"-        showsPrec _ VK_QUERY_RESULT_WAIT_BIT-          = showString "VK_QUERY_RESULT_WAIT_BIT"-        showsPrec _ VK_QUERY_RESULT_WITH_AVAILABILITY_BIT-          = showString "VK_QUERY_RESULT_WITH_AVAILABILITY_BIT"-        showsPrec _ VK_QUERY_RESULT_PARTIAL_BIT-          = showString "VK_QUERY_RESULT_PARTIAL_BIT"-        showsPrec p (VkQueryResultBitmask x)-          = showParen (p >= 11)-              (showString "VkQueryResultBitmask " . showsPrec 11 x)+    showsPrec _ VK_QUERY_RESULT_64_BIT+      = showString "VK_QUERY_RESULT_64_BIT"+    showsPrec _ VK_QUERY_RESULT_WAIT_BIT+      = showString "VK_QUERY_RESULT_WAIT_BIT"+    showsPrec _ VK_QUERY_RESULT_WITH_AVAILABILITY_BIT+      = showString "VK_QUERY_RESULT_WITH_AVAILABILITY_BIT"+    showsPrec _ VK_QUERY_RESULT_PARTIAL_BIT+      = showString "VK_QUERY_RESULT_PARTIAL_BIT"+    showsPrec p (VkQueryResultBitmask x)+      = showParen (p >= 11)+          (showString "VkQueryResultBitmask " . showsPrec 11 x)  instance Read (VkQueryResultBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_QUERY_RESULT_64_BIT", pure VK_QUERY_RESULT_64_BIT),-                  ("VK_QUERY_RESULT_WAIT_BIT", pure VK_QUERY_RESULT_WAIT_BIT),-                  ("VK_QUERY_RESULT_WITH_AVAILABILITY_BIT",-                   pure VK_QUERY_RESULT_WITH_AVAILABILITY_BIT),-                  ("VK_QUERY_RESULT_PARTIAL_BIT", pure VK_QUERY_RESULT_PARTIAL_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkQueryResultBitmask") >>-                      (VkQueryResultBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_QUERY_RESULT_64_BIT", pure VK_QUERY_RESULT_64_BIT),+              ("VK_QUERY_RESULT_WAIT_BIT", pure VK_QUERY_RESULT_WAIT_BIT),+              ("VK_QUERY_RESULT_WITH_AVAILABILITY_BIT",+               pure VK_QUERY_RESULT_WITH_AVAILABILITY_BIT),+              ("VK_QUERY_RESULT_PARTIAL_BIT", pure VK_QUERY_RESULT_PARTIAL_BIT)]+             ++++             prec 10+               (expectP (Ident "VkQueryResultBitmask") >>+                  (VkQueryResultBitmask <$> step readPrec)))  -- | Results of the queries are written to the destination buffer as 64-bit values --@@ -426,29 +389,29 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkQueryType VkQueryType registry at www.khronos.org> newtype VkQueryType = VkQueryType Int32-                        deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                      deriving (Eq, Ord, Enum, Storable)  instance Show VkQueryType where-        showsPrec _ VK_QUERY_TYPE_OCCLUSION-          = showString "VK_QUERY_TYPE_OCCLUSION"-        showsPrec _ VK_QUERY_TYPE_PIPELINE_STATISTICS-          = showString "VK_QUERY_TYPE_PIPELINE_STATISTICS"-        showsPrec _ VK_QUERY_TYPE_TIMESTAMP-          = showString "VK_QUERY_TYPE_TIMESTAMP"-        showsPrec p (VkQueryType x)-          = showParen (p >= 11) (showString "VkQueryType " . showsPrec 11 x)+    showsPrec _ VK_QUERY_TYPE_OCCLUSION+      = showString "VK_QUERY_TYPE_OCCLUSION"+    showsPrec _ VK_QUERY_TYPE_PIPELINE_STATISTICS+      = showString "VK_QUERY_TYPE_PIPELINE_STATISTICS"+    showsPrec _ VK_QUERY_TYPE_TIMESTAMP+      = showString "VK_QUERY_TYPE_TIMESTAMP"+    showsPrec p (VkQueryType x)+      = showParen (p >= 11) (showString "VkQueryType " . showsPrec 11 x)  instance Read VkQueryType where-        readPrec-          = parens-              (choose-                 [("VK_QUERY_TYPE_OCCLUSION", pure VK_QUERY_TYPE_OCCLUSION),-                  ("VK_QUERY_TYPE_PIPELINE_STATISTICS",-                   pure VK_QUERY_TYPE_PIPELINE_STATISTICS),-                  ("VK_QUERY_TYPE_TIMESTAMP", pure VK_QUERY_TYPE_TIMESTAMP)]-                 +++-                 prec 10-                   (expectP (Ident "VkQueryType") >> (VkQueryType <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_QUERY_TYPE_OCCLUSION", pure VK_QUERY_TYPE_OCCLUSION),+              ("VK_QUERY_TYPE_PIPELINE_STATISTICS",+               pure VK_QUERY_TYPE_PIPELINE_STATISTICS),+              ("VK_QUERY_TYPE_TIMESTAMP", pure VK_QUERY_TYPE_TIMESTAMP)]+             ++++             prec 10+               (expectP (Ident "VkQueryType") >> (VkQueryType <$> step readPrec)))  pattern VK_QUERY_TYPE_OCCLUSION :: VkQueryType 
src-gen/Graphics/Vulkan/Types/Enum/Queue.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -21,9 +19,7 @@                                  VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT))        where import Data.Bits                       (Bits, FiniteBits)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType, Int32) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -32,7 +28,7 @@ import Text.Read.Lex                   (Lexeme (..))  newtype VkQueueBitmask (a :: FlagType) = VkQueueBitmask VkFlags-                                           deriving (Eq, Ord, Storable, Data, Generic)+                                         deriving (Eq, Ord, Storable)  type VkQueueFlags = VkQueueBitmask FlagMask @@ -50,41 +46,31 @@  deriving instance FiniteBits (VkQueueBitmask FlagMask) -deriving instance Integral (VkQueueBitmask FlagMask)--deriving instance Num (VkQueueBitmask FlagMask)--deriving instance Bounded (VkQueueBitmask FlagMask)--deriving instance Enum (VkQueueBitmask FlagMask)--deriving instance Real (VkQueueBitmask FlagMask)- instance Show (VkQueueBitmask a) where-        showsPrec _ VK_QUEUE_GRAPHICS_BIT-          = showString "VK_QUEUE_GRAPHICS_BIT"-        showsPrec _ VK_QUEUE_COMPUTE_BIT-          = showString "VK_QUEUE_COMPUTE_BIT"-        showsPrec _ VK_QUEUE_TRANSFER_BIT-          = showString "VK_QUEUE_TRANSFER_BIT"-        showsPrec _ VK_QUEUE_SPARSE_BINDING_BIT-          = showString "VK_QUEUE_SPARSE_BINDING_BIT"-        showsPrec p (VkQueueBitmask x)-          = showParen (p >= 11)-              (showString "VkQueueBitmask " . showsPrec 11 x)+    showsPrec _ VK_QUEUE_GRAPHICS_BIT+      = showString "VK_QUEUE_GRAPHICS_BIT"+    showsPrec _ VK_QUEUE_COMPUTE_BIT+      = showString "VK_QUEUE_COMPUTE_BIT"+    showsPrec _ VK_QUEUE_TRANSFER_BIT+      = showString "VK_QUEUE_TRANSFER_BIT"+    showsPrec _ VK_QUEUE_SPARSE_BINDING_BIT+      = showString "VK_QUEUE_SPARSE_BINDING_BIT"+    showsPrec p (VkQueueBitmask x)+      = showParen (p >= 11)+          (showString "VkQueueBitmask " . showsPrec 11 x)  instance Read (VkQueueBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_QUEUE_GRAPHICS_BIT", pure VK_QUEUE_GRAPHICS_BIT),-                  ("VK_QUEUE_COMPUTE_BIT", pure VK_QUEUE_COMPUTE_BIT),-                  ("VK_QUEUE_TRANSFER_BIT", pure VK_QUEUE_TRANSFER_BIT),-                  ("VK_QUEUE_SPARSE_BINDING_BIT", pure VK_QUEUE_SPARSE_BINDING_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkQueueBitmask") >>-                      (VkQueueBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_QUEUE_GRAPHICS_BIT", pure VK_QUEUE_GRAPHICS_BIT),+              ("VK_QUEUE_COMPUTE_BIT", pure VK_QUEUE_COMPUTE_BIT),+              ("VK_QUEUE_TRANSFER_BIT", pure VK_QUEUE_TRANSFER_BIT),+              ("VK_QUEUE_SPARSE_BINDING_BIT", pure VK_QUEUE_SPARSE_BINDING_BIT)]+             ++++             prec 10+               (expectP (Ident "VkQueueBitmask") >>+                  (VkQueueBitmask <$> step readPrec)))  -- | Queue supports graphics operations --@@ -118,37 +104,37 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkQueueGlobalPriorityEXT VkQueueGlobalPriorityEXT registry at www.khronos.org> newtype VkQueueGlobalPriorityEXT = VkQueueGlobalPriorityEXT Int32-                                     deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                                   deriving (Eq, Ord, Enum, Storable)  instance Show VkQueueGlobalPriorityEXT where-        showsPrec _ VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT-          = showString "VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT"-        showsPrec _ VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT-          = showString "VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT"-        showsPrec _ VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT-          = showString "VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT"-        showsPrec _ VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT-          = showString "VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT"-        showsPrec p (VkQueueGlobalPriorityEXT x)-          = showParen (p >= 11)-              (showString "VkQueueGlobalPriorityEXT " . showsPrec 11 x)+    showsPrec _ VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT+      = showString "VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT"+    showsPrec _ VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT+      = showString "VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT"+    showsPrec _ VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT+      = showString "VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT"+    showsPrec _ VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT+      = showString "VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT"+    showsPrec p (VkQueueGlobalPriorityEXT x)+      = showParen (p >= 11)+          (showString "VkQueueGlobalPriorityEXT " . showsPrec 11 x)  instance Read VkQueueGlobalPriorityEXT where-        readPrec-          = parens-              (choose-                 [("VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT",-                   pure VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT),-                  ("VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT",-                   pure VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT),-                  ("VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT",-                   pure VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT),-                  ("VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT",-                   pure VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT)]-                 +++-                 prec 10-                   (expectP (Ident "VkQueueGlobalPriorityEXT") >>-                      (VkQueueGlobalPriorityEXT <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT",+               pure VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT),+              ("VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT",+               pure VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT),+              ("VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT",+               pure VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT),+              ("VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT",+               pure VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT)]+             ++++             prec 10+               (expectP (Ident "VkQueueGlobalPriorityEXT") >>+                  (VkQueueGlobalPriorityEXT <$> step readPrec)))  pattern VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT ::         VkQueueGlobalPriorityEXT
src-gen/Graphics/Vulkan/Types/Enum/RasterizationOrderAMD.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -10,9 +8,7 @@                                 VK_RASTERIZATION_ORDER_STRICT_AMD,                                 VK_RASTERIZATION_ORDER_RELAXED_AMD))        where-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Text.ParserCombinators.ReadPrec (prec, step, (+++))@@ -23,29 +19,29 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkRasterizationOrderAMD VkRasterizationOrderAMD registry at www.khronos.org> newtype VkRasterizationOrderAMD = VkRasterizationOrderAMD Int32-                                    deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                                  deriving (Eq, Ord, Enum, Storable)  instance Show VkRasterizationOrderAMD where-        showsPrec _ VK_RASTERIZATION_ORDER_STRICT_AMD-          = showString "VK_RASTERIZATION_ORDER_STRICT_AMD"-        showsPrec _ VK_RASTERIZATION_ORDER_RELAXED_AMD-          = showString "VK_RASTERIZATION_ORDER_RELAXED_AMD"-        showsPrec p (VkRasterizationOrderAMD x)-          = showParen (p >= 11)-              (showString "VkRasterizationOrderAMD " . showsPrec 11 x)+    showsPrec _ VK_RASTERIZATION_ORDER_STRICT_AMD+      = showString "VK_RASTERIZATION_ORDER_STRICT_AMD"+    showsPrec _ VK_RASTERIZATION_ORDER_RELAXED_AMD+      = showString "VK_RASTERIZATION_ORDER_RELAXED_AMD"+    showsPrec p (VkRasterizationOrderAMD x)+      = showParen (p >= 11)+          (showString "VkRasterizationOrderAMD " . showsPrec 11 x)  instance Read VkRasterizationOrderAMD where-        readPrec-          = parens-              (choose-                 [("VK_RASTERIZATION_ORDER_STRICT_AMD",-                   pure VK_RASTERIZATION_ORDER_STRICT_AMD),-                  ("VK_RASTERIZATION_ORDER_RELAXED_AMD",-                   pure VK_RASTERIZATION_ORDER_RELAXED_AMD)]-                 +++-                 prec 10-                   (expectP (Ident "VkRasterizationOrderAMD") >>-                      (VkRasterizationOrderAMD <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_RASTERIZATION_ORDER_STRICT_AMD",+               pure VK_RASTERIZATION_ORDER_STRICT_AMD),+              ("VK_RASTERIZATION_ORDER_RELAXED_AMD",+               pure VK_RASTERIZATION_ORDER_RELAXED_AMD)]+             ++++             prec 10+               (expectP (Ident "VkRasterizationOrderAMD") >>+                  (VkRasterizationOrderAMD <$> step readPrec)))  pattern VK_RASTERIZATION_ORDER_STRICT_AMD ::         VkRasterizationOrderAMD
src-gen/Graphics/Vulkan/Types/Enum/RenderPassCreateFlagBits.hs view
@@ -1,25 +1,20 @@ {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE Strict                     #-} module Graphics.Vulkan.Types.Enum.RenderPassCreateFlagBits        (VkRenderPassCreateFlagBits(..)) where import Data.Bits                       (Bits, FiniteBits) import Data.Coerce                     (coerce)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import Graphics.Vulkan.Types.BaseTypes (VkFlags)  newtype VkRenderPassCreateFlagBits = VkRenderPassCreateFlagBits VkFlags-                                       deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                 FiniteBits, Storable, Real, Data, Generic)+                                     deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkRenderPassCreateFlagBits where-        {-# INLINE show #-}-        show (VkRenderPassCreateFlagBits x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkRenderPassCreateFlagBits where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
src-gen/Graphics/Vulkan/Types/Enum/Result.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -15,9 +13,7 @@                  VK_ERROR_INCOMPATIBLE_DRIVER, VK_ERROR_TOO_MANY_OBJECTS,                  VK_ERROR_FORMAT_NOT_SUPPORTED, VK_ERROR_FRAGMENTED_POOL))        where-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Text.ParserCombinators.ReadPrec (prec, step, (+++))@@ -31,73 +27,73 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkResult VkResult registry at www.khronos.org> newtype VkResult = VkResult Int32-                     deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                   deriving (Eq, Ord, Enum, Storable)  instance Show VkResult where-        showsPrec _ VK_SUCCESS = showString "VK_SUCCESS"-        showsPrec _ VK_NOT_READY = showString "VK_NOT_READY"-        showsPrec _ VK_TIMEOUT = showString "VK_TIMEOUT"-        showsPrec _ VK_EVENT_SET = showString "VK_EVENT_SET"-        showsPrec _ VK_EVENT_RESET = showString "VK_EVENT_RESET"-        showsPrec _ VK_INCOMPLETE = showString "VK_INCOMPLETE"-        showsPrec _ VK_ERROR_OUT_OF_HOST_MEMORY-          = showString "VK_ERROR_OUT_OF_HOST_MEMORY"-        showsPrec _ VK_ERROR_OUT_OF_DEVICE_MEMORY-          = showString "VK_ERROR_OUT_OF_DEVICE_MEMORY"-        showsPrec _ VK_ERROR_INITIALIZATION_FAILED-          = showString "VK_ERROR_INITIALIZATION_FAILED"-        showsPrec _ VK_ERROR_DEVICE_LOST-          = showString "VK_ERROR_DEVICE_LOST"-        showsPrec _ VK_ERROR_MEMORY_MAP_FAILED-          = showString "VK_ERROR_MEMORY_MAP_FAILED"-        showsPrec _ VK_ERROR_LAYER_NOT_PRESENT-          = showString "VK_ERROR_LAYER_NOT_PRESENT"-        showsPrec _ VK_ERROR_EXTENSION_NOT_PRESENT-          = showString "VK_ERROR_EXTENSION_NOT_PRESENT"-        showsPrec _ VK_ERROR_FEATURE_NOT_PRESENT-          = showString "VK_ERROR_FEATURE_NOT_PRESENT"-        showsPrec _ VK_ERROR_INCOMPATIBLE_DRIVER-          = showString "VK_ERROR_INCOMPATIBLE_DRIVER"-        showsPrec _ VK_ERROR_TOO_MANY_OBJECTS-          = showString "VK_ERROR_TOO_MANY_OBJECTS"-        showsPrec _ VK_ERROR_FORMAT_NOT_SUPPORTED-          = showString "VK_ERROR_FORMAT_NOT_SUPPORTED"-        showsPrec _ VK_ERROR_FRAGMENTED_POOL-          = showString "VK_ERROR_FRAGMENTED_POOL"-        showsPrec p (VkResult x)-          = showParen (p >= 11) (showString "VkResult " . showsPrec 11 x)+    showsPrec _ VK_SUCCESS = showString "VK_SUCCESS"+    showsPrec _ VK_NOT_READY = showString "VK_NOT_READY"+    showsPrec _ VK_TIMEOUT = showString "VK_TIMEOUT"+    showsPrec _ VK_EVENT_SET = showString "VK_EVENT_SET"+    showsPrec _ VK_EVENT_RESET = showString "VK_EVENT_RESET"+    showsPrec _ VK_INCOMPLETE = showString "VK_INCOMPLETE"+    showsPrec _ VK_ERROR_OUT_OF_HOST_MEMORY+      = showString "VK_ERROR_OUT_OF_HOST_MEMORY"+    showsPrec _ VK_ERROR_OUT_OF_DEVICE_MEMORY+      = showString "VK_ERROR_OUT_OF_DEVICE_MEMORY"+    showsPrec _ VK_ERROR_INITIALIZATION_FAILED+      = showString "VK_ERROR_INITIALIZATION_FAILED"+    showsPrec _ VK_ERROR_DEVICE_LOST+      = showString "VK_ERROR_DEVICE_LOST"+    showsPrec _ VK_ERROR_MEMORY_MAP_FAILED+      = showString "VK_ERROR_MEMORY_MAP_FAILED"+    showsPrec _ VK_ERROR_LAYER_NOT_PRESENT+      = showString "VK_ERROR_LAYER_NOT_PRESENT"+    showsPrec _ VK_ERROR_EXTENSION_NOT_PRESENT+      = showString "VK_ERROR_EXTENSION_NOT_PRESENT"+    showsPrec _ VK_ERROR_FEATURE_NOT_PRESENT+      = showString "VK_ERROR_FEATURE_NOT_PRESENT"+    showsPrec _ VK_ERROR_INCOMPATIBLE_DRIVER+      = showString "VK_ERROR_INCOMPATIBLE_DRIVER"+    showsPrec _ VK_ERROR_TOO_MANY_OBJECTS+      = showString "VK_ERROR_TOO_MANY_OBJECTS"+    showsPrec _ VK_ERROR_FORMAT_NOT_SUPPORTED+      = showString "VK_ERROR_FORMAT_NOT_SUPPORTED"+    showsPrec _ VK_ERROR_FRAGMENTED_POOL+      = showString "VK_ERROR_FRAGMENTED_POOL"+    showsPrec p (VkResult x)+      = showParen (p >= 11) (showString "VkResult " . showsPrec 11 x)  instance Read VkResult where-        readPrec-          = parens-              (choose-                 [("VK_SUCCESS", pure VK_SUCCESS),-                  ("VK_NOT_READY", pure VK_NOT_READY),-                  ("VK_TIMEOUT", pure VK_TIMEOUT),-                  ("VK_EVENT_SET", pure VK_EVENT_SET),-                  ("VK_EVENT_RESET", pure VK_EVENT_RESET),-                  ("VK_INCOMPLETE", pure VK_INCOMPLETE),-                  ("VK_ERROR_OUT_OF_HOST_MEMORY", pure VK_ERROR_OUT_OF_HOST_MEMORY),-                  ("VK_ERROR_OUT_OF_DEVICE_MEMORY",-                   pure VK_ERROR_OUT_OF_DEVICE_MEMORY),-                  ("VK_ERROR_INITIALIZATION_FAILED",-                   pure VK_ERROR_INITIALIZATION_FAILED),-                  ("VK_ERROR_DEVICE_LOST", pure VK_ERROR_DEVICE_LOST),-                  ("VK_ERROR_MEMORY_MAP_FAILED", pure VK_ERROR_MEMORY_MAP_FAILED),-                  ("VK_ERROR_LAYER_NOT_PRESENT", pure VK_ERROR_LAYER_NOT_PRESENT),-                  ("VK_ERROR_EXTENSION_NOT_PRESENT",-                   pure VK_ERROR_EXTENSION_NOT_PRESENT),-                  ("VK_ERROR_FEATURE_NOT_PRESENT",-                   pure VK_ERROR_FEATURE_NOT_PRESENT),-                  ("VK_ERROR_INCOMPATIBLE_DRIVER",-                   pure VK_ERROR_INCOMPATIBLE_DRIVER),-                  ("VK_ERROR_TOO_MANY_OBJECTS", pure VK_ERROR_TOO_MANY_OBJECTS),-                  ("VK_ERROR_FORMAT_NOT_SUPPORTED",-                   pure VK_ERROR_FORMAT_NOT_SUPPORTED),-                  ("VK_ERROR_FRAGMENTED_POOL", pure VK_ERROR_FRAGMENTED_POOL)]-                 +++-                 prec 10-                   (expectP (Ident "VkResult") >> (VkResult <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_SUCCESS", pure VK_SUCCESS),+              ("VK_NOT_READY", pure VK_NOT_READY),+              ("VK_TIMEOUT", pure VK_TIMEOUT),+              ("VK_EVENT_SET", pure VK_EVENT_SET),+              ("VK_EVENT_RESET", pure VK_EVENT_RESET),+              ("VK_INCOMPLETE", pure VK_INCOMPLETE),+              ("VK_ERROR_OUT_OF_HOST_MEMORY", pure VK_ERROR_OUT_OF_HOST_MEMORY),+              ("VK_ERROR_OUT_OF_DEVICE_MEMORY",+               pure VK_ERROR_OUT_OF_DEVICE_MEMORY),+              ("VK_ERROR_INITIALIZATION_FAILED",+               pure VK_ERROR_INITIALIZATION_FAILED),+              ("VK_ERROR_DEVICE_LOST", pure VK_ERROR_DEVICE_LOST),+              ("VK_ERROR_MEMORY_MAP_FAILED", pure VK_ERROR_MEMORY_MAP_FAILED),+              ("VK_ERROR_LAYER_NOT_PRESENT", pure VK_ERROR_LAYER_NOT_PRESENT),+              ("VK_ERROR_EXTENSION_NOT_PRESENT",+               pure VK_ERROR_EXTENSION_NOT_PRESENT),+              ("VK_ERROR_FEATURE_NOT_PRESENT",+               pure VK_ERROR_FEATURE_NOT_PRESENT),+              ("VK_ERROR_INCOMPATIBLE_DRIVER",+               pure VK_ERROR_INCOMPATIBLE_DRIVER),+              ("VK_ERROR_TOO_MANY_OBJECTS", pure VK_ERROR_TOO_MANY_OBJECTS),+              ("VK_ERROR_FORMAT_NOT_SUPPORTED",+               pure VK_ERROR_FORMAT_NOT_SUPPORTED),+              ("VK_ERROR_FRAGMENTED_POOL", pure VK_ERROR_FRAGMENTED_POOL)]+             ++++             prec 10+               (expectP (Ident "VkResult") >> (VkResult <$> step readPrec)))  -- | Command completed successfully pattern VK_SUCCESS :: VkResult
src-gen/Graphics/Vulkan/Types/Enum/SampleCountFlags.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -18,9 +16,7 @@         VkSampleCountFlags, VkSampleCountFlagBits)        where import Data.Bits                       (Bits, FiniteBits)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -30,7 +26,7 @@  newtype VkSampleCountBitmask (a ::                                 FlagType) = VkSampleCountBitmask VkFlags-                                              deriving (Eq, Ord, Storable, Data, Generic)+                                            deriving (Eq, Ord, Storable)  type VkSampleCountFlags = VkSampleCountBitmask FlagMask @@ -50,50 +46,40 @@  deriving instance FiniteBits (VkSampleCountBitmask FlagMask) -deriving instance Integral (VkSampleCountBitmask FlagMask)--deriving instance Num (VkSampleCountBitmask FlagMask)--deriving instance Bounded (VkSampleCountBitmask FlagMask)--deriving instance Enum (VkSampleCountBitmask FlagMask)--deriving instance Real (VkSampleCountBitmask FlagMask)- instance Show (VkSampleCountBitmask a) where-        showsPrec _ VK_SAMPLE_COUNT_1_BIT-          = showString "VK_SAMPLE_COUNT_1_BIT"-        showsPrec _ VK_SAMPLE_COUNT_2_BIT-          = showString "VK_SAMPLE_COUNT_2_BIT"-        showsPrec _ VK_SAMPLE_COUNT_4_BIT-          = showString "VK_SAMPLE_COUNT_4_BIT"-        showsPrec _ VK_SAMPLE_COUNT_8_BIT-          = showString "VK_SAMPLE_COUNT_8_BIT"-        showsPrec _ VK_SAMPLE_COUNT_16_BIT-          = showString "VK_SAMPLE_COUNT_16_BIT"-        showsPrec _ VK_SAMPLE_COUNT_32_BIT-          = showString "VK_SAMPLE_COUNT_32_BIT"-        showsPrec _ VK_SAMPLE_COUNT_64_BIT-          = showString "VK_SAMPLE_COUNT_64_BIT"-        showsPrec p (VkSampleCountBitmask x)-          = showParen (p >= 11)-              (showString "VkSampleCountBitmask " . showsPrec 11 x)+    showsPrec _ VK_SAMPLE_COUNT_1_BIT+      = showString "VK_SAMPLE_COUNT_1_BIT"+    showsPrec _ VK_SAMPLE_COUNT_2_BIT+      = showString "VK_SAMPLE_COUNT_2_BIT"+    showsPrec _ VK_SAMPLE_COUNT_4_BIT+      = showString "VK_SAMPLE_COUNT_4_BIT"+    showsPrec _ VK_SAMPLE_COUNT_8_BIT+      = showString "VK_SAMPLE_COUNT_8_BIT"+    showsPrec _ VK_SAMPLE_COUNT_16_BIT+      = showString "VK_SAMPLE_COUNT_16_BIT"+    showsPrec _ VK_SAMPLE_COUNT_32_BIT+      = showString "VK_SAMPLE_COUNT_32_BIT"+    showsPrec _ VK_SAMPLE_COUNT_64_BIT+      = showString "VK_SAMPLE_COUNT_64_BIT"+    showsPrec p (VkSampleCountBitmask x)+      = showParen (p >= 11)+          (showString "VkSampleCountBitmask " . showsPrec 11 x)  instance Read (VkSampleCountBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_SAMPLE_COUNT_1_BIT", pure VK_SAMPLE_COUNT_1_BIT),-                  ("VK_SAMPLE_COUNT_2_BIT", pure VK_SAMPLE_COUNT_2_BIT),-                  ("VK_SAMPLE_COUNT_4_BIT", pure VK_SAMPLE_COUNT_4_BIT),-                  ("VK_SAMPLE_COUNT_8_BIT", pure VK_SAMPLE_COUNT_8_BIT),-                  ("VK_SAMPLE_COUNT_16_BIT", pure VK_SAMPLE_COUNT_16_BIT),-                  ("VK_SAMPLE_COUNT_32_BIT", pure VK_SAMPLE_COUNT_32_BIT),-                  ("VK_SAMPLE_COUNT_64_BIT", pure VK_SAMPLE_COUNT_64_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkSampleCountBitmask") >>-                      (VkSampleCountBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_SAMPLE_COUNT_1_BIT", pure VK_SAMPLE_COUNT_1_BIT),+              ("VK_SAMPLE_COUNT_2_BIT", pure VK_SAMPLE_COUNT_2_BIT),+              ("VK_SAMPLE_COUNT_4_BIT", pure VK_SAMPLE_COUNT_4_BIT),+              ("VK_SAMPLE_COUNT_8_BIT", pure VK_SAMPLE_COUNT_8_BIT),+              ("VK_SAMPLE_COUNT_16_BIT", pure VK_SAMPLE_COUNT_16_BIT),+              ("VK_SAMPLE_COUNT_32_BIT", pure VK_SAMPLE_COUNT_32_BIT),+              ("VK_SAMPLE_COUNT_64_BIT", pure VK_SAMPLE_COUNT_64_BIT)]+             ++++             prec 10+               (expectP (Ident "VkSampleCountBitmask") >>+                  (VkSampleCountBitmask <$> step readPrec)))  -- | Sample count 1 supported --
src-gen/Graphics/Vulkan/Types/Enum/Sampler.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -32,9 +30,7 @@        where import Data.Bits                       (Bits, FiniteBits) import Data.Coerce                     (coerce)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Graphics.Vulkan.Types.BaseTypes (VkFlags)@@ -46,37 +42,37 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSamplerAddressMode VkSamplerAddressMode registry at www.khronos.org> newtype VkSamplerAddressMode = VkSamplerAddressMode Int32-                                 deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                               deriving (Eq, Ord, Enum, Storable)  instance Show VkSamplerAddressMode where-        showsPrec _ VK_SAMPLER_ADDRESS_MODE_REPEAT-          = showString "VK_SAMPLER_ADDRESS_MODE_REPEAT"-        showsPrec _ VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT-          = showString "VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT"-        showsPrec _ VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE-          = showString "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE"-        showsPrec _ VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER-          = showString "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER"-        showsPrec p (VkSamplerAddressMode x)-          = showParen (p >= 11)-              (showString "VkSamplerAddressMode " . showsPrec 11 x)+    showsPrec _ VK_SAMPLER_ADDRESS_MODE_REPEAT+      = showString "VK_SAMPLER_ADDRESS_MODE_REPEAT"+    showsPrec _ VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT+      = showString "VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT"+    showsPrec _ VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE+      = showString "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE"+    showsPrec _ VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER+      = showString "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER"+    showsPrec p (VkSamplerAddressMode x)+      = showParen (p >= 11)+          (showString "VkSamplerAddressMode " . showsPrec 11 x)  instance Read VkSamplerAddressMode where-        readPrec-          = parens-              (choose-                 [("VK_SAMPLER_ADDRESS_MODE_REPEAT",-                   pure VK_SAMPLER_ADDRESS_MODE_REPEAT),-                  ("VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT",-                   pure VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT),-                  ("VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE",-                   pure VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE),-                  ("VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER",-                   pure VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER)]-                 +++-                 prec 10-                   (expectP (Ident "VkSamplerAddressMode") >>-                      (VkSamplerAddressMode <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_SAMPLER_ADDRESS_MODE_REPEAT",+               pure VK_SAMPLER_ADDRESS_MODE_REPEAT),+              ("VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT",+               pure VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT),+              ("VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE",+               pure VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE),+              ("VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER",+               pure VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER)]+             ++++             prec 10+               (expectP (Ident "VkSamplerAddressMode") >>+                  (VkSamplerAddressMode <$> step readPrec)))  pattern VK_SAMPLER_ADDRESS_MODE_REPEAT :: VkSamplerAddressMode @@ -101,44 +97,43 @@         VkSamplerAddressMode 3  newtype VkSamplerCreateFlagBits = VkSamplerCreateFlagBits VkFlags-                                    deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                              FiniteBits, Storable, Real, Data, Generic)+                                  deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkSamplerCreateFlagBits where-        {-# INLINE show #-}-        show (VkSamplerCreateFlagBits x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkSamplerCreateFlagBits where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  -- | type = @enum@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSamplerMipmapMode VkSamplerMipmapMode registry at www.khronos.org> newtype VkSamplerMipmapMode = VkSamplerMipmapMode Int32-                                deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                              deriving (Eq, Ord, Enum, Storable)  instance Show VkSamplerMipmapMode where-        showsPrec _ VK_SAMPLER_MIPMAP_MODE_NEAREST-          = showString "VK_SAMPLER_MIPMAP_MODE_NEAREST"-        showsPrec _ VK_SAMPLER_MIPMAP_MODE_LINEAR-          = showString "VK_SAMPLER_MIPMAP_MODE_LINEAR"-        showsPrec p (VkSamplerMipmapMode x)-          = showParen (p >= 11)-              (showString "VkSamplerMipmapMode " . showsPrec 11 x)+    showsPrec _ VK_SAMPLER_MIPMAP_MODE_NEAREST+      = showString "VK_SAMPLER_MIPMAP_MODE_NEAREST"+    showsPrec _ VK_SAMPLER_MIPMAP_MODE_LINEAR+      = showString "VK_SAMPLER_MIPMAP_MODE_LINEAR"+    showsPrec p (VkSamplerMipmapMode x)+      = showParen (p >= 11)+          (showString "VkSamplerMipmapMode " . showsPrec 11 x)  instance Read VkSamplerMipmapMode where-        readPrec-          = parens-              (choose-                 [("VK_SAMPLER_MIPMAP_MODE_NEAREST",-                   pure VK_SAMPLER_MIPMAP_MODE_NEAREST),-                  ("VK_SAMPLER_MIPMAP_MODE_LINEAR",-                   pure VK_SAMPLER_MIPMAP_MODE_LINEAR)]-                 +++-                 prec 10-                   (expectP (Ident "VkSamplerMipmapMode") >>-                      (VkSamplerMipmapMode <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_SAMPLER_MIPMAP_MODE_NEAREST",+               pure VK_SAMPLER_MIPMAP_MODE_NEAREST),+              ("VK_SAMPLER_MIPMAP_MODE_LINEAR",+               pure VK_SAMPLER_MIPMAP_MODE_LINEAR)]+             ++++             prec 10+               (expectP (Ident "VkSamplerMipmapMode") >>+                  (VkSamplerMipmapMode <$> step readPrec)))  -- | Choose nearest mip level pattern VK_SAMPLER_MIPMAP_MODE_NEAREST :: VkSamplerMipmapMode@@ -154,34 +149,33 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSamplerReductionModeEXT VkSamplerReductionModeEXT registry at www.khronos.org> newtype VkSamplerReductionModeEXT = VkSamplerReductionModeEXT Int32-                                      deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,-                                                Generic)+                                    deriving (Eq, Ord, Enum, Storable)  instance Show VkSamplerReductionModeEXT where-        showsPrec _ VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT-          = showString "VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT"-        showsPrec _ VK_SAMPLER_REDUCTION_MODE_MIN_EXT-          = showString "VK_SAMPLER_REDUCTION_MODE_MIN_EXT"-        showsPrec _ VK_SAMPLER_REDUCTION_MODE_MAX_EXT-          = showString "VK_SAMPLER_REDUCTION_MODE_MAX_EXT"-        showsPrec p (VkSamplerReductionModeEXT x)-          = showParen (p >= 11)-              (showString "VkSamplerReductionModeEXT " . showsPrec 11 x)+    showsPrec _ VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT+      = showString "VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT"+    showsPrec _ VK_SAMPLER_REDUCTION_MODE_MIN_EXT+      = showString "VK_SAMPLER_REDUCTION_MODE_MIN_EXT"+    showsPrec _ VK_SAMPLER_REDUCTION_MODE_MAX_EXT+      = showString "VK_SAMPLER_REDUCTION_MODE_MAX_EXT"+    showsPrec p (VkSamplerReductionModeEXT x)+      = showParen (p >= 11)+          (showString "VkSamplerReductionModeEXT " . showsPrec 11 x)  instance Read VkSamplerReductionModeEXT where-        readPrec-          = parens-              (choose-                 [("VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT",-                   pure VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT),-                  ("VK_SAMPLER_REDUCTION_MODE_MIN_EXT",-                   pure VK_SAMPLER_REDUCTION_MODE_MIN_EXT),-                  ("VK_SAMPLER_REDUCTION_MODE_MAX_EXT",-                   pure VK_SAMPLER_REDUCTION_MODE_MAX_EXT)]-                 +++-                 prec 10-                   (expectP (Ident "VkSamplerReductionModeEXT") >>-                      (VkSamplerReductionModeEXT <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT",+               pure VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT),+              ("VK_SAMPLER_REDUCTION_MODE_MIN_EXT",+               pure VK_SAMPLER_REDUCTION_MODE_MIN_EXT),+              ("VK_SAMPLER_REDUCTION_MODE_MAX_EXT",+               pure VK_SAMPLER_REDUCTION_MODE_MAX_EXT)]+             ++++             prec 10+               (expectP (Ident "VkSamplerReductionModeEXT") >>+                  (VkSamplerReductionModeEXT <$> step readPrec)))  pattern VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT ::         VkSamplerReductionModeEXT@@ -205,42 +199,41 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversion registry at www.khronos.org> newtype VkSamplerYcbcrModelConversion = VkSamplerYcbcrModelConversion Int32-                                          deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,-                                                    Generic)+                                        deriving (Eq, Ord, Enum, Storable)  instance Show VkSamplerYcbcrModelConversion where-        showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY-          = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY"-        showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY-          = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY"-        showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709-          = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709"-        showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601-          = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601"-        showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020-          = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020"-        showsPrec p (VkSamplerYcbcrModelConversion x)-          = showParen (p >= 11)-              (showString "VkSamplerYcbcrModelConversion " . showsPrec 11 x)+    showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY+      = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY"+    showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY+      = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY"+    showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709+      = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709"+    showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601+      = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601"+    showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020+      = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020"+    showsPrec p (VkSamplerYcbcrModelConversion x)+      = showParen (p >= 11)+          (showString "VkSamplerYcbcrModelConversion " . showsPrec 11 x)  instance Read VkSamplerYcbcrModelConversion where-        readPrec-          = parens-              (choose-                 [("VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY",-                   pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY),-                  ("VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY",-                   pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY),-                  ("VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709",-                   pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709),-                  ("VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601",-                   pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601),-                  ("VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020",-                   pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020)]-                 +++-                 prec 10-                   (expectP (Ident "VkSamplerYcbcrModelConversion") >>-                      (VkSamplerYcbcrModelConversion <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY",+               pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY),+              ("VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY",+               pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY),+              ("VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709",+               pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709),+              ("VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601",+               pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601),+              ("VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020",+               pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020)]+             ++++             prec 10+               (expectP (Ident "VkSamplerYcbcrModelConversion") >>+                  (VkSamplerYcbcrModelConversion <$> step readPrec)))  pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY ::         VkSamplerYcbcrModelConversion@@ -277,44 +270,43 @@         VkSamplerYcbcrModelConversion 4  newtype VkSamplerYcbcrModelConversionKHR = VkSamplerYcbcrModelConversionKHR VkFlags-                                             deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                       FiniteBits, Storable, Real, Data, Generic)+                                           deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkSamplerYcbcrModelConversionKHR where-        {-# INLINE show #-}-        show (VkSamplerYcbcrModelConversionKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkSamplerYcbcrModelConversionKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  -- | type = @enum@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSamplerYcbcrRange VkSamplerYcbcrRange registry at www.khronos.org> newtype VkSamplerYcbcrRange = VkSamplerYcbcrRange Int32-                                deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                              deriving (Eq, Ord, Enum, Storable)  instance Show VkSamplerYcbcrRange where-        showsPrec _ VK_SAMPLER_YCBCR_RANGE_ITU_FULL-          = showString "VK_SAMPLER_YCBCR_RANGE_ITU_FULL"-        showsPrec _ VK_SAMPLER_YCBCR_RANGE_ITU_NARROW-          = showString "VK_SAMPLER_YCBCR_RANGE_ITU_NARROW"-        showsPrec p (VkSamplerYcbcrRange x)-          = showParen (p >= 11)-              (showString "VkSamplerYcbcrRange " . showsPrec 11 x)+    showsPrec _ VK_SAMPLER_YCBCR_RANGE_ITU_FULL+      = showString "VK_SAMPLER_YCBCR_RANGE_ITU_FULL"+    showsPrec _ VK_SAMPLER_YCBCR_RANGE_ITU_NARROW+      = showString "VK_SAMPLER_YCBCR_RANGE_ITU_NARROW"+    showsPrec p (VkSamplerYcbcrRange x)+      = showParen (p >= 11)+          (showString "VkSamplerYcbcrRange " . showsPrec 11 x)  instance Read VkSamplerYcbcrRange where-        readPrec-          = parens-              (choose-                 [("VK_SAMPLER_YCBCR_RANGE_ITU_FULL",-                   pure VK_SAMPLER_YCBCR_RANGE_ITU_FULL),-                  ("VK_SAMPLER_YCBCR_RANGE_ITU_NARROW",-                   pure VK_SAMPLER_YCBCR_RANGE_ITU_NARROW)]-                 +++-                 prec 10-                   (expectP (Ident "VkSamplerYcbcrRange") >>-                      (VkSamplerYcbcrRange <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_SAMPLER_YCBCR_RANGE_ITU_FULL",+               pure VK_SAMPLER_YCBCR_RANGE_ITU_FULL),+              ("VK_SAMPLER_YCBCR_RANGE_ITU_NARROW",+               pure VK_SAMPLER_YCBCR_RANGE_ITU_NARROW)]+             ++++             prec 10+               (expectP (Ident "VkSamplerYcbcrRange") >>+                  (VkSamplerYcbcrRange <$> step readPrec)))  -- | Luma 0..1 maps to 0..255, chroma -0.5..0.5 to 1..255 (clamped) pattern VK_SAMPLER_YCBCR_RANGE_ITU_FULL :: VkSamplerYcbcrRange@@ -327,13 +319,12 @@ pattern VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = VkSamplerYcbcrRange 1  newtype VkSamplerYcbcrRangeKHR = VkSamplerYcbcrRangeKHR VkFlags-                                   deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                             FiniteBits, Storable, Real, Data, Generic)+                                 deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkSamplerYcbcrRangeKHR where-        {-# INLINE show #-}-        show (VkSamplerYcbcrRangeKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkSamplerYcbcrRangeKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
src-gen/Graphics/Vulkan/Types/Enum/SemaphoreImportFlag.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -18,9 +16,7 @@        where import Data.Bits                       (Bits, FiniteBits) import Data.Coerce                     (coerce)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -29,20 +25,19 @@ import Text.Read.Lex                   (Lexeme (..))  newtype VkSemaphoreImportFlagBitsKHR = VkSemaphoreImportFlagBitsKHR VkFlags-                                         deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                   FiniteBits, Storable, Real, Data, Generic)+                                       deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkSemaphoreImportFlagBitsKHR where-        {-# INLINE show #-}-        show (VkSemaphoreImportFlagBitsKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkSemaphoreImportFlagBitsKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)  newtype VkSemaphoreImportBitmask (a ::                                     FlagType) = VkSemaphoreImportBitmask VkFlags-                                                  deriving (Eq, Ord, Storable, Data, Generic)+                                                deriving (Eq, Ord, Storable)  type VkSemaphoreImportFlags = VkSemaphoreImportBitmask FlagMask @@ -62,33 +57,23 @@  deriving instance FiniteBits (VkSemaphoreImportBitmask FlagMask) -deriving instance Integral (VkSemaphoreImportBitmask FlagMask)--deriving instance Num (VkSemaphoreImportBitmask FlagMask)--deriving instance Bounded (VkSemaphoreImportBitmask FlagMask)--deriving instance Enum (VkSemaphoreImportBitmask FlagMask)--deriving instance Real (VkSemaphoreImportBitmask FlagMask)- instance Show (VkSemaphoreImportBitmask a) where-        showsPrec _ VK_SEMAPHORE_IMPORT_TEMPORARY_BIT-          = showString "VK_SEMAPHORE_IMPORT_TEMPORARY_BIT"-        showsPrec p (VkSemaphoreImportBitmask x)-          = showParen (p >= 11)-              (showString "VkSemaphoreImportBitmask " . showsPrec 11 x)+    showsPrec _ VK_SEMAPHORE_IMPORT_TEMPORARY_BIT+      = showString "VK_SEMAPHORE_IMPORT_TEMPORARY_BIT"+    showsPrec p (VkSemaphoreImportBitmask x)+      = showParen (p >= 11)+          (showString "VkSemaphoreImportBitmask " . showsPrec 11 x)  instance Read (VkSemaphoreImportBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_SEMAPHORE_IMPORT_TEMPORARY_BIT",-                   pure VK_SEMAPHORE_IMPORT_TEMPORARY_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkSemaphoreImportBitmask") >>-                      (VkSemaphoreImportBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_SEMAPHORE_IMPORT_TEMPORARY_BIT",+               pure VK_SEMAPHORE_IMPORT_TEMPORARY_BIT)]+             ++++             prec 10+               (expectP (Ident "VkSemaphoreImportBitmask") >>+                  (VkSemaphoreImportBitmask <$> step readPrec)))  -- | bitpos = @0@ pattern VK_SEMAPHORE_IMPORT_TEMPORARY_BIT ::
src-gen/Graphics/Vulkan/Types/Enum/Shader.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -23,9 +21,7 @@         VkShaderStageFlags, VkShaderStageFlagBits)        where import Data.Bits                       (Bits, FiniteBits)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType, Int32) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -37,33 +33,33 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkShaderInfoTypeAMD VkShaderInfoTypeAMD registry at www.khronos.org> newtype VkShaderInfoTypeAMD = VkShaderInfoTypeAMD Int32-                                deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                              deriving (Eq, Ord, Enum, Storable)  instance Show VkShaderInfoTypeAMD where-        showsPrec _ VK_SHADER_INFO_TYPE_STATISTICS_AMD-          = showString "VK_SHADER_INFO_TYPE_STATISTICS_AMD"-        showsPrec _ VK_SHADER_INFO_TYPE_BINARY_AMD-          = showString "VK_SHADER_INFO_TYPE_BINARY_AMD"-        showsPrec _ VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD-          = showString "VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD"-        showsPrec p (VkShaderInfoTypeAMD x)-          = showParen (p >= 11)-              (showString "VkShaderInfoTypeAMD " . showsPrec 11 x)+    showsPrec _ VK_SHADER_INFO_TYPE_STATISTICS_AMD+      = showString "VK_SHADER_INFO_TYPE_STATISTICS_AMD"+    showsPrec _ VK_SHADER_INFO_TYPE_BINARY_AMD+      = showString "VK_SHADER_INFO_TYPE_BINARY_AMD"+    showsPrec _ VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD+      = showString "VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD"+    showsPrec p (VkShaderInfoTypeAMD x)+      = showParen (p >= 11)+          (showString "VkShaderInfoTypeAMD " . showsPrec 11 x)  instance Read VkShaderInfoTypeAMD where-        readPrec-          = parens-              (choose-                 [("VK_SHADER_INFO_TYPE_STATISTICS_AMD",-                   pure VK_SHADER_INFO_TYPE_STATISTICS_AMD),-                  ("VK_SHADER_INFO_TYPE_BINARY_AMD",-                   pure VK_SHADER_INFO_TYPE_BINARY_AMD),-                  ("VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD",-                   pure VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD)]-                 +++-                 prec 10-                   (expectP (Ident "VkShaderInfoTypeAMD") >>-                      (VkShaderInfoTypeAMD <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_SHADER_INFO_TYPE_STATISTICS_AMD",+               pure VK_SHADER_INFO_TYPE_STATISTICS_AMD),+              ("VK_SHADER_INFO_TYPE_BINARY_AMD",+               pure VK_SHADER_INFO_TYPE_BINARY_AMD),+              ("VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD",+               pure VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD)]+             ++++             prec 10+               (expectP (Ident "VkShaderInfoTypeAMD") >>+                  (VkShaderInfoTypeAMD <$> step readPrec)))  pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD :: VkShaderInfoTypeAMD @@ -79,7 +75,7 @@  newtype VkShaderStageBitmask (a ::                                 FlagType) = VkShaderStageBitmask VkFlags-                                              deriving (Eq, Ord, Storable, Data, Generic)+                                            deriving (Eq, Ord, Storable)  type VkShaderStageFlags = VkShaderStageBitmask FlagMask @@ -99,57 +95,47 @@  deriving instance FiniteBits (VkShaderStageBitmask FlagMask) -deriving instance Integral (VkShaderStageBitmask FlagMask)--deriving instance Num (VkShaderStageBitmask FlagMask)--deriving instance Bounded (VkShaderStageBitmask FlagMask)--deriving instance Enum (VkShaderStageBitmask FlagMask)--deriving instance Real (VkShaderStageBitmask FlagMask)- instance Show (VkShaderStageBitmask a) where-        showsPrec _ VK_SHADER_STAGE_VERTEX_BIT-          = showString "VK_SHADER_STAGE_VERTEX_BIT"-        showsPrec _ VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT-          = showString "VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT"-        showsPrec _ VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT-          = showString "VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT"-        showsPrec _ VK_SHADER_STAGE_GEOMETRY_BIT-          = showString "VK_SHADER_STAGE_GEOMETRY_BIT"-        showsPrec _ VK_SHADER_STAGE_FRAGMENT_BIT-          = showString "VK_SHADER_STAGE_FRAGMENT_BIT"-        showsPrec _ VK_SHADER_STAGE_COMPUTE_BIT-          = showString "VK_SHADER_STAGE_COMPUTE_BIT"-        showsPrec _ VK_SHADER_STAGE_ALL_GRAPHICS-          = showString "VK_SHADER_STAGE_ALL_GRAPHICS"-        showsPrec _ VK_SHADER_STAGE_ALL = showString "VK_SHADER_STAGE_ALL"-        showsPrec p (VkShaderStageBitmask x)-          = showParen (p >= 11)-              (showString "VkShaderStageBitmask " . showsPrec 11 x)+    showsPrec _ VK_SHADER_STAGE_VERTEX_BIT+      = showString "VK_SHADER_STAGE_VERTEX_BIT"+    showsPrec _ VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT+      = showString "VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT"+    showsPrec _ VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT+      = showString "VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT"+    showsPrec _ VK_SHADER_STAGE_GEOMETRY_BIT+      = showString "VK_SHADER_STAGE_GEOMETRY_BIT"+    showsPrec _ VK_SHADER_STAGE_FRAGMENT_BIT+      = showString "VK_SHADER_STAGE_FRAGMENT_BIT"+    showsPrec _ VK_SHADER_STAGE_COMPUTE_BIT+      = showString "VK_SHADER_STAGE_COMPUTE_BIT"+    showsPrec _ VK_SHADER_STAGE_ALL_GRAPHICS+      = showString "VK_SHADER_STAGE_ALL_GRAPHICS"+    showsPrec _ VK_SHADER_STAGE_ALL = showString "VK_SHADER_STAGE_ALL"+    showsPrec p (VkShaderStageBitmask x)+      = showParen (p >= 11)+          (showString "VkShaderStageBitmask " . showsPrec 11 x)  instance Read (VkShaderStageBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_SHADER_STAGE_VERTEX_BIT", pure VK_SHADER_STAGE_VERTEX_BIT),-                  ("VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT",-                   pure VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT),-                  ("VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT",-                   pure VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT),-                  ("VK_SHADER_STAGE_GEOMETRY_BIT",-                   pure VK_SHADER_STAGE_GEOMETRY_BIT),-                  ("VK_SHADER_STAGE_FRAGMENT_BIT",-                   pure VK_SHADER_STAGE_FRAGMENT_BIT),-                  ("VK_SHADER_STAGE_COMPUTE_BIT", pure VK_SHADER_STAGE_COMPUTE_BIT),-                  ("VK_SHADER_STAGE_ALL_GRAPHICS",-                   pure VK_SHADER_STAGE_ALL_GRAPHICS),-                  ("VK_SHADER_STAGE_ALL", pure VK_SHADER_STAGE_ALL)]-                 +++-                 prec 10-                   (expectP (Ident "VkShaderStageBitmask") >>-                      (VkShaderStageBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_SHADER_STAGE_VERTEX_BIT", pure VK_SHADER_STAGE_VERTEX_BIT),+              ("VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT",+               pure VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT),+              ("VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT",+               pure VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT),+              ("VK_SHADER_STAGE_GEOMETRY_BIT",+               pure VK_SHADER_STAGE_GEOMETRY_BIT),+              ("VK_SHADER_STAGE_FRAGMENT_BIT",+               pure VK_SHADER_STAGE_FRAGMENT_BIT),+              ("VK_SHADER_STAGE_COMPUTE_BIT", pure VK_SHADER_STAGE_COMPUTE_BIT),+              ("VK_SHADER_STAGE_ALL_GRAPHICS",+               pure VK_SHADER_STAGE_ALL_GRAPHICS),+              ("VK_SHADER_STAGE_ALL", pure VK_SHADER_STAGE_ALL)]+             ++++             prec 10+               (expectP (Ident "VkShaderStageBitmask") >>+                  (VkShaderStageBitmask <$> step readPrec)))  -- | bitpos = @0@ pattern VK_SHADER_STAGE_VERTEX_BIT :: VkShaderStageBitmask a
src-gen/Graphics/Vulkan/Types/Enum/SharingMode.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -9,9 +7,7 @@        (VkSharingMode(VkSharingMode, VK_SHARING_MODE_EXCLUSIVE,                       VK_SHARING_MODE_CONCURRENT))        where-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Text.ParserCombinators.ReadPrec (prec, step, (+++))@@ -22,27 +18,27 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSharingMode VkSharingMode registry at www.khronos.org> newtype VkSharingMode = VkSharingMode Int32-                          deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                        deriving (Eq, Ord, Enum, Storable)  instance Show VkSharingMode where-        showsPrec _ VK_SHARING_MODE_EXCLUSIVE-          = showString "VK_SHARING_MODE_EXCLUSIVE"-        showsPrec _ VK_SHARING_MODE_CONCURRENT-          = showString "VK_SHARING_MODE_CONCURRENT"-        showsPrec p (VkSharingMode x)-          = showParen (p >= 11)-              (showString "VkSharingMode " . showsPrec 11 x)+    showsPrec _ VK_SHARING_MODE_EXCLUSIVE+      = showString "VK_SHARING_MODE_EXCLUSIVE"+    showsPrec _ VK_SHARING_MODE_CONCURRENT+      = showString "VK_SHARING_MODE_CONCURRENT"+    showsPrec p (VkSharingMode x)+      = showParen (p >= 11)+          (showString "VkSharingMode " . showsPrec 11 x)  instance Read VkSharingMode where-        readPrec-          = parens-              (choose-                 [("VK_SHARING_MODE_EXCLUSIVE", pure VK_SHARING_MODE_EXCLUSIVE),-                  ("VK_SHARING_MODE_CONCURRENT", pure VK_SHARING_MODE_CONCURRENT)]-                 +++-                 prec 10-                   (expectP (Ident "VkSharingMode") >>-                      (VkSharingMode <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_SHARING_MODE_EXCLUSIVE", pure VK_SHARING_MODE_EXCLUSIVE),+              ("VK_SHARING_MODE_CONCURRENT", pure VK_SHARING_MODE_CONCURRENT)]+             ++++             prec 10+               (expectP (Ident "VkSharingMode") >>+                  (VkSharingMode <$> step readPrec)))  pattern VK_SHARING_MODE_EXCLUSIVE :: VkSharingMode 
src-gen/Graphics/Vulkan/Types/Enum/Sparse.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -22,9 +20,7 @@         VkSparseMemoryBindFlags, VkSparseMemoryBindFlagBits)        where import Data.Bits                       (Bits, FiniteBits)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -34,7 +30,7 @@  newtype VkSparseImageFormatBitmask (a ::                                       FlagType) = VkSparseImageFormatBitmask VkFlags-                                                    deriving (Eq, Ord, Storable, Data, Generic)+                                                  deriving (Eq, Ord, Storable)  type VkSparseImageFormatFlags = VkSparseImageFormatBitmask FlagMask @@ -56,41 +52,31 @@  deriving instance FiniteBits (VkSparseImageFormatBitmask FlagMask) -deriving instance Integral (VkSparseImageFormatBitmask FlagMask)--deriving instance Num (VkSparseImageFormatBitmask FlagMask)--deriving instance Bounded (VkSparseImageFormatBitmask FlagMask)--deriving instance Enum (VkSparseImageFormatBitmask FlagMask)--deriving instance Real (VkSparseImageFormatBitmask FlagMask)- instance Show (VkSparseImageFormatBitmask a) where-        showsPrec _ VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT-          = showString "VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT"-        showsPrec _ VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT-          = showString "VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT"-        showsPrec _ VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT-          = showString "VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT"-        showsPrec p (VkSparseImageFormatBitmask x)-          = showParen (p >= 11)-              (showString "VkSparseImageFormatBitmask " . showsPrec 11 x)+    showsPrec _ VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT+      = showString "VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT"+    showsPrec _ VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT+      = showString "VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT"+    showsPrec _ VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT+      = showString "VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT"+    showsPrec p (VkSparseImageFormatBitmask x)+      = showParen (p >= 11)+          (showString "VkSparseImageFormatBitmask " . showsPrec 11 x)  instance Read (VkSparseImageFormatBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT",-                   pure VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT),-                  ("VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT",-                   pure VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT),-                  ("VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT",-                   pure VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkSparseImageFormatBitmask") >>-                      (VkSparseImageFormatBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT",+               pure VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT),+              ("VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT",+               pure VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT),+              ("VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT",+               pure VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT)]+             ++++             prec 10+               (expectP (Ident "VkSparseImageFormatBitmask") >>+                  (VkSparseImageFormatBitmask <$> step readPrec)))  -- | Image uses a single mip tail region for all array layers --@@ -121,7 +107,7 @@  newtype VkSparseMemoryBindBitmask (a ::                                      FlagType) = VkSparseMemoryBindBitmask VkFlags-                                                   deriving (Eq, Ord, Storable, Data, Generic)+                                                 deriving (Eq, Ord, Storable)  type VkSparseMemoryBindFlags = VkSparseMemoryBindBitmask FlagMask @@ -141,33 +127,23 @@  deriving instance FiniteBits (VkSparseMemoryBindBitmask FlagMask) -deriving instance Integral (VkSparseMemoryBindBitmask FlagMask)--deriving instance Num (VkSparseMemoryBindBitmask FlagMask)--deriving instance Bounded (VkSparseMemoryBindBitmask FlagMask)--deriving instance Enum (VkSparseMemoryBindBitmask FlagMask)--deriving instance Real (VkSparseMemoryBindBitmask FlagMask)- instance Show (VkSparseMemoryBindBitmask a) where-        showsPrec _ VK_SPARSE_MEMORY_BIND_METADATA_BIT-          = showString "VK_SPARSE_MEMORY_BIND_METADATA_BIT"-        showsPrec p (VkSparseMemoryBindBitmask x)-          = showParen (p >= 11)-              (showString "VkSparseMemoryBindBitmask " . showsPrec 11 x)+    showsPrec _ VK_SPARSE_MEMORY_BIND_METADATA_BIT+      = showString "VK_SPARSE_MEMORY_BIND_METADATA_BIT"+    showsPrec p (VkSparseMemoryBindBitmask x)+      = showParen (p >= 11)+          (showString "VkSparseMemoryBindBitmask " . showsPrec 11 x)  instance Read (VkSparseMemoryBindBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_SPARSE_MEMORY_BIND_METADATA_BIT",-                   pure VK_SPARSE_MEMORY_BIND_METADATA_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkSparseMemoryBindBitmask") >>-                      (VkSparseMemoryBindBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_SPARSE_MEMORY_BIND_METADATA_BIT",+               pure VK_SPARSE_MEMORY_BIND_METADATA_BIT)]+             ++++             prec 10+               (expectP (Ident "VkSparseMemoryBindBitmask") >>+                  (VkSparseMemoryBindBitmask <$> step readPrec)))  -- | Operation binds resource metadata to memory --
src-gen/Graphics/Vulkan/Types/Enum/Stencil.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -21,9 +19,7 @@                     VK_STENCIL_OP_DECREMENT_AND_WRAP))        where import Data.Bits                       (Bits, FiniteBits)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType, Int32) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -33,7 +29,7 @@  newtype VkStencilFaceBitmask (a ::                                 FlagType) = VkStencilFaceBitmask VkFlags-                                              deriving (Eq, Ord, Storable, Data, Generic)+                                            deriving (Eq, Ord, Storable)  type VkStencilFaceFlags = VkStencilFaceBitmask FlagMask @@ -53,38 +49,28 @@  deriving instance FiniteBits (VkStencilFaceBitmask FlagMask) -deriving instance Integral (VkStencilFaceBitmask FlagMask)--deriving instance Num (VkStencilFaceBitmask FlagMask)--deriving instance Bounded (VkStencilFaceBitmask FlagMask)--deriving instance Enum (VkStencilFaceBitmask FlagMask)--deriving instance Real (VkStencilFaceBitmask FlagMask)- instance Show (VkStencilFaceBitmask a) where-        showsPrec _ VK_STENCIL_FACE_FRONT_BIT-          = showString "VK_STENCIL_FACE_FRONT_BIT"-        showsPrec _ VK_STENCIL_FACE_BACK_BIT-          = showString "VK_STENCIL_FACE_BACK_BIT"-        showsPrec _ VK_STENCIL_FRONT_AND_BACK-          = showString "VK_STENCIL_FRONT_AND_BACK"-        showsPrec p (VkStencilFaceBitmask x)-          = showParen (p >= 11)-              (showString "VkStencilFaceBitmask " . showsPrec 11 x)+    showsPrec _ VK_STENCIL_FACE_FRONT_BIT+      = showString "VK_STENCIL_FACE_FRONT_BIT"+    showsPrec _ VK_STENCIL_FACE_BACK_BIT+      = showString "VK_STENCIL_FACE_BACK_BIT"+    showsPrec _ VK_STENCIL_FRONT_AND_BACK+      = showString "VK_STENCIL_FRONT_AND_BACK"+    showsPrec p (VkStencilFaceBitmask x)+      = showParen (p >= 11)+          (showString "VkStencilFaceBitmask " . showsPrec 11 x)  instance Read (VkStencilFaceBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_STENCIL_FACE_FRONT_BIT", pure VK_STENCIL_FACE_FRONT_BIT),-                  ("VK_STENCIL_FACE_BACK_BIT", pure VK_STENCIL_FACE_BACK_BIT),-                  ("VK_STENCIL_FRONT_AND_BACK", pure VK_STENCIL_FRONT_AND_BACK)]-                 +++-                 prec 10-                   (expectP (Ident "VkStencilFaceBitmask") >>-                      (VkStencilFaceBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_STENCIL_FACE_FRONT_BIT", pure VK_STENCIL_FACE_FRONT_BIT),+              ("VK_STENCIL_FACE_BACK_BIT", pure VK_STENCIL_FACE_BACK_BIT),+              ("VK_STENCIL_FRONT_AND_BACK", pure VK_STENCIL_FRONT_AND_BACK)]+             ++++             prec 10+               (expectP (Ident "VkStencilFaceBitmask") >>+                  (VkStencilFaceBitmask <$> step readPrec)))  -- | Front face --@@ -109,45 +95,45 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkStencilOp VkStencilOp registry at www.khronos.org> newtype VkStencilOp = VkStencilOp Int32-                        deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                      deriving (Eq, Ord, Enum, Storable)  instance Show VkStencilOp where-        showsPrec _ VK_STENCIL_OP_KEEP = showString "VK_STENCIL_OP_KEEP"-        showsPrec _ VK_STENCIL_OP_ZERO = showString "VK_STENCIL_OP_ZERO"-        showsPrec _ VK_STENCIL_OP_REPLACE-          = showString "VK_STENCIL_OP_REPLACE"-        showsPrec _ VK_STENCIL_OP_INCREMENT_AND_CLAMP-          = showString "VK_STENCIL_OP_INCREMENT_AND_CLAMP"-        showsPrec _ VK_STENCIL_OP_DECREMENT_AND_CLAMP-          = showString "VK_STENCIL_OP_DECREMENT_AND_CLAMP"-        showsPrec _ VK_STENCIL_OP_INVERT-          = showString "VK_STENCIL_OP_INVERT"-        showsPrec _ VK_STENCIL_OP_INCREMENT_AND_WRAP-          = showString "VK_STENCIL_OP_INCREMENT_AND_WRAP"-        showsPrec _ VK_STENCIL_OP_DECREMENT_AND_WRAP-          = showString "VK_STENCIL_OP_DECREMENT_AND_WRAP"-        showsPrec p (VkStencilOp x)-          = showParen (p >= 11) (showString "VkStencilOp " . showsPrec 11 x)+    showsPrec _ VK_STENCIL_OP_KEEP = showString "VK_STENCIL_OP_KEEP"+    showsPrec _ VK_STENCIL_OP_ZERO = showString "VK_STENCIL_OP_ZERO"+    showsPrec _ VK_STENCIL_OP_REPLACE+      = showString "VK_STENCIL_OP_REPLACE"+    showsPrec _ VK_STENCIL_OP_INCREMENT_AND_CLAMP+      = showString "VK_STENCIL_OP_INCREMENT_AND_CLAMP"+    showsPrec _ VK_STENCIL_OP_DECREMENT_AND_CLAMP+      = showString "VK_STENCIL_OP_DECREMENT_AND_CLAMP"+    showsPrec _ VK_STENCIL_OP_INVERT+      = showString "VK_STENCIL_OP_INVERT"+    showsPrec _ VK_STENCIL_OP_INCREMENT_AND_WRAP+      = showString "VK_STENCIL_OP_INCREMENT_AND_WRAP"+    showsPrec _ VK_STENCIL_OP_DECREMENT_AND_WRAP+      = showString "VK_STENCIL_OP_DECREMENT_AND_WRAP"+    showsPrec p (VkStencilOp x)+      = showParen (p >= 11) (showString "VkStencilOp " . showsPrec 11 x)  instance Read VkStencilOp where-        readPrec-          = parens-              (choose-                 [("VK_STENCIL_OP_KEEP", pure VK_STENCIL_OP_KEEP),-                  ("VK_STENCIL_OP_ZERO", pure VK_STENCIL_OP_ZERO),-                  ("VK_STENCIL_OP_REPLACE", pure VK_STENCIL_OP_REPLACE),-                  ("VK_STENCIL_OP_INCREMENT_AND_CLAMP",-                   pure VK_STENCIL_OP_INCREMENT_AND_CLAMP),-                  ("VK_STENCIL_OP_DECREMENT_AND_CLAMP",-                   pure VK_STENCIL_OP_DECREMENT_AND_CLAMP),-                  ("VK_STENCIL_OP_INVERT", pure VK_STENCIL_OP_INVERT),-                  ("VK_STENCIL_OP_INCREMENT_AND_WRAP",-                   pure VK_STENCIL_OP_INCREMENT_AND_WRAP),-                  ("VK_STENCIL_OP_DECREMENT_AND_WRAP",-                   pure VK_STENCIL_OP_DECREMENT_AND_WRAP)]-                 +++-                 prec 10-                   (expectP (Ident "VkStencilOp") >> (VkStencilOp <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_STENCIL_OP_KEEP", pure VK_STENCIL_OP_KEEP),+              ("VK_STENCIL_OP_ZERO", pure VK_STENCIL_OP_ZERO),+              ("VK_STENCIL_OP_REPLACE", pure VK_STENCIL_OP_REPLACE),+              ("VK_STENCIL_OP_INCREMENT_AND_CLAMP",+               pure VK_STENCIL_OP_INCREMENT_AND_CLAMP),+              ("VK_STENCIL_OP_DECREMENT_AND_CLAMP",+               pure VK_STENCIL_OP_DECREMENT_AND_CLAMP),+              ("VK_STENCIL_OP_INVERT", pure VK_STENCIL_OP_INVERT),+              ("VK_STENCIL_OP_INCREMENT_AND_WRAP",+               pure VK_STENCIL_OP_INCREMENT_AND_WRAP),+              ("VK_STENCIL_OP_DECREMENT_AND_WRAP",+               pure VK_STENCIL_OP_DECREMENT_AND_WRAP)]+             ++++             prec 10+               (expectP (Ident "VkStencilOp") >> (VkStencilOp <$> step readPrec)))  pattern VK_STENCIL_OP_KEEP :: VkStencilOp 
src-gen/Graphics/Vulkan/Types/Enum/StructureType.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -57,9 +55,7 @@                         VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO,                         VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO))        where-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Text.ParserCombinators.ReadPrec (prec, step, (+++))@@ -73,232 +69,232 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkStructureType VkStructureType registry at www.khronos.org> newtype VkStructureType = VkStructureType Int32-                            deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                          deriving (Eq, Ord, Enum, Storable)  instance Show VkStructureType where-        showsPrec _ VK_STRUCTURE_TYPE_APPLICATION_INFO-          = showString "VK_STRUCTURE_TYPE_APPLICATION_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO-          = showString "VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO-          = showString "VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO-          = showString "VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_SUBMIT_INFO-          = showString "VK_STRUCTURE_TYPE_SUBMIT_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO-          = showString "VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE-          = showString "VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE"-        showsPrec _ VK_STRUCTURE_TYPE_BIND_SPARSE_INFO-          = showString "VK_STRUCTURE_TYPE_BIND_SPARSE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_FENCE_CREATE_INFO-          = showString "VK_STRUCTURE_TYPE_FENCE_CREATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO-          = showString "VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_EVENT_CREATE_INFO-          = showString "VK_STRUCTURE_TYPE_EVENT_CREATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO-          = showString "VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO-          = showString "VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO-          = showString "VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO-          = showString "VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO-          = showString "VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO-          = showString "VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO-          = showString "VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO-          = showString "VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO"-        showsPrec _-          VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO-          = showString-              "VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO"-        showsPrec _-          VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO-          = showString-              "VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO"-        showsPrec _-          VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO-          = showString-              "VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO-          = showString-              "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO"-        showsPrec _-          VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO-          = showString-              "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO"-        showsPrec _-          VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO-          = showString-              "VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO"-        showsPrec _-          VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO-          = showString-              "VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO"-        showsPrec _-          VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO-          = showString-              "VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO-          = showString "VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO-          = showString "VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO-          = showString "VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO-          = showString "VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO-          = showString "VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO-          = showString "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO-          = showString "VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO-          = showString "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET-          = showString "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET"-        showsPrec _ VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET-          = showString "VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET"-        showsPrec _ VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO-          = showString "VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO-          = showString "VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO-          = showString "VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO-          = showString "VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO-          = showString "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO-          = showString "VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO-          = showString "VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER-          = showString "VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER"-        showsPrec _ VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER-          = showString "VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER"-        showsPrec _ VK_STRUCTURE_TYPE_MEMORY_BARRIER-          = showString "VK_STRUCTURE_TYPE_MEMORY_BARRIER"-        showsPrec _ VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO-          = showString "VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO"-        showsPrec _ VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO-          = showString "VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO"-        showsPrec p (VkStructureType x)-          = showParen (p >= 11)-              (showString "VkStructureType " . showsPrec 11 x)+    showsPrec _ VK_STRUCTURE_TYPE_APPLICATION_INFO+      = showString "VK_STRUCTURE_TYPE_APPLICATION_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO+      = showString "VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO+      = showString "VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO+      = showString "VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_SUBMIT_INFO+      = showString "VK_STRUCTURE_TYPE_SUBMIT_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO+      = showString "VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE+      = showString "VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE"+    showsPrec _ VK_STRUCTURE_TYPE_BIND_SPARSE_INFO+      = showString "VK_STRUCTURE_TYPE_BIND_SPARSE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_FENCE_CREATE_INFO+      = showString "VK_STRUCTURE_TYPE_FENCE_CREATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO+      = showString "VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_EVENT_CREATE_INFO+      = showString "VK_STRUCTURE_TYPE_EVENT_CREATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO+      = showString "VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO+      = showString "VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO+      = showString "VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO+      = showString "VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO+      = showString "VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO+      = showString "VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO+      = showString "VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO+      = showString "VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO"+    showsPrec _+      VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO+      = showString+          "VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO"+    showsPrec _+      VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO+      = showString+          "VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO"+    showsPrec _+      VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO+      = showString+          "VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO+      = showString+          "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO"+    showsPrec _+      VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO+      = showString+          "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO"+    showsPrec _+      VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO+      = showString+          "VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO"+    showsPrec _+      VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO+      = showString+          "VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO"+    showsPrec _+      VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO+      = showString+          "VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO+      = showString "VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO+      = showString "VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO+      = showString "VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO+      = showString "VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO+      = showString "VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO+      = showString "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO+      = showString "VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO+      = showString "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET+      = showString "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET"+    showsPrec _ VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET+      = showString "VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET"+    showsPrec _ VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO+      = showString "VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO+      = showString "VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO+      = showString "VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO+      = showString "VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO+      = showString "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO+      = showString "VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO+      = showString "VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER+      = showString "VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER"+    showsPrec _ VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER+      = showString "VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER"+    showsPrec _ VK_STRUCTURE_TYPE_MEMORY_BARRIER+      = showString "VK_STRUCTURE_TYPE_MEMORY_BARRIER"+    showsPrec _ VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO+      = showString "VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO"+    showsPrec _ VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO+      = showString "VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO"+    showsPrec p (VkStructureType x)+      = showParen (p >= 11)+          (showString "VkStructureType " . showsPrec 11 x)  instance Read VkStructureType where-        readPrec-          = parens-              (choose-                 [("VK_STRUCTURE_TYPE_APPLICATION_INFO",-                   pure VK_STRUCTURE_TYPE_APPLICATION_INFO),-                  ("VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_SUBMIT_INFO",-                   pure VK_STRUCTURE_TYPE_SUBMIT_INFO),-                  ("VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO",-                   pure VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO),-                  ("VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE",-                   pure VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE),-                  ("VK_STRUCTURE_TYPE_BIND_SPARSE_INFO",-                   pure VK_STRUCTURE_TYPE_BIND_SPARSE_INFO),-                  ("VK_STRUCTURE_TYPE_FENCE_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_FENCE_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_EVENT_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_EVENT_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO",-                   pure VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO),-                  ("VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET",-                   pure VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET),-                  ("VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET",-                   pure VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET),-                  ("VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO",-                   pure VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO),-                  ("VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO",-                   pure VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO),-                  ("VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO",-                   pure VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO),-                  ("VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO",-                   pure VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO),-                  ("VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER",-                   pure VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER),-                  ("VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER",-                   pure VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER),-                  ("VK_STRUCTURE_TYPE_MEMORY_BARRIER",-                   pure VK_STRUCTURE_TYPE_MEMORY_BARRIER),-                  ("VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO),-                  ("VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO",-                   pure VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO)]-                 +++-                 prec 10-                   (expectP (Ident "VkStructureType") >>-                      (VkStructureType <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_STRUCTURE_TYPE_APPLICATION_INFO",+               pure VK_STRUCTURE_TYPE_APPLICATION_INFO),+              ("VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_SUBMIT_INFO",+               pure VK_STRUCTURE_TYPE_SUBMIT_INFO),+              ("VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO",+               pure VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO),+              ("VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE",+               pure VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE),+              ("VK_STRUCTURE_TYPE_BIND_SPARSE_INFO",+               pure VK_STRUCTURE_TYPE_BIND_SPARSE_INFO),+              ("VK_STRUCTURE_TYPE_FENCE_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_FENCE_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_EVENT_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_EVENT_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO",+               pure VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO),+              ("VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET",+               pure VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET),+              ("VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET",+               pure VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET),+              ("VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO",+               pure VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO),+              ("VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO",+               pure VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO),+              ("VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO",+               pure VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO),+              ("VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO",+               pure VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO),+              ("VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER",+               pure VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER),+              ("VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER",+               pure VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER),+              ("VK_STRUCTURE_TYPE_MEMORY_BARRIER",+               pure VK_STRUCTURE_TYPE_MEMORY_BARRIER),+              ("VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO),+              ("VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO",+               pure VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO)]+             ++++             prec 10+               (expectP (Ident "VkStructureType") >>+                  (VkStructureType <$> step readPrec)))  pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType 
src-gen/Graphics/Vulkan/Types/Enum/SubgroupFeatureFlags.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -20,9 +18,7 @@         VkSubgroupFeatureFlags, VkSubgroupFeatureFlagBits)        where import Data.Bits                       (Bits, FiniteBits)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -32,7 +28,7 @@  newtype VkSubgroupFeatureBitmask (a ::                                     FlagType) = VkSubgroupFeatureBitmask VkFlags-                                                  deriving (Eq, Ord, Storable, Data, Generic)+                                                deriving (Eq, Ord, Storable)  type VkSubgroupFeatureFlags = VkSubgroupFeatureBitmask FlagMask @@ -52,61 +48,51 @@  deriving instance FiniteBits (VkSubgroupFeatureBitmask FlagMask) -deriving instance Integral (VkSubgroupFeatureBitmask FlagMask)--deriving instance Num (VkSubgroupFeatureBitmask FlagMask)--deriving instance Bounded (VkSubgroupFeatureBitmask FlagMask)--deriving instance Enum (VkSubgroupFeatureBitmask FlagMask)--deriving instance Real (VkSubgroupFeatureBitmask FlagMask)- instance Show (VkSubgroupFeatureBitmask a) where-        showsPrec _ VK_SUBGROUP_FEATURE_BASIC_BIT-          = showString "VK_SUBGROUP_FEATURE_BASIC_BIT"-        showsPrec _ VK_SUBGROUP_FEATURE_VOTE_BIT-          = showString "VK_SUBGROUP_FEATURE_VOTE_BIT"-        showsPrec _ VK_SUBGROUP_FEATURE_ARITHMETIC_BIT-          = showString "VK_SUBGROUP_FEATURE_ARITHMETIC_BIT"-        showsPrec _ VK_SUBGROUP_FEATURE_BALLOT_BIT-          = showString "VK_SUBGROUP_FEATURE_BALLOT_BIT"-        showsPrec _ VK_SUBGROUP_FEATURE_SHUFFLE_BIT-          = showString "VK_SUBGROUP_FEATURE_SHUFFLE_BIT"-        showsPrec _ VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT-          = showString "VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT"-        showsPrec _ VK_SUBGROUP_FEATURE_CLUSTERED_BIT-          = showString "VK_SUBGROUP_FEATURE_CLUSTERED_BIT"-        showsPrec _ VK_SUBGROUP_FEATURE_QUAD_BIT-          = showString "VK_SUBGROUP_FEATURE_QUAD_BIT"-        showsPrec p (VkSubgroupFeatureBitmask x)-          = showParen (p >= 11)-              (showString "VkSubgroupFeatureBitmask " . showsPrec 11 x)+    showsPrec _ VK_SUBGROUP_FEATURE_BASIC_BIT+      = showString "VK_SUBGROUP_FEATURE_BASIC_BIT"+    showsPrec _ VK_SUBGROUP_FEATURE_VOTE_BIT+      = showString "VK_SUBGROUP_FEATURE_VOTE_BIT"+    showsPrec _ VK_SUBGROUP_FEATURE_ARITHMETIC_BIT+      = showString "VK_SUBGROUP_FEATURE_ARITHMETIC_BIT"+    showsPrec _ VK_SUBGROUP_FEATURE_BALLOT_BIT+      = showString "VK_SUBGROUP_FEATURE_BALLOT_BIT"+    showsPrec _ VK_SUBGROUP_FEATURE_SHUFFLE_BIT+      = showString "VK_SUBGROUP_FEATURE_SHUFFLE_BIT"+    showsPrec _ VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT+      = showString "VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT"+    showsPrec _ VK_SUBGROUP_FEATURE_CLUSTERED_BIT+      = showString "VK_SUBGROUP_FEATURE_CLUSTERED_BIT"+    showsPrec _ VK_SUBGROUP_FEATURE_QUAD_BIT+      = showString "VK_SUBGROUP_FEATURE_QUAD_BIT"+    showsPrec p (VkSubgroupFeatureBitmask x)+      = showParen (p >= 11)+          (showString "VkSubgroupFeatureBitmask " . showsPrec 11 x)  instance Read (VkSubgroupFeatureBitmask a) where-        readPrec-          = parens-              (choose-                 [("VK_SUBGROUP_FEATURE_BASIC_BIT",-                   pure VK_SUBGROUP_FEATURE_BASIC_BIT),-                  ("VK_SUBGROUP_FEATURE_VOTE_BIT",-                   pure VK_SUBGROUP_FEATURE_VOTE_BIT),-                  ("VK_SUBGROUP_FEATURE_ARITHMETIC_BIT",-                   pure VK_SUBGROUP_FEATURE_ARITHMETIC_BIT),-                  ("VK_SUBGROUP_FEATURE_BALLOT_BIT",-                   pure VK_SUBGROUP_FEATURE_BALLOT_BIT),-                  ("VK_SUBGROUP_FEATURE_SHUFFLE_BIT",-                   pure VK_SUBGROUP_FEATURE_SHUFFLE_BIT),-                  ("VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT",-                   pure VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT),-                  ("VK_SUBGROUP_FEATURE_CLUSTERED_BIT",-                   pure VK_SUBGROUP_FEATURE_CLUSTERED_BIT),-                  ("VK_SUBGROUP_FEATURE_QUAD_BIT",-                   pure VK_SUBGROUP_FEATURE_QUAD_BIT)]-                 +++-                 prec 10-                   (expectP (Ident "VkSubgroupFeatureBitmask") >>-                      (VkSubgroupFeatureBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_SUBGROUP_FEATURE_BASIC_BIT",+               pure VK_SUBGROUP_FEATURE_BASIC_BIT),+              ("VK_SUBGROUP_FEATURE_VOTE_BIT",+               pure VK_SUBGROUP_FEATURE_VOTE_BIT),+              ("VK_SUBGROUP_FEATURE_ARITHMETIC_BIT",+               pure VK_SUBGROUP_FEATURE_ARITHMETIC_BIT),+              ("VK_SUBGROUP_FEATURE_BALLOT_BIT",+               pure VK_SUBGROUP_FEATURE_BALLOT_BIT),+              ("VK_SUBGROUP_FEATURE_SHUFFLE_BIT",+               pure VK_SUBGROUP_FEATURE_SHUFFLE_BIT),+              ("VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT",+               pure VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT),+              ("VK_SUBGROUP_FEATURE_CLUSTERED_BIT",+               pure VK_SUBGROUP_FEATURE_CLUSTERED_BIT),+              ("VK_SUBGROUP_FEATURE_QUAD_BIT",+               pure VK_SUBGROUP_FEATURE_QUAD_BIT)]+             ++++             prec 10+               (expectP (Ident "VkSubgroupFeatureBitmask") >>+                  (VkSubgroupFeatureBitmask <$> step readPrec)))  -- | Basic subgroup operations --
src-gen/Graphics/Vulkan/Types/Enum/Subpass.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -17,9 +15,7 @@         VkSubpassDescriptionFlags, VkSubpassDescriptionFlagBits)        where import Data.Bits                       (Bits, FiniteBits)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType, Int32) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -31,28 +27,28 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSubpassContents VkSubpassContents registry at www.khronos.org> newtype VkSubpassContents = VkSubpassContents Int32-                              deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                            deriving (Eq, Ord, Enum, Storable)  instance Show VkSubpassContents where-        showsPrec _ VK_SUBPASS_CONTENTS_INLINE-          = showString "VK_SUBPASS_CONTENTS_INLINE"-        showsPrec _ VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS-          = showString "VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS"-        showsPrec p (VkSubpassContents x)-          = showParen (p >= 11)-              (showString "VkSubpassContents " . showsPrec 11 x)+    showsPrec _ VK_SUBPASS_CONTENTS_INLINE+      = showString "VK_SUBPASS_CONTENTS_INLINE"+    showsPrec _ VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS+      = showString "VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS"+    showsPrec p (VkSubpassContents x)+      = showParen (p >= 11)+          (showString "VkSubpassContents " . showsPrec 11 x)  instance Read VkSubpassContents where-        readPrec-          = parens-              (choose-                 [("VK_SUBPASS_CONTENTS_INLINE", pure VK_SUBPASS_CONTENTS_INLINE),-                  ("VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS",-                   pure VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS)]-                 +++-                 prec 10-                   (expectP (Ident "VkSubpassContents") >>-                      (VkSubpassContents <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_SUBPASS_CONTENTS_INLINE", pure VK_SUBPASS_CONTENTS_INLINE),+              ("VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS",+               pure VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS)]+             ++++             prec 10+               (expectP (Ident "VkSubpassContents") >>+                  (VkSubpassContents <$> step readPrec)))  pattern VK_SUBPASS_CONTENTS_INLINE :: VkSubpassContents @@ -66,7 +62,7 @@  newtype VkSubpassDescriptionBitmask (a ::                                        FlagType) = VkSubpassDescriptionBitmask VkFlags-                                                     deriving (Eq, Ord, Storable, Data, Generic)+                                                   deriving (Eq, Ord, Storable)  type VkSubpassDescriptionFlags =      VkSubpassDescriptionBitmask FlagMask@@ -89,25 +85,15 @@  deriving instance FiniteBits (VkSubpassDescriptionBitmask FlagMask) -deriving instance Integral (VkSubpassDescriptionBitmask FlagMask)--deriving instance Num (VkSubpassDescriptionBitmask FlagMask)--deriving instance Bounded (VkSubpassDescriptionBitmask FlagMask)--deriving instance Enum (VkSubpassDescriptionBitmask FlagMask)--deriving instance Real (VkSubpassDescriptionBitmask FlagMask)- instance Show (VkSubpassDescriptionBitmask a) where-        showsPrec p (VkSubpassDescriptionBitmask x)-          = showParen (p >= 11)-              (showString "VkSubpassDescriptionBitmask " . showsPrec 11 x)+    showsPrec p (VkSubpassDescriptionBitmask x)+      = showParen (p >= 11)+          (showString "VkSubpassDescriptionBitmask " . showsPrec 11 x)  instance Read (VkSubpassDescriptionBitmask a) where-        readPrec-          = parens-              (choose [] +++-                 prec 10-                   (expectP (Ident "VkSubpassDescriptionBitmask") >>-                      (VkSubpassDescriptionBitmask <$> step readPrec)))+    readPrec+      = parens+          (choose [] ++++             prec 10+               (expectP (Ident "VkSubpassDescriptionBitmask") >>+                  (VkSubpassDescriptionBitmask <$> step readPrec)))
src-gen/Graphics/Vulkan/Types/Enum/Surface.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -28,9 +26,7 @@         VkSurfaceTransformFlagsKHR, VkSurfaceTransformFlagBitsKHR)        where import Data.Bits                       (Bits, FiniteBits)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -40,7 +36,7 @@  newtype VkSurfaceCounterBitmaskEXT (a ::                                       FlagType) = VkSurfaceCounterBitmaskEXT VkFlags-                                                    deriving (Eq, Ord, Storable, Data, Generic)+                                                  deriving (Eq, Ord, Storable)  type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask @@ -62,33 +58,23 @@  deriving instance FiniteBits (VkSurfaceCounterBitmaskEXT FlagMask) -deriving instance Integral (VkSurfaceCounterBitmaskEXT FlagMask)--deriving instance Num (VkSurfaceCounterBitmaskEXT FlagMask)--deriving instance Bounded (VkSurfaceCounterBitmaskEXT FlagMask)--deriving instance Enum (VkSurfaceCounterBitmaskEXT FlagMask)--deriving instance Real (VkSurfaceCounterBitmaskEXT FlagMask)- instance Show (VkSurfaceCounterBitmaskEXT a) where-        showsPrec _ VK_SURFACE_COUNTER_VBLANK_EXT-          = showString "VK_SURFACE_COUNTER_VBLANK_EXT"-        showsPrec p (VkSurfaceCounterBitmaskEXT x)-          = showParen (p >= 11)-              (showString "VkSurfaceCounterBitmaskEXT " . showsPrec 11 x)+    showsPrec _ VK_SURFACE_COUNTER_VBLANK_EXT+      = showString "VK_SURFACE_COUNTER_VBLANK_EXT"+    showsPrec p (VkSurfaceCounterBitmaskEXT x)+      = showParen (p >= 11)+          (showString "VkSurfaceCounterBitmaskEXT " . showsPrec 11 x)  instance Read (VkSurfaceCounterBitmaskEXT a) where-        readPrec-          = parens-              (choose-                 [("VK_SURFACE_COUNTER_VBLANK_EXT",-                   pure VK_SURFACE_COUNTER_VBLANK_EXT)]-                 +++-                 prec 10-                   (expectP (Ident "VkSurfaceCounterBitmaskEXT") >>-                      (VkSurfaceCounterBitmaskEXT <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_SURFACE_COUNTER_VBLANK_EXT",+               pure VK_SURFACE_COUNTER_VBLANK_EXT)]+             ++++             prec 10+               (expectP (Ident "VkSurfaceCounterBitmaskEXT") >>+                  (VkSurfaceCounterBitmaskEXT <$> step readPrec)))  -- | bitpos = @0@ pattern VK_SURFACE_COUNTER_VBLANK_EXT ::@@ -99,7 +85,7 @@  newtype VkSurfaceTransformBitmaskKHR (a ::                                         FlagType) = VkSurfaceTransformBitmaskKHR VkFlags-                                                      deriving (Eq, Ord, Storable, Data, Generic)+                                                    deriving (Eq, Ord, Storable)  type VkSurfaceTransformFlagsKHR =      VkSurfaceTransformBitmaskKHR FlagMask@@ -124,71 +110,61 @@ deriving instance          FiniteBits (VkSurfaceTransformBitmaskKHR FlagMask) -deriving instance Integral (VkSurfaceTransformBitmaskKHR FlagMask)--deriving instance Num (VkSurfaceTransformBitmaskKHR FlagMask)--deriving instance Bounded (VkSurfaceTransformBitmaskKHR FlagMask)--deriving instance Enum (VkSurfaceTransformBitmaskKHR FlagMask)--deriving instance Real (VkSurfaceTransformBitmaskKHR FlagMask)- instance Show (VkSurfaceTransformBitmaskKHR a) where-        showsPrec _ VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR-          = showString "VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR"-        showsPrec _ VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR-          = showString "VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR"-        showsPrec _ VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR-          = showString "VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR"-        showsPrec _ VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR-          = showString "VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR"-        showsPrec _ VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR-          = showString "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR"-        showsPrec _-          VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR-          = showString-              "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR"-        showsPrec _-          VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR-          = showString-              "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR"-        showsPrec _-          VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR-          = showString-              "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR"-        showsPrec _ VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR-          = showString "VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR"-        showsPrec p (VkSurfaceTransformBitmaskKHR x)-          = showParen (p >= 11)-              (showString "VkSurfaceTransformBitmaskKHR " . showsPrec 11 x)+    showsPrec _ VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR+      = showString "VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR"+    showsPrec _ VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR+      = showString "VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR"+    showsPrec _ VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR+      = showString "VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR"+    showsPrec _ VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR+      = showString "VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR"+    showsPrec _ VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR+      = showString "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR"+    showsPrec _+      VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR+      = showString+          "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR"+    showsPrec _+      VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR+      = showString+          "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR"+    showsPrec _+      VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR+      = showString+          "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR"+    showsPrec _ VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR+      = showString "VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR"+    showsPrec p (VkSurfaceTransformBitmaskKHR x)+      = showParen (p >= 11)+          (showString "VkSurfaceTransformBitmaskKHR " . showsPrec 11 x)  instance Read (VkSurfaceTransformBitmaskKHR a) where-        readPrec-          = parens-              (choose-                 [("VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR",-                   pure VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR),-                  ("VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR",-                   pure VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR),-                  ("VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR",-                   pure VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR),-                  ("VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR",-                   pure VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR),-                  ("VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR",-                   pure VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR),-                  ("VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR",-                   pure VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR),-                  ("VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR",-                   pure VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR),-                  ("VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR",-                   pure VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR),-                  ("VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR",-                   pure VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR)]-                 +++-                 prec 10-                   (expectP (Ident "VkSurfaceTransformBitmaskKHR") >>-                      (VkSurfaceTransformBitmaskKHR <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR",+               pure VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR),+              ("VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR",+               pure VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR),+              ("VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR",+               pure VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR),+              ("VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR",+               pure VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR),+              ("VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR",+               pure VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR),+              ("VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR",+               pure VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR),+              ("VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR",+               pure VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR),+              ("VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR",+               pure VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR),+              ("VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR",+               pure VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR)]+             ++++             prec 10+               (expectP (Ident "VkSurfaceTransformBitmaskKHR") >>+                  (VkSurfaceTransformBitmaskKHR <$> step readPrec)))  -- | bitpos = @0@ pattern VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR ::
src-gen/Graphics/Vulkan/Types/Enum/SwapchainCreateFlagsKHR.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures             #-}@@ -15,9 +13,7 @@         VkSwapchainCreateFlagsKHR, VkSwapchainCreateFlagBitsKHR)        where import Data.Bits                       (Bits, FiniteBits)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType) import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))@@ -27,7 +23,7 @@  newtype VkSwapchainCreateBitmaskKHR (a ::                                        FlagType) = VkSwapchainCreateBitmaskKHR VkFlags-                                                     deriving (Eq, Ord, Storable, Data, Generic)+                                                   deriving (Eq, Ord, Storable)  type VkSwapchainCreateFlagsKHR =      VkSwapchainCreateBitmaskKHR FlagMask@@ -50,25 +46,15 @@  deriving instance FiniteBits (VkSwapchainCreateBitmaskKHR FlagMask) -deriving instance Integral (VkSwapchainCreateBitmaskKHR FlagMask)--deriving instance Num (VkSwapchainCreateBitmaskKHR FlagMask)--deriving instance Bounded (VkSwapchainCreateBitmaskKHR FlagMask)--deriving instance Enum (VkSwapchainCreateBitmaskKHR FlagMask)--deriving instance Real (VkSwapchainCreateBitmaskKHR FlagMask)- instance Show (VkSwapchainCreateBitmaskKHR a) where-        showsPrec p (VkSwapchainCreateBitmaskKHR x)-          = showParen (p >= 11)-              (showString "VkSwapchainCreateBitmaskKHR " . showsPrec 11 x)+    showsPrec p (VkSwapchainCreateBitmaskKHR x)+      = showParen (p >= 11)+          (showString "VkSwapchainCreateBitmaskKHR " . showsPrec 11 x)  instance Read (VkSwapchainCreateBitmaskKHR a) where-        readPrec-          = parens-              (choose [] +++-                 prec 10-                   (expectP (Ident "VkSwapchainCreateBitmaskKHR") >>-                      (VkSwapchainCreateBitmaskKHR <$> step readPrec)))+    readPrec+      = parens+          (choose [] ++++             prec 10+               (expectP (Ident "VkSwapchainCreateBitmaskKHR") >>+                  (VkSwapchainCreateBitmaskKHR <$> step readPrec)))
src-gen/Graphics/Vulkan/Types/Enum/SystemAllocationScope.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -13,9 +11,7 @@                                 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE,                                 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE))        where-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Text.ParserCombinators.ReadPrec (prec, step, (+++))@@ -26,41 +22,41 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSystemAllocationScope VkSystemAllocationScope registry at www.khronos.org> newtype VkSystemAllocationScope = VkSystemAllocationScope Int32-                                    deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                                  deriving (Eq, Ord, Enum, Storable)  instance Show VkSystemAllocationScope where-        showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_COMMAND-          = showString "VK_SYSTEM_ALLOCATION_SCOPE_COMMAND"-        showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_OBJECT-          = showString "VK_SYSTEM_ALLOCATION_SCOPE_OBJECT"-        showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_CACHE-          = showString "VK_SYSTEM_ALLOCATION_SCOPE_CACHE"-        showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_DEVICE-          = showString "VK_SYSTEM_ALLOCATION_SCOPE_DEVICE"-        showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE-          = showString "VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE"-        showsPrec p (VkSystemAllocationScope x)-          = showParen (p >= 11)-              (showString "VkSystemAllocationScope " . showsPrec 11 x)+    showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_COMMAND+      = showString "VK_SYSTEM_ALLOCATION_SCOPE_COMMAND"+    showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_OBJECT+      = showString "VK_SYSTEM_ALLOCATION_SCOPE_OBJECT"+    showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_CACHE+      = showString "VK_SYSTEM_ALLOCATION_SCOPE_CACHE"+    showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_DEVICE+      = showString "VK_SYSTEM_ALLOCATION_SCOPE_DEVICE"+    showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE+      = showString "VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE"+    showsPrec p (VkSystemAllocationScope x)+      = showParen (p >= 11)+          (showString "VkSystemAllocationScope " . showsPrec 11 x)  instance Read VkSystemAllocationScope where-        readPrec-          = parens-              (choose-                 [("VK_SYSTEM_ALLOCATION_SCOPE_COMMAND",-                   pure VK_SYSTEM_ALLOCATION_SCOPE_COMMAND),-                  ("VK_SYSTEM_ALLOCATION_SCOPE_OBJECT",-                   pure VK_SYSTEM_ALLOCATION_SCOPE_OBJECT),-                  ("VK_SYSTEM_ALLOCATION_SCOPE_CACHE",-                   pure VK_SYSTEM_ALLOCATION_SCOPE_CACHE),-                  ("VK_SYSTEM_ALLOCATION_SCOPE_DEVICE",-                   pure VK_SYSTEM_ALLOCATION_SCOPE_DEVICE),-                  ("VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE",-                   pure VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE)]-                 +++-                 prec 10-                   (expectP (Ident "VkSystemAllocationScope") >>-                      (VkSystemAllocationScope <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_SYSTEM_ALLOCATION_SCOPE_COMMAND",+               pure VK_SYSTEM_ALLOCATION_SCOPE_COMMAND),+              ("VK_SYSTEM_ALLOCATION_SCOPE_OBJECT",+               pure VK_SYSTEM_ALLOCATION_SCOPE_OBJECT),+              ("VK_SYSTEM_ALLOCATION_SCOPE_CACHE",+               pure VK_SYSTEM_ALLOCATION_SCOPE_CACHE),+              ("VK_SYSTEM_ALLOCATION_SCOPE_DEVICE",+               pure VK_SYSTEM_ALLOCATION_SCOPE_DEVICE),+              ("VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE",+               pure VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE)]+             ++++             prec 10+               (expectP (Ident "VkSystemAllocationScope") >>+                  (VkSystemAllocationScope <$> step readPrec)))  pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND ::         VkSystemAllocationScope
src-gen/Graphics/Vulkan/Types/Enum/TessellationDomainOrigin.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -13,9 +11,7 @@        where import Data.Bits                       (Bits, FiniteBits) import Data.Coerce                     (coerce)-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Graphics.Vulkan.Types.BaseTypes (VkFlags)@@ -27,30 +23,29 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkTessellationDomainOrigin VkTessellationDomainOrigin registry at www.khronos.org> newtype VkTessellationDomainOrigin = VkTessellationDomainOrigin Int32-                                       deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,-                                                 Generic)+                                     deriving (Eq, Ord, Enum, Storable)  instance Show VkTessellationDomainOrigin where-        showsPrec _ VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT-          = showString "VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT"-        showsPrec _ VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT-          = showString "VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT"-        showsPrec p (VkTessellationDomainOrigin x)-          = showParen (p >= 11)-              (showString "VkTessellationDomainOrigin " . showsPrec 11 x)+    showsPrec _ VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT+      = showString "VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT"+    showsPrec _ VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT+      = showString "VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT"+    showsPrec p (VkTessellationDomainOrigin x)+      = showParen (p >= 11)+          (showString "VkTessellationDomainOrigin " . showsPrec 11 x)  instance Read VkTessellationDomainOrigin where-        readPrec-          = parens-              (choose-                 [("VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT",-                   pure VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT),-                  ("VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT",-                   pure VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT)]-                 +++-                 prec 10-                   (expectP (Ident "VkTessellationDomainOrigin") >>-                      (VkTessellationDomainOrigin <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT",+               pure VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT),+              ("VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT",+               pure VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT)]+             ++++             prec 10+               (expectP (Ident "VkTessellationDomainOrigin") >>+                  (VkTessellationDomainOrigin <$> step readPrec)))  pattern VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT ::         VkTessellationDomainOrigin@@ -65,13 +60,12 @@         VkTessellationDomainOrigin 1  newtype VkTessellationDomainOriginKHR = VkTessellationDomainOriginKHR VkFlags-                                          deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                    FiniteBits, Storable, Real, Data, Generic)+                                        deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)  instance Show VkTessellationDomainOriginKHR where-        {-# INLINE show #-}-        show (VkTessellationDomainOriginKHR x) = show x+    {-# INLINE showsPrec #-}+    showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)  instance Read VkTessellationDomainOriginKHR where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+    {-# INLINE readsPrec #-}+    readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
src-gen/Graphics/Vulkan/Types/Enum/ValidationC.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -11,9 +9,7 @@         VkValidationCheckEXT(VkValidationCheckEXT,                              VK_VALIDATION_CHECK_ALL_EXT, VK_VALIDATION_CHECK_SHADERS_EXT))        where-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Text.ParserCombinators.ReadPrec (prec, step, (+++))@@ -24,26 +20,25 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkValidationCacheHeaderVersionEXT VkValidationCacheHeaderVersionEXT registry at www.khronos.org> newtype VkValidationCacheHeaderVersionEXT = VkValidationCacheHeaderVersionEXT Int32-                                              deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,-                                                        Generic)+                                            deriving (Eq, Ord, Enum, Storable)  instance Show VkValidationCacheHeaderVersionEXT where-        showsPrec _ VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT-          = showString "VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT"-        showsPrec p (VkValidationCacheHeaderVersionEXT x)-          = showParen (p >= 11)-              (showString "VkValidationCacheHeaderVersionEXT " . showsPrec 11 x)+    showsPrec _ VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT+      = showString "VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT"+    showsPrec p (VkValidationCacheHeaderVersionEXT x)+      = showParen (p >= 11)+          (showString "VkValidationCacheHeaderVersionEXT " . showsPrec 11 x)  instance Read VkValidationCacheHeaderVersionEXT where-        readPrec-          = parens-              (choose-                 [("VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT",-                   pure VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT)]-                 +++-                 prec 10-                   (expectP (Ident "VkValidationCacheHeaderVersionEXT") >>-                      (VkValidationCacheHeaderVersionEXT <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT",+               pure VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT)]+             ++++             prec 10+               (expectP (Ident "VkValidationCacheHeaderVersionEXT") >>+                  (VkValidationCacheHeaderVersionEXT <$> step readPrec)))  pattern VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT ::         VkValidationCacheHeaderVersionEXT@@ -55,28 +50,28 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkValidationCheckEXT VkValidationCheckEXT registry at www.khronos.org> newtype VkValidationCheckEXT = VkValidationCheckEXT Int32-                                 deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                               deriving (Eq, Ord, Enum, Storable)  instance Show VkValidationCheckEXT where-        showsPrec _ VK_VALIDATION_CHECK_ALL_EXT-          = showString "VK_VALIDATION_CHECK_ALL_EXT"-        showsPrec _ VK_VALIDATION_CHECK_SHADERS_EXT-          = showString "VK_VALIDATION_CHECK_SHADERS_EXT"-        showsPrec p (VkValidationCheckEXT x)-          = showParen (p >= 11)-              (showString "VkValidationCheckEXT " . showsPrec 11 x)+    showsPrec _ VK_VALIDATION_CHECK_ALL_EXT+      = showString "VK_VALIDATION_CHECK_ALL_EXT"+    showsPrec _ VK_VALIDATION_CHECK_SHADERS_EXT+      = showString "VK_VALIDATION_CHECK_SHADERS_EXT"+    showsPrec p (VkValidationCheckEXT x)+      = showParen (p >= 11)+          (showString "VkValidationCheckEXT " . showsPrec 11 x)  instance Read VkValidationCheckEXT where-        readPrec-          = parens-              (choose-                 [("VK_VALIDATION_CHECK_ALL_EXT", pure VK_VALIDATION_CHECK_ALL_EXT),-                  ("VK_VALIDATION_CHECK_SHADERS_EXT",-                   pure VK_VALIDATION_CHECK_SHADERS_EXT)]-                 +++-                 prec 10-                   (expectP (Ident "VkValidationCheckEXT") >>-                      (VkValidationCheckEXT <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_VALIDATION_CHECK_ALL_EXT", pure VK_VALIDATION_CHECK_ALL_EXT),+              ("VK_VALIDATION_CHECK_SHADERS_EXT",+               pure VK_VALIDATION_CHECK_SHADERS_EXT)]+             ++++             prec 10+               (expectP (Ident "VkValidationCheckEXT") >>+                  (VkValidationCheckEXT <$> step readPrec)))  pattern VK_VALIDATION_CHECK_ALL_EXT :: VkValidationCheckEXT 
src-gen/Graphics/Vulkan/Types/Enum/VertexInputRate.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -9,9 +7,7 @@        (VkVertexInputRate(VkVertexInputRate, VK_VERTEX_INPUT_RATE_VERTEX,                           VK_VERTEX_INPUT_RATE_INSTANCE))        where-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Text.ParserCombinators.ReadPrec (prec, step, (+++))@@ -22,28 +18,28 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkVertexInputRate VkVertexInputRate registry at www.khronos.org> newtype VkVertexInputRate = VkVertexInputRate Int32-                              deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+                            deriving (Eq, Ord, Enum, Storable)  instance Show VkVertexInputRate where-        showsPrec _ VK_VERTEX_INPUT_RATE_VERTEX-          = showString "VK_VERTEX_INPUT_RATE_VERTEX"-        showsPrec _ VK_VERTEX_INPUT_RATE_INSTANCE-          = showString "VK_VERTEX_INPUT_RATE_INSTANCE"-        showsPrec p (VkVertexInputRate x)-          = showParen (p >= 11)-              (showString "VkVertexInputRate " . showsPrec 11 x)+    showsPrec _ VK_VERTEX_INPUT_RATE_VERTEX+      = showString "VK_VERTEX_INPUT_RATE_VERTEX"+    showsPrec _ VK_VERTEX_INPUT_RATE_INSTANCE+      = showString "VK_VERTEX_INPUT_RATE_INSTANCE"+    showsPrec p (VkVertexInputRate x)+      = showParen (p >= 11)+          (showString "VkVertexInputRate " . showsPrec 11 x)  instance Read VkVertexInputRate where-        readPrec-          = parens-              (choose-                 [("VK_VERTEX_INPUT_RATE_VERTEX", pure VK_VERTEX_INPUT_RATE_VERTEX),-                  ("VK_VERTEX_INPUT_RATE_INSTANCE",-                   pure VK_VERTEX_INPUT_RATE_INSTANCE)]-                 +++-                 prec 10-                   (expectP (Ident "VkVertexInputRate") >>-                      (VkVertexInputRate <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_VERTEX_INPUT_RATE_VERTEX", pure VK_VERTEX_INPUT_RATE_VERTEX),+              ("VK_VERTEX_INPUT_RATE_INSTANCE",+               pure VK_VERTEX_INPUT_RATE_INSTANCE)]+             ++++             prec 10+               (expectP (Ident "VkVertexInputRate") >>+                  (VkVertexInputRate <$> step readPrec)))  pattern VK_VERTEX_INPUT_RATE_VERTEX :: VkVertexInputRate 
src-gen/Graphics/Vulkan/Types/Enum/ViewportCoordinateSwizzleNV.hs view
@@ -1,7 +1,5 @@ {-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-}@@ -16,9 +14,7 @@                                       VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV,                                       VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV))        where-import Data.Data                       (Data) import Foreign.Storable                (Storable)-import GHC.Generics                    (Generic) import GHC.Read                        (choose, expectP) import Graphics.Vulkan.Marshal         (Int32) import Text.ParserCombinators.ReadPrec (prec, step, (+++))@@ -29,54 +25,53 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkViewportCoordinateSwizzleNV VkViewportCoordinateSwizzleNV registry at www.khronos.org> newtype VkViewportCoordinateSwizzleNV = VkViewportCoordinateSwizzleNV Int32-                                          deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,-                                                    Generic)+                                        deriving (Eq, Ord, Enum, Storable)  instance Show VkViewportCoordinateSwizzleNV where-        showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV-          = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV"-        showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV-          = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV"-        showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV-          = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV"-        showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV-          = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV"-        showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV-          = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV"-        showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV-          = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV"-        showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV-          = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV"-        showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV-          = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV"-        showsPrec p (VkViewportCoordinateSwizzleNV x)-          = showParen (p >= 11)-              (showString "VkViewportCoordinateSwizzleNV " . showsPrec 11 x)+    showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV+      = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV"+    showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV+      = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV"+    showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV+      = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV"+    showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV+      = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV"+    showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV+      = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV"+    showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV+      = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV"+    showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV+      = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV"+    showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV+      = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV"+    showsPrec p (VkViewportCoordinateSwizzleNV x)+      = showParen (p >= 11)+          (showString "VkViewportCoordinateSwizzleNV " . showsPrec 11 x)  instance Read VkViewportCoordinateSwizzleNV where-        readPrec-          = parens-              (choose-                 [("VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV",-                   pure VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV),-                  ("VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV",-                   pure VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV),-                  ("VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV",-                   pure VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV),-                  ("VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV",-                   pure VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV),-                  ("VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV",-                   pure VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV),-                  ("VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV",-                   pure VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV),-                  ("VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV",-                   pure VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV),-                  ("VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV",-                   pure VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV)]-                 +++-                 prec 10-                   (expectP (Ident "VkViewportCoordinateSwizzleNV") >>-                      (VkViewportCoordinateSwizzleNV <$> step readPrec)))+    readPrec+      = parens+          (choose+             [("VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV",+               pure VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV),+              ("VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV",+               pure VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV),+              ("VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV",+               pure VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV),+              ("VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV",+               pure VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV),+              ("VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV",+               pure VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV),+              ("VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV",+               pure VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV),+              ("VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV",+               pure VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV),+              ("VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV",+               pure VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV)]+             ++++             prec 10+               (expectP (Ident "VkViewportCoordinateSwizzleNV") >>+                  (VkViewportCoordinateSwizzleNV <$> step readPrec)))  pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV ::         VkViewportCoordinateSwizzleNV
src-gen/Graphics/Vulkan/Types/Struct/AcquireNextImageInfoKHR.hsc view
@@ -2,20 +2,16 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.AcquireNextImageInfoKHR-       (VkAcquireNextImageInfoKHR, VkAcquireNextImageInfoKHR') where -- ' closing tick for hsc2hs-import Foreign.Storable                         (Storable (..))+       (VkAcquireNextImageInfoKHR) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType) import Graphics.Vulkan.Types.Handles            (VkFence, VkSemaphore,                                                  VkSwapchainKHR)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkAcquireNextImageInfoKHR { --   >     VkStructureType sType;@@ -29,288 +25,50 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkAcquireNextImageInfoKHR VkAcquireNextImageInfoKHR registry at www.khronos.org> type VkAcquireNextImageInfoKHR =-     VulkanStruct VkAcquireNextImageInfoKHR' -- ' closing tick for hsc2hs+     VkStruct VkAcquireNextImageInfoKHR' -- ' closing tick for hsc2hs  data VkAcquireNextImageInfoKHR' -- ' closing tick for hsc2hs -instance Eq VkAcquireNextImageInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkAcquireNextImageInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkAcquireNextImageInfoKHR where-        sizeOf ~_ = #{size VkAcquireNextImageInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkAcquireNextImageInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkAcquireNextImageInfoKHR where-        type StructFields VkAcquireNextImageInfoKHR =-             '["sType", "pNext", "swapchain", "timeout", "semaphore", "fence", -- ' closing tick for hsc2hs-               "deviceMask"]-        type CUnionType VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkAcquireNextImageInfoKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkAcquireNextImageInfoKHR where-        type FieldType "sType" VkAcquireNextImageInfoKHR = VkStructureType-        type FieldOptional "sType" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkAcquireNextImageInfoKHR =-             #{offset VkAcquireNextImageInfoKHR, sType}-        type FieldIsArray "sType" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAcquireNextImageInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkAcquireNextImageInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAcquireNextImageInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkAcquireNextImageInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkAcquireNextImageInfoKHR where-        type FieldType "pNext" VkAcquireNextImageInfoKHR = Ptr Void-        type FieldOptional "pNext" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkAcquireNextImageInfoKHR =-             #{offset VkAcquireNextImageInfoKHR, pNext}-        type FieldIsArray "pNext" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAcquireNextImageInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkAcquireNextImageInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAcquireNextImageInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkAcquireNextImageInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "swapchain" VkAcquireNextImageInfoKHR where-        type FieldType "swapchain" VkAcquireNextImageInfoKHR =-             VkSwapchainKHR-        type FieldOptional "swapchain" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "swapchain" VkAcquireNextImageInfoKHR =-             #{offset VkAcquireNextImageInfoKHR, swapchain}-        type FieldIsArray "swapchain" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAcquireNextImageInfoKHR, swapchain}--instance {-# OVERLAPPING #-}-         CanReadField "swapchain" VkAcquireNextImageInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, swapchain})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAcquireNextImageInfoKHR, swapchain}--instance {-# OVERLAPPING #-}-         CanWriteField "swapchain" VkAcquireNextImageInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, swapchain}--instance {-# OVERLAPPING #-}-         HasField "timeout" VkAcquireNextImageInfoKHR where-        type FieldType "timeout" VkAcquireNextImageInfoKHR = Word64-        type FieldOptional "timeout" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "timeout" VkAcquireNextImageInfoKHR =-             #{offset VkAcquireNextImageInfoKHR, timeout}-        type FieldIsArray "timeout" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAcquireNextImageInfoKHR, timeout}--instance {-# OVERLAPPING #-}-         CanReadField "timeout" VkAcquireNextImageInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, timeout})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAcquireNextImageInfoKHR, timeout}--instance {-# OVERLAPPING #-}-         CanWriteField "timeout" VkAcquireNextImageInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, timeout}--instance {-# OVERLAPPING #-}-         HasField "semaphore" VkAcquireNextImageInfoKHR where-        type FieldType "semaphore" VkAcquireNextImageInfoKHR = VkSemaphore-        type FieldOptional "semaphore" VkAcquireNextImageInfoKHR = 'True -- ' closing tick for hsc2hs-        type FieldOffset "semaphore" VkAcquireNextImageInfoKHR =-             #{offset VkAcquireNextImageInfoKHR, semaphore}-        type FieldIsArray "semaphore" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAcquireNextImageInfoKHR, semaphore}--instance {-# OVERLAPPING #-}-         CanReadField "semaphore" VkAcquireNextImageInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, semaphore})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAcquireNextImageInfoKHR, semaphore}--instance {-# OVERLAPPING #-}-         CanWriteField "semaphore" VkAcquireNextImageInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, semaphore}--instance {-# OVERLAPPING #-}-         HasField "fence" VkAcquireNextImageInfoKHR where-        type FieldType "fence" VkAcquireNextImageInfoKHR = VkFence-        type FieldOptional "fence" VkAcquireNextImageInfoKHR = 'True -- ' closing tick for hsc2hs-        type FieldOffset "fence" VkAcquireNextImageInfoKHR =-             #{offset VkAcquireNextImageInfoKHR, fence}-        type FieldIsArray "fence" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAcquireNextImageInfoKHR, fence}--instance {-# OVERLAPPING #-}-         CanReadField "fence" VkAcquireNextImageInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, fence})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAcquireNextImageInfoKHR, fence}--instance {-# OVERLAPPING #-}-         CanWriteField "fence" VkAcquireNextImageInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, fence}--instance {-# OVERLAPPING #-}-         HasField "deviceMask" VkAcquireNextImageInfoKHR where-        type FieldType "deviceMask" VkAcquireNextImageInfoKHR = Word32-        type FieldOptional "deviceMask" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "deviceMask" VkAcquireNextImageInfoKHR =-             #{offset VkAcquireNextImageInfoKHR, deviceMask}-        type FieldIsArray "deviceMask" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAcquireNextImageInfoKHR, deviceMask}--instance {-# OVERLAPPING #-}-         CanReadField "deviceMask" VkAcquireNextImageInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, deviceMask})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAcquireNextImageInfoKHR, deviceMask}--instance {-# OVERLAPPING #-}-         CanWriteField "deviceMask" VkAcquireNextImageInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, deviceMask}--instance Show VkAcquireNextImageInfoKHR where-        showsPrec d x-          = showString "VkAcquireNextImageInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "swapchain = " .-                            showsPrec d (getField @"swapchain" x) .-                              showString ", " .-                                showString "timeout = " .-                                  showsPrec d (getField @"timeout" x) .-                                    showString ", " .-                                      showString "semaphore = " .-                                        showsPrec d (getField @"semaphore" x) .-                                          showString ", " .-                                            showString "fence = " .-                                              showsPrec d (getField @"fence" x) .-                                                showString ", " .-                                                  showString "deviceMask = " .-                                                    showsPrec d (getField @"deviceMask" x) .-                                                      showChar '}'+    type StructRep VkAcquireNextImageInfoKHR =+         'StructMeta "VkAcquireNextImageInfoKHR" VkAcquireNextImageInfoKHR -- ' closing tick for hsc2hs+           #{size VkAcquireNextImageInfoKHR}+           #{alignment VkAcquireNextImageInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkAcquireNextImageInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkAcquireNextImageInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "swapchain" VkSwapchainKHR 'False +                                                           #{offset VkAcquireNextImageInfoKHR, swapchain}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "timeout" Word64 'False +                                                 #{offset VkAcquireNextImageInfoKHR, timeout}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "semaphore" VkSemaphore 'True +                                                       #{offset VkAcquireNextImageInfoKHR, semaphore}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "fence" VkFence 'True +                                               #{offset VkAcquireNextImageInfoKHR, fence}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "deviceMask" Word32 'False +                                                    #{offset VkAcquireNextImageInfoKHR, deviceMask}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/AllocationCallbacks.hsc view
@@ -2,14 +2,11 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.AllocationCallbacks-       (VkAllocationCallbacks, VkAllocationCallbacks') where -- ' closing tick for hsc2hs-import Foreign.Storable                   (Storable (..))+       (VkAllocationCallbacks) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Funcpointers (PFN_vkAllocationFunction,@@ -17,7 +14,6 @@                                            PFN_vkInternalAllocationNotification,                                            PFN_vkInternalFreeNotification,                                            PFN_vkReallocationFunction)-import System.IO.Unsafe                   (unsafeDupablePerformIO)  -- | > typedef struct VkAllocationCallbacks { --   >     void*           pUserData;@@ -29,257 +25,47 @@ --   > } VkAllocationCallbacks; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkAllocationCallbacks VkAllocationCallbacks registry at www.khronos.org>-type VkAllocationCallbacks = VulkanStruct VkAllocationCallbacks' -- ' closing tick for hsc2hs+type VkAllocationCallbacks = VkStruct VkAllocationCallbacks' -- ' closing tick for hsc2hs  data VkAllocationCallbacks' -- ' closing tick for hsc2hs -instance Eq VkAllocationCallbacks where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkAllocationCallbacks where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkAllocationCallbacks where-        sizeOf ~_ = #{size VkAllocationCallbacks}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkAllocationCallbacks}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkAllocationCallbacks where-        type StructFields VkAllocationCallbacks =-             '["pUserData", "pfnAllocation", "pfnReallocation", "pfnFree", -- ' closing tick for hsc2hs-               "pfnInternalAllocation", "pfnInternalFree"]-        type CUnionType VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs-        type StructExtends VkAllocationCallbacks = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "pUserData" VkAllocationCallbacks where-        type FieldType "pUserData" VkAllocationCallbacks = Ptr Void-        type FieldOptional "pUserData" VkAllocationCallbacks = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pUserData" VkAllocationCallbacks =-             #{offset VkAllocationCallbacks, pUserData}-        type FieldIsArray "pUserData" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAllocationCallbacks, pUserData}--instance {-# OVERLAPPING #-}-         CanReadField "pUserData" VkAllocationCallbacks where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pUserData})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAllocationCallbacks, pUserData}--instance {-# OVERLAPPING #-}-         CanWriteField "pUserData" VkAllocationCallbacks where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAllocationCallbacks, pUserData}--instance {-# OVERLAPPING #-}-         HasField "pfnAllocation" VkAllocationCallbacks where-        type FieldType "pfnAllocation" VkAllocationCallbacks =-             PFN_vkAllocationFunction-        type FieldOptional "pfnAllocation" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pfnAllocation" VkAllocationCallbacks =-             #{offset VkAllocationCallbacks, pfnAllocation}-        type FieldIsArray "pfnAllocation" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAllocationCallbacks, pfnAllocation}--instance {-# OVERLAPPING #-}-         CanReadField "pfnAllocation" VkAllocationCallbacks where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnAllocation})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAllocationCallbacks, pfnAllocation}--instance {-# OVERLAPPING #-}-         CanWriteField "pfnAllocation" VkAllocationCallbacks where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAllocationCallbacks, pfnAllocation}--instance {-# OVERLAPPING #-}-         HasField "pfnReallocation" VkAllocationCallbacks where-        type FieldType "pfnReallocation" VkAllocationCallbacks =-             PFN_vkReallocationFunction-        type FieldOptional "pfnReallocation" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pfnReallocation" VkAllocationCallbacks =-             #{offset VkAllocationCallbacks, pfnReallocation}-        type FieldIsArray "pfnReallocation" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAllocationCallbacks, pfnReallocation}--instance {-# OVERLAPPING #-}-         CanReadField "pfnReallocation" VkAllocationCallbacks where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnReallocation})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAllocationCallbacks, pfnReallocation}--instance {-# OVERLAPPING #-}-         CanWriteField "pfnReallocation" VkAllocationCallbacks where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAllocationCallbacks, pfnReallocation}--instance {-# OVERLAPPING #-}-         HasField "pfnFree" VkAllocationCallbacks where-        type FieldType "pfnFree" VkAllocationCallbacks = PFN_vkFreeFunction-        type FieldOptional "pfnFree" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pfnFree" VkAllocationCallbacks =-             #{offset VkAllocationCallbacks, pfnFree}-        type FieldIsArray "pfnFree" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkAllocationCallbacks, pfnFree}--instance {-# OVERLAPPING #-}-         CanReadField "pfnFree" VkAllocationCallbacks where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnFree})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAllocationCallbacks, pfnFree}--instance {-# OVERLAPPING #-}-         CanWriteField "pfnFree" VkAllocationCallbacks where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAllocationCallbacks, pfnFree}--instance {-# OVERLAPPING #-}-         HasField "pfnInternalAllocation" VkAllocationCallbacks where-        type FieldType "pfnInternalAllocation" VkAllocationCallbacks =-             PFN_vkInternalAllocationNotification-        type FieldOptional "pfnInternalAllocation" VkAllocationCallbacks =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "pfnInternalAllocation" VkAllocationCallbacks =-             #{offset VkAllocationCallbacks, pfnInternalAllocation}-        type FieldIsArray "pfnInternalAllocation" VkAllocationCallbacks =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAllocationCallbacks, pfnInternalAllocation}--instance {-# OVERLAPPING #-}-         CanReadField "pfnInternalAllocation" VkAllocationCallbacks where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnInternalAllocation})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAllocationCallbacks, pfnInternalAllocation}--instance {-# OVERLAPPING #-}-         CanWriteField "pfnInternalAllocation" VkAllocationCallbacks where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAllocationCallbacks, pfnInternalAllocation}--instance {-# OVERLAPPING #-}-         HasField "pfnInternalFree" VkAllocationCallbacks where-        type FieldType "pfnInternalFree" VkAllocationCallbacks =-             PFN_vkInternalFreeNotification-        type FieldOptional "pfnInternalFree" VkAllocationCallbacks = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pfnInternalFree" VkAllocationCallbacks =-             #{offset VkAllocationCallbacks, pfnInternalFree}-        type FieldIsArray "pfnInternalFree" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAllocationCallbacks, pfnInternalFree}--instance {-# OVERLAPPING #-}-         CanReadField "pfnInternalFree" VkAllocationCallbacks where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnInternalFree})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAllocationCallbacks, pfnInternalFree}--instance {-# OVERLAPPING #-}-         CanWriteField "pfnInternalFree" VkAllocationCallbacks where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAllocationCallbacks, pfnInternalFree}--instance Show VkAllocationCallbacks where-        showsPrec d x-          = showString "VkAllocationCallbacks {" .-              showString "pUserData = " .-                showsPrec d (getField @"pUserData" x) .-                  showString ", " .-                    showString "pfnAllocation = " .-                      showsPrec d (getField @"pfnAllocation" x) .-                        showString ", " .-                          showString "pfnReallocation = " .-                            showsPrec d (getField @"pfnReallocation" x) .-                              showString ", " .-                                showString "pfnFree = " .-                                  showsPrec d (getField @"pfnFree" x) .-                                    showString ", " .-                                      showString "pfnInternalAllocation = " .-                                        showsPrec d (getField @"pfnInternalAllocation" x) .-                                          showString ", " .-                                            showString "pfnInternalFree = " .-                                              showsPrec d (getField @"pfnInternalFree" x) .-                                                showChar '}'+    type StructRep VkAllocationCallbacks =+         'StructMeta "VkAllocationCallbacks" VkAllocationCallbacks  -- ' closing tick for hsc2hs+                                                                   #{size VkAllocationCallbacks}+           #{alignment VkAllocationCallbacks}+           '[('FieldMeta "pUserData" (Ptr Void) 'True  -- ' closing tick for hsc2hs+                                                      #{offset VkAllocationCallbacks, pUserData}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pfnAllocation" PFN_vkAllocationFunction 'False+                #{offset VkAllocationCallbacks, pfnAllocation}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pfnReallocation" PFN_vkReallocationFunction 'False+                #{offset VkAllocationCallbacks, pfnReallocation}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pfnFree" PFN_vkFreeFunction 'False +                                                             #{offset VkAllocationCallbacks, pfnFree}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pfnInternalAllocation" -- ' closing tick for hsc2hs+                PFN_vkInternalAllocationNotification+                'True -- ' closing tick for hsc2hs+                #{offset VkAllocationCallbacks, pfnInternalAllocation}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pfnInternalFree" PFN_vkInternalFreeNotification 'True+                #{offset VkAllocationCallbacks, pfnInternalFree}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/ApplicationInfo.hsc view
@@ -2,18 +2,14 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.ApplicationInfo-       (VkApplicationInfo, VkApplicationInfo') where -- ' closing tick for hsc2hs-import Foreign.Storable                         (Storable (..))+       (VkApplicationInfo) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkApplicationInfo { --   >     VkStructureType sType;@@ -26,283 +22,50 @@ --   > } VkApplicationInfo; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkApplicationInfo VkApplicationInfo registry at www.khronos.org>-type VkApplicationInfo = VulkanStruct VkApplicationInfo' -- ' closing tick for hsc2hs+type VkApplicationInfo = VkStruct VkApplicationInfo' -- ' closing tick for hsc2hs  data VkApplicationInfo' -- ' closing tick for hsc2hs -instance Eq VkApplicationInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkApplicationInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkApplicationInfo where-        sizeOf ~_ = #{size VkApplicationInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkApplicationInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkApplicationInfo where-        type StructFields VkApplicationInfo =-             '["sType", "pNext", "pApplicationName", "applicationVersion", -- ' closing tick for hsc2hs-               "pEngineName", "engineVersion", "apiVersion"]-        type CUnionType VkApplicationInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkApplicationInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkApplicationInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkApplicationInfo-         where-        type FieldType "sType" VkApplicationInfo = VkStructureType-        type FieldOptional "sType" VkApplicationInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkApplicationInfo =-             #{offset VkApplicationInfo, sType}-        type FieldIsArray "sType" VkApplicationInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkApplicationInfo, sType}--instance {-# OVERLAPPING #-} CanReadField "sType" VkApplicationInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkApplicationInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkApplicationInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkApplicationInfo, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkApplicationInfo-         where-        type FieldType "pNext" VkApplicationInfo = Ptr Void-        type FieldOptional "pNext" VkApplicationInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkApplicationInfo =-             #{offset VkApplicationInfo, pNext}-        type FieldIsArray "pNext" VkApplicationInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkApplicationInfo, pNext}--instance {-# OVERLAPPING #-} CanReadField "pNext" VkApplicationInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkApplicationInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkApplicationInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkApplicationInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "pApplicationName" VkApplicationInfo where-        type FieldType "pApplicationName" VkApplicationInfo = CString-        type FieldOptional "pApplicationName" VkApplicationInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pApplicationName" VkApplicationInfo =-             #{offset VkApplicationInfo, pApplicationName}-        type FieldIsArray "pApplicationName" VkApplicationInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkApplicationInfo, pApplicationName}--instance {-# OVERLAPPING #-}-         CanReadField "pApplicationName" VkApplicationInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, pApplicationName})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkApplicationInfo, pApplicationName}--instance {-# OVERLAPPING #-}-         CanWriteField "pApplicationName" VkApplicationInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkApplicationInfo, pApplicationName}--instance {-# OVERLAPPING #-}-         HasField "applicationVersion" VkApplicationInfo where-        type FieldType "applicationVersion" VkApplicationInfo = Word32-        type FieldOptional "applicationVersion" VkApplicationInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "applicationVersion" VkApplicationInfo =-             #{offset VkApplicationInfo, applicationVersion}-        type FieldIsArray "applicationVersion" VkApplicationInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkApplicationInfo, applicationVersion}--instance {-# OVERLAPPING #-}-         CanReadField "applicationVersion" VkApplicationInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, applicationVersion})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkApplicationInfo, applicationVersion}--instance {-# OVERLAPPING #-}-         CanWriteField "applicationVersion" VkApplicationInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkApplicationInfo, applicationVersion}--instance {-# OVERLAPPING #-}-         HasField "pEngineName" VkApplicationInfo where-        type FieldType "pEngineName" VkApplicationInfo = CString-        type FieldOptional "pEngineName" VkApplicationInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pEngineName" VkApplicationInfo =-             #{offset VkApplicationInfo, pEngineName}-        type FieldIsArray "pEngineName" VkApplicationInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkApplicationInfo, pEngineName}--instance {-# OVERLAPPING #-}-         CanReadField "pEngineName" VkApplicationInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, pEngineName})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkApplicationInfo, pEngineName}--instance {-# OVERLAPPING #-}-         CanWriteField "pEngineName" VkApplicationInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkApplicationInfo, pEngineName}--instance {-# OVERLAPPING #-}-         HasField "engineVersion" VkApplicationInfo where-        type FieldType "engineVersion" VkApplicationInfo = Word32-        type FieldOptional "engineVersion" VkApplicationInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "engineVersion" VkApplicationInfo =-             #{offset VkApplicationInfo, engineVersion}-        type FieldIsArray "engineVersion" VkApplicationInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkApplicationInfo, engineVersion}--instance {-# OVERLAPPING #-}-         CanReadField "engineVersion" VkApplicationInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, engineVersion})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkApplicationInfo, engineVersion}--instance {-# OVERLAPPING #-}-         CanWriteField "engineVersion" VkApplicationInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkApplicationInfo, engineVersion}--instance {-# OVERLAPPING #-}-         HasField "apiVersion" VkApplicationInfo where-        type FieldType "apiVersion" VkApplicationInfo = Word32-        type FieldOptional "apiVersion" VkApplicationInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "apiVersion" VkApplicationInfo =-             #{offset VkApplicationInfo, apiVersion}-        type FieldIsArray "apiVersion" VkApplicationInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkApplicationInfo, apiVersion}--instance {-# OVERLAPPING #-}-         CanReadField "apiVersion" VkApplicationInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, apiVersion})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkApplicationInfo, apiVersion}--instance {-# OVERLAPPING #-}-         CanWriteField "apiVersion" VkApplicationInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkApplicationInfo, apiVersion}--instance Show VkApplicationInfo where-        showsPrec d x-          = showString "VkApplicationInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "pApplicationName = " .-                            showsPrec d (getField @"pApplicationName" x) .-                              showString ", " .-                                showString "applicationVersion = " .-                                  showsPrec d (getField @"applicationVersion" x) .-                                    showString ", " .-                                      showString "pEngineName = " .-                                        showsPrec d (getField @"pEngineName" x) .-                                          showString ", " .-                                            showString "engineVersion = " .-                                              showsPrec d (getField @"engineVersion" x) .-                                                showString ", " .-                                                  showString "apiVersion = " .-                                                    showsPrec d (getField @"apiVersion" x) .-                                                      showChar '}'+    type StructRep VkApplicationInfo =+         'StructMeta "VkApplicationInfo" VkApplicationInfo  -- ' closing tick for hsc2hs+                                                           #{size VkApplicationInfo}+           #{alignment VkApplicationInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkApplicationInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkApplicationInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pApplicationName" CString 'True +                                                          #{offset VkApplicationInfo, pApplicationName}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "applicationVersion" Word32 'False +                                                            #{offset VkApplicationInfo, applicationVersion}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pEngineName" CString 'True +                                                     #{offset VkApplicationInfo, pEngineName}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "engineVersion" Word32 'False +                                                       #{offset VkApplicationInfo, engineVersion}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "apiVersion" Word32 'False +                                                    #{offset VkApplicationInfo, apiVersion}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/Attachment.hsc view
@@ -2,17 +2,13 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.Attachment-       (VkAttachmentDescription, VkAttachmentDescription', -- ' closing tick for hsc2hs-        VkAttachmentReference, VkAttachmentReference', -- ' closing tick for hsc2hs-        VkAttachmentSampleLocationsEXT, VkAttachmentSampleLocationsEXT') -- ' closing tick for hsc2hs+       (VkAttachmentDescription, VkAttachmentReference,+        VkAttachmentSampleLocationsEXT)        where-import Foreign.Storable                            (Storable (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.Attachment       (VkAttachmentDescriptionFlags,@@ -22,7 +18,6 @@ import Graphics.Vulkan.Types.Enum.Image            (VkImageLayout) import Graphics.Vulkan.Types.Enum.SampleCountFlags (VkSampleCountFlagBits) import Graphics.Vulkan.Types.Struct.SampleLocation (VkSampleLocationsInfoEXT)-import System.IO.Unsafe                            (unsafeDupablePerformIO)  -- | > typedef struct VkAttachmentDescription { --   >     VkAttachmentDescriptionFlags flags;@@ -37,369 +32,63 @@ --   > } VkAttachmentDescription; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkAttachmentDescription VkAttachmentDescription registry at www.khronos.org>-type VkAttachmentDescription =-     VulkanStruct VkAttachmentDescription' -- ' closing tick for hsc2hs+type VkAttachmentDescription = VkStruct VkAttachmentDescription' -- ' closing tick for hsc2hs  data VkAttachmentDescription' -- ' closing tick for hsc2hs -instance Eq VkAttachmentDescription where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkAttachmentDescription where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkAttachmentDescription where-        sizeOf ~_ = #{size VkAttachmentDescription}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkAttachmentDescription}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkAttachmentDescription where-        type StructFields VkAttachmentDescription =-             '["flags", "format", "samples", "loadOp", "storeOp", -- ' closing tick for hsc2hs-               "stencilLoadOp", "stencilStoreOp", "initialLayout", "finalLayout"]-        type CUnionType VkAttachmentDescription = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkAttachmentDescription = 'False -- ' closing tick for hsc2hs-        type StructExtends VkAttachmentDescription = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "flags" VkAttachmentDescription where-        type FieldType "flags" VkAttachmentDescription =-             VkAttachmentDescriptionFlags-        type FieldOptional "flags" VkAttachmentDescription = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkAttachmentDescription =-             #{offset VkAttachmentDescription, flags}-        type FieldIsArray "flags" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkAttachmentDescription, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkAttachmentDescription where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAttachmentDescription, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkAttachmentDescription where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAttachmentDescription, flags}--instance {-# OVERLAPPING #-}-         HasField "format" VkAttachmentDescription where-        type FieldType "format" VkAttachmentDescription = VkFormat-        type FieldOptional "format" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs-        type FieldOffset "format" VkAttachmentDescription =-             #{offset VkAttachmentDescription, format}-        type FieldIsArray "format" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkAttachmentDescription, format}--instance {-# OVERLAPPING #-}-         CanReadField "format" VkAttachmentDescription where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, format})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAttachmentDescription, format}--instance {-# OVERLAPPING #-}-         CanWriteField "format" VkAttachmentDescription where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAttachmentDescription, format}--instance {-# OVERLAPPING #-}-         HasField "samples" VkAttachmentDescription where-        type FieldType "samples" VkAttachmentDescription =-             VkSampleCountFlagBits-        type FieldOptional "samples" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs-        type FieldOffset "samples" VkAttachmentDescription =-             #{offset VkAttachmentDescription, samples}-        type FieldIsArray "samples" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAttachmentDescription, samples}--instance {-# OVERLAPPING #-}-         CanReadField "samples" VkAttachmentDescription where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, samples})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAttachmentDescription, samples}--instance {-# OVERLAPPING #-}-         CanWriteField "samples" VkAttachmentDescription where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAttachmentDescription, samples}--instance {-# OVERLAPPING #-}-         HasField "loadOp" VkAttachmentDescription where-        type FieldType "loadOp" VkAttachmentDescription =-             VkAttachmentLoadOp-        type FieldOptional "loadOp" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs-        type FieldOffset "loadOp" VkAttachmentDescription =-             #{offset VkAttachmentDescription, loadOp}-        type FieldIsArray "loadOp" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkAttachmentDescription, loadOp}--instance {-# OVERLAPPING #-}-         CanReadField "loadOp" VkAttachmentDescription where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, loadOp})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAttachmentDescription, loadOp}--instance {-# OVERLAPPING #-}-         CanWriteField "loadOp" VkAttachmentDescription where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAttachmentDescription, loadOp}--instance {-# OVERLAPPING #-}-         HasField "storeOp" VkAttachmentDescription where-        type FieldType "storeOp" VkAttachmentDescription =-             VkAttachmentStoreOp-        type FieldOptional "storeOp" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs-        type FieldOffset "storeOp" VkAttachmentDescription =-             #{offset VkAttachmentDescription, storeOp}-        type FieldIsArray "storeOp" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAttachmentDescription, storeOp}--instance {-# OVERLAPPING #-}-         CanReadField "storeOp" VkAttachmentDescription where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, storeOp})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAttachmentDescription, storeOp}--instance {-# OVERLAPPING #-}-         CanWriteField "storeOp" VkAttachmentDescription where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAttachmentDescription, storeOp}--instance {-# OVERLAPPING #-}-         HasField "stencilLoadOp" VkAttachmentDescription where-        type FieldType "stencilLoadOp" VkAttachmentDescription =-             VkAttachmentLoadOp-        type FieldOptional "stencilLoadOp" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs-        type FieldOffset "stencilLoadOp" VkAttachmentDescription =-             #{offset VkAttachmentDescription, stencilLoadOp}-        type FieldIsArray "stencilLoadOp" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAttachmentDescription, stencilLoadOp}--instance {-# OVERLAPPING #-}-         CanReadField "stencilLoadOp" VkAttachmentDescription where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, stencilLoadOp})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAttachmentDescription, stencilLoadOp}--instance {-# OVERLAPPING #-}-         CanWriteField "stencilLoadOp" VkAttachmentDescription where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAttachmentDescription, stencilLoadOp}--instance {-# OVERLAPPING #-}-         HasField "stencilStoreOp" VkAttachmentDescription where-        type FieldType "stencilStoreOp" VkAttachmentDescription =-             VkAttachmentStoreOp-        type FieldOptional "stencilStoreOp" VkAttachmentDescription =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "stencilStoreOp" VkAttachmentDescription =-             #{offset VkAttachmentDescription, stencilStoreOp}-        type FieldIsArray "stencilStoreOp" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAttachmentDescription, stencilStoreOp}--instance {-# OVERLAPPING #-}-         CanReadField "stencilStoreOp" VkAttachmentDescription where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, stencilStoreOp})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAttachmentDescription, stencilStoreOp}--instance {-# OVERLAPPING #-}-         CanWriteField "stencilStoreOp" VkAttachmentDescription where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAttachmentDescription, stencilStoreOp}--instance {-# OVERLAPPING #-}-         HasField "initialLayout" VkAttachmentDescription where-        type FieldType "initialLayout" VkAttachmentDescription =-             VkImageLayout-        type FieldOptional "initialLayout" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs-        type FieldOffset "initialLayout" VkAttachmentDescription =-             #{offset VkAttachmentDescription, initialLayout}-        type FieldIsArray "initialLayout" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAttachmentDescription, initialLayout}--instance {-# OVERLAPPING #-}-         CanReadField "initialLayout" VkAttachmentDescription where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, initialLayout})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAttachmentDescription, initialLayout}--instance {-# OVERLAPPING #-}-         CanWriteField "initialLayout" VkAttachmentDescription where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAttachmentDescription, initialLayout}--instance {-# OVERLAPPING #-}-         HasField "finalLayout" VkAttachmentDescription where-        type FieldType "finalLayout" VkAttachmentDescription =-             VkImageLayout-        type FieldOptional "finalLayout" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs-        type FieldOffset "finalLayout" VkAttachmentDescription =-             #{offset VkAttachmentDescription, finalLayout}-        type FieldIsArray "finalLayout" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAttachmentDescription, finalLayout}--instance {-# OVERLAPPING #-}-         CanReadField "finalLayout" VkAttachmentDescription where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, finalLayout})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAttachmentDescription, finalLayout}--instance {-# OVERLAPPING #-}-         CanWriteField "finalLayout" VkAttachmentDescription where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAttachmentDescription, finalLayout}--instance Show VkAttachmentDescription where-        showsPrec d x-          = showString "VkAttachmentDescription {" .-              showString "flags = " .-                showsPrec d (getField @"flags" x) .-                  showString ", " .-                    showString "format = " .-                      showsPrec d (getField @"format" x) .-                        showString ", " .-                          showString "samples = " .-                            showsPrec d (getField @"samples" x) .-                              showString ", " .-                                showString "loadOp = " .-                                  showsPrec d (getField @"loadOp" x) .-                                    showString ", " .-                                      showString "storeOp = " .-                                        showsPrec d (getField @"storeOp" x) .-                                          showString ", " .-                                            showString "stencilLoadOp = " .-                                              showsPrec d (getField @"stencilLoadOp" x) .-                                                showString ", " .-                                                  showString "stencilStoreOp = " .-                                                    showsPrec d (getField @"stencilStoreOp" x) .-                                                      showString ", " .-                                                        showString "initialLayout = " .-                                                          showsPrec d (getField @"initialLayout" x)-                                                            .-                                                            showString ", " .-                                                              showString "finalLayout = " .-                                                                showsPrec d-                                                                  (getField @"finalLayout" x)-                                                                  . showChar '}'+    type StructRep VkAttachmentDescription =+         'StructMeta "VkAttachmentDescription" VkAttachmentDescription -- ' closing tick for hsc2hs+           #{size VkAttachmentDescription}+           #{alignment VkAttachmentDescription}+           '[('FieldMeta "flags" VkAttachmentDescriptionFlags 'True  -- ' closing tick for hsc2hs+                                                                    #{offset VkAttachmentDescription, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "format" VkFormat 'False +                                                  #{offset VkAttachmentDescription, format}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "samples" VkSampleCountFlagBits 'False +                                                                #{offset VkAttachmentDescription, samples}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "loadOp" VkAttachmentLoadOp 'False +                                                            #{offset VkAttachmentDescription, loadOp}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "storeOp" VkAttachmentStoreOp 'False +                                                              #{offset VkAttachmentDescription, storeOp}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "stencilLoadOp" VkAttachmentLoadOp 'False +                                                                   #{offset VkAttachmentDescription, stencilLoadOp}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "stencilStoreOp" VkAttachmentStoreOp 'False +                                                                     #{offset VkAttachmentDescription, stencilStoreOp}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "initialLayout" VkImageLayout 'False +                                                              #{offset VkAttachmentDescription, initialLayout}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "finalLayout" VkImageLayout 'False +                                                            #{offset VkAttachmentDescription, finalLayout}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | > typedef struct VkAttachmentReference { --   >     uint32_t               attachment;@@ -407,111 +96,28 @@ --   > } VkAttachmentReference; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkAttachmentReference VkAttachmentReference registry at www.khronos.org>-type VkAttachmentReference = VulkanStruct VkAttachmentReference' -- ' closing tick for hsc2hs+type VkAttachmentReference = VkStruct VkAttachmentReference' -- ' closing tick for hsc2hs  data VkAttachmentReference' -- ' closing tick for hsc2hs -instance Eq VkAttachmentReference where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkAttachmentReference where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkAttachmentReference where-        sizeOf ~_ = #{size VkAttachmentReference}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkAttachmentReference}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkAttachmentReference where-        type StructFields VkAttachmentReference = '["attachment", "layout"] -- ' closing tick for hsc2hs-        type CUnionType VkAttachmentReference = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkAttachmentReference = 'False -- ' closing tick for hsc2hs-        type StructExtends VkAttachmentReference = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "attachment" VkAttachmentReference where-        type FieldType "attachment" VkAttachmentReference = Word32-        type FieldOptional "attachment" VkAttachmentReference = 'False -- ' closing tick for hsc2hs-        type FieldOffset "attachment" VkAttachmentReference =-             #{offset VkAttachmentReference, attachment}-        type FieldIsArray "attachment" VkAttachmentReference = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAttachmentReference, attachment}--instance {-# OVERLAPPING #-}-         CanReadField "attachment" VkAttachmentReference where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAttachmentReference, attachment})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAttachmentReference, attachment}--instance {-# OVERLAPPING #-}-         CanWriteField "attachment" VkAttachmentReference where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAttachmentReference, attachment}--instance {-# OVERLAPPING #-}-         HasField "layout" VkAttachmentReference where-        type FieldType "layout" VkAttachmentReference = VkImageLayout-        type FieldOptional "layout" VkAttachmentReference = 'False -- ' closing tick for hsc2hs-        type FieldOffset "layout" VkAttachmentReference =-             #{offset VkAttachmentReference, layout}-        type FieldIsArray "layout" VkAttachmentReference = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkAttachmentReference, layout}--instance {-# OVERLAPPING #-}-         CanReadField "layout" VkAttachmentReference where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAttachmentReference, layout})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAttachmentReference, layout}--instance {-# OVERLAPPING #-}-         CanWriteField "layout" VkAttachmentReference where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAttachmentReference, layout}--instance Show VkAttachmentReference where-        showsPrec d x-          = showString "VkAttachmentReference {" .-              showString "attachment = " .-                showsPrec d (getField @"attachment" x) .-                  showString ", " .-                    showString "layout = " .-                      showsPrec d (getField @"layout" x) . showChar '}'+    type StructRep VkAttachmentReference =+         'StructMeta "VkAttachmentReference" VkAttachmentReference  -- ' closing tick for hsc2hs+                                                                   #{size VkAttachmentReference}+           #{alignment VkAttachmentReference}+           '[('FieldMeta "attachment" Word32 'False  -- ' closing tick for hsc2hs+                                                    #{offset VkAttachmentReference, attachment}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "layout" VkImageLayout 'False +                                                       #{offset VkAttachmentReference, layout}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | > typedef struct VkAttachmentSampleLocationsEXT { --   >     uint32_t                         attachmentIndex;@@ -520,124 +126,26 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkAttachmentSampleLocationsEXT VkAttachmentSampleLocationsEXT registry at www.khronos.org> type VkAttachmentSampleLocationsEXT =-     VulkanStruct VkAttachmentSampleLocationsEXT' -- ' closing tick for hsc2hs+     VkStruct VkAttachmentSampleLocationsEXT' -- ' closing tick for hsc2hs  data VkAttachmentSampleLocationsEXT' -- ' closing tick for hsc2hs -instance Eq VkAttachmentSampleLocationsEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkAttachmentSampleLocationsEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkAttachmentSampleLocationsEXT where-        sizeOf ~_ = #{size VkAttachmentSampleLocationsEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkAttachmentSampleLocationsEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkAttachmentSampleLocationsEXT where-        type StructFields VkAttachmentSampleLocationsEXT =-             '["attachmentIndex", "sampleLocationsInfo"] -- ' closing tick for hsc2hs-        type CUnionType VkAttachmentSampleLocationsEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkAttachmentSampleLocationsEXT = 'False -- ' closing tick for hsc2hs-        type StructExtends VkAttachmentSampleLocationsEXT = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "attachmentIndex" VkAttachmentSampleLocationsEXT where-        type FieldType "attachmentIndex" VkAttachmentSampleLocationsEXT =-             Word32-        type FieldOptional "attachmentIndex" VkAttachmentSampleLocationsEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "attachmentIndex" VkAttachmentSampleLocationsEXT =-             #{offset VkAttachmentSampleLocationsEXT, attachmentIndex}-        type FieldIsArray "attachmentIndex" VkAttachmentSampleLocationsEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAttachmentSampleLocationsEXT, attachmentIndex}--instance {-# OVERLAPPING #-}-         CanReadField "attachmentIndex" VkAttachmentSampleLocationsEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAttachmentSampleLocationsEXT, attachmentIndex})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAttachmentSampleLocationsEXT, attachmentIndex}--instance {-# OVERLAPPING #-}-         CanWriteField "attachmentIndex" VkAttachmentSampleLocationsEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAttachmentSampleLocationsEXT, attachmentIndex}--instance {-# OVERLAPPING #-}-         HasField "sampleLocationsInfo" VkAttachmentSampleLocationsEXT where-        type FieldType "sampleLocationsInfo" VkAttachmentSampleLocationsEXT-             = VkSampleLocationsInfoEXT-        type FieldOptional "sampleLocationsInfo"-               VkAttachmentSampleLocationsEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sampleLocationsInfo"-               VkAttachmentSampleLocationsEXT-             =-             #{offset VkAttachmentSampleLocationsEXT, sampleLocationsInfo}-        type FieldIsArray "sampleLocationsInfo"-               VkAttachmentSampleLocationsEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAttachmentSampleLocationsEXT, sampleLocationsInfo}--instance {-# OVERLAPPING #-}-         CanReadField "sampleLocationsInfo" VkAttachmentSampleLocationsEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAttachmentSampleLocationsEXT, sampleLocationsInfo})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAttachmentSampleLocationsEXT, sampleLocationsInfo}--instance {-# OVERLAPPING #-}-         CanWriteField "sampleLocationsInfo" VkAttachmentSampleLocationsEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAttachmentSampleLocationsEXT, sampleLocationsInfo}--instance Show VkAttachmentSampleLocationsEXT where-        showsPrec d x-          = showString "VkAttachmentSampleLocationsEXT {" .-              showString "attachmentIndex = " .-                showsPrec d (getField @"attachmentIndex" x) .-                  showString ", " .-                    showString "sampleLocationsInfo = " .-                      showsPrec d (getField @"sampleLocationsInfo" x) . showChar '}'+    type StructRep VkAttachmentSampleLocationsEXT =+         'StructMeta "VkAttachmentSampleLocationsEXT" -- ' closing tick for hsc2hs+           VkAttachmentSampleLocationsEXT+           #{size VkAttachmentSampleLocationsEXT}+           #{alignment VkAttachmentSampleLocationsEXT}+           '[('FieldMeta "attachmentIndex" Word32 'False  -- ' closing tick for hsc2hs+                                                         #{offset VkAttachmentSampleLocationsEXT, attachmentIndex}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sampleLocationsInfo" VkSampleLocationsInfoEXT 'False+                #{offset VkAttachmentSampleLocationsEXT, sampleLocationsInfo}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/Base.hsc view
@@ -2,20 +2,14 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.Base-       (VkBaseInStructure, VkBaseInStructure', VkBaseOutStructure, -- ' closing tick for hsc2hs-        VkBaseOutStructure') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                         (Storable (..))+       (VkBaseInStructure, VkBaseOutStructure) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkBaseInStructure { --   >     VkStructureType sType;@@ -23,110 +17,28 @@ --   > } VkBaseInStructure; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBaseInStructure VkBaseInStructure registry at www.khronos.org>-type VkBaseInStructure = VulkanStruct VkBaseInStructure' -- ' closing tick for hsc2hs+type VkBaseInStructure = VkStruct VkBaseInStructure' -- ' closing tick for hsc2hs  data VkBaseInStructure' -- ' closing tick for hsc2hs -instance Eq VkBaseInStructure where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkBaseInStructure where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkBaseInStructure where-        sizeOf ~_ = #{size VkBaseInStructure}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkBaseInStructure}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkBaseInStructure where-        type StructFields VkBaseInStructure = '["sType", "pNext"] -- ' closing tick for hsc2hs-        type CUnionType VkBaseInStructure = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkBaseInStructure = 'False -- ' closing tick for hsc2hs-        type StructExtends VkBaseInStructure = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkBaseInStructure-         where-        type FieldType "sType" VkBaseInStructure = VkStructureType-        type FieldOptional "sType" VkBaseInStructure = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkBaseInStructure =-             #{offset VkBaseInStructure, sType}-        type FieldIsArray "sType" VkBaseInStructure = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBaseInStructure, sType}--instance {-# OVERLAPPING #-} CanReadField "sType" VkBaseInStructure-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBaseInStructure, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBaseInStructure, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkBaseInStructure where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBaseInStructure, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkBaseInStructure-         where-        type FieldType "pNext" VkBaseInStructure = Ptr VkBaseInStructure-        type FieldOptional "pNext" VkBaseInStructure = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkBaseInStructure =-             #{offset VkBaseInStructure, pNext}-        type FieldIsArray "pNext" VkBaseInStructure = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBaseInStructure, pNext}--instance {-# OVERLAPPING #-} CanReadField "pNext" VkBaseInStructure-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBaseInStructure, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBaseInStructure, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkBaseInStructure where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBaseInStructure, pNext}--instance Show VkBaseInStructure where-        showsPrec d x-          = showString "VkBaseInStructure {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) . showChar '}'+    type StructRep VkBaseInStructure =+         'StructMeta "VkBaseInStructure" VkBaseInStructure  -- ' closing tick for hsc2hs+                                                           #{size VkBaseInStructure}+           #{alignment VkBaseInStructure}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkBaseInStructure, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr VkBaseInStructure) 'False +                                                                #{offset VkBaseInStructure, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | > typedef struct VkBaseOutStructure { --   >     VkStructureType sType;@@ -134,107 +46,25 @@ --   > } VkBaseOutStructure; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBaseOutStructure VkBaseOutStructure registry at www.khronos.org>-type VkBaseOutStructure = VulkanStruct VkBaseOutStructure' -- ' closing tick for hsc2hs+type VkBaseOutStructure = VkStruct VkBaseOutStructure' -- ' closing tick for hsc2hs  data VkBaseOutStructure' -- ' closing tick for hsc2hs -instance Eq VkBaseOutStructure where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkBaseOutStructure where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkBaseOutStructure where-        sizeOf ~_ = #{size VkBaseOutStructure}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkBaseOutStructure}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkBaseOutStructure where-        type StructFields VkBaseOutStructure = '["sType", "pNext"] -- ' closing tick for hsc2hs-        type CUnionType VkBaseOutStructure = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkBaseOutStructure = 'False -- ' closing tick for hsc2hs-        type StructExtends VkBaseOutStructure = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkBaseOutStructure-         where-        type FieldType "sType" VkBaseOutStructure = VkStructureType-        type FieldOptional "sType" VkBaseOutStructure = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkBaseOutStructure =-             #{offset VkBaseOutStructure, sType}-        type FieldIsArray "sType" VkBaseOutStructure = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBaseOutStructure, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkBaseOutStructure where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBaseOutStructure, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBaseOutStructure, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkBaseOutStructure where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBaseOutStructure, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkBaseOutStructure-         where-        type FieldType "pNext" VkBaseOutStructure = Ptr VkBaseOutStructure-        type FieldOptional "pNext" VkBaseOutStructure = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkBaseOutStructure =-             #{offset VkBaseOutStructure, pNext}-        type FieldIsArray "pNext" VkBaseOutStructure = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBaseOutStructure, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkBaseOutStructure where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBaseOutStructure, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBaseOutStructure, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkBaseOutStructure where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBaseOutStructure, pNext}--instance Show VkBaseOutStructure where-        showsPrec d x-          = showString "VkBaseOutStructure {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) . showChar '}'+    type StructRep VkBaseOutStructure =+         'StructMeta "VkBaseOutStructure" VkBaseOutStructure  -- ' closing tick for hsc2hs+                                                             #{size VkBaseOutStructure}+           #{alignment VkBaseOutStructure}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkBaseOutStructure, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr VkBaseOutStructure) 'False +                                                                 #{offset VkBaseOutStructure, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/Bind.hsc view
@@ -2,1860 +2,407 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.Bind-       (VkBindBufferMemoryDeviceGroupInfo,-        VkBindBufferMemoryDeviceGroupInfo', -- ' closing tick for hsc2hs-        VkBindBufferMemoryDeviceGroupInfoKHR, VkBindBufferMemoryInfo,-        VkBindBufferMemoryInfo', VkBindBufferMemoryInfoKHR, -- ' closing tick for hsc2hs-        VkBindImageMemoryDeviceGroupInfo,-        VkBindImageMemoryDeviceGroupInfo', -- ' closing tick for hsc2hs-        VkBindImageMemoryDeviceGroupInfoKHR, VkBindImageMemoryInfo,-        VkBindImageMemoryInfo', VkBindImageMemoryInfoKHR, -- ' closing tick for hsc2hs-        VkBindImageMemorySwapchainInfoKHR,-        VkBindImageMemorySwapchainInfoKHR', VkBindImagePlaneMemoryInfo, -- ' closing tick for hsc2hs-        VkBindImagePlaneMemoryInfo', VkBindImagePlaneMemoryInfoKHR, -- ' closing tick for hsc2hs-        VkBindSparseInfo, VkBindSparseInfo') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                         (Storable (..))-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Internal-import Graphics.Vulkan.Types.BaseTypes          (VkDeviceSize)-import Graphics.Vulkan.Types.Enum.Image         (VkImageAspectFlagBits)-import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)-import Graphics.Vulkan.Types.Handles            (VkBuffer, VkDeviceMemory,-                                                 VkImage, VkSemaphore,-                                                 VkSwapchainKHR)-import Graphics.Vulkan.Types.Struct.Rect        (VkRect2D)-import Graphics.Vulkan.Types.Struct.Sparse      (VkSparseBufferMemoryBindInfo,-                                                 VkSparseImageMemoryBindInfo,-                                                 VkSparseImageOpaqueMemoryBindInfo)-import System.IO.Unsafe                         (unsafeDupablePerformIO)---- | > typedef struct VkBindBufferMemoryDeviceGroupInfo {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     uint32_t         deviceIndexCount;---   >     const uint32_t*  pDeviceIndices;---   > } VkBindBufferMemoryDeviceGroupInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfo registry at www.khronos.org>-type VkBindBufferMemoryDeviceGroupInfo =-     VulkanStruct VkBindBufferMemoryDeviceGroupInfo' -- ' closing tick for hsc2hs--data VkBindBufferMemoryDeviceGroupInfo' -- ' closing tick for hsc2hs--instance Eq VkBindBufferMemoryDeviceGroupInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkBindBufferMemoryDeviceGroupInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkBindBufferMemoryDeviceGroupInfo where-        sizeOf ~_ = #{size VkBindBufferMemoryDeviceGroupInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkBindBufferMemoryDeviceGroupInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkBindBufferMemoryDeviceGroupInfo where-        type StructFields VkBindBufferMemoryDeviceGroupInfo =-             '["sType", "pNext", "deviceIndexCount", "pDeviceIndices"] -- ' closing tick for hsc2hs-        type CUnionType VkBindBufferMemoryDeviceGroupInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkBindBufferMemoryDeviceGroupInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkBindBufferMemoryDeviceGroupInfo =-             '[VkBindBufferMemoryInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkBindBufferMemoryDeviceGroupInfo where-        type FieldType "sType" VkBindBufferMemoryDeviceGroupInfo =-             VkStructureType-        type FieldOptional "sType" VkBindBufferMemoryDeviceGroupInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkBindBufferMemoryDeviceGroupInfo =-             #{offset VkBindBufferMemoryDeviceGroupInfo, sType}-        type FieldIsArray "sType" VkBindBufferMemoryDeviceGroupInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindBufferMemoryDeviceGroupInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkBindBufferMemoryDeviceGroupInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryDeviceGroupInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindBufferMemoryDeviceGroupInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkBindBufferMemoryDeviceGroupInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindBufferMemoryDeviceGroupInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkBindBufferMemoryDeviceGroupInfo where-        type FieldType "pNext" VkBindBufferMemoryDeviceGroupInfo = Ptr Void-        type FieldOptional "pNext" VkBindBufferMemoryDeviceGroupInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkBindBufferMemoryDeviceGroupInfo =-             #{offset VkBindBufferMemoryDeviceGroupInfo, pNext}-        type FieldIsArray "pNext" VkBindBufferMemoryDeviceGroupInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindBufferMemoryDeviceGroupInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkBindBufferMemoryDeviceGroupInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryDeviceGroupInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindBufferMemoryDeviceGroupInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkBindBufferMemoryDeviceGroupInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindBufferMemoryDeviceGroupInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "deviceIndexCount" VkBindBufferMemoryDeviceGroupInfo where-        type FieldType "deviceIndexCount" VkBindBufferMemoryDeviceGroupInfo-             = Word32-        type FieldOptional "deviceIndexCount"-               VkBindBufferMemoryDeviceGroupInfo-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "deviceIndexCount"-               VkBindBufferMemoryDeviceGroupInfo-             =-             #{offset VkBindBufferMemoryDeviceGroupInfo, deviceIndexCount}-        type FieldIsArray "deviceIndexCount"-               VkBindBufferMemoryDeviceGroupInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindBufferMemoryDeviceGroupInfo, deviceIndexCount}--instance {-# OVERLAPPING #-}-         CanReadField "deviceIndexCount" VkBindBufferMemoryDeviceGroupInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryDeviceGroupInfo, deviceIndexCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindBufferMemoryDeviceGroupInfo, deviceIndexCount}--instance {-# OVERLAPPING #-}-         CanWriteField "deviceIndexCount" VkBindBufferMemoryDeviceGroupInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindBufferMemoryDeviceGroupInfo, deviceIndexCount}--instance {-# OVERLAPPING #-}-         HasField "pDeviceIndices" VkBindBufferMemoryDeviceGroupInfo where-        type FieldType "pDeviceIndices" VkBindBufferMemoryDeviceGroupInfo =-             Ptr Word32-        type FieldOptional "pDeviceIndices"-               VkBindBufferMemoryDeviceGroupInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pDeviceIndices" VkBindBufferMemoryDeviceGroupInfo-             =-             #{offset VkBindBufferMemoryDeviceGroupInfo, pDeviceIndices}-        type FieldIsArray "pDeviceIndices"-               VkBindBufferMemoryDeviceGroupInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindBufferMemoryDeviceGroupInfo, pDeviceIndices}--instance {-# OVERLAPPING #-}-         CanReadField "pDeviceIndices" VkBindBufferMemoryDeviceGroupInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryDeviceGroupInfo, pDeviceIndices})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindBufferMemoryDeviceGroupInfo, pDeviceIndices}--instance {-# OVERLAPPING #-}-         CanWriteField "pDeviceIndices" VkBindBufferMemoryDeviceGroupInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindBufferMemoryDeviceGroupInfo, pDeviceIndices}--instance Show VkBindBufferMemoryDeviceGroupInfo where-        showsPrec d x-          = showString "VkBindBufferMemoryDeviceGroupInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "deviceIndexCount = " .-                            showsPrec d (getField @"deviceIndexCount" x) .-                              showString ", " .-                                showString "pDeviceIndices = " .-                                  showsPrec d (getField @"pDeviceIndices" x) . showChar '}'---- | Alias for `VkBindBufferMemoryDeviceGroupInfo`-type VkBindBufferMemoryDeviceGroupInfoKHR =-     VkBindBufferMemoryDeviceGroupInfo---- | > typedef struct VkBindBufferMemoryInfo {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkBuffer                         buffer;---   >     VkDeviceMemory                   memory;---   >     VkDeviceSize                     memoryOffset;---   > } VkBindBufferMemoryInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBindBufferMemoryInfo VkBindBufferMemoryInfo registry at www.khronos.org>-type VkBindBufferMemoryInfo = VulkanStruct VkBindBufferMemoryInfo' -- ' closing tick for hsc2hs--data VkBindBufferMemoryInfo' -- ' closing tick for hsc2hs--instance Eq VkBindBufferMemoryInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkBindBufferMemoryInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkBindBufferMemoryInfo where-        sizeOf ~_ = #{size VkBindBufferMemoryInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkBindBufferMemoryInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkBindBufferMemoryInfo where-        type StructFields VkBindBufferMemoryInfo =-             '["sType", "pNext", "buffer", "memory", "memoryOffset"] -- ' closing tick for hsc2hs-        type CUnionType VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkBindBufferMemoryInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkBindBufferMemoryInfo where-        type FieldType "sType" VkBindBufferMemoryInfo = VkStructureType-        type FieldOptional "sType" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkBindBufferMemoryInfo =-             #{offset VkBindBufferMemoryInfo, sType}-        type FieldIsArray "sType" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBindBufferMemoryInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkBindBufferMemoryInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindBufferMemoryInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkBindBufferMemoryInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindBufferMemoryInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkBindBufferMemoryInfo where-        type FieldType "pNext" VkBindBufferMemoryInfo = Ptr Void-        type FieldOptional "pNext" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkBindBufferMemoryInfo =-             #{offset VkBindBufferMemoryInfo, pNext}-        type FieldIsArray "pNext" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBindBufferMemoryInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkBindBufferMemoryInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindBufferMemoryInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkBindBufferMemoryInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindBufferMemoryInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "buffer" VkBindBufferMemoryInfo where-        type FieldType "buffer" VkBindBufferMemoryInfo = VkBuffer-        type FieldOptional "buffer" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "buffer" VkBindBufferMemoryInfo =-             #{offset VkBindBufferMemoryInfo, buffer}-        type FieldIsArray "buffer" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBindBufferMemoryInfo, buffer}--instance {-# OVERLAPPING #-}-         CanReadField "buffer" VkBindBufferMemoryInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryInfo, buffer})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindBufferMemoryInfo, buffer}--instance {-# OVERLAPPING #-}-         CanWriteField "buffer" VkBindBufferMemoryInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindBufferMemoryInfo, buffer}--instance {-# OVERLAPPING #-}-         HasField "memory" VkBindBufferMemoryInfo where-        type FieldType "memory" VkBindBufferMemoryInfo = VkDeviceMemory-        type FieldOptional "memory" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "memory" VkBindBufferMemoryInfo =-             #{offset VkBindBufferMemoryInfo, memory}-        type FieldIsArray "memory" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBindBufferMemoryInfo, memory}--instance {-# OVERLAPPING #-}-         CanReadField "memory" VkBindBufferMemoryInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryInfo, memory})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindBufferMemoryInfo, memory}--instance {-# OVERLAPPING #-}-         CanWriteField "memory" VkBindBufferMemoryInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindBufferMemoryInfo, memory}--instance {-# OVERLAPPING #-}-         HasField "memoryOffset" VkBindBufferMemoryInfo where-        type FieldType "memoryOffset" VkBindBufferMemoryInfo = VkDeviceSize-        type FieldOptional "memoryOffset" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "memoryOffset" VkBindBufferMemoryInfo =-             #{offset VkBindBufferMemoryInfo, memoryOffset}-        type FieldIsArray "memoryOffset" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindBufferMemoryInfo, memoryOffset}--instance {-# OVERLAPPING #-}-         CanReadField "memoryOffset" VkBindBufferMemoryInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryInfo, memoryOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindBufferMemoryInfo, memoryOffset}--instance {-# OVERLAPPING #-}-         CanWriteField "memoryOffset" VkBindBufferMemoryInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindBufferMemoryInfo, memoryOffset}--instance Show VkBindBufferMemoryInfo where-        showsPrec d x-          = showString "VkBindBufferMemoryInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "buffer = " .-                            showsPrec d (getField @"buffer" x) .-                              showString ", " .-                                showString "memory = " .-                                  showsPrec d (getField @"memory" x) .-                                    showString ", " .-                                      showString "memoryOffset = " .-                                        showsPrec d (getField @"memoryOffset" x) . showChar '}'---- | Alias for `VkBindBufferMemoryInfo`-type VkBindBufferMemoryInfoKHR = VkBindBufferMemoryInfo---- | > typedef struct VkBindImageMemoryDeviceGroupInfo {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     uint32_t         deviceIndexCount;---   >     const uint32_t*  pDeviceIndices;---   >     uint32_t         splitInstanceBindRegionCount;---   >     const VkRect2D*  pSplitInstanceBindRegions;---   > } VkBindImageMemoryDeviceGroupInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfo registry at www.khronos.org>-type VkBindImageMemoryDeviceGroupInfo =-     VulkanStruct VkBindImageMemoryDeviceGroupInfo' -- ' closing tick for hsc2hs--data VkBindImageMemoryDeviceGroupInfo' -- ' closing tick for hsc2hs--instance Eq VkBindImageMemoryDeviceGroupInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkBindImageMemoryDeviceGroupInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkBindImageMemoryDeviceGroupInfo where-        sizeOf ~_ = #{size VkBindImageMemoryDeviceGroupInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkBindImageMemoryDeviceGroupInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkBindImageMemoryDeviceGroupInfo where-        type StructFields VkBindImageMemoryDeviceGroupInfo =-             '["sType", "pNext", "deviceIndexCount", "pDeviceIndices", -- ' closing tick for hsc2hs-               "splitInstanceBindRegionCount", "pSplitInstanceBindRegions"]-        type CUnionType VkBindImageMemoryDeviceGroupInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkBindImageMemoryDeviceGroupInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkBindImageMemoryDeviceGroupInfo =-             '[VkBindImageMemoryInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkBindImageMemoryDeviceGroupInfo where-        type FieldType "sType" VkBindImageMemoryDeviceGroupInfo =-             VkStructureType-        type FieldOptional "sType" VkBindImageMemoryDeviceGroupInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkBindImageMemoryDeviceGroupInfo =-             #{offset VkBindImageMemoryDeviceGroupInfo, sType}-        type FieldIsArray "sType" VkBindImageMemoryDeviceGroupInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImageMemoryDeviceGroupInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkBindImageMemoryDeviceGroupInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryDeviceGroupInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkBindImageMemoryDeviceGroupInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkBindImageMemoryDeviceGroupInfo where-        type FieldType "pNext" VkBindImageMemoryDeviceGroupInfo = Ptr Void-        type FieldOptional "pNext" VkBindImageMemoryDeviceGroupInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkBindImageMemoryDeviceGroupInfo =-             #{offset VkBindImageMemoryDeviceGroupInfo, pNext}-        type FieldIsArray "pNext" VkBindImageMemoryDeviceGroupInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImageMemoryDeviceGroupInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkBindImageMemoryDeviceGroupInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryDeviceGroupInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkBindImageMemoryDeviceGroupInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "deviceIndexCount" VkBindImageMemoryDeviceGroupInfo where-        type FieldType "deviceIndexCount" VkBindImageMemoryDeviceGroupInfo-             = Word32-        type FieldOptional "deviceIndexCount"-               VkBindImageMemoryDeviceGroupInfo-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "deviceIndexCount"-               VkBindImageMemoryDeviceGroupInfo-             =-             #{offset VkBindImageMemoryDeviceGroupInfo, deviceIndexCount}-        type FieldIsArray "deviceIndexCount"-               VkBindImageMemoryDeviceGroupInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImageMemoryDeviceGroupInfo, deviceIndexCount}--instance {-# OVERLAPPING #-}-         CanReadField "deviceIndexCount" VkBindImageMemoryDeviceGroupInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryDeviceGroupInfo, deviceIndexCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, deviceIndexCount}--instance {-# OVERLAPPING #-}-         CanWriteField "deviceIndexCount" VkBindImageMemoryDeviceGroupInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, deviceIndexCount}--instance {-# OVERLAPPING #-}-         HasField "pDeviceIndices" VkBindImageMemoryDeviceGroupInfo where-        type FieldType "pDeviceIndices" VkBindImageMemoryDeviceGroupInfo =-             Ptr Word32-        type FieldOptional "pDeviceIndices"-               VkBindImageMemoryDeviceGroupInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pDeviceIndices" VkBindImageMemoryDeviceGroupInfo-             =-             #{offset VkBindImageMemoryDeviceGroupInfo, pDeviceIndices}-        type FieldIsArray "pDeviceIndices" VkBindImageMemoryDeviceGroupInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImageMemoryDeviceGroupInfo, pDeviceIndices}--instance {-# OVERLAPPING #-}-         CanReadField "pDeviceIndices" VkBindImageMemoryDeviceGroupInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryDeviceGroupInfo, pDeviceIndices})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, pDeviceIndices}--instance {-# OVERLAPPING #-}-         CanWriteField "pDeviceIndices" VkBindImageMemoryDeviceGroupInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, pDeviceIndices}--instance {-# OVERLAPPING #-}-         HasField "splitInstanceBindRegionCount"-           VkBindImageMemoryDeviceGroupInfo-         where-        type FieldType "splitInstanceBindRegionCount"-               VkBindImageMemoryDeviceGroupInfo-             = Word32-        type FieldOptional "splitInstanceBindRegionCount"-               VkBindImageMemoryDeviceGroupInfo-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "splitInstanceBindRegionCount"-               VkBindImageMemoryDeviceGroupInfo-             =-             #{offset VkBindImageMemoryDeviceGroupInfo, splitInstanceBindRegionCount}-        type FieldIsArray "splitInstanceBindRegionCount"-               VkBindImageMemoryDeviceGroupInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImageMemoryDeviceGroupInfo, splitInstanceBindRegionCount}--instance {-# OVERLAPPING #-}-         CanReadField "splitInstanceBindRegionCount"-           VkBindImageMemoryDeviceGroupInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryDeviceGroupInfo, splitInstanceBindRegionCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, splitInstanceBindRegionCount}--instance {-# OVERLAPPING #-}-         CanWriteField "splitInstanceBindRegionCount"-           VkBindImageMemoryDeviceGroupInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, splitInstanceBindRegionCount}--instance {-# OVERLAPPING #-}-         HasField "pSplitInstanceBindRegions"-           VkBindImageMemoryDeviceGroupInfo-         where-        type FieldType "pSplitInstanceBindRegions"-               VkBindImageMemoryDeviceGroupInfo-             = Ptr VkRect2D-        type FieldOptional "pSplitInstanceBindRegions"-               VkBindImageMemoryDeviceGroupInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pSplitInstanceBindRegions"-               VkBindImageMemoryDeviceGroupInfo-             =-             #{offset VkBindImageMemoryDeviceGroupInfo, pSplitInstanceBindRegions}-        type FieldIsArray "pSplitInstanceBindRegions"-               VkBindImageMemoryDeviceGroupInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImageMemoryDeviceGroupInfo, pSplitInstanceBindRegions}--instance {-# OVERLAPPING #-}-         CanReadField "pSplitInstanceBindRegions"-           VkBindImageMemoryDeviceGroupInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryDeviceGroupInfo, pSplitInstanceBindRegions})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, pSplitInstanceBindRegions}--instance {-# OVERLAPPING #-}-         CanWriteField "pSplitInstanceBindRegions"-           VkBindImageMemoryDeviceGroupInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, pSplitInstanceBindRegions}--instance Show VkBindImageMemoryDeviceGroupInfo where-        showsPrec d x-          = showString "VkBindImageMemoryDeviceGroupInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "deviceIndexCount = " .-                            showsPrec d (getField @"deviceIndexCount" x) .-                              showString ", " .-                                showString "pDeviceIndices = " .-                                  showsPrec d (getField @"pDeviceIndices" x) .-                                    showString ", " .-                                      showString "splitInstanceBindRegionCount = " .-                                        showsPrec d (getField @"splitInstanceBindRegionCount" x) .-                                          showString ", " .-                                            showString "pSplitInstanceBindRegions = " .-                                              showsPrec d (getField @"pSplitInstanceBindRegions" x)-                                                . showChar '}'---- | Alias for `VkBindImageMemoryDeviceGroupInfo`-type VkBindImageMemoryDeviceGroupInfoKHR =-     VkBindImageMemoryDeviceGroupInfo---- | > typedef struct VkBindImageMemoryInfo {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkImage                          image;---   >     VkDeviceMemory                   memory;---   >     VkDeviceSize                     memoryOffset;---   > } VkBindImageMemoryInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBindImageMemoryInfo VkBindImageMemoryInfo registry at www.khronos.org>-type VkBindImageMemoryInfo = VulkanStruct VkBindImageMemoryInfo' -- ' closing tick for hsc2hs--data VkBindImageMemoryInfo' -- ' closing tick for hsc2hs--instance Eq VkBindImageMemoryInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkBindImageMemoryInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkBindImageMemoryInfo where-        sizeOf ~_ = #{size VkBindImageMemoryInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkBindImageMemoryInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkBindImageMemoryInfo where-        type StructFields VkBindImageMemoryInfo =-             '["sType", "pNext", "image", "memory", "memoryOffset"] -- ' closing tick for hsc2hs-        type CUnionType VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkBindImageMemoryInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkBindImageMemoryInfo-         where-        type FieldType "sType" VkBindImageMemoryInfo = VkStructureType-        type FieldOptional "sType" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkBindImageMemoryInfo =-             #{offset VkBindImageMemoryInfo, sType}-        type FieldIsArray "sType" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBindImageMemoryInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkBindImageMemoryInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindImageMemoryInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkBindImageMemoryInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindImageMemoryInfo, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkBindImageMemoryInfo-         where-        type FieldType "pNext" VkBindImageMemoryInfo = Ptr Void-        type FieldOptional "pNext" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkBindImageMemoryInfo =-             #{offset VkBindImageMemoryInfo, pNext}-        type FieldIsArray "pNext" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBindImageMemoryInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkBindImageMemoryInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindImageMemoryInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkBindImageMemoryInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindImageMemoryInfo, pNext}--instance {-# OVERLAPPING #-} HasField "image" VkBindImageMemoryInfo-         where-        type FieldType "image" VkBindImageMemoryInfo = VkImage-        type FieldOptional "image" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "image" VkBindImageMemoryInfo =-             #{offset VkBindImageMemoryInfo, image}-        type FieldIsArray "image" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBindImageMemoryInfo, image}--instance {-# OVERLAPPING #-}-         CanReadField "image" VkBindImageMemoryInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryInfo, image})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindImageMemoryInfo, image}--instance {-# OVERLAPPING #-}-         CanWriteField "image" VkBindImageMemoryInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindImageMemoryInfo, image}--instance {-# OVERLAPPING #-}-         HasField "memory" VkBindImageMemoryInfo where-        type FieldType "memory" VkBindImageMemoryInfo = VkDeviceMemory-        type FieldOptional "memory" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "memory" VkBindImageMemoryInfo =-             #{offset VkBindImageMemoryInfo, memory}-        type FieldIsArray "memory" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBindImageMemoryInfo, memory}--instance {-# OVERLAPPING #-}-         CanReadField "memory" VkBindImageMemoryInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryInfo, memory})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindImageMemoryInfo, memory}--instance {-# OVERLAPPING #-}-         CanWriteField "memory" VkBindImageMemoryInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindImageMemoryInfo, memory}--instance {-# OVERLAPPING #-}-         HasField "memoryOffset" VkBindImageMemoryInfo where-        type FieldType "memoryOffset" VkBindImageMemoryInfo = VkDeviceSize-        type FieldOptional "memoryOffset" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "memoryOffset" VkBindImageMemoryInfo =-             #{offset VkBindImageMemoryInfo, memoryOffset}-        type FieldIsArray "memoryOffset" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImageMemoryInfo, memoryOffset}--instance {-# OVERLAPPING #-}-         CanReadField "memoryOffset" VkBindImageMemoryInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryInfo, memoryOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindImageMemoryInfo, memoryOffset}--instance {-# OVERLAPPING #-}-         CanWriteField "memoryOffset" VkBindImageMemoryInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindImageMemoryInfo, memoryOffset}--instance Show VkBindImageMemoryInfo where-        showsPrec d x-          = showString "VkBindImageMemoryInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "image = " .-                            showsPrec d (getField @"image" x) .-                              showString ", " .-                                showString "memory = " .-                                  showsPrec d (getField @"memory" x) .-                                    showString ", " .-                                      showString "memoryOffset = " .-                                        showsPrec d (getField @"memoryOffset" x) . showChar '}'---- | Alias for `VkBindImageMemoryInfo`-type VkBindImageMemoryInfoKHR = VkBindImageMemoryInfo---- | > typedef struct VkBindImageMemorySwapchainInfoKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkSwapchainKHR swapchain;---   >     uint32_t                         imageIndex;---   > } VkBindImageMemorySwapchainInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBindImageMemorySwapchainInfoKHR VkBindImageMemorySwapchainInfoKHR registry at www.khronos.org>-type VkBindImageMemorySwapchainInfoKHR =-     VulkanStruct VkBindImageMemorySwapchainInfoKHR' -- ' closing tick for hsc2hs--data VkBindImageMemorySwapchainInfoKHR' -- ' closing tick for hsc2hs--instance Eq VkBindImageMemorySwapchainInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkBindImageMemorySwapchainInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkBindImageMemorySwapchainInfoKHR where-        sizeOf ~_ = #{size VkBindImageMemorySwapchainInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkBindImageMemorySwapchainInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkBindImageMemorySwapchainInfoKHR where-        type StructFields VkBindImageMemorySwapchainInfoKHR =-             '["sType", "pNext", "swapchain", "imageIndex"] -- ' closing tick for hsc2hs-        type CUnionType VkBindImageMemorySwapchainInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkBindImageMemorySwapchainInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkBindImageMemorySwapchainInfoKHR =-             '[VkBindImageMemoryInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkBindImageMemorySwapchainInfoKHR where-        type FieldType "sType" VkBindImageMemorySwapchainInfoKHR =-             VkStructureType-        type FieldOptional "sType" VkBindImageMemorySwapchainInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkBindImageMemorySwapchainInfoKHR =-             #{offset VkBindImageMemorySwapchainInfoKHR, sType}-        type FieldIsArray "sType" VkBindImageMemorySwapchainInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImageMemorySwapchainInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkBindImageMemorySwapchainInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemorySwapchainInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindImageMemorySwapchainInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkBindImageMemorySwapchainInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindImageMemorySwapchainInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkBindImageMemorySwapchainInfoKHR where-        type FieldType "pNext" VkBindImageMemorySwapchainInfoKHR = Ptr Void-        type FieldOptional "pNext" VkBindImageMemorySwapchainInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkBindImageMemorySwapchainInfoKHR =-             #{offset VkBindImageMemorySwapchainInfoKHR, pNext}-        type FieldIsArray "pNext" VkBindImageMemorySwapchainInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImageMemorySwapchainInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkBindImageMemorySwapchainInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemorySwapchainInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindImageMemorySwapchainInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkBindImageMemorySwapchainInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindImageMemorySwapchainInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "swapchain" VkBindImageMemorySwapchainInfoKHR where-        type FieldType "swapchain" VkBindImageMemorySwapchainInfoKHR =-             VkSwapchainKHR-        type FieldOptional "swapchain" VkBindImageMemorySwapchainInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "swapchain" VkBindImageMemorySwapchainInfoKHR =-             #{offset VkBindImageMemorySwapchainInfoKHR, swapchain}-        type FieldIsArray "swapchain" VkBindImageMemorySwapchainInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImageMemorySwapchainInfoKHR, swapchain}--instance {-# OVERLAPPING #-}-         CanReadField "swapchain" VkBindImageMemorySwapchainInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemorySwapchainInfoKHR, swapchain})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindImageMemorySwapchainInfoKHR, swapchain}--instance {-# OVERLAPPING #-}-         CanWriteField "swapchain" VkBindImageMemorySwapchainInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindImageMemorySwapchainInfoKHR, swapchain}--instance {-# OVERLAPPING #-}-         HasField "imageIndex" VkBindImageMemorySwapchainInfoKHR where-        type FieldType "imageIndex" VkBindImageMemorySwapchainInfoKHR =-             Word32-        type FieldOptional "imageIndex" VkBindImageMemorySwapchainInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "imageIndex" VkBindImageMemorySwapchainInfoKHR =-             #{offset VkBindImageMemorySwapchainInfoKHR, imageIndex}-        type FieldIsArray "imageIndex" VkBindImageMemorySwapchainInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImageMemorySwapchainInfoKHR, imageIndex}--instance {-# OVERLAPPING #-}-         CanReadField "imageIndex" VkBindImageMemorySwapchainInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemorySwapchainInfoKHR, imageIndex})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindImageMemorySwapchainInfoKHR, imageIndex}--instance {-# OVERLAPPING #-}-         CanWriteField "imageIndex" VkBindImageMemorySwapchainInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindImageMemorySwapchainInfoKHR, imageIndex}--instance Show VkBindImageMemorySwapchainInfoKHR where-        showsPrec d x-          = showString "VkBindImageMemorySwapchainInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "swapchain = " .-                            showsPrec d (getField @"swapchain" x) .-                              showString ", " .-                                showString "imageIndex = " .-                                  showsPrec d (getField @"imageIndex" x) . showChar '}'---- | > typedef struct VkBindImagePlaneMemoryInfo {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkImageAspectFlagBits            planeAspect;---   > } VkBindImagePlaneMemoryInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfo registry at www.khronos.org>-type VkBindImagePlaneMemoryInfo =-     VulkanStruct VkBindImagePlaneMemoryInfo' -- ' closing tick for hsc2hs--data VkBindImagePlaneMemoryInfo' -- ' closing tick for hsc2hs--instance Eq VkBindImagePlaneMemoryInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkBindImagePlaneMemoryInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkBindImagePlaneMemoryInfo where-        sizeOf ~_ = #{size VkBindImagePlaneMemoryInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkBindImagePlaneMemoryInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkBindImagePlaneMemoryInfo where-        type StructFields VkBindImagePlaneMemoryInfo =-             '["sType", "pNext", "planeAspect"] -- ' closing tick for hsc2hs-        type CUnionType VkBindImagePlaneMemoryInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkBindImagePlaneMemoryInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkBindImagePlaneMemoryInfo =-             '[VkBindImageMemoryInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkBindImagePlaneMemoryInfo where-        type FieldType "sType" VkBindImagePlaneMemoryInfo = VkStructureType-        type FieldOptional "sType" VkBindImagePlaneMemoryInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkBindImagePlaneMemoryInfo =-             #{offset VkBindImagePlaneMemoryInfo, sType}-        type FieldIsArray "sType" VkBindImagePlaneMemoryInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImagePlaneMemoryInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkBindImagePlaneMemoryInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImagePlaneMemoryInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindImagePlaneMemoryInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkBindImagePlaneMemoryInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindImagePlaneMemoryInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkBindImagePlaneMemoryInfo where-        type FieldType "pNext" VkBindImagePlaneMemoryInfo = Ptr Void-        type FieldOptional "pNext" VkBindImagePlaneMemoryInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkBindImagePlaneMemoryInfo =-             #{offset VkBindImagePlaneMemoryInfo, pNext}-        type FieldIsArray "pNext" VkBindImagePlaneMemoryInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImagePlaneMemoryInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkBindImagePlaneMemoryInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImagePlaneMemoryInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindImagePlaneMemoryInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkBindImagePlaneMemoryInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindImagePlaneMemoryInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "planeAspect" VkBindImagePlaneMemoryInfo where-        type FieldType "planeAspect" VkBindImagePlaneMemoryInfo =-             VkImageAspectFlagBits-        type FieldOptional "planeAspect" VkBindImagePlaneMemoryInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "planeAspect" VkBindImagePlaneMemoryInfo =-             #{offset VkBindImagePlaneMemoryInfo, planeAspect}-        type FieldIsArray "planeAspect" VkBindImagePlaneMemoryInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImagePlaneMemoryInfo, planeAspect}--instance {-# OVERLAPPING #-}-         CanReadField "planeAspect" VkBindImagePlaneMemoryInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImagePlaneMemoryInfo, planeAspect})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindImagePlaneMemoryInfo, planeAspect}--instance {-# OVERLAPPING #-}-         CanWriteField "planeAspect" VkBindImagePlaneMemoryInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindImagePlaneMemoryInfo, planeAspect}--instance Show VkBindImagePlaneMemoryInfo where-        showsPrec d x-          = showString "VkBindImagePlaneMemoryInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "planeAspect = " .-                            showsPrec d (getField @"planeAspect" x) . showChar '}'---- | Alias for `VkBindImagePlaneMemoryInfo`-type VkBindImagePlaneMemoryInfoKHR = VkBindImagePlaneMemoryInfo---- | > typedef struct VkBindSparseInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     uint32_t               waitSemaphoreCount;---   >     const VkSemaphore*     pWaitSemaphores;---   >     uint32_t               bufferBindCount;---   >     const VkSparseBufferMemoryBindInfo* pBufferBinds;---   >     uint32_t               imageOpaqueBindCount;---   >     const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;---   >     uint32_t               imageBindCount;---   >     const VkSparseImageMemoryBindInfo* pImageBinds;---   >     uint32_t               signalSemaphoreCount;---   >     const VkSemaphore*     pSignalSemaphores;---   > } VkBindSparseInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBindSparseInfo VkBindSparseInfo registry at www.khronos.org>-type VkBindSparseInfo = VulkanStruct VkBindSparseInfo' -- ' closing tick for hsc2hs--data VkBindSparseInfo' -- ' closing tick for hsc2hs--instance Eq VkBindSparseInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkBindSparseInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkBindSparseInfo where-        sizeOf ~_ = #{size VkBindSparseInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkBindSparseInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkBindSparseInfo where-        type StructFields VkBindSparseInfo =-             '["sType", "pNext", "waitSemaphoreCount", "pWaitSemaphores", -- ' closing tick for hsc2hs-               "bufferBindCount", "pBufferBinds", "imageOpaqueBindCount",-               "pImageOpaqueBinds", "imageBindCount", "pImageBinds",-               "signalSemaphoreCount", "pSignalSemaphores"]-        type CUnionType VkBindSparseInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkBindSparseInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkBindSparseInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkBindSparseInfo-         where-        type FieldType "sType" VkBindSparseInfo = VkStructureType-        type FieldOptional "sType" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkBindSparseInfo =-             #{offset VkBindSparseInfo, sType}-        type FieldIsArray "sType" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBindSparseInfo, sType}--instance {-# OVERLAPPING #-} CanReadField "sType" VkBindSparseInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindSparseInfo, sType}--instance {-# OVERLAPPING #-} CanWriteField "sType" VkBindSparseInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindSparseInfo, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkBindSparseInfo-         where-        type FieldType "pNext" VkBindSparseInfo = Ptr Void-        type FieldOptional "pNext" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkBindSparseInfo =-             #{offset VkBindSparseInfo, pNext}-        type FieldIsArray "pNext" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBindSparseInfo, pNext}--instance {-# OVERLAPPING #-} CanReadField "pNext" VkBindSparseInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindSparseInfo, pNext}--instance {-# OVERLAPPING #-} CanWriteField "pNext" VkBindSparseInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindSparseInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "waitSemaphoreCount" VkBindSparseInfo where-        type FieldType "waitSemaphoreCount" VkBindSparseInfo = Word32-        type FieldOptional "waitSemaphoreCount" VkBindSparseInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "waitSemaphoreCount" VkBindSparseInfo =-             #{offset VkBindSparseInfo, waitSemaphoreCount}-        type FieldIsArray "waitSemaphoreCount" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindSparseInfo, waitSemaphoreCount}--instance {-# OVERLAPPING #-}-         CanReadField "waitSemaphoreCount" VkBindSparseInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, waitSemaphoreCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindSparseInfo, waitSemaphoreCount}--instance {-# OVERLAPPING #-}-         CanWriteField "waitSemaphoreCount" VkBindSparseInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindSparseInfo, waitSemaphoreCount}--instance {-# OVERLAPPING #-}-         HasField "pWaitSemaphores" VkBindSparseInfo where-        type FieldType "pWaitSemaphores" VkBindSparseInfo = Ptr VkSemaphore-        type FieldOptional "pWaitSemaphores" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pWaitSemaphores" VkBindSparseInfo =-             #{offset VkBindSparseInfo, pWaitSemaphores}-        type FieldIsArray "pWaitSemaphores" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindSparseInfo, pWaitSemaphores}--instance {-# OVERLAPPING #-}-         CanReadField "pWaitSemaphores" VkBindSparseInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, pWaitSemaphores})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindSparseInfo, pWaitSemaphores}--instance {-# OVERLAPPING #-}-         CanWriteField "pWaitSemaphores" VkBindSparseInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindSparseInfo, pWaitSemaphores}--instance {-# OVERLAPPING #-}-         HasField "bufferBindCount" VkBindSparseInfo where-        type FieldType "bufferBindCount" VkBindSparseInfo = Word32-        type FieldOptional "bufferBindCount" VkBindSparseInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "bufferBindCount" VkBindSparseInfo =-             #{offset VkBindSparseInfo, bufferBindCount}-        type FieldIsArray "bufferBindCount" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindSparseInfo, bufferBindCount}--instance {-# OVERLAPPING #-}-         CanReadField "bufferBindCount" VkBindSparseInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, bufferBindCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindSparseInfo, bufferBindCount}--instance {-# OVERLAPPING #-}-         CanWriteField "bufferBindCount" VkBindSparseInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindSparseInfo, bufferBindCount}--instance {-# OVERLAPPING #-}-         HasField "pBufferBinds" VkBindSparseInfo where-        type FieldType "pBufferBinds" VkBindSparseInfo =-             Ptr VkSparseBufferMemoryBindInfo-        type FieldOptional "pBufferBinds" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pBufferBinds" VkBindSparseInfo =-             #{offset VkBindSparseInfo, pBufferBinds}-        type FieldIsArray "pBufferBinds" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBindSparseInfo, pBufferBinds}--instance {-# OVERLAPPING #-}-         CanReadField "pBufferBinds" VkBindSparseInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, pBufferBinds})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindSparseInfo, pBufferBinds}--instance {-# OVERLAPPING #-}-         CanWriteField "pBufferBinds" VkBindSparseInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindSparseInfo, pBufferBinds}--instance {-# OVERLAPPING #-}-         HasField "imageOpaqueBindCount" VkBindSparseInfo where-        type FieldType "imageOpaqueBindCount" VkBindSparseInfo = Word32-        type FieldOptional "imageOpaqueBindCount" VkBindSparseInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "imageOpaqueBindCount" VkBindSparseInfo =-             #{offset VkBindSparseInfo, imageOpaqueBindCount}-        type FieldIsArray "imageOpaqueBindCount" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindSparseInfo, imageOpaqueBindCount}--instance {-# OVERLAPPING #-}-         CanReadField "imageOpaqueBindCount" VkBindSparseInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, imageOpaqueBindCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindSparseInfo, imageOpaqueBindCount}--instance {-# OVERLAPPING #-}-         CanWriteField "imageOpaqueBindCount" VkBindSparseInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindSparseInfo, imageOpaqueBindCount}--instance {-# OVERLAPPING #-}-         HasField "pImageOpaqueBinds" VkBindSparseInfo where-        type FieldType "pImageOpaqueBinds" VkBindSparseInfo =-             Ptr VkSparseImageOpaqueMemoryBindInfo-        type FieldOptional "pImageOpaqueBinds" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pImageOpaqueBinds" VkBindSparseInfo =-             #{offset VkBindSparseInfo, pImageOpaqueBinds}-        type FieldIsArray "pImageOpaqueBinds" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindSparseInfo, pImageOpaqueBinds}--instance {-# OVERLAPPING #-}-         CanReadField "pImageOpaqueBinds" VkBindSparseInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, pImageOpaqueBinds})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindSparseInfo, pImageOpaqueBinds}--instance {-# OVERLAPPING #-}-         CanWriteField "pImageOpaqueBinds" VkBindSparseInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindSparseInfo, pImageOpaqueBinds}--instance {-# OVERLAPPING #-}-         HasField "imageBindCount" VkBindSparseInfo where-        type FieldType "imageBindCount" VkBindSparseInfo = Word32-        type FieldOptional "imageBindCount" VkBindSparseInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "imageBindCount" VkBindSparseInfo =-             #{offset VkBindSparseInfo, imageBindCount}-        type FieldIsArray "imageBindCount" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindSparseInfo, imageBindCount}--instance {-# OVERLAPPING #-}-         CanReadField "imageBindCount" VkBindSparseInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, imageBindCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindSparseInfo, imageBindCount}--instance {-# OVERLAPPING #-}-         CanWriteField "imageBindCount" VkBindSparseInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindSparseInfo, imageBindCount}--instance {-# OVERLAPPING #-}-         HasField "pImageBinds" VkBindSparseInfo where-        type FieldType "pImageBinds" VkBindSparseInfo =-             Ptr VkSparseImageMemoryBindInfo-        type FieldOptional "pImageBinds" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pImageBinds" VkBindSparseInfo =-             #{offset VkBindSparseInfo, pImageBinds}-        type FieldIsArray "pImageBinds" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBindSparseInfo, pImageBinds}--instance {-# OVERLAPPING #-}-         CanReadField "pImageBinds" VkBindSparseInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, pImageBinds})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindSparseInfo, pImageBinds}--instance {-# OVERLAPPING #-}-         CanWriteField "pImageBinds" VkBindSparseInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindSparseInfo, pImageBinds}--instance {-# OVERLAPPING #-}-         HasField "signalSemaphoreCount" VkBindSparseInfo where-        type FieldType "signalSemaphoreCount" VkBindSparseInfo = Word32-        type FieldOptional "signalSemaphoreCount" VkBindSparseInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "signalSemaphoreCount" VkBindSparseInfo =-             #{offset VkBindSparseInfo, signalSemaphoreCount}-        type FieldIsArray "signalSemaphoreCount" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindSparseInfo, signalSemaphoreCount}--instance {-# OVERLAPPING #-}-         CanReadField "signalSemaphoreCount" VkBindSparseInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, signalSemaphoreCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindSparseInfo, signalSemaphoreCount}--instance {-# OVERLAPPING #-}-         CanWriteField "signalSemaphoreCount" VkBindSparseInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindSparseInfo, signalSemaphoreCount}--instance {-# OVERLAPPING #-}-         HasField "pSignalSemaphores" VkBindSparseInfo where-        type FieldType "pSignalSemaphores" VkBindSparseInfo =-             Ptr VkSemaphore-        type FieldOptional "pSignalSemaphores" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pSignalSemaphores" VkBindSparseInfo =-             #{offset VkBindSparseInfo, pSignalSemaphores}-        type FieldIsArray "pSignalSemaphores" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindSparseInfo, pSignalSemaphores}--instance {-# OVERLAPPING #-}-         CanReadField "pSignalSemaphores" VkBindSparseInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, pSignalSemaphores})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBindSparseInfo, pSignalSemaphores}--instance {-# OVERLAPPING #-}-         CanWriteField "pSignalSemaphores" VkBindSparseInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBindSparseInfo, pSignalSemaphores}--instance Show VkBindSparseInfo where-        showsPrec d x-          = showString "VkBindSparseInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "waitSemaphoreCount = " .-                            showsPrec d (getField @"waitSemaphoreCount" x) .-                              showString ", " .-                                showString "pWaitSemaphores = " .-                                  showsPrec d (getField @"pWaitSemaphores" x) .-                                    showString ", " .-                                      showString "bufferBindCount = " .-                                        showsPrec d (getField @"bufferBindCount" x) .-                                          showString ", " .-                                            showString "pBufferBinds = " .-                                              showsPrec d (getField @"pBufferBinds" x) .-                                                showString ", " .-                                                  showString "imageOpaqueBindCount = " .-                                                    showsPrec d (getField @"imageOpaqueBindCount" x)-                                                      .-                                                      showString ", " .-                                                        showString "pImageOpaqueBinds = " .-                                                          showsPrec d-                                                            (getField @"pImageOpaqueBinds" x)-                                                            .-                                                            showString ", " .-                                                              showString "imageBindCount = " .-                                                                showsPrec d-                                                                  (getField @"imageBindCount" x)-                                                                  .-                                                                  showString ", " .-                                                                    showString "pImageBinds = " .-                                                                      showsPrec d-                                                                        (getField @"pImageBinds" x)-                                                                        .-                                                                        showString ", " .-                                                                          showString-                                                                            "signalSemaphoreCount = "-                                                                            .-                                                                            showsPrec d-                                                                              (getField-                                                                                 @"signalSemaphoreCount"-                                                                                 x)-                                                                              .-                                                                              showString ", " .-                                                                                showString-                                                                                  "pSignalSemaphores = "-                                                                                  .-                                                                                  showsPrec d-                                                                                    (getField-                                                                                       @"pSignalSemaphores"-                                                                                       x)-                                                                                    . showChar '}'+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.Bind+       (VkBindBufferMemoryDeviceGroupInfo,+        VkBindBufferMemoryDeviceGroupInfoKHR, VkBindBufferMemoryInfo,+        VkBindBufferMemoryInfoKHR, VkBindImageMemoryDeviceGroupInfo,+        VkBindImageMemoryDeviceGroupInfoKHR, VkBindImageMemoryInfo,+        VkBindImageMemoryInfoKHR, VkBindImageMemorySwapchainInfoKHR,+        VkBindImagePlaneMemoryInfo, VkBindImagePlaneMemoryInfoKHR,+        VkBindSparseInfo)+       where+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes          (VkDeviceSize)+import Graphics.Vulkan.Types.Enum.Image         (VkImageAspectFlagBits)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles            (VkBuffer, VkDeviceMemory,+                                                 VkImage, VkSemaphore,+                                                 VkSwapchainKHR)+import Graphics.Vulkan.Types.Struct.Rect        (VkRect2D)+import Graphics.Vulkan.Types.Struct.Sparse      (VkSparseBufferMemoryBindInfo,+                                                 VkSparseImageMemoryBindInfo,+                                                 VkSparseImageOpaqueMemoryBindInfo)++-- | > typedef struct VkBindBufferMemoryDeviceGroupInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     uint32_t         deviceIndexCount;+--   >     const uint32_t*  pDeviceIndices;+--   > } VkBindBufferMemoryDeviceGroupInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfo registry at www.khronos.org>+type VkBindBufferMemoryDeviceGroupInfo =+     VkStruct VkBindBufferMemoryDeviceGroupInfo' -- ' closing tick for hsc2hs++data VkBindBufferMemoryDeviceGroupInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkBindBufferMemoryDeviceGroupInfo where+    type StructRep VkBindBufferMemoryDeviceGroupInfo =+         'StructMeta "VkBindBufferMemoryDeviceGroupInfo" -- ' closing tick for hsc2hs+           VkBindBufferMemoryDeviceGroupInfo+           #{size VkBindBufferMemoryDeviceGroupInfo}+           #{alignment VkBindBufferMemoryDeviceGroupInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkBindBufferMemoryDeviceGroupInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkBindBufferMemoryDeviceGroupInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "deviceIndexCount" Word32 'True +                                                         #{offset VkBindBufferMemoryDeviceGroupInfo, deviceIndexCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pDeviceIndices" (Ptr Word32) 'False +                                                              #{offset VkBindBufferMemoryDeviceGroupInfo, pDeviceIndices}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkBindBufferMemoryInfo] -- ' closing tick for hsc2hs++-- | Alias for `VkBindBufferMemoryDeviceGroupInfo`+type VkBindBufferMemoryDeviceGroupInfoKHR =+     VkBindBufferMemoryDeviceGroupInfo++-- | > typedef struct VkBindBufferMemoryInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkBuffer                         buffer;+--   >     VkDeviceMemory                   memory;+--   >     VkDeviceSize                     memoryOffset;+--   > } VkBindBufferMemoryInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBindBufferMemoryInfo VkBindBufferMemoryInfo registry at www.khronos.org>+type VkBindBufferMemoryInfo = VkStruct VkBindBufferMemoryInfo' -- ' closing tick for hsc2hs++data VkBindBufferMemoryInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkBindBufferMemoryInfo where+    type StructRep VkBindBufferMemoryInfo =+         'StructMeta "VkBindBufferMemoryInfo" VkBindBufferMemoryInfo -- ' closing tick for hsc2hs+           #{size VkBindBufferMemoryInfo}+           #{alignment VkBindBufferMemoryInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkBindBufferMemoryInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkBindBufferMemoryInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "buffer" VkBuffer 'False +                                                  #{offset VkBindBufferMemoryInfo, buffer}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "memory" VkDeviceMemory 'False +                                                        #{offset VkBindBufferMemoryInfo, memory}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "memoryOffset" VkDeviceSize 'False +                                                            #{offset VkBindBufferMemoryInfo, memoryOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | Alias for `VkBindBufferMemoryInfo`+type VkBindBufferMemoryInfoKHR = VkBindBufferMemoryInfo++-- | > typedef struct VkBindImageMemoryDeviceGroupInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     uint32_t         deviceIndexCount;+--   >     const uint32_t*  pDeviceIndices;+--   >     uint32_t         splitInstanceBindRegionCount;+--   >     const VkRect2D*  pSplitInstanceBindRegions;+--   > } VkBindImageMemoryDeviceGroupInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfo registry at www.khronos.org>+type VkBindImageMemoryDeviceGroupInfo =+     VkStruct VkBindImageMemoryDeviceGroupInfo' -- ' closing tick for hsc2hs++data VkBindImageMemoryDeviceGroupInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkBindImageMemoryDeviceGroupInfo where+    type StructRep VkBindImageMemoryDeviceGroupInfo =+         'StructMeta "VkBindImageMemoryDeviceGroupInfo" -- ' closing tick for hsc2hs+           VkBindImageMemoryDeviceGroupInfo+           #{size VkBindImageMemoryDeviceGroupInfo}+           #{alignment VkBindImageMemoryDeviceGroupInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkBindImageMemoryDeviceGroupInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkBindImageMemoryDeviceGroupInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "deviceIndexCount" Word32 'True +                                                         #{offset VkBindImageMemoryDeviceGroupInfo, deviceIndexCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pDeviceIndices" (Ptr Word32) 'False +                                                              #{offset VkBindImageMemoryDeviceGroupInfo, pDeviceIndices}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "splitInstanceBindRegionCount" Word32 'True +                                                                     #{offset VkBindImageMemoryDeviceGroupInfo, splitInstanceBindRegionCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pSplitInstanceBindRegions" (Ptr VkRect2D) 'False+                #{offset VkBindImageMemoryDeviceGroupInfo, pSplitInstanceBindRegions}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkBindImageMemoryInfo] -- ' closing tick for hsc2hs++-- | Alias for `VkBindImageMemoryDeviceGroupInfo`+type VkBindImageMemoryDeviceGroupInfoKHR =+     VkBindImageMemoryDeviceGroupInfo++-- | > typedef struct VkBindImageMemoryInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkImage                          image;+--   >     VkDeviceMemory                   memory;+--   >     VkDeviceSize                     memoryOffset;+--   > } VkBindImageMemoryInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBindImageMemoryInfo VkBindImageMemoryInfo registry at www.khronos.org>+type VkBindImageMemoryInfo = VkStruct VkBindImageMemoryInfo' -- ' closing tick for hsc2hs++data VkBindImageMemoryInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkBindImageMemoryInfo where+    type StructRep VkBindImageMemoryInfo =+         'StructMeta "VkBindImageMemoryInfo" VkBindImageMemoryInfo  -- ' closing tick for hsc2hs+                                                                   #{size VkBindImageMemoryInfo}+           #{alignment VkBindImageMemoryInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkBindImageMemoryInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkBindImageMemoryInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "image" VkImage 'False +                                                #{offset VkBindImageMemoryInfo, image}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "memory" VkDeviceMemory 'False +                                                        #{offset VkBindImageMemoryInfo, memory}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "memoryOffset" VkDeviceSize 'False +                                                            #{offset VkBindImageMemoryInfo, memoryOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | Alias for `VkBindImageMemoryInfo`+type VkBindImageMemoryInfoKHR = VkBindImageMemoryInfo++-- | > typedef struct VkBindImageMemorySwapchainInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkSwapchainKHR swapchain;+--   >     uint32_t                         imageIndex;+--   > } VkBindImageMemorySwapchainInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBindImageMemorySwapchainInfoKHR VkBindImageMemorySwapchainInfoKHR registry at www.khronos.org>+type VkBindImageMemorySwapchainInfoKHR =+     VkStruct VkBindImageMemorySwapchainInfoKHR' -- ' closing tick for hsc2hs++data VkBindImageMemorySwapchainInfoKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkBindImageMemorySwapchainInfoKHR where+    type StructRep VkBindImageMemorySwapchainInfoKHR =+         'StructMeta "VkBindImageMemorySwapchainInfoKHR" -- ' closing tick for hsc2hs+           VkBindImageMemorySwapchainInfoKHR+           #{size VkBindImageMemorySwapchainInfoKHR}+           #{alignment VkBindImageMemorySwapchainInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkBindImageMemorySwapchainInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkBindImageMemorySwapchainInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "swapchain" VkSwapchainKHR 'False +                                                           #{offset VkBindImageMemorySwapchainInfoKHR, swapchain}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "imageIndex" Word32 'False +                                                    #{offset VkBindImageMemorySwapchainInfoKHR, imageIndex}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkBindImageMemoryInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkBindImagePlaneMemoryInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkImageAspectFlagBits            planeAspect;+--   > } VkBindImagePlaneMemoryInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfo registry at www.khronos.org>+type VkBindImagePlaneMemoryInfo =+     VkStruct VkBindImagePlaneMemoryInfo' -- ' closing tick for hsc2hs++data VkBindImagePlaneMemoryInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkBindImagePlaneMemoryInfo where+    type StructRep VkBindImagePlaneMemoryInfo =+         'StructMeta "VkBindImagePlaneMemoryInfo" VkBindImagePlaneMemoryInfo -- ' closing tick for hsc2hs+           #{size VkBindImagePlaneMemoryInfo}+           #{alignment VkBindImagePlaneMemoryInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkBindImagePlaneMemoryInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkBindImagePlaneMemoryInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "planeAspect" VkImageAspectFlagBits 'False +                                                                    #{offset VkBindImagePlaneMemoryInfo, planeAspect}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkBindImageMemoryInfo] -- ' closing tick for hsc2hs++-- | Alias for `VkBindImagePlaneMemoryInfo`+type VkBindImagePlaneMemoryInfoKHR = VkBindImagePlaneMemoryInfo++-- | > typedef struct VkBindSparseInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     uint32_t               waitSemaphoreCount;+--   >     const VkSemaphore*     pWaitSemaphores;+--   >     uint32_t               bufferBindCount;+--   >     const VkSparseBufferMemoryBindInfo* pBufferBinds;+--   >     uint32_t               imageOpaqueBindCount;+--   >     const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;+--   >     uint32_t               imageBindCount;+--   >     const VkSparseImageMemoryBindInfo* pImageBinds;+--   >     uint32_t               signalSemaphoreCount;+--   >     const VkSemaphore*     pSignalSemaphores;+--   > } VkBindSparseInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBindSparseInfo VkBindSparseInfo registry at www.khronos.org>+type VkBindSparseInfo = VkStruct VkBindSparseInfo' -- ' closing tick for hsc2hs++data VkBindSparseInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkBindSparseInfo where+    type StructRep VkBindSparseInfo =+         'StructMeta "VkBindSparseInfo" VkBindSparseInfo  -- ' closing tick for hsc2hs+                                                         #{size VkBindSparseInfo}+           #{alignment VkBindSparseInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkBindSparseInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkBindSparseInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "waitSemaphoreCount" Word32 'True +                                                           #{offset VkBindSparseInfo, waitSemaphoreCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pWaitSemaphores" (Ptr VkSemaphore) 'False +                                                                    #{offset VkBindSparseInfo, pWaitSemaphores}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "bufferBindCount" Word32 'True +                                                        #{offset VkBindSparseInfo, bufferBindCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pBufferBinds" (Ptr VkSparseBufferMemoryBindInfo) -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkBindSparseInfo, pBufferBinds}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "imageOpaqueBindCount" Word32 'True +                                                             #{offset VkBindSparseInfo, imageOpaqueBindCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pImageOpaqueBinds" -- ' closing tick for hsc2hs+                (Ptr VkSparseImageOpaqueMemoryBindInfo)+                'False -- ' closing tick for hsc2hs+                #{offset VkBindSparseInfo, pImageOpaqueBinds}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "imageBindCount" Word32 'True +                                                       #{offset VkBindSparseInfo, imageBindCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pImageBinds" (Ptr VkSparseImageMemoryBindInfo) 'False+                #{offset VkBindSparseInfo, pImageBinds}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "signalSemaphoreCount" Word32 'True +                                                             #{offset VkBindSparseInfo, signalSemaphoreCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pSignalSemaphores" (Ptr VkSemaphore) 'False +                                                                      #{offset VkBindSparseInfo, pSignalSemaphores}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/Buffer.hsc view
@@ -2,1583 +2,349 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.Buffer-       (VkBufferCopy, VkBufferCopy', VkBufferCreateInfo, -- ' closing tick for hsc2hs-        VkBufferCreateInfo', VkBufferImageCopy, VkBufferImageCopy',-        VkBufferMemoryBarrier, VkBufferMemoryBarrier', -- ' closing tick for hsc2hs-        VkBufferMemoryRequirementsInfo2, VkBufferMemoryRequirementsInfo2', -- ' closing tick for hsc2hs-        VkBufferMemoryRequirementsInfo2KHR, VkBufferViewCreateInfo,-        VkBufferViewCreateInfo') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                         (Storable (..))-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Internal-import Graphics.Vulkan.Types.BaseTypes          (VkDeviceSize)-import Graphics.Vulkan.Types.Bitmasks           (VkBufferViewCreateFlags)-import Graphics.Vulkan.Types.Enum.AccessFlags   (VkAccessFlags)-import Graphics.Vulkan.Types.Enum.Buffer        (VkBufferCreateFlags,-                                                 VkBufferUsageFlags)-import Graphics.Vulkan.Types.Enum.Format        (VkFormat)-import Graphics.Vulkan.Types.Enum.SharingMode   (VkSharingMode)-import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)-import Graphics.Vulkan.Types.Handles            (VkBuffer)-import Graphics.Vulkan.Types.Struct.Extent      (VkExtent3D)-import Graphics.Vulkan.Types.Struct.Image       (VkImageSubresourceLayers)-import Graphics.Vulkan.Types.Struct.Offset      (VkOffset3D)-import System.IO.Unsafe                         (unsafeDupablePerformIO)---- | > typedef struct VkBufferCopy {---   >     VkDeviceSize           srcOffset;---   >     VkDeviceSize           dstOffset;---   >     VkDeviceSize           size;---   > } VkBufferCopy;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBufferCopy VkBufferCopy registry at www.khronos.org>-type VkBufferCopy = VulkanStruct VkBufferCopy' -- ' closing tick for hsc2hs--data VkBufferCopy' -- ' closing tick for hsc2hs--instance Eq VkBufferCopy where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkBufferCopy where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkBufferCopy where-        sizeOf ~_ = #{size VkBufferCopy}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkBufferCopy}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkBufferCopy where-        type StructFields VkBufferCopy =-             '["srcOffset", "dstOffset", "size"] -- ' closing tick for hsc2hs-        type CUnionType VkBufferCopy = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkBufferCopy = 'False -- ' closing tick for hsc2hs-        type StructExtends VkBufferCopy = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "srcOffset" VkBufferCopy-         where-        type FieldType "srcOffset" VkBufferCopy = VkDeviceSize-        type FieldOptional "srcOffset" VkBufferCopy = 'False -- ' closing tick for hsc2hs-        type FieldOffset "srcOffset" VkBufferCopy =-             #{offset VkBufferCopy, srcOffset}-        type FieldIsArray "srcOffset" VkBufferCopy = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBufferCopy, srcOffset}--instance {-# OVERLAPPING #-} CanReadField "srcOffset" VkBufferCopy-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferCopy, srcOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferCopy, srcOffset}--instance {-# OVERLAPPING #-} CanWriteField "srcOffset" VkBufferCopy-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferCopy, srcOffset}--instance {-# OVERLAPPING #-} HasField "dstOffset" VkBufferCopy-         where-        type FieldType "dstOffset" VkBufferCopy = VkDeviceSize-        type FieldOptional "dstOffset" VkBufferCopy = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dstOffset" VkBufferCopy =-             #{offset VkBufferCopy, dstOffset}-        type FieldIsArray "dstOffset" VkBufferCopy = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBufferCopy, dstOffset}--instance {-# OVERLAPPING #-} CanReadField "dstOffset" VkBufferCopy-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferCopy, dstOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferCopy, dstOffset}--instance {-# OVERLAPPING #-} CanWriteField "dstOffset" VkBufferCopy-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferCopy, dstOffset}--instance {-# OVERLAPPING #-} HasField "size" VkBufferCopy where-        type FieldType "size" VkBufferCopy = VkDeviceSize-        type FieldOptional "size" VkBufferCopy = 'False -- ' closing tick for hsc2hs-        type FieldOffset "size" VkBufferCopy =-             #{offset VkBufferCopy, size}-        type FieldIsArray "size" VkBufferCopy = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBufferCopy, size}--instance {-# OVERLAPPING #-} CanReadField "size" VkBufferCopy where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferCopy, size})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferCopy, size}--instance {-# OVERLAPPING #-} CanWriteField "size" VkBufferCopy-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferCopy, size}--instance Show VkBufferCopy where-        showsPrec d x-          = showString "VkBufferCopy {" .-              showString "srcOffset = " .-                showsPrec d (getField @"srcOffset" x) .-                  showString ", " .-                    showString "dstOffset = " .-                      showsPrec d (getField @"dstOffset" x) .-                        showString ", " .-                          showString "size = " .-                            showsPrec d (getField @"size" x) . showChar '}'---- | > typedef struct VkBufferCreateInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkBufferCreateFlags    flags;---   >     VkDeviceSize           size;---   >     VkBufferUsageFlags     usage;---   >     VkSharingMode          sharingMode;---   >     uint32_t               queueFamilyIndexCount;---   >     const uint32_t*        pQueueFamilyIndices;---   > } VkBufferCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBufferCreateInfo VkBufferCreateInfo registry at www.khronos.org>-type VkBufferCreateInfo = VulkanStruct VkBufferCreateInfo' -- ' closing tick for hsc2hs--data VkBufferCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkBufferCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkBufferCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkBufferCreateInfo where-        sizeOf ~_ = #{size VkBufferCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkBufferCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkBufferCreateInfo where-        type StructFields VkBufferCreateInfo =-             '["sType", "pNext", "flags", "size", "usage", "sharingMode", -- ' closing tick for hsc2hs-               "queueFamilyIndexCount", "pQueueFamilyIndices"]-        type CUnionType VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkBufferCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkBufferCreateInfo-         where-        type FieldType "sType" VkBufferCreateInfo = VkStructureType-        type FieldOptional "sType" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkBufferCreateInfo =-             #{offset VkBufferCreateInfo, sType}-        type FieldIsArray "sType" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBufferCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkBufferCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkBufferCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferCreateInfo, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkBufferCreateInfo-         where-        type FieldType "pNext" VkBufferCreateInfo = Ptr Void-        type FieldOptional "pNext" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkBufferCreateInfo =-             #{offset VkBufferCreateInfo, pNext}-        type FieldIsArray "pNext" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBufferCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkBufferCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkBufferCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferCreateInfo, pNext}--instance {-# OVERLAPPING #-} HasField "flags" VkBufferCreateInfo-         where-        type FieldType "flags" VkBufferCreateInfo = VkBufferCreateFlags-        type FieldOptional "flags" VkBufferCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkBufferCreateInfo =-             #{offset VkBufferCreateInfo, flags}-        type FieldIsArray "flags" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBufferCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkBufferCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkBufferCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferCreateInfo, flags}--instance {-# OVERLAPPING #-} HasField "size" VkBufferCreateInfo-         where-        type FieldType "size" VkBufferCreateInfo = VkDeviceSize-        type FieldOptional "size" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "size" VkBufferCreateInfo =-             #{offset VkBufferCreateInfo, size}-        type FieldIsArray "size" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBufferCreateInfo, size}--instance {-# OVERLAPPING #-} CanReadField "size" VkBufferCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, size})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferCreateInfo, size}--instance {-# OVERLAPPING #-}-         CanWriteField "size" VkBufferCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferCreateInfo, size}--instance {-# OVERLAPPING #-} HasField "usage" VkBufferCreateInfo-         where-        type FieldType "usage" VkBufferCreateInfo = VkBufferUsageFlags-        type FieldOptional "usage" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "usage" VkBufferCreateInfo =-             #{offset VkBufferCreateInfo, usage}-        type FieldIsArray "usage" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBufferCreateInfo, usage}--instance {-# OVERLAPPING #-}-         CanReadField "usage" VkBufferCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, usage})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferCreateInfo, usage}--instance {-# OVERLAPPING #-}-         CanWriteField "usage" VkBufferCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferCreateInfo, usage}--instance {-# OVERLAPPING #-}-         HasField "sharingMode" VkBufferCreateInfo where-        type FieldType "sharingMode" VkBufferCreateInfo = VkSharingMode-        type FieldOptional "sharingMode" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sharingMode" VkBufferCreateInfo =-             #{offset VkBufferCreateInfo, sharingMode}-        type FieldIsArray "sharingMode" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBufferCreateInfo, sharingMode}--instance {-# OVERLAPPING #-}-         CanReadField "sharingMode" VkBufferCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, sharingMode})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferCreateInfo, sharingMode}--instance {-# OVERLAPPING #-}-         CanWriteField "sharingMode" VkBufferCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferCreateInfo, sharingMode}--instance {-# OVERLAPPING #-}-         HasField "queueFamilyIndexCount" VkBufferCreateInfo where-        type FieldType "queueFamilyIndexCount" VkBufferCreateInfo = Word32-        type FieldOptional "queueFamilyIndexCount" VkBufferCreateInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "queueFamilyIndexCount" VkBufferCreateInfo =-             #{offset VkBufferCreateInfo, queueFamilyIndexCount}-        type FieldIsArray "queueFamilyIndexCount" VkBufferCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBufferCreateInfo, queueFamilyIndexCount}--instance {-# OVERLAPPING #-}-         CanReadField "queueFamilyIndexCount" VkBufferCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, queueFamilyIndexCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferCreateInfo, queueFamilyIndexCount}--instance {-# OVERLAPPING #-}-         CanWriteField "queueFamilyIndexCount" VkBufferCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferCreateInfo, queueFamilyIndexCount}--instance {-# OVERLAPPING #-}-         HasField "pQueueFamilyIndices" VkBufferCreateInfo where-        type FieldType "pQueueFamilyIndices" VkBufferCreateInfo =-             Ptr Word32-        type FieldOptional "pQueueFamilyIndices" VkBufferCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pQueueFamilyIndices" VkBufferCreateInfo =-             #{offset VkBufferCreateInfo, pQueueFamilyIndices}-        type FieldIsArray "pQueueFamilyIndices" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBufferCreateInfo, pQueueFamilyIndices}--instance {-# OVERLAPPING #-}-         CanReadField "pQueueFamilyIndices" VkBufferCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, pQueueFamilyIndices})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferCreateInfo, pQueueFamilyIndices}--instance {-# OVERLAPPING #-}-         CanWriteField "pQueueFamilyIndices" VkBufferCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferCreateInfo, pQueueFamilyIndices}--instance Show VkBufferCreateInfo where-        showsPrec d x-          = showString "VkBufferCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "size = " .-                                  showsPrec d (getField @"size" x) .-                                    showString ", " .-                                      showString "usage = " .-                                        showsPrec d (getField @"usage" x) .-                                          showString ", " .-                                            showString "sharingMode = " .-                                              showsPrec d (getField @"sharingMode" x) .-                                                showString ", " .-                                                  showString "queueFamilyIndexCount = " .-                                                    showsPrec d-                                                      (getField @"queueFamilyIndexCount" x)-                                                      .-                                                      showString ", " .-                                                        showString "pQueueFamilyIndices = " .-                                                          showsPrec d-                                                            (getField @"pQueueFamilyIndices" x)-                                                            . showChar '}'---- | > typedef struct VkBufferImageCopy {---   >     VkDeviceSize           bufferOffset;---   >     uint32_t               bufferRowLength;---   >     uint32_t               bufferImageHeight;---   >     VkImageSubresourceLayers imageSubresource;---   >     VkOffset3D             imageOffset;---   >     VkExtent3D             imageExtent;---   > } VkBufferImageCopy;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBufferImageCopy VkBufferImageCopy registry at www.khronos.org>-type VkBufferImageCopy = VulkanStruct VkBufferImageCopy' -- ' closing tick for hsc2hs--data VkBufferImageCopy' -- ' closing tick for hsc2hs--instance Eq VkBufferImageCopy where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkBufferImageCopy where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkBufferImageCopy where-        sizeOf ~_ = #{size VkBufferImageCopy}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkBufferImageCopy}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkBufferImageCopy where-        type StructFields VkBufferImageCopy =-             '["bufferOffset", "bufferRowLength", "bufferImageHeight", -- ' closing tick for hsc2hs-               "imageSubresource", "imageOffset", "imageExtent"]-        type CUnionType VkBufferImageCopy = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkBufferImageCopy = 'False -- ' closing tick for hsc2hs-        type StructExtends VkBufferImageCopy = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "bufferOffset" VkBufferImageCopy where-        type FieldType "bufferOffset" VkBufferImageCopy = VkDeviceSize-        type FieldOptional "bufferOffset" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs-        type FieldOffset "bufferOffset" VkBufferImageCopy =-             #{offset VkBufferImageCopy, bufferOffset}-        type FieldIsArray "bufferOffset" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBufferImageCopy, bufferOffset}--instance {-# OVERLAPPING #-}-         CanReadField "bufferOffset" VkBufferImageCopy where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferImageCopy, bufferOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferImageCopy, bufferOffset}--instance {-# OVERLAPPING #-}-         CanWriteField "bufferOffset" VkBufferImageCopy where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferImageCopy, bufferOffset}--instance {-# OVERLAPPING #-}-         HasField "bufferRowLength" VkBufferImageCopy where-        type FieldType "bufferRowLength" VkBufferImageCopy = Word32-        type FieldOptional "bufferRowLength" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs-        type FieldOffset "bufferRowLength" VkBufferImageCopy =-             #{offset VkBufferImageCopy, bufferRowLength}-        type FieldIsArray "bufferRowLength" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBufferImageCopy, bufferRowLength}--instance {-# OVERLAPPING #-}-         CanReadField "bufferRowLength" VkBufferImageCopy where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferImageCopy, bufferRowLength})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferImageCopy, bufferRowLength}--instance {-# OVERLAPPING #-}-         CanWriteField "bufferRowLength" VkBufferImageCopy where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferImageCopy, bufferRowLength}--instance {-# OVERLAPPING #-}-         HasField "bufferImageHeight" VkBufferImageCopy where-        type FieldType "bufferImageHeight" VkBufferImageCopy = Word32-        type FieldOptional "bufferImageHeight" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs-        type FieldOffset "bufferImageHeight" VkBufferImageCopy =-             #{offset VkBufferImageCopy, bufferImageHeight}-        type FieldIsArray "bufferImageHeight" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBufferImageCopy, bufferImageHeight}--instance {-# OVERLAPPING #-}-         CanReadField "bufferImageHeight" VkBufferImageCopy where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferImageCopy, bufferImageHeight})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferImageCopy, bufferImageHeight}--instance {-# OVERLAPPING #-}-         CanWriteField "bufferImageHeight" VkBufferImageCopy where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferImageCopy, bufferImageHeight}--instance {-# OVERLAPPING #-}-         HasField "imageSubresource" VkBufferImageCopy where-        type FieldType "imageSubresource" VkBufferImageCopy =-             VkImageSubresourceLayers-        type FieldOptional "imageSubresource" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs-        type FieldOffset "imageSubresource" VkBufferImageCopy =-             #{offset VkBufferImageCopy, imageSubresource}-        type FieldIsArray "imageSubresource" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBufferImageCopy, imageSubresource}--instance {-# OVERLAPPING #-}-         CanReadField "imageSubresource" VkBufferImageCopy where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferImageCopy, imageSubresource})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferImageCopy, imageSubresource}--instance {-# OVERLAPPING #-}-         CanWriteField "imageSubresource" VkBufferImageCopy where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferImageCopy, imageSubresource}--instance {-# OVERLAPPING #-}-         HasField "imageOffset" VkBufferImageCopy where-        type FieldType "imageOffset" VkBufferImageCopy = VkOffset3D-        type FieldOptional "imageOffset" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs-        type FieldOffset "imageOffset" VkBufferImageCopy =-             #{offset VkBufferImageCopy, imageOffset}-        type FieldIsArray "imageOffset" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBufferImageCopy, imageOffset}--instance {-# OVERLAPPING #-}-         CanReadField "imageOffset" VkBufferImageCopy where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferImageCopy, imageOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferImageCopy, imageOffset}--instance {-# OVERLAPPING #-}-         CanWriteField "imageOffset" VkBufferImageCopy where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferImageCopy, imageOffset}--instance {-# OVERLAPPING #-}-         HasField "imageExtent" VkBufferImageCopy where-        type FieldType "imageExtent" VkBufferImageCopy = VkExtent3D-        type FieldOptional "imageExtent" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs-        type FieldOffset "imageExtent" VkBufferImageCopy =-             #{offset VkBufferImageCopy, imageExtent}-        type FieldIsArray "imageExtent" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBufferImageCopy, imageExtent}--instance {-# OVERLAPPING #-}-         CanReadField "imageExtent" VkBufferImageCopy where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferImageCopy, imageExtent})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferImageCopy, imageExtent}--instance {-# OVERLAPPING #-}-         CanWriteField "imageExtent" VkBufferImageCopy where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferImageCopy, imageExtent}--instance Show VkBufferImageCopy where-        showsPrec d x-          = showString "VkBufferImageCopy {" .-              showString "bufferOffset = " .-                showsPrec d (getField @"bufferOffset" x) .-                  showString ", " .-                    showString "bufferRowLength = " .-                      showsPrec d (getField @"bufferRowLength" x) .-                        showString ", " .-                          showString "bufferImageHeight = " .-                            showsPrec d (getField @"bufferImageHeight" x) .-                              showString ", " .-                                showString "imageSubresource = " .-                                  showsPrec d (getField @"imageSubresource" x) .-                                    showString ", " .-                                      showString "imageOffset = " .-                                        showsPrec d (getField @"imageOffset" x) .-                                          showString ", " .-                                            showString "imageExtent = " .-                                              showsPrec d (getField @"imageExtent" x) . showChar '}'---- | > typedef struct VkBufferMemoryBarrier {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkAccessFlags          srcAccessMask;---   >     VkAccessFlags          dstAccessMask;---   >     uint32_t               srcQueueFamilyIndex;---   >     uint32_t               dstQueueFamilyIndex;---   >     VkBuffer               buffer;---   >     VkDeviceSize           offset;---   >     VkDeviceSize           size;---   > } VkBufferMemoryBarrier;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBufferMemoryBarrier VkBufferMemoryBarrier registry at www.khronos.org>-type VkBufferMemoryBarrier = VulkanStruct VkBufferMemoryBarrier' -- ' closing tick for hsc2hs--data VkBufferMemoryBarrier' -- ' closing tick for hsc2hs--instance Eq VkBufferMemoryBarrier where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkBufferMemoryBarrier where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkBufferMemoryBarrier where-        sizeOf ~_ = #{size VkBufferMemoryBarrier}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkBufferMemoryBarrier}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkBufferMemoryBarrier where-        type StructFields VkBufferMemoryBarrier =-             '["sType", "pNext", "srcAccessMask", "dstAccessMask", -- ' closing tick for hsc2hs-               "srcQueueFamilyIndex", "dstQueueFamilyIndex", "buffer", "offset",-               "size"]-        type CUnionType VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs-        type StructExtends VkBufferMemoryBarrier = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkBufferMemoryBarrier-         where-        type FieldType "sType" VkBufferMemoryBarrier = VkStructureType-        type FieldOptional "sType" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkBufferMemoryBarrier =-             #{offset VkBufferMemoryBarrier, sType}-        type FieldIsArray "sType" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBufferMemoryBarrier, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkBufferMemoryBarrier where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferMemoryBarrier, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkBufferMemoryBarrier where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferMemoryBarrier, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkBufferMemoryBarrier-         where-        type FieldType "pNext" VkBufferMemoryBarrier = Ptr Void-        type FieldOptional "pNext" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkBufferMemoryBarrier =-             #{offset VkBufferMemoryBarrier, pNext}-        type FieldIsArray "pNext" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBufferMemoryBarrier, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkBufferMemoryBarrier where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferMemoryBarrier, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkBufferMemoryBarrier where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferMemoryBarrier, pNext}--instance {-# OVERLAPPING #-}-         HasField "srcAccessMask" VkBufferMemoryBarrier where-        type FieldType "srcAccessMask" VkBufferMemoryBarrier =-             VkAccessFlags-        type FieldOptional "srcAccessMask" VkBufferMemoryBarrier = 'True -- ' closing tick for hsc2hs-        type FieldOffset "srcAccessMask" VkBufferMemoryBarrier =-             #{offset VkBufferMemoryBarrier, srcAccessMask}-        type FieldIsArray "srcAccessMask" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBufferMemoryBarrier, srcAccessMask}--instance {-# OVERLAPPING #-}-         CanReadField "srcAccessMask" VkBufferMemoryBarrier where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, srcAccessMask})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferMemoryBarrier, srcAccessMask}--instance {-# OVERLAPPING #-}-         CanWriteField "srcAccessMask" VkBufferMemoryBarrier where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferMemoryBarrier, srcAccessMask}--instance {-# OVERLAPPING #-}-         HasField "dstAccessMask" VkBufferMemoryBarrier where-        type FieldType "dstAccessMask" VkBufferMemoryBarrier =-             VkAccessFlags-        type FieldOptional "dstAccessMask" VkBufferMemoryBarrier = 'True -- ' closing tick for hsc2hs-        type FieldOffset "dstAccessMask" VkBufferMemoryBarrier =-             #{offset VkBufferMemoryBarrier, dstAccessMask}-        type FieldIsArray "dstAccessMask" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBufferMemoryBarrier, dstAccessMask}--instance {-# OVERLAPPING #-}-         CanReadField "dstAccessMask" VkBufferMemoryBarrier where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, dstAccessMask})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferMemoryBarrier, dstAccessMask}--instance {-# OVERLAPPING #-}-         CanWriteField "dstAccessMask" VkBufferMemoryBarrier where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferMemoryBarrier, dstAccessMask}--instance {-# OVERLAPPING #-}-         HasField "srcQueueFamilyIndex" VkBufferMemoryBarrier where-        type FieldType "srcQueueFamilyIndex" VkBufferMemoryBarrier = Word32-        type FieldOptional "srcQueueFamilyIndex" VkBufferMemoryBarrier =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "srcQueueFamilyIndex" VkBufferMemoryBarrier =-             #{offset VkBufferMemoryBarrier, srcQueueFamilyIndex}-        type FieldIsArray "srcQueueFamilyIndex" VkBufferMemoryBarrier =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBufferMemoryBarrier, srcQueueFamilyIndex}--instance {-# OVERLAPPING #-}-         CanReadField "srcQueueFamilyIndex" VkBufferMemoryBarrier where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, srcQueueFamilyIndex})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferMemoryBarrier, srcQueueFamilyIndex}--instance {-# OVERLAPPING #-}-         CanWriteField "srcQueueFamilyIndex" VkBufferMemoryBarrier where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferMemoryBarrier, srcQueueFamilyIndex}--instance {-# OVERLAPPING #-}-         HasField "dstQueueFamilyIndex" VkBufferMemoryBarrier where-        type FieldType "dstQueueFamilyIndex" VkBufferMemoryBarrier = Word32-        type FieldOptional "dstQueueFamilyIndex" VkBufferMemoryBarrier =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "dstQueueFamilyIndex" VkBufferMemoryBarrier =-             #{offset VkBufferMemoryBarrier, dstQueueFamilyIndex}-        type FieldIsArray "dstQueueFamilyIndex" VkBufferMemoryBarrier =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBufferMemoryBarrier, dstQueueFamilyIndex}--instance {-# OVERLAPPING #-}-         CanReadField "dstQueueFamilyIndex" VkBufferMemoryBarrier where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, dstQueueFamilyIndex})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferMemoryBarrier, dstQueueFamilyIndex}--instance {-# OVERLAPPING #-}-         CanWriteField "dstQueueFamilyIndex" VkBufferMemoryBarrier where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferMemoryBarrier, dstQueueFamilyIndex}--instance {-# OVERLAPPING #-}-         HasField "buffer" VkBufferMemoryBarrier where-        type FieldType "buffer" VkBufferMemoryBarrier = VkBuffer-        type FieldOptional "buffer" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs-        type FieldOffset "buffer" VkBufferMemoryBarrier =-             #{offset VkBufferMemoryBarrier, buffer}-        type FieldIsArray "buffer" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBufferMemoryBarrier, buffer}--instance {-# OVERLAPPING #-}-         CanReadField "buffer" VkBufferMemoryBarrier where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, buffer})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferMemoryBarrier, buffer}--instance {-# OVERLAPPING #-}-         CanWriteField "buffer" VkBufferMemoryBarrier where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferMemoryBarrier, buffer}--instance {-# OVERLAPPING #-}-         HasField "offset" VkBufferMemoryBarrier where-        type FieldType "offset" VkBufferMemoryBarrier = VkDeviceSize-        type FieldOptional "offset" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs-        type FieldOffset "offset" VkBufferMemoryBarrier =-             #{offset VkBufferMemoryBarrier, offset}-        type FieldIsArray "offset" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBufferMemoryBarrier, offset}--instance {-# OVERLAPPING #-}-         CanReadField "offset" VkBufferMemoryBarrier where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, offset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferMemoryBarrier, offset}--instance {-# OVERLAPPING #-}-         CanWriteField "offset" VkBufferMemoryBarrier where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferMemoryBarrier, offset}--instance {-# OVERLAPPING #-} HasField "size" VkBufferMemoryBarrier-         where-        type FieldType "size" VkBufferMemoryBarrier = VkDeviceSize-        type FieldOptional "size" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs-        type FieldOffset "size" VkBufferMemoryBarrier =-             #{offset VkBufferMemoryBarrier, size}-        type FieldIsArray "size" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBufferMemoryBarrier, size}--instance {-# OVERLAPPING #-}-         CanReadField "size" VkBufferMemoryBarrier where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, size})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferMemoryBarrier, size}--instance {-# OVERLAPPING #-}-         CanWriteField "size" VkBufferMemoryBarrier where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferMemoryBarrier, size}--instance Show VkBufferMemoryBarrier where-        showsPrec d x-          = showString "VkBufferMemoryBarrier {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "srcAccessMask = " .-                            showsPrec d (getField @"srcAccessMask" x) .-                              showString ", " .-                                showString "dstAccessMask = " .-                                  showsPrec d (getField @"dstAccessMask" x) .-                                    showString ", " .-                                      showString "srcQueueFamilyIndex = " .-                                        showsPrec d (getField @"srcQueueFamilyIndex" x) .-                                          showString ", " .-                                            showString "dstQueueFamilyIndex = " .-                                              showsPrec d (getField @"dstQueueFamilyIndex" x) .-                                                showString ", " .-                                                  showString "buffer = " .-                                                    showsPrec d (getField @"buffer" x) .-                                                      showString ", " .-                                                        showString "offset = " .-                                                          showsPrec d (getField @"offset" x) .-                                                            showString ", " .-                                                              showString "size = " .-                                                                showsPrec d (getField @"size" x) .-                                                                  showChar '}'---- | > typedef struct VkBufferMemoryRequirementsInfo2 {---   >     VkStructureType sType;---   >     const void*                                                          pNext;---   >     VkBuffer                                                             buffer;---   > } VkBufferMemoryRequirementsInfo2;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2 registry at www.khronos.org>-type VkBufferMemoryRequirementsInfo2 =-     VulkanStruct VkBufferMemoryRequirementsInfo2' -- ' closing tick for hsc2hs--data VkBufferMemoryRequirementsInfo2' -- ' closing tick for hsc2hs--instance Eq VkBufferMemoryRequirementsInfo2 where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkBufferMemoryRequirementsInfo2 where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkBufferMemoryRequirementsInfo2 where-        sizeOf ~_ = #{size VkBufferMemoryRequirementsInfo2}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkBufferMemoryRequirementsInfo2}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkBufferMemoryRequirementsInfo2 where-        type StructFields VkBufferMemoryRequirementsInfo2 =-             '["sType", "pNext", "buffer"] -- ' closing tick for hsc2hs-        type CUnionType VkBufferMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkBufferMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs-        type StructExtends VkBufferMemoryRequirementsInfo2 = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkBufferMemoryRequirementsInfo2 where-        type FieldType "sType" VkBufferMemoryRequirementsInfo2 =-             VkStructureType-        type FieldOptional "sType" VkBufferMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkBufferMemoryRequirementsInfo2 =-             #{offset VkBufferMemoryRequirementsInfo2, sType}-        type FieldIsArray "sType" VkBufferMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBufferMemoryRequirementsInfo2, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkBufferMemoryRequirementsInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryRequirementsInfo2, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferMemoryRequirementsInfo2, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkBufferMemoryRequirementsInfo2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferMemoryRequirementsInfo2, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkBufferMemoryRequirementsInfo2 where-        type FieldType "pNext" VkBufferMemoryRequirementsInfo2 = Ptr Void-        type FieldOptional "pNext" VkBufferMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkBufferMemoryRequirementsInfo2 =-             #{offset VkBufferMemoryRequirementsInfo2, pNext}-        type FieldIsArray "pNext" VkBufferMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBufferMemoryRequirementsInfo2, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkBufferMemoryRequirementsInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryRequirementsInfo2, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferMemoryRequirementsInfo2, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkBufferMemoryRequirementsInfo2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferMemoryRequirementsInfo2, pNext}--instance {-# OVERLAPPING #-}-         HasField "buffer" VkBufferMemoryRequirementsInfo2 where-        type FieldType "buffer" VkBufferMemoryRequirementsInfo2 = VkBuffer-        type FieldOptional "buffer" VkBufferMemoryRequirementsInfo2 =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "buffer" VkBufferMemoryRequirementsInfo2 =-             #{offset VkBufferMemoryRequirementsInfo2, buffer}-        type FieldIsArray "buffer" VkBufferMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBufferMemoryRequirementsInfo2, buffer}--instance {-# OVERLAPPING #-}-         CanReadField "buffer" VkBufferMemoryRequirementsInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryRequirementsInfo2, buffer})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferMemoryRequirementsInfo2, buffer}--instance {-# OVERLAPPING #-}-         CanWriteField "buffer" VkBufferMemoryRequirementsInfo2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferMemoryRequirementsInfo2, buffer}--instance Show VkBufferMemoryRequirementsInfo2 where-        showsPrec d x-          = showString "VkBufferMemoryRequirementsInfo2 {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "buffer = " .-                            showsPrec d (getField @"buffer" x) . showChar '}'---- | Alias for `VkBufferMemoryRequirementsInfo2`-type VkBufferMemoryRequirementsInfo2KHR =-     VkBufferMemoryRequirementsInfo2---- | > typedef struct VkBufferViewCreateInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkBufferViewCreateFlagsflags;---   >     VkBuffer               buffer;---   >     VkFormat               format;---   >     VkDeviceSize           offset;---   >     VkDeviceSize           range;---   > } VkBufferViewCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBufferViewCreateInfo VkBufferViewCreateInfo registry at www.khronos.org>-type VkBufferViewCreateInfo = VulkanStruct VkBufferViewCreateInfo' -- ' closing tick for hsc2hs--data VkBufferViewCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkBufferViewCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkBufferViewCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkBufferViewCreateInfo where-        sizeOf ~_ = #{size VkBufferViewCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkBufferViewCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkBufferViewCreateInfo where-        type StructFields VkBufferViewCreateInfo =-             '["sType", "pNext", "flags", "buffer", "format", "offset", "range"] -- ' closing tick for hsc2hs-        type CUnionType VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkBufferViewCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkBufferViewCreateInfo where-        type FieldType "sType" VkBufferViewCreateInfo = VkStructureType-        type FieldOptional "sType" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkBufferViewCreateInfo =-             #{offset VkBufferViewCreateInfo, sType}-        type FieldIsArray "sType" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBufferViewCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkBufferViewCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferViewCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkBufferViewCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferViewCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkBufferViewCreateInfo where-        type FieldType "pNext" VkBufferViewCreateInfo = Ptr Void-        type FieldOptional "pNext" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkBufferViewCreateInfo =-             #{offset VkBufferViewCreateInfo, pNext}-        type FieldIsArray "pNext" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBufferViewCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkBufferViewCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferViewCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkBufferViewCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferViewCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkBufferViewCreateInfo where-        type FieldType "flags" VkBufferViewCreateInfo =-             VkBufferViewCreateFlags-        type FieldOptional "flags" VkBufferViewCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkBufferViewCreateInfo =-             #{offset VkBufferViewCreateInfo, flags}-        type FieldIsArray "flags" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBufferViewCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkBufferViewCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferViewCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkBufferViewCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferViewCreateInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "buffer" VkBufferViewCreateInfo where-        type FieldType "buffer" VkBufferViewCreateInfo = VkBuffer-        type FieldOptional "buffer" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "buffer" VkBufferViewCreateInfo =-             #{offset VkBufferViewCreateInfo, buffer}-        type FieldIsArray "buffer" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBufferViewCreateInfo, buffer}--instance {-# OVERLAPPING #-}-         CanReadField "buffer" VkBufferViewCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, buffer})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferViewCreateInfo, buffer}--instance {-# OVERLAPPING #-}-         CanWriteField "buffer" VkBufferViewCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferViewCreateInfo, buffer}--instance {-# OVERLAPPING #-}-         HasField "format" VkBufferViewCreateInfo where-        type FieldType "format" VkBufferViewCreateInfo = VkFormat-        type FieldOptional "format" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "format" VkBufferViewCreateInfo =-             #{offset VkBufferViewCreateInfo, format}-        type FieldIsArray "format" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBufferViewCreateInfo, format}--instance {-# OVERLAPPING #-}-         CanReadField "format" VkBufferViewCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, format})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferViewCreateInfo, format}--instance {-# OVERLAPPING #-}-         CanWriteField "format" VkBufferViewCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferViewCreateInfo, format}--instance {-# OVERLAPPING #-}-         HasField "offset" VkBufferViewCreateInfo where-        type FieldType "offset" VkBufferViewCreateInfo = VkDeviceSize-        type FieldOptional "offset" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "offset" VkBufferViewCreateInfo =-             #{offset VkBufferViewCreateInfo, offset}-        type FieldIsArray "offset" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBufferViewCreateInfo, offset}--instance {-# OVERLAPPING #-}-         CanReadField "offset" VkBufferViewCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, offset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferViewCreateInfo, offset}--instance {-# OVERLAPPING #-}-         CanWriteField "offset" VkBufferViewCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferViewCreateInfo, offset}--instance {-# OVERLAPPING #-}-         HasField "range" VkBufferViewCreateInfo where-        type FieldType "range" VkBufferViewCreateInfo = VkDeviceSize-        type FieldOptional "range" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "range" VkBufferViewCreateInfo =-             #{offset VkBufferViewCreateInfo, range}-        type FieldIsArray "range" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBufferViewCreateInfo, range}--instance {-# OVERLAPPING #-}-         CanReadField "range" VkBufferViewCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, range})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkBufferViewCreateInfo, range}--instance {-# OVERLAPPING #-}-         CanWriteField "range" VkBufferViewCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkBufferViewCreateInfo, range}--instance Show VkBufferViewCreateInfo where-        showsPrec d x-          = showString "VkBufferViewCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "buffer = " .-                                  showsPrec d (getField @"buffer" x) .-                                    showString ", " .-                                      showString "format = " .-                                        showsPrec d (getField @"format" x) .-                                          showString ", " .-                                            showString "offset = " .-                                              showsPrec d (getField @"offset" x) .-                                                showString ", " .-                                                  showString "range = " .-                                                    showsPrec d (getField @"range" x) . showChar '}'+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.Buffer+       (VkBufferCopy, VkBufferCreateInfo, VkBufferImageCopy,+        VkBufferMemoryBarrier, VkBufferMemoryRequirementsInfo2,+        VkBufferMemoryRequirementsInfo2KHR, VkBufferViewCreateInfo)+       where+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes          (VkDeviceSize)+import Graphics.Vulkan.Types.Bitmasks           (VkBufferViewCreateFlags)+import Graphics.Vulkan.Types.Enum.AccessFlags   (VkAccessFlags)+import Graphics.Vulkan.Types.Enum.Buffer        (VkBufferCreateFlags,+                                                 VkBufferUsageFlags)+import Graphics.Vulkan.Types.Enum.Format        (VkFormat)+import Graphics.Vulkan.Types.Enum.SharingMode   (VkSharingMode)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles            (VkBuffer)+import Graphics.Vulkan.Types.Struct.Extent      (VkExtent3D)+import Graphics.Vulkan.Types.Struct.Image       (VkImageSubresourceLayers)+import Graphics.Vulkan.Types.Struct.Offset      (VkOffset3D)++-- | > typedef struct VkBufferCopy {+--   >     VkDeviceSize           srcOffset;+--   >     VkDeviceSize           dstOffset;+--   >     VkDeviceSize           size;+--   > } VkBufferCopy;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBufferCopy VkBufferCopy registry at www.khronos.org>+type VkBufferCopy = VkStruct VkBufferCopy' -- ' closing tick for hsc2hs++data VkBufferCopy' -- ' closing tick for hsc2hs++instance VulkanMarshal VkBufferCopy where+    type StructRep VkBufferCopy =+         'StructMeta "VkBufferCopy" VkBufferCopy  -- ' closing tick for hsc2hs+                                                 #{size VkBufferCopy}+           #{alignment VkBufferCopy}+           '[('FieldMeta "srcOffset" VkDeviceSize 'False  -- ' closing tick for hsc2hs+                                                         #{offset VkBufferCopy, srcOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dstOffset" VkDeviceSize 'False +                                                         #{offset VkBufferCopy, dstOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "size" VkDeviceSize 'False +                                                    #{offset VkBufferCopy, size}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkBufferCreateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkBufferCreateFlags    flags;+--   >     VkDeviceSize           size;+--   >     VkBufferUsageFlags     usage;+--   >     VkSharingMode          sharingMode;+--   >     uint32_t               queueFamilyIndexCount;+--   >     const uint32_t*        pQueueFamilyIndices;+--   > } VkBufferCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBufferCreateInfo VkBufferCreateInfo registry at www.khronos.org>+type VkBufferCreateInfo = VkStruct VkBufferCreateInfo' -- ' closing tick for hsc2hs++data VkBufferCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkBufferCreateInfo where+    type StructRep VkBufferCreateInfo =+         'StructMeta "VkBufferCreateInfo" VkBufferCreateInfo  -- ' closing tick for hsc2hs+                                                             #{size VkBufferCreateInfo}+           #{alignment VkBufferCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkBufferCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkBufferCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkBufferCreateFlags 'True +                                                           #{offset VkBufferCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "size" VkDeviceSize 'False +                                                    #{offset VkBufferCreateInfo, size}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "usage" VkBufferUsageFlags 'False +                                                           #{offset VkBufferCreateInfo, usage}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sharingMode" VkSharingMode 'False +                                                            #{offset VkBufferCreateInfo, sharingMode}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "queueFamilyIndexCount" Word32 'True +                                                              #{offset VkBufferCreateInfo, queueFamilyIndexCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pQueueFamilyIndices" (Ptr Word32) 'False +                                                                   #{offset VkBufferCreateInfo, pQueueFamilyIndices}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkBufferImageCopy {+--   >     VkDeviceSize           bufferOffset;+--   >     uint32_t               bufferRowLength;+--   >     uint32_t               bufferImageHeight;+--   >     VkImageSubresourceLayers imageSubresource;+--   >     VkOffset3D             imageOffset;+--   >     VkExtent3D             imageExtent;+--   > } VkBufferImageCopy;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBufferImageCopy VkBufferImageCopy registry at www.khronos.org>+type VkBufferImageCopy = VkStruct VkBufferImageCopy' -- ' closing tick for hsc2hs++data VkBufferImageCopy' -- ' closing tick for hsc2hs++instance VulkanMarshal VkBufferImageCopy where+    type StructRep VkBufferImageCopy =+         'StructMeta "VkBufferImageCopy" VkBufferImageCopy  -- ' closing tick for hsc2hs+                                                           #{size VkBufferImageCopy}+           #{alignment VkBufferImageCopy}+           '[('FieldMeta "bufferOffset" VkDeviceSize 'False  -- ' closing tick for hsc2hs+                                                            #{offset VkBufferImageCopy, bufferOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "bufferRowLength" Word32 'False +                                                         #{offset VkBufferImageCopy, bufferRowLength}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "bufferImageHeight" Word32 'False +                                                           #{offset VkBufferImageCopy, bufferImageHeight}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "imageSubresource" VkImageSubresourceLayers 'False+                #{offset VkBufferImageCopy, imageSubresource}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "imageOffset" VkOffset3D 'False +                                                         #{offset VkBufferImageCopy, imageOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "imageExtent" VkExtent3D 'False +                                                         #{offset VkBufferImageCopy, imageExtent}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkBufferMemoryBarrier {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkAccessFlags          srcAccessMask;+--   >     VkAccessFlags          dstAccessMask;+--   >     uint32_t               srcQueueFamilyIndex;+--   >     uint32_t               dstQueueFamilyIndex;+--   >     VkBuffer               buffer;+--   >     VkDeviceSize           offset;+--   >     VkDeviceSize           size;+--   > } VkBufferMemoryBarrier;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBufferMemoryBarrier VkBufferMemoryBarrier registry at www.khronos.org>+type VkBufferMemoryBarrier = VkStruct VkBufferMemoryBarrier' -- ' closing tick for hsc2hs++data VkBufferMemoryBarrier' -- ' closing tick for hsc2hs++instance VulkanMarshal VkBufferMemoryBarrier where+    type StructRep VkBufferMemoryBarrier =+         'StructMeta "VkBufferMemoryBarrier" VkBufferMemoryBarrier  -- ' closing tick for hsc2hs+                                                                   #{size VkBufferMemoryBarrier}+           #{alignment VkBufferMemoryBarrier}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkBufferMemoryBarrier, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkBufferMemoryBarrier, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "srcAccessMask" VkAccessFlags 'True +                                                             #{offset VkBufferMemoryBarrier, srcAccessMask}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dstAccessMask" VkAccessFlags 'True +                                                             #{offset VkBufferMemoryBarrier, dstAccessMask}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "srcQueueFamilyIndex" Word32 'False +                                                             #{offset VkBufferMemoryBarrier, srcQueueFamilyIndex}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dstQueueFamilyIndex" Word32 'False +                                                             #{offset VkBufferMemoryBarrier, dstQueueFamilyIndex}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "buffer" VkBuffer 'False +                                                  #{offset VkBufferMemoryBarrier, buffer}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "offset" VkDeviceSize 'False +                                                      #{offset VkBufferMemoryBarrier, offset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "size" VkDeviceSize 'False +                                                    #{offset VkBufferMemoryBarrier, size}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkBufferMemoryRequirementsInfo2 {+--   >     VkStructureType sType;+--   >     const void*                                                          pNext;+--   >     VkBuffer                                                             buffer;+--   > } VkBufferMemoryRequirementsInfo2;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2 registry at www.khronos.org>+type VkBufferMemoryRequirementsInfo2 =+     VkStruct VkBufferMemoryRequirementsInfo2' -- ' closing tick for hsc2hs++data VkBufferMemoryRequirementsInfo2' -- ' closing tick for hsc2hs++instance VulkanMarshal VkBufferMemoryRequirementsInfo2 where+    type StructRep VkBufferMemoryRequirementsInfo2 =+         'StructMeta "VkBufferMemoryRequirementsInfo2" -- ' closing tick for hsc2hs+           VkBufferMemoryRequirementsInfo2+           #{size VkBufferMemoryRequirementsInfo2}+           #{alignment VkBufferMemoryRequirementsInfo2}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkBufferMemoryRequirementsInfo2, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkBufferMemoryRequirementsInfo2, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "buffer" VkBuffer 'False +                                                  #{offset VkBufferMemoryRequirementsInfo2, buffer}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | Alias for `VkBufferMemoryRequirementsInfo2`+type VkBufferMemoryRequirementsInfo2KHR =+     VkBufferMemoryRequirementsInfo2++-- | > typedef struct VkBufferViewCreateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkBufferViewCreateFlagsflags;+--   >     VkBuffer               buffer;+--   >     VkFormat               format;+--   >     VkDeviceSize           offset;+--   >     VkDeviceSize           range;+--   > } VkBufferViewCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBufferViewCreateInfo VkBufferViewCreateInfo registry at www.khronos.org>+type VkBufferViewCreateInfo = VkStruct VkBufferViewCreateInfo' -- ' closing tick for hsc2hs++data VkBufferViewCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkBufferViewCreateInfo where+    type StructRep VkBufferViewCreateInfo =+         'StructMeta "VkBufferViewCreateInfo" VkBufferViewCreateInfo -- ' closing tick for hsc2hs+           #{size VkBufferViewCreateInfo}+           #{alignment VkBufferViewCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkBufferViewCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkBufferViewCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkBufferViewCreateFlags 'True +                                                               #{offset VkBufferViewCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "buffer" VkBuffer 'False +                                                  #{offset VkBufferViewCreateInfo, buffer}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "format" VkFormat 'False +                                                  #{offset VkBufferViewCreateInfo, format}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "offset" VkDeviceSize 'False +                                                      #{offset VkBufferViewCreateInfo, offset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "range" VkDeviceSize 'False +                                                     #{offset VkBufferViewCreateInfo, range}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/Clear.hsc view
@@ -1,28 +1,18 @@ #include "vulkan/vulkan.h"  {-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleContexts      #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE PatternSynonyms       #-}-{-# LANGUAGE ScopedTypeVariables   #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-}-{-# LANGUAGE UndecidableInstances  #-} module Graphics.Vulkan.Types.Struct.Clear-       (VkClearAttachment, VkClearAttachment', VkClearColorValue, -- ' closing tick for hsc2hs-        VkClearColorValue', VkClearDepthStencilValue, -- ' closing tick for hsc2hs-        VkClearDepthStencilValue', VkClearRect, VkClearRect', VkClearValue,-        VkClearValue') -- ' closing tick for hsc2hs+       (VkClearAttachment, VkClearColorValue, VkClearDepthStencilValue,+        VkClearRect, VkClearValue)        where-import Foreign.Storable                  (Storable (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.Image  (VkImageAspectFlags) import Graphics.Vulkan.Types.Struct.Rect (VkRect2D)-import System.IO.Unsafe                  (unsafeDupablePerformIO)  -- | > typedef struct VkClearAttachment { --   >     VkImageAspectFlags     aspectMask;@@ -31,146 +21,33 @@ --   > } VkClearAttachment; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkClearAttachment VkClearAttachment registry at www.khronos.org>-type VkClearAttachment = VulkanStruct VkClearAttachment' -- ' closing tick for hsc2hs+type VkClearAttachment = VkStruct VkClearAttachment' -- ' closing tick for hsc2hs  data VkClearAttachment' -- ' closing tick for hsc2hs -instance Eq VkClearAttachment where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkClearAttachment where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkClearAttachment where-        sizeOf ~_ = #{size VkClearAttachment}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkClearAttachment}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkClearAttachment where-        type StructFields VkClearAttachment =-             '["aspectMask", "colorAttachment", "clearValue"] -- ' closing tick for hsc2hs-        type CUnionType VkClearAttachment = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkClearAttachment = 'False -- ' closing tick for hsc2hs-        type StructExtends VkClearAttachment = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "aspectMask" VkClearAttachment where-        type FieldType "aspectMask" VkClearAttachment = VkImageAspectFlags-        type FieldOptional "aspectMask" VkClearAttachment = 'False -- ' closing tick for hsc2hs-        type FieldOffset "aspectMask" VkClearAttachment =-             #{offset VkClearAttachment, aspectMask}-        type FieldIsArray "aspectMask" VkClearAttachment = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkClearAttachment, aspectMask}--instance {-# OVERLAPPING #-}-         CanReadField "aspectMask" VkClearAttachment where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkClearAttachment, aspectMask})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkClearAttachment, aspectMask}--instance {-# OVERLAPPING #-}-         CanWriteField "aspectMask" VkClearAttachment where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkClearAttachment, aspectMask}--instance {-# OVERLAPPING #-}-         HasField "colorAttachment" VkClearAttachment where-        type FieldType "colorAttachment" VkClearAttachment = Word32-        type FieldOptional "colorAttachment" VkClearAttachment = 'False -- ' closing tick for hsc2hs-        type FieldOffset "colorAttachment" VkClearAttachment =-             #{offset VkClearAttachment, colorAttachment}-        type FieldIsArray "colorAttachment" VkClearAttachment = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkClearAttachment, colorAttachment}--instance {-# OVERLAPPING #-}-         CanReadField "colorAttachment" VkClearAttachment where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkClearAttachment, colorAttachment})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkClearAttachment, colorAttachment}--instance {-# OVERLAPPING #-}-         CanWriteField "colorAttachment" VkClearAttachment where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkClearAttachment, colorAttachment}--instance {-# OVERLAPPING #-}-         HasField "clearValue" VkClearAttachment where-        type FieldType "clearValue" VkClearAttachment = VkClearValue-        type FieldOptional "clearValue" VkClearAttachment = 'False -- ' closing tick for hsc2hs-        type FieldOffset "clearValue" VkClearAttachment =-             #{offset VkClearAttachment, clearValue}-        type FieldIsArray "clearValue" VkClearAttachment = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkClearAttachment, clearValue}--instance {-# OVERLAPPING #-}-         CanReadField "clearValue" VkClearAttachment where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkClearAttachment, clearValue})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkClearAttachment, clearValue}--instance {-# OVERLAPPING #-}-         CanWriteField "clearValue" VkClearAttachment where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkClearAttachment, clearValue}--instance Show VkClearAttachment where-        showsPrec d x-          = showString "VkClearAttachment {" .-              showString "aspectMask = " .-                showsPrec d (getField @"aspectMask" x) .-                  showString ", " .-                    showString "colorAttachment = " .-                      showsPrec d (getField @"colorAttachment" x) .-                        showString ", " .-                          showString "clearValue = " .-                            showsPrec d (getField @"clearValue" x) . showChar '}'+    type StructRep VkClearAttachment =+         'StructMeta "VkClearAttachment" VkClearAttachment  -- ' closing tick for hsc2hs+                                                           #{size VkClearAttachment}+           #{alignment VkClearAttachment}+           '[('FieldMeta "aspectMask" VkImageAspectFlags 'False  -- ' closing tick for hsc2hs+                                                                #{offset VkClearAttachment, aspectMask}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "colorAttachment" Word32 'False +                                                         #{offset VkClearAttachment, colorAttachment}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "clearValue" VkClearValue 'False +                                                          #{offset VkClearAttachment, clearValue}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | // Union allowing specification of floating point, integer, or unsigned integer color data. Actual value selected is based on image/attachment being cleared. --@@ -181,213 +58,35 @@ --   > } VkClearColorValue; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkClearColorValue VkClearColorValue registry at www.khronos.org>-type VkClearColorValue = VulkanStruct VkClearColorValue' -- ' closing tick for hsc2hs+type VkClearColorValue = VkStruct VkClearColorValue' -- ' closing tick for hsc2hs  data VkClearColorValue' -- ' closing tick for hsc2hs -instance Eq VkClearColorValue where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkClearColorValue where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkClearColorValue where-        sizeOf ~_ = #{size VkClearColorValue}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkClearColorValue}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkClearColorValue where-        type StructFields VkClearColorValue =-             '["float32", "int32", "uint32"] -- ' closing tick for hsc2hs-        type CUnionType VkClearColorValue = 'True -- ' closing tick for hsc2hs-        type ReturnedOnly VkClearColorValue = 'False -- ' closing tick for hsc2hs-        type StructExtends VkClearColorValue = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "float32" VkClearColorValue-         where-        type FieldType "float32" VkClearColorValue =-             #{type float}-        type FieldOptional "float32" VkClearColorValue = 'False -- ' closing tick for hsc2hs-        type FieldOffset "float32" VkClearColorValue =-             #{offset VkClearColorValue, float32}-        type FieldIsArray "float32" VkClearColorValue = 'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkClearColorValue, float32}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "float32" VkClearColorValue where-        type FieldArrayLength "float32" VkClearColorValue = 4--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = 4--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkClearColorValue, float32} +-                      sizeOf (undefined :: #{type float}) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkClearColorValue, float32} +-                 sizeOf (undefined :: #{type float}) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "float32" VkClearColorValue where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkClearColorValue, float32} +-                 sizeOf (undefined :: #{type float}) * i)--instance {-# OVERLAPPING #-} HasField "int32" VkClearColorValue-         where-        type FieldType "int32" VkClearColorValue = Int32-        type FieldOptional "int32" VkClearColorValue = 'False -- ' closing tick for hsc2hs-        type FieldOffset "int32" VkClearColorValue =-             #{offset VkClearColorValue, int32}-        type FieldIsArray "int32" VkClearColorValue = 'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkClearColorValue, int32}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "int32" VkClearColorValue where-        type FieldArrayLength "int32" VkClearColorValue = 4--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = 4--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkClearColorValue, int32} +-                      sizeOf (undefined :: Int32) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkClearColorValue, int32} +-                 sizeOf (undefined :: Int32) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "int32" VkClearColorValue where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkClearColorValue, int32} +-                 sizeOf (undefined :: Int32) * i)--instance {-# OVERLAPPING #-} HasField "uint32" VkClearColorValue-         where-        type FieldType "uint32" VkClearColorValue = Word32-        type FieldOptional "uint32" VkClearColorValue = 'False -- ' closing tick for hsc2hs-        type FieldOffset "uint32" VkClearColorValue =-             #{offset VkClearColorValue, uint32}-        type FieldIsArray "uint32" VkClearColorValue = 'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkClearColorValue, uint32}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "uint32" VkClearColorValue where-        type FieldArrayLength "uint32" VkClearColorValue = 4--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = 4--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkClearColorValue, uint32} +-                      sizeOf (undefined :: Word32) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkClearColorValue, uint32} +-                 sizeOf (undefined :: Word32) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "uint32" VkClearColorValue where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkClearColorValue, uint32} +-                 sizeOf (undefined :: Word32) * i)--instance Show VkClearColorValue where-        showsPrec d x-          = showString "VkClearColorValue {" .-              (showString "float32 = [" .-                 showsPrec d-                   (let s = sizeOf-                              (undefined :: FieldType "float32" VkClearColorValue)-                        o = fieldOffset @"float32" @VkClearColorValue-                        f i-                          = peekByteOff (unsafePtr x) i ::-                              IO (FieldType "float32" VkClearColorValue)-                      in-                      unsafeDupablePerformIO . mapM f $-                        map (\ i -> o + i * s) [0 .. 4 - 1])-                   . showChar ']')-                .-                showString ", " .-                  (showString "int32 = [" .-                     showsPrec d-                       (let s = sizeOf (undefined :: FieldType "int32" VkClearColorValue)-                            o = fieldOffset @"int32" @VkClearColorValue-                            f i-                              = peekByteOff (unsafePtr x) i ::-                                  IO (FieldType "int32" VkClearColorValue)-                          in-                          unsafeDupablePerformIO . mapM f $-                            map (\ i -> o + i * s) [0 .. 4 - 1])-                       . showChar ']')-                    .-                    showString ", " .-                      (showString "uint32 = [" .-                         showsPrec d-                           (let s = sizeOf (undefined :: FieldType "uint32" VkClearColorValue)-                                o = fieldOffset @"uint32" @VkClearColorValue-                                f i-                                  = peekByteOff (unsafePtr x) i ::-                                      IO (FieldType "uint32" VkClearColorValue)-                              in-                              unsafeDupablePerformIO . mapM f $-                                map (\ i -> o + i * s) [0 .. 4 - 1])-                           . showChar ']')-                        . showChar '}'+    type StructRep VkClearColorValue =+         'StructMeta "VkClearColorValue" VkClearColorValue  -- ' closing tick for hsc2hs+                                                           #{size VkClearColorValue}+           #{alignment VkClearColorValue}+           '[('FieldMeta "float32" (+                                    #{type float}+                                    ) 'False -- ' closing tick for hsc2hs+                #{offset VkClearColorValue, float32}+                4+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "int32" Int32 'False +                                              #{offset VkClearColorValue, int32}+                4+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "uint32" Word32 'False +                                                #{offset VkClearColorValue, uint32}+                4+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | > typedef struct VkClearDepthStencilValue { --   >     float                  depth;@@ -395,113 +94,30 @@ --   > } VkClearDepthStencilValue; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkClearDepthStencilValue VkClearDepthStencilValue registry at www.khronos.org>-type VkClearDepthStencilValue =-     VulkanStruct VkClearDepthStencilValue' -- ' closing tick for hsc2hs+type VkClearDepthStencilValue = VkStruct VkClearDepthStencilValue' -- ' closing tick for hsc2hs  data VkClearDepthStencilValue' -- ' closing tick for hsc2hs -instance Eq VkClearDepthStencilValue where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkClearDepthStencilValue where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkClearDepthStencilValue where-        sizeOf ~_ = #{size VkClearDepthStencilValue}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkClearDepthStencilValue}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkClearDepthStencilValue where-        type StructFields VkClearDepthStencilValue = '["depth", "stencil"] -- ' closing tick for hsc2hs-        type CUnionType VkClearDepthStencilValue = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkClearDepthStencilValue = 'False -- ' closing tick for hsc2hs-        type StructExtends VkClearDepthStencilValue = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "depth" VkClearDepthStencilValue where-        type FieldType "depth" VkClearDepthStencilValue =-             #{type float}-        type FieldOptional "depth" VkClearDepthStencilValue = 'False -- ' closing tick for hsc2hs-        type FieldOffset "depth" VkClearDepthStencilValue =-             #{offset VkClearDepthStencilValue, depth}-        type FieldIsArray "depth" VkClearDepthStencilValue = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkClearDepthStencilValue, depth}--instance {-# OVERLAPPING #-}-         CanReadField "depth" VkClearDepthStencilValue where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkClearDepthStencilValue, depth})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkClearDepthStencilValue, depth}--instance {-# OVERLAPPING #-}-         CanWriteField "depth" VkClearDepthStencilValue where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkClearDepthStencilValue, depth}--instance {-# OVERLAPPING #-}-         HasField "stencil" VkClearDepthStencilValue where-        type FieldType "stencil" VkClearDepthStencilValue = Word32-        type FieldOptional "stencil" VkClearDepthStencilValue = 'False -- ' closing tick for hsc2hs-        type FieldOffset "stencil" VkClearDepthStencilValue =-             #{offset VkClearDepthStencilValue, stencil}-        type FieldIsArray "stencil" VkClearDepthStencilValue = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkClearDepthStencilValue, stencil}--instance {-# OVERLAPPING #-}-         CanReadField "stencil" VkClearDepthStencilValue where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkClearDepthStencilValue, stencil})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkClearDepthStencilValue, stencil}--instance {-# OVERLAPPING #-}-         CanWriteField "stencil" VkClearDepthStencilValue where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkClearDepthStencilValue, stencil}--instance Show VkClearDepthStencilValue where-        showsPrec d x-          = showString "VkClearDepthStencilValue {" .-              showString "depth = " .-                showsPrec d (getField @"depth" x) .-                  showString ", " .-                    showString "stencil = " .-                      showsPrec d (getField @"stencil" x) . showChar '}'+    type StructRep VkClearDepthStencilValue =+         'StructMeta "VkClearDepthStencilValue" VkClearDepthStencilValue -- ' closing tick for hsc2hs+           #{size VkClearDepthStencilValue}+           #{alignment VkClearDepthStencilValue}+           '[('FieldMeta "depth" (+                                  #{type float}+                                  ) 'False  -- ' closing tick for hsc2hs+                                           #{offset VkClearDepthStencilValue, depth}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "stencil" Word32 'False +                                                 #{offset VkClearDepthStencilValue, stencil}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | > typedef struct VkClearRect { --   >     VkRect2D       rect;@@ -510,141 +126,33 @@ --   > } VkClearRect; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkClearRect VkClearRect registry at www.khronos.org>-type VkClearRect = VulkanStruct VkClearRect' -- ' closing tick for hsc2hs+type VkClearRect = VkStruct VkClearRect' -- ' closing tick for hsc2hs  data VkClearRect' -- ' closing tick for hsc2hs -instance Eq VkClearRect where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkClearRect where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkClearRect where-        sizeOf ~_ = #{size VkClearRect}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkClearRect}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkClearRect where-        type StructFields VkClearRect =-             '["rect", "baseArrayLayer", "layerCount"] -- ' closing tick for hsc2hs-        type CUnionType VkClearRect = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkClearRect = 'False -- ' closing tick for hsc2hs-        type StructExtends VkClearRect = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "rect" VkClearRect where-        type FieldType "rect" VkClearRect = VkRect2D-        type FieldOptional "rect" VkClearRect = 'False -- ' closing tick for hsc2hs-        type FieldOffset "rect" VkClearRect =-             #{offset VkClearRect, rect}-        type FieldIsArray "rect" VkClearRect = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkClearRect, rect}--instance {-# OVERLAPPING #-} CanReadField "rect" VkClearRect where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkClearRect, rect})--        {-# INLINE readField #-}-        readField p = peekByteOff p #{offset VkClearRect, rect}--instance {-# OVERLAPPING #-} CanWriteField "rect" VkClearRect where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkClearRect, rect}--instance {-# OVERLAPPING #-} HasField "baseArrayLayer" VkClearRect-         where-        type FieldType "baseArrayLayer" VkClearRect = Word32-        type FieldOptional "baseArrayLayer" VkClearRect = 'False -- ' closing tick for hsc2hs-        type FieldOffset "baseArrayLayer" VkClearRect =-             #{offset VkClearRect, baseArrayLayer}-        type FieldIsArray "baseArrayLayer" VkClearRect = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkClearRect, baseArrayLayer}--instance {-# OVERLAPPING #-}-         CanReadField "baseArrayLayer" VkClearRect where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkClearRect, baseArrayLayer})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkClearRect, baseArrayLayer}--instance {-# OVERLAPPING #-}-         CanWriteField "baseArrayLayer" VkClearRect where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkClearRect, baseArrayLayer}--instance {-# OVERLAPPING #-} HasField "layerCount" VkClearRect-         where-        type FieldType "layerCount" VkClearRect = Word32-        type FieldOptional "layerCount" VkClearRect = 'False -- ' closing tick for hsc2hs-        type FieldOffset "layerCount" VkClearRect =-             #{offset VkClearRect, layerCount}-        type FieldIsArray "layerCount" VkClearRect = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkClearRect, layerCount}--instance {-# OVERLAPPING #-} CanReadField "layerCount" VkClearRect-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkClearRect, layerCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkClearRect, layerCount}--instance {-# OVERLAPPING #-} CanWriteField "layerCount" VkClearRect-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkClearRect, layerCount}--instance Show VkClearRect where-        showsPrec d x-          = showString "VkClearRect {" .-              showString "rect = " .-                showsPrec d (getField @"rect" x) .-                  showString ", " .-                    showString "baseArrayLayer = " .-                      showsPrec d (getField @"baseArrayLayer" x) .-                        showString ", " .-                          showString "layerCount = " .-                            showsPrec d (getField @"layerCount" x) . showChar '}'+    type StructRep VkClearRect =+         'StructMeta "VkClearRect" VkClearRect  -- ' closing tick for hsc2hs+                                               #{size VkClearRect}+           #{alignment VkClearRect}+           '[('FieldMeta "rect" VkRect2D 'False  -- ' closing tick for hsc2hs+                                                #{offset VkClearRect, rect}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "baseArrayLayer" Word32 'False +                                                        #{offset VkClearRect, baseArrayLayer}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "layerCount" Word32 'False +                                                    #{offset VkClearRect, layerCount}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | // Union allowing specification of color or depth and stencil values. Actual value selected is based on attachment being cleared. --@@ -654,107 +162,25 @@ --   > } VkClearValue; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkClearValue VkClearValue registry at www.khronos.org>-type VkClearValue = VulkanStruct VkClearValue' -- ' closing tick for hsc2hs+type VkClearValue = VkStruct VkClearValue' -- ' closing tick for hsc2hs  data VkClearValue' -- ' closing tick for hsc2hs -instance Eq VkClearValue where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkClearValue where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkClearValue where-        sizeOf ~_ = #{size VkClearValue}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkClearValue}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkClearValue where-        type StructFields VkClearValue = '["color", "depthStencil"] -- ' closing tick for hsc2hs-        type CUnionType VkClearValue = 'True -- ' closing tick for hsc2hs-        type ReturnedOnly VkClearValue = 'False -- ' closing tick for hsc2hs-        type StructExtends VkClearValue = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "color" VkClearValue where-        type FieldType "color" VkClearValue = VkClearColorValue-        type FieldOptional "color" VkClearValue = 'False -- ' closing tick for hsc2hs-        type FieldOffset "color" VkClearValue =-             #{offset VkClearValue, color}-        type FieldIsArray "color" VkClearValue = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkClearValue, color}--instance {-# OVERLAPPING #-} CanReadField "color" VkClearValue-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkClearValue, color})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkClearValue, color}--instance {-# OVERLAPPING #-} CanWriteField "color" VkClearValue-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkClearValue, color}--instance {-# OVERLAPPING #-} HasField "depthStencil" VkClearValue-         where-        type FieldType "depthStencil" VkClearValue =-             VkClearDepthStencilValue-        type FieldOptional "depthStencil" VkClearValue = 'False -- ' closing tick for hsc2hs-        type FieldOffset "depthStencil" VkClearValue =-             #{offset VkClearValue, depthStencil}-        type FieldIsArray "depthStencil" VkClearValue = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkClearValue, depthStencil}--instance {-# OVERLAPPING #-}-         CanReadField "depthStencil" VkClearValue where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkClearValue, depthStencil})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkClearValue, depthStencil}--instance {-# OVERLAPPING #-}-         CanWriteField "depthStencil" VkClearValue where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkClearValue, depthStencil}--instance Show VkClearValue where-        showsPrec d x-          = showString "VkClearValue {" .-              showString "color = " .-                showsPrec d (getField @"color" x) .-                  showString ", " .-                    showString "depthStencil = " .-                      showsPrec d (getField @"depthStencil" x) . showChar '}'+    type StructRep VkClearValue =+         'StructMeta "VkClearValue" VkClearValue  -- ' closing tick for hsc2hs+                                                 #{size VkClearValue}+           #{alignment VkClearValue}+           '[('FieldMeta "color" VkClearColorValue 'False  -- ' closing tick for hsc2hs+                                                          #{offset VkClearValue, color}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "depthStencil" VkClearDepthStencilValue 'False+                #{offset VkClearValue, depthStencil}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc view
@@ -2,17 +2,12 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.Cmd-       (VkCmdProcessCommandsInfoNVX, VkCmdProcessCommandsInfoNVX', -- ' closing tick for hsc2hs-        VkCmdReserveSpaceForCommandsInfoNVX,-        VkCmdReserveSpaceForCommandsInfoNVX') -- ' closing tick for hsc2hs+       (VkCmdProcessCommandsInfoNVX, VkCmdReserveSpaceForCommandsInfoNVX)        where-import Foreign.Storable                              (Storable (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.BaseTypes               (VkDeviceSize)@@ -20,7 +15,6 @@ import Graphics.Vulkan.Types.Handles                 (VkBuffer, VkCommandBuffer, VkIndirectCommandsLayoutNVX,                                                       VkObjectTableNVX) import Graphics.Vulkan.Types.Struct.IndirectCommands (VkIndirectCommandsTokenNVX)-import System.IO.Unsafe                              (unsafeDupablePerformIO)  -- | > typedef struct VkCmdProcessCommandsInfoNVX { --   >     VkStructureType sType;@@ -39,569 +33,82 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkCmdProcessCommandsInfoNVX VkCmdProcessCommandsInfoNVX registry at www.khronos.org> type VkCmdProcessCommandsInfoNVX =-     VulkanStruct VkCmdProcessCommandsInfoNVX' -- ' closing tick for hsc2hs+     VkStruct VkCmdProcessCommandsInfoNVX' -- ' closing tick for hsc2hs  data VkCmdProcessCommandsInfoNVX' -- ' closing tick for hsc2hs -instance Eq VkCmdProcessCommandsInfoNVX where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkCmdProcessCommandsInfoNVX where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkCmdProcessCommandsInfoNVX where-        sizeOf ~_ = #{size VkCmdProcessCommandsInfoNVX}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkCmdProcessCommandsInfoNVX}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkCmdProcessCommandsInfoNVX where-        type StructFields VkCmdProcessCommandsInfoNVX =-             '["sType", "pNext", "objectTable", "indirectCommandsLayout", -- ' closing tick for hsc2hs-               "indirectCommandsTokenCount", "pIndirectCommandsTokens",-               "maxSequencesCount", "targetCommandBuffer", "sequencesCountBuffer",-               "sequencesCountOffset", "sequencesIndexBuffer",-               "sequencesIndexOffset"]-        type CUnionType VkCmdProcessCommandsInfoNVX = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkCmdProcessCommandsInfoNVX = 'False -- ' closing tick for hsc2hs-        type StructExtends VkCmdProcessCommandsInfoNVX = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkCmdProcessCommandsInfoNVX where-        type FieldType "sType" VkCmdProcessCommandsInfoNVX =-             VkStructureType-        type FieldOptional "sType" VkCmdProcessCommandsInfoNVX = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkCmdProcessCommandsInfoNVX =-             #{offset VkCmdProcessCommandsInfoNVX, sType}-        type FieldIsArray "sType" VkCmdProcessCommandsInfoNVX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCmdProcessCommandsInfoNVX, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkCmdProcessCommandsInfoNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkCmdProcessCommandsInfoNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkCmdProcessCommandsInfoNVX where-        type FieldType "pNext" VkCmdProcessCommandsInfoNVX = Ptr Void-        type FieldOptional "pNext" VkCmdProcessCommandsInfoNVX = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkCmdProcessCommandsInfoNVX =-             #{offset VkCmdProcessCommandsInfoNVX, pNext}-        type FieldIsArray "pNext" VkCmdProcessCommandsInfoNVX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCmdProcessCommandsInfoNVX, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkCmdProcessCommandsInfoNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkCmdProcessCommandsInfoNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, pNext}--instance {-# OVERLAPPING #-}-         HasField "objectTable" VkCmdProcessCommandsInfoNVX where-        type FieldType "objectTable" VkCmdProcessCommandsInfoNVX =-             VkObjectTableNVX-        type FieldOptional "objectTable" VkCmdProcessCommandsInfoNVX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "objectTable" VkCmdProcessCommandsInfoNVX =-             #{offset VkCmdProcessCommandsInfoNVX, objectTable}-        type FieldIsArray "objectTable" VkCmdProcessCommandsInfoNVX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCmdProcessCommandsInfoNVX, objectTable}--instance {-# OVERLAPPING #-}-         CanReadField "objectTable" VkCmdProcessCommandsInfoNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, objectTable})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, objectTable}--instance {-# OVERLAPPING #-}-         CanWriteField "objectTable" VkCmdProcessCommandsInfoNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, objectTable}--instance {-# OVERLAPPING #-}-         HasField "indirectCommandsLayout" VkCmdProcessCommandsInfoNVX where-        type FieldType "indirectCommandsLayout" VkCmdProcessCommandsInfoNVX-             = VkIndirectCommandsLayoutNVX-        type FieldOptional "indirectCommandsLayout"-               VkCmdProcessCommandsInfoNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "indirectCommandsLayout"-               VkCmdProcessCommandsInfoNVX-             =-             #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsLayout}-        type FieldIsArray "indirectCommandsLayout"-               VkCmdProcessCommandsInfoNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsLayout}--instance {-# OVERLAPPING #-}-         CanReadField "indirectCommandsLayout" VkCmdProcessCommandsInfoNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsLayout})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsLayout}--instance {-# OVERLAPPING #-}-         CanWriteField "indirectCommandsLayout" VkCmdProcessCommandsInfoNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsLayout}--instance {-# OVERLAPPING #-}-         HasField "indirectCommandsTokenCount" VkCmdProcessCommandsInfoNVX-         where-        type FieldType "indirectCommandsTokenCount"-               VkCmdProcessCommandsInfoNVX-             = Word32-        type FieldOptional "indirectCommandsTokenCount"-               VkCmdProcessCommandsInfoNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "indirectCommandsTokenCount"-               VkCmdProcessCommandsInfoNVX-             =-             #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsTokenCount}-        type FieldIsArray "indirectCommandsTokenCount"-               VkCmdProcessCommandsInfoNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsTokenCount}--instance {-# OVERLAPPING #-}-         CanReadField "indirectCommandsTokenCount"-           VkCmdProcessCommandsInfoNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsTokenCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsTokenCount}--instance {-# OVERLAPPING #-}-         CanWriteField "indirectCommandsTokenCount"+    type StructRep VkCmdProcessCommandsInfoNVX =+         'StructMeta "VkCmdProcessCommandsInfoNVX" -- ' closing tick for hsc2hs            VkCmdProcessCommandsInfoNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsTokenCount}--instance {-# OVERLAPPING #-}-         HasField "pIndirectCommandsTokens" VkCmdProcessCommandsInfoNVX-         where-        type FieldType "pIndirectCommandsTokens"-               VkCmdProcessCommandsInfoNVX-             = Ptr VkIndirectCommandsTokenNVX-        type FieldOptional "pIndirectCommandsTokens"-               VkCmdProcessCommandsInfoNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pIndirectCommandsTokens"-               VkCmdProcessCommandsInfoNVX-             =-             #{offset VkCmdProcessCommandsInfoNVX, pIndirectCommandsTokens}-        type FieldIsArray "pIndirectCommandsTokens"-               VkCmdProcessCommandsInfoNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCmdProcessCommandsInfoNVX, pIndirectCommandsTokens}--instance {-# OVERLAPPING #-}-         CanReadField "pIndirectCommandsTokens" VkCmdProcessCommandsInfoNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, pIndirectCommandsTokens})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, pIndirectCommandsTokens}--instance {-# OVERLAPPING #-}-         CanWriteField "pIndirectCommandsTokens" VkCmdProcessCommandsInfoNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, pIndirectCommandsTokens}--instance {-# OVERLAPPING #-}-         HasField "maxSequencesCount" VkCmdProcessCommandsInfoNVX where-        type FieldType "maxSequencesCount" VkCmdProcessCommandsInfoNVX =-             Word32-        type FieldOptional "maxSequencesCount" VkCmdProcessCommandsInfoNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxSequencesCount" VkCmdProcessCommandsInfoNVX =-             #{offset VkCmdProcessCommandsInfoNVX, maxSequencesCount}-        type FieldIsArray "maxSequencesCount" VkCmdProcessCommandsInfoNVX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCmdProcessCommandsInfoNVX, maxSequencesCount}--instance {-# OVERLAPPING #-}-         CanReadField "maxSequencesCount" VkCmdProcessCommandsInfoNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, maxSequencesCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, maxSequencesCount}--instance {-# OVERLAPPING #-}-         CanWriteField "maxSequencesCount" VkCmdProcessCommandsInfoNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, maxSequencesCount}--instance {-# OVERLAPPING #-}-         HasField "targetCommandBuffer" VkCmdProcessCommandsInfoNVX where-        type FieldType "targetCommandBuffer" VkCmdProcessCommandsInfoNVX =-             VkCommandBuffer-        type FieldOptional "targetCommandBuffer"-               VkCmdProcessCommandsInfoNVX-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "targetCommandBuffer" VkCmdProcessCommandsInfoNVX-             =-             #{offset VkCmdProcessCommandsInfoNVX, targetCommandBuffer}-        type FieldIsArray "targetCommandBuffer" VkCmdProcessCommandsInfoNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCmdProcessCommandsInfoNVX, targetCommandBuffer}--instance {-# OVERLAPPING #-}-         CanReadField "targetCommandBuffer" VkCmdProcessCommandsInfoNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, targetCommandBuffer})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, targetCommandBuffer}--instance {-# OVERLAPPING #-}-         CanWriteField "targetCommandBuffer" VkCmdProcessCommandsInfoNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, targetCommandBuffer}--instance {-# OVERLAPPING #-}-         HasField "sequencesCountBuffer" VkCmdProcessCommandsInfoNVX where-        type FieldType "sequencesCountBuffer" VkCmdProcessCommandsInfoNVX =-             VkBuffer-        type FieldOptional "sequencesCountBuffer"-               VkCmdProcessCommandsInfoNVX-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "sequencesCountBuffer" VkCmdProcessCommandsInfoNVX-             =-             #{offset VkCmdProcessCommandsInfoNVX, sequencesCountBuffer}-        type FieldIsArray "sequencesCountBuffer"-               VkCmdProcessCommandsInfoNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCmdProcessCommandsInfoNVX, sequencesCountBuffer}--instance {-# OVERLAPPING #-}-         CanReadField "sequencesCountBuffer" VkCmdProcessCommandsInfoNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, sequencesCountBuffer})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesCountBuffer}--instance {-# OVERLAPPING #-}-         CanWriteField "sequencesCountBuffer" VkCmdProcessCommandsInfoNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesCountBuffer}--instance {-# OVERLAPPING #-}-         HasField "sequencesCountOffset" VkCmdProcessCommandsInfoNVX where-        type FieldType "sequencesCountOffset" VkCmdProcessCommandsInfoNVX =-             VkDeviceSize-        type FieldOptional "sequencesCountOffset"-               VkCmdProcessCommandsInfoNVX-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "sequencesCountOffset" VkCmdProcessCommandsInfoNVX-             =-             #{offset VkCmdProcessCommandsInfoNVX, sequencesCountOffset}-        type FieldIsArray "sequencesCountOffset"-               VkCmdProcessCommandsInfoNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCmdProcessCommandsInfoNVX, sequencesCountOffset}--instance {-# OVERLAPPING #-}-         CanReadField "sequencesCountOffset" VkCmdProcessCommandsInfoNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, sequencesCountOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesCountOffset}--instance {-# OVERLAPPING #-}-         CanWriteField "sequencesCountOffset" VkCmdProcessCommandsInfoNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesCountOffset}--instance {-# OVERLAPPING #-}-         HasField "sequencesIndexBuffer" VkCmdProcessCommandsInfoNVX where-        type FieldType "sequencesIndexBuffer" VkCmdProcessCommandsInfoNVX =-             VkBuffer-        type FieldOptional "sequencesIndexBuffer"-               VkCmdProcessCommandsInfoNVX-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "sequencesIndexBuffer" VkCmdProcessCommandsInfoNVX-             =-             #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexBuffer}-        type FieldIsArray "sequencesIndexBuffer"-               VkCmdProcessCommandsInfoNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexBuffer}--instance {-# OVERLAPPING #-}-         CanReadField "sequencesIndexBuffer" VkCmdProcessCommandsInfoNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexBuffer})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexBuffer}--instance {-# OVERLAPPING #-}-         CanWriteField "sequencesIndexBuffer" VkCmdProcessCommandsInfoNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexBuffer}--instance {-# OVERLAPPING #-}-         HasField "sequencesIndexOffset" VkCmdProcessCommandsInfoNVX where-        type FieldType "sequencesIndexOffset" VkCmdProcessCommandsInfoNVX =-             VkDeviceSize-        type FieldOptional "sequencesIndexOffset"-               VkCmdProcessCommandsInfoNVX-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "sequencesIndexOffset" VkCmdProcessCommandsInfoNVX-             =-             #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexOffset}-        type FieldIsArray "sequencesIndexOffset"-               VkCmdProcessCommandsInfoNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexOffset}--instance {-# OVERLAPPING #-}-         CanReadField "sequencesIndexOffset" VkCmdProcessCommandsInfoNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexOffset}--instance {-# OVERLAPPING #-}-         CanWriteField "sequencesIndexOffset" VkCmdProcessCommandsInfoNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexOffset}--instance Show VkCmdProcessCommandsInfoNVX where-        showsPrec d x-          = showString "VkCmdProcessCommandsInfoNVX {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "objectTable = " .-                            showsPrec d (getField @"objectTable" x) .-                              showString ", " .-                                showString "indirectCommandsLayout = " .-                                  showsPrec d (getField @"indirectCommandsLayout" x) .-                                    showString ", " .-                                      showString "indirectCommandsTokenCount = " .-                                        showsPrec d (getField @"indirectCommandsTokenCount" x) .-                                          showString ", " .-                                            showString "pIndirectCommandsTokens = " .-                                              showsPrec d (getField @"pIndirectCommandsTokens" x) .-                                                showString ", " .-                                                  showString "maxSequencesCount = " .-                                                    showsPrec d (getField @"maxSequencesCount" x) .-                                                      showString ", " .-                                                        showString "targetCommandBuffer = " .-                                                          showsPrec d-                                                            (getField @"targetCommandBuffer" x)-                                                            .-                                                            showString ", " .-                                                              showString "sequencesCountBuffer = " .-                                                                showsPrec d-                                                                  (getField @"sequencesCountBuffer"-                                                                     x)-                                                                  .-                                                                  showString ", " .-                                                                    showString-                                                                      "sequencesCountOffset = "-                                                                      .-                                                                      showsPrec d-                                                                        (getField-                                                                           @"sequencesCountOffset"-                                                                           x)-                                                                        .-                                                                        showString ", " .-                                                                          showString-                                                                            "sequencesIndexBuffer = "-                                                                            .-                                                                            showsPrec d-                                                                              (getField-                                                                                 @"sequencesIndexBuffer"-                                                                                 x)-                                                                              .-                                                                              showString ", " .-                                                                                showString-                                                                                  "sequencesIndexOffset = "-                                                                                  .-                                                                                  showsPrec d-                                                                                    (getField-                                                                                       @"sequencesIndexOffset"-                                                                                       x)-                                                                                    . showChar '}'+           #{size VkCmdProcessCommandsInfoNVX}+           #{alignment VkCmdProcessCommandsInfoNVX}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkCmdProcessCommandsInfoNVX, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkCmdProcessCommandsInfoNVX, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "objectTable" VkObjectTableNVX 'False +                                                               #{offset VkCmdProcessCommandsInfoNVX, objectTable}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "indirectCommandsLayout" VkIndirectCommandsLayoutNVX -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsLayout}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "indirectCommandsTokenCount" Word32 'False +                                                                    #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsTokenCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pIndirectCommandsTokens" -- ' closing tick for hsc2hs+                (Ptr VkIndirectCommandsTokenNVX)+                'False -- ' closing tick for hsc2hs+                #{offset VkCmdProcessCommandsInfoNVX, pIndirectCommandsTokens}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxSequencesCount" Word32 'False +                                                           #{offset VkCmdProcessCommandsInfoNVX, maxSequencesCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "targetCommandBuffer" VkCommandBuffer 'True +                                                                     #{offset VkCmdProcessCommandsInfoNVX, targetCommandBuffer}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sequencesCountBuffer" VkBuffer 'True +                                                               #{offset VkCmdProcessCommandsInfoNVX, sequencesCountBuffer}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sequencesCountOffset" VkDeviceSize 'True +                                                                   #{offset VkCmdProcessCommandsInfoNVX, sequencesCountOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sequencesIndexBuffer" VkBuffer 'True +                                                               #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexBuffer}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sequencesIndexOffset" VkDeviceSize 'True +                                                                   #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | > typedef struct VkCmdReserveSpaceForCommandsInfoNVX { --   >     VkStructureType sType;@@ -613,257 +120,42 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkCmdReserveSpaceForCommandsInfoNVX VkCmdReserveSpaceForCommandsInfoNVX registry at www.khronos.org> type VkCmdReserveSpaceForCommandsInfoNVX =-     VulkanStruct VkCmdReserveSpaceForCommandsInfoNVX' -- ' closing tick for hsc2hs+     VkStruct VkCmdReserveSpaceForCommandsInfoNVX' -- ' closing tick for hsc2hs  data VkCmdReserveSpaceForCommandsInfoNVX' -- ' closing tick for hsc2hs -instance Eq VkCmdReserveSpaceForCommandsInfoNVX where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkCmdReserveSpaceForCommandsInfoNVX where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkCmdReserveSpaceForCommandsInfoNVX where-        sizeOf ~_ = #{size VkCmdReserveSpaceForCommandsInfoNVX}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkCmdReserveSpaceForCommandsInfoNVX}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkCmdReserveSpaceForCommandsInfoNVX where-        type StructFields VkCmdReserveSpaceForCommandsInfoNVX =-             '["sType", "pNext", "objectTable", "indirectCommandsLayout", -- ' closing tick for hsc2hs-               "maxSequencesCount"]-        type CUnionType VkCmdReserveSpaceForCommandsInfoNVX = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkCmdReserveSpaceForCommandsInfoNVX = 'False -- ' closing tick for hsc2hs-        type StructExtends VkCmdReserveSpaceForCommandsInfoNVX = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkCmdReserveSpaceForCommandsInfoNVX where-        type FieldType "sType" VkCmdReserveSpaceForCommandsInfoNVX =-             VkStructureType-        type FieldOptional "sType" VkCmdReserveSpaceForCommandsInfoNVX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkCmdReserveSpaceForCommandsInfoNVX =-             #{offset VkCmdReserveSpaceForCommandsInfoNVX, sType}-        type FieldIsArray "sType" VkCmdReserveSpaceForCommandsInfoNVX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCmdReserveSpaceForCommandsInfoNVX, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkCmdReserveSpaceForCommandsInfoNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdReserveSpaceForCommandsInfoNVX, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkCmdReserveSpaceForCommandsInfoNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkCmdReserveSpaceForCommandsInfoNVX where-        type FieldType "pNext" VkCmdReserveSpaceForCommandsInfoNVX =-             Ptr Void-        type FieldOptional "pNext" VkCmdReserveSpaceForCommandsInfoNVX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkCmdReserveSpaceForCommandsInfoNVX =-             #{offset VkCmdReserveSpaceForCommandsInfoNVX, pNext}-        type FieldIsArray "pNext" VkCmdReserveSpaceForCommandsInfoNVX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCmdReserveSpaceForCommandsInfoNVX, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkCmdReserveSpaceForCommandsInfoNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdReserveSpaceForCommandsInfoNVX, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkCmdReserveSpaceForCommandsInfoNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, pNext}--instance {-# OVERLAPPING #-}-         HasField "objectTable" VkCmdReserveSpaceForCommandsInfoNVX where-        type FieldType "objectTable" VkCmdReserveSpaceForCommandsInfoNVX =-             VkObjectTableNVX-        type FieldOptional "objectTable"-               VkCmdReserveSpaceForCommandsInfoNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "objectTable" VkCmdReserveSpaceForCommandsInfoNVX-             =-             #{offset VkCmdReserveSpaceForCommandsInfoNVX, objectTable}-        type FieldIsArray "objectTable" VkCmdReserveSpaceForCommandsInfoNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCmdReserveSpaceForCommandsInfoNVX, objectTable}--instance {-# OVERLAPPING #-}-         CanReadField "objectTable" VkCmdReserveSpaceForCommandsInfoNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdReserveSpaceForCommandsInfoNVX, objectTable})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, objectTable}--instance {-# OVERLAPPING #-}-         CanWriteField "objectTable" VkCmdReserveSpaceForCommandsInfoNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, objectTable}--instance {-# OVERLAPPING #-}-         HasField "indirectCommandsLayout"-           VkCmdReserveSpaceForCommandsInfoNVX-         where-        type FieldType "indirectCommandsLayout"-               VkCmdReserveSpaceForCommandsInfoNVX-             = VkIndirectCommandsLayoutNVX-        type FieldOptional "indirectCommandsLayout"-               VkCmdReserveSpaceForCommandsInfoNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "indirectCommandsLayout"-               VkCmdReserveSpaceForCommandsInfoNVX-             =-             #{offset VkCmdReserveSpaceForCommandsInfoNVX, indirectCommandsLayout}-        type FieldIsArray "indirectCommandsLayout"-               VkCmdReserveSpaceForCommandsInfoNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCmdReserveSpaceForCommandsInfoNVX, indirectCommandsLayout}--instance {-# OVERLAPPING #-}-         CanReadField "indirectCommandsLayout"-           VkCmdReserveSpaceForCommandsInfoNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdReserveSpaceForCommandsInfoNVX, indirectCommandsLayout})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, indirectCommandsLayout}--instance {-# OVERLAPPING #-}-         CanWriteField "indirectCommandsLayout"-           VkCmdReserveSpaceForCommandsInfoNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, indirectCommandsLayout}--instance {-# OVERLAPPING #-}-         HasField "maxSequencesCount" VkCmdReserveSpaceForCommandsInfoNVX-         where-        type FieldType "maxSequencesCount"-               VkCmdReserveSpaceForCommandsInfoNVX-             = Word32-        type FieldOptional "maxSequencesCount"-               VkCmdReserveSpaceForCommandsInfoNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxSequencesCount"-               VkCmdReserveSpaceForCommandsInfoNVX-             =-             #{offset VkCmdReserveSpaceForCommandsInfoNVX, maxSequencesCount}-        type FieldIsArray "maxSequencesCount"-               VkCmdReserveSpaceForCommandsInfoNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCmdReserveSpaceForCommandsInfoNVX, maxSequencesCount}--instance {-# OVERLAPPING #-}-         CanReadField "maxSequencesCount"-           VkCmdReserveSpaceForCommandsInfoNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdReserveSpaceForCommandsInfoNVX, maxSequencesCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, maxSequencesCount}--instance {-# OVERLAPPING #-}-         CanWriteField "maxSequencesCount"+    type StructRep VkCmdReserveSpaceForCommandsInfoNVX =+         'StructMeta "VkCmdReserveSpaceForCommandsInfoNVX" -- ' closing tick for hsc2hs            VkCmdReserveSpaceForCommandsInfoNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, maxSequencesCount}--instance Show VkCmdReserveSpaceForCommandsInfoNVX where-        showsPrec d x-          = showString "VkCmdReserveSpaceForCommandsInfoNVX {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "objectTable = " .-                            showsPrec d (getField @"objectTable" x) .-                              showString ", " .-                                showString "indirectCommandsLayout = " .-                                  showsPrec d (getField @"indirectCommandsLayout" x) .-                                    showString ", " .-                                      showString "maxSequencesCount = " .-                                        showsPrec d (getField @"maxSequencesCount" x) . showChar '}'+           #{size VkCmdReserveSpaceForCommandsInfoNVX}+           #{alignment VkCmdReserveSpaceForCommandsInfoNVX}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkCmdReserveSpaceForCommandsInfoNVX, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkCmdReserveSpaceForCommandsInfoNVX, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "objectTable" VkObjectTableNVX 'False +                                                               #{offset VkCmdReserveSpaceForCommandsInfoNVX, objectTable}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "indirectCommandsLayout" VkIndirectCommandsLayoutNVX -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkCmdReserveSpaceForCommandsInfoNVX, indirectCommandsLayout}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxSequencesCount" Word32 'False +                                                           #{offset VkCmdReserveSpaceForCommandsInfoNVX, maxSequencesCount}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/Command.hsc view
@@ -2,1001 +2,221 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.Command-       (VkCommandBufferAllocateInfo, VkCommandBufferAllocateInfo', -- ' closing tick for hsc2hs-        VkCommandBufferBeginInfo, VkCommandBufferBeginInfo', -- ' closing tick for hsc2hs-        VkCommandBufferInheritanceInfo, VkCommandBufferInheritanceInfo', -- ' closing tick for hsc2hs-        VkCommandPoolCreateInfo, VkCommandPoolCreateInfo') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                         (Storable (..))-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Internal-import Graphics.Vulkan.Types.BaseTypes          (VkBool32)-import Graphics.Vulkan.Types.Enum.Command       (VkCommandBufferLevel,-                                                 VkCommandBufferUsageFlags,-                                                 VkCommandPoolCreateFlags)-import Graphics.Vulkan.Types.Enum.Query         (VkQueryControlFlags,-                                                 VkQueryPipelineStatisticFlags)-import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)-import Graphics.Vulkan.Types.Handles            (VkCommandPool, VkFramebuffer,-                                                 VkRenderPass)-import System.IO.Unsafe                         (unsafeDupablePerformIO)---- | > typedef struct VkCommandBufferAllocateInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkCommandPool          commandPool;---   >     VkCommandBufferLevel   level;---   >     uint32_t               commandBufferCount;---   > } VkCommandBufferAllocateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkCommandBufferAllocateInfo VkCommandBufferAllocateInfo registry at www.khronos.org>-type VkCommandBufferAllocateInfo =-     VulkanStruct VkCommandBufferAllocateInfo' -- ' closing tick for hsc2hs--data VkCommandBufferAllocateInfo' -- ' closing tick for hsc2hs--instance Eq VkCommandBufferAllocateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkCommandBufferAllocateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkCommandBufferAllocateInfo where-        sizeOf ~_ = #{size VkCommandBufferAllocateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkCommandBufferAllocateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkCommandBufferAllocateInfo where-        type StructFields VkCommandBufferAllocateInfo =-             '["sType", "pNext", "commandPool", "level", "commandBufferCount"] -- ' closing tick for hsc2hs-        type CUnionType VkCommandBufferAllocateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkCommandBufferAllocateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkCommandBufferAllocateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkCommandBufferAllocateInfo where-        type FieldType "sType" VkCommandBufferAllocateInfo =-             VkStructureType-        type FieldOptional "sType" VkCommandBufferAllocateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkCommandBufferAllocateInfo =-             #{offset VkCommandBufferAllocateInfo, sType}-        type FieldIsArray "sType" VkCommandBufferAllocateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCommandBufferAllocateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkCommandBufferAllocateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferAllocateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCommandBufferAllocateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkCommandBufferAllocateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCommandBufferAllocateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkCommandBufferAllocateInfo where-        type FieldType "pNext" VkCommandBufferAllocateInfo = Ptr Void-        type FieldOptional "pNext" VkCommandBufferAllocateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkCommandBufferAllocateInfo =-             #{offset VkCommandBufferAllocateInfo, pNext}-        type FieldIsArray "pNext" VkCommandBufferAllocateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCommandBufferAllocateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkCommandBufferAllocateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferAllocateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCommandBufferAllocateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkCommandBufferAllocateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCommandBufferAllocateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "commandPool" VkCommandBufferAllocateInfo where-        type FieldType "commandPool" VkCommandBufferAllocateInfo =-             VkCommandPool-        type FieldOptional "commandPool" VkCommandBufferAllocateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "commandPool" VkCommandBufferAllocateInfo =-             #{offset VkCommandBufferAllocateInfo, commandPool}-        type FieldIsArray "commandPool" VkCommandBufferAllocateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCommandBufferAllocateInfo, commandPool}--instance {-# OVERLAPPING #-}-         CanReadField "commandPool" VkCommandBufferAllocateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferAllocateInfo, commandPool})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCommandBufferAllocateInfo, commandPool}--instance {-# OVERLAPPING #-}-         CanWriteField "commandPool" VkCommandBufferAllocateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCommandBufferAllocateInfo, commandPool}--instance {-# OVERLAPPING #-}-         HasField "level" VkCommandBufferAllocateInfo where-        type FieldType "level" VkCommandBufferAllocateInfo =-             VkCommandBufferLevel-        type FieldOptional "level" VkCommandBufferAllocateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "level" VkCommandBufferAllocateInfo =-             #{offset VkCommandBufferAllocateInfo, level}-        type FieldIsArray "level" VkCommandBufferAllocateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCommandBufferAllocateInfo, level}--instance {-# OVERLAPPING #-}-         CanReadField "level" VkCommandBufferAllocateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferAllocateInfo, level})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCommandBufferAllocateInfo, level}--instance {-# OVERLAPPING #-}-         CanWriteField "level" VkCommandBufferAllocateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCommandBufferAllocateInfo, level}--instance {-# OVERLAPPING #-}-         HasField "commandBufferCount" VkCommandBufferAllocateInfo where-        type FieldType "commandBufferCount" VkCommandBufferAllocateInfo =-             Word32-        type FieldOptional "commandBufferCount" VkCommandBufferAllocateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "commandBufferCount" VkCommandBufferAllocateInfo =-             #{offset VkCommandBufferAllocateInfo, commandBufferCount}-        type FieldIsArray "commandBufferCount" VkCommandBufferAllocateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCommandBufferAllocateInfo, commandBufferCount}--instance {-# OVERLAPPING #-}-         CanReadField "commandBufferCount" VkCommandBufferAllocateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferAllocateInfo, commandBufferCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCommandBufferAllocateInfo, commandBufferCount}--instance {-# OVERLAPPING #-}-         CanWriteField "commandBufferCount" VkCommandBufferAllocateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCommandBufferAllocateInfo, commandBufferCount}--instance Show VkCommandBufferAllocateInfo where-        showsPrec d x-          = showString "VkCommandBufferAllocateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "commandPool = " .-                            showsPrec d (getField @"commandPool" x) .-                              showString ", " .-                                showString "level = " .-                                  showsPrec d (getField @"level" x) .-                                    showString ", " .-                                      showString "commandBufferCount = " .-                                        showsPrec d (getField @"commandBufferCount" x) .-                                          showChar '}'---- | > typedef struct VkCommandBufferBeginInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkCommandBufferUsageFlags  flags;---   >     const VkCommandBufferInheritanceInfo*       pInheritanceInfo;---   > } VkCommandBufferBeginInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkCommandBufferBeginInfo VkCommandBufferBeginInfo registry at www.khronos.org>-type VkCommandBufferBeginInfo =-     VulkanStruct VkCommandBufferBeginInfo' -- ' closing tick for hsc2hs--data VkCommandBufferBeginInfo' -- ' closing tick for hsc2hs--instance Eq VkCommandBufferBeginInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkCommandBufferBeginInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkCommandBufferBeginInfo where-        sizeOf ~_ = #{size VkCommandBufferBeginInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkCommandBufferBeginInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkCommandBufferBeginInfo where-        type StructFields VkCommandBufferBeginInfo =-             '["sType", "pNext", "flags", "pInheritanceInfo"] -- ' closing tick for hsc2hs-        type CUnionType VkCommandBufferBeginInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkCommandBufferBeginInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkCommandBufferBeginInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkCommandBufferBeginInfo where-        type FieldType "sType" VkCommandBufferBeginInfo = VkStructureType-        type FieldOptional "sType" VkCommandBufferBeginInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkCommandBufferBeginInfo =-             #{offset VkCommandBufferBeginInfo, sType}-        type FieldIsArray "sType" VkCommandBufferBeginInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkCommandBufferBeginInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkCommandBufferBeginInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferBeginInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCommandBufferBeginInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkCommandBufferBeginInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCommandBufferBeginInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkCommandBufferBeginInfo where-        type FieldType "pNext" VkCommandBufferBeginInfo = Ptr Void-        type FieldOptional "pNext" VkCommandBufferBeginInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkCommandBufferBeginInfo =-             #{offset VkCommandBufferBeginInfo, pNext}-        type FieldIsArray "pNext" VkCommandBufferBeginInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkCommandBufferBeginInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkCommandBufferBeginInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferBeginInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCommandBufferBeginInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkCommandBufferBeginInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCommandBufferBeginInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkCommandBufferBeginInfo where-        type FieldType "flags" VkCommandBufferBeginInfo =-             VkCommandBufferUsageFlags-        type FieldOptional "flags" VkCommandBufferBeginInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkCommandBufferBeginInfo =-             #{offset VkCommandBufferBeginInfo, flags}-        type FieldIsArray "flags" VkCommandBufferBeginInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkCommandBufferBeginInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkCommandBufferBeginInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferBeginInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCommandBufferBeginInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkCommandBufferBeginInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCommandBufferBeginInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "pInheritanceInfo" VkCommandBufferBeginInfo where-        type FieldType "pInheritanceInfo" VkCommandBufferBeginInfo =-             Ptr VkCommandBufferInheritanceInfo-        type FieldOptional "pInheritanceInfo" VkCommandBufferBeginInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "pInheritanceInfo" VkCommandBufferBeginInfo =-             #{offset VkCommandBufferBeginInfo, pInheritanceInfo}-        type FieldIsArray "pInheritanceInfo" VkCommandBufferBeginInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCommandBufferBeginInfo, pInheritanceInfo}--instance {-# OVERLAPPING #-}-         CanReadField "pInheritanceInfo" VkCommandBufferBeginInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferBeginInfo, pInheritanceInfo})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCommandBufferBeginInfo, pInheritanceInfo}--instance {-# OVERLAPPING #-}-         CanWriteField "pInheritanceInfo" VkCommandBufferBeginInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCommandBufferBeginInfo, pInheritanceInfo}--instance Show VkCommandBufferBeginInfo where-        showsPrec d x-          = showString "VkCommandBufferBeginInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "pInheritanceInfo = " .-                                  showsPrec d (getField @"pInheritanceInfo" x) . showChar '}'---- | > typedef struct VkCommandBufferInheritanceInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkRenderPass    renderPass;---   >     uint32_t               subpass;---   >     VkFramebuffer   framebuffer;---   >     VkBool32               occlusionQueryEnable;---   >     VkQueryControlFlags    queryFlags;---   >     VkQueryPipelineStatisticFlags pipelineStatistics;---   > } VkCommandBufferInheritanceInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkCommandBufferInheritanceInfo VkCommandBufferInheritanceInfo registry at www.khronos.org>-type VkCommandBufferInheritanceInfo =-     VulkanStruct VkCommandBufferInheritanceInfo' -- ' closing tick for hsc2hs--data VkCommandBufferInheritanceInfo' -- ' closing tick for hsc2hs--instance Eq VkCommandBufferInheritanceInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkCommandBufferInheritanceInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkCommandBufferInheritanceInfo where-        sizeOf ~_ = #{size VkCommandBufferInheritanceInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkCommandBufferInheritanceInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkCommandBufferInheritanceInfo where-        type StructFields VkCommandBufferInheritanceInfo =-             '["sType", "pNext", "renderPass", "subpass", "framebuffer", -- ' closing tick for hsc2hs-               "occlusionQueryEnable", "queryFlags", "pipelineStatistics"]-        type CUnionType VkCommandBufferInheritanceInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkCommandBufferInheritanceInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkCommandBufferInheritanceInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkCommandBufferInheritanceInfo where-        type FieldType "sType" VkCommandBufferInheritanceInfo =-             VkStructureType-        type FieldOptional "sType" VkCommandBufferInheritanceInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkCommandBufferInheritanceInfo =-             #{offset VkCommandBufferInheritanceInfo, sType}-        type FieldIsArray "sType" VkCommandBufferInheritanceInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCommandBufferInheritanceInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkCommandBufferInheritanceInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkCommandBufferInheritanceInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkCommandBufferInheritanceInfo where-        type FieldType "pNext" VkCommandBufferInheritanceInfo = Ptr Void-        type FieldOptional "pNext" VkCommandBufferInheritanceInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkCommandBufferInheritanceInfo =-             #{offset VkCommandBufferInheritanceInfo, pNext}-        type FieldIsArray "pNext" VkCommandBufferInheritanceInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCommandBufferInheritanceInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkCommandBufferInheritanceInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkCommandBufferInheritanceInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "renderPass" VkCommandBufferInheritanceInfo where-        type FieldType "renderPass" VkCommandBufferInheritanceInfo =-             VkRenderPass-        type FieldOptional "renderPass" VkCommandBufferInheritanceInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "renderPass" VkCommandBufferInheritanceInfo =-             #{offset VkCommandBufferInheritanceInfo, renderPass}-        type FieldIsArray "renderPass" VkCommandBufferInheritanceInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCommandBufferInheritanceInfo, renderPass}--instance {-# OVERLAPPING #-}-         CanReadField "renderPass" VkCommandBufferInheritanceInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, renderPass})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, renderPass}--instance {-# OVERLAPPING #-}-         CanWriteField "renderPass" VkCommandBufferInheritanceInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, renderPass}--instance {-# OVERLAPPING #-}-         HasField "subpass" VkCommandBufferInheritanceInfo where-        type FieldType "subpass" VkCommandBufferInheritanceInfo = Word32-        type FieldOptional "subpass" VkCommandBufferInheritanceInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "subpass" VkCommandBufferInheritanceInfo =-             #{offset VkCommandBufferInheritanceInfo, subpass}-        type FieldIsArray "subpass" VkCommandBufferInheritanceInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCommandBufferInheritanceInfo, subpass}--instance {-# OVERLAPPING #-}-         CanReadField "subpass" VkCommandBufferInheritanceInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, subpass})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, subpass}--instance {-# OVERLAPPING #-}-         CanWriteField "subpass" VkCommandBufferInheritanceInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, subpass}--instance {-# OVERLAPPING #-}-         HasField "framebuffer" VkCommandBufferInheritanceInfo where-        type FieldType "framebuffer" VkCommandBufferInheritanceInfo =-             VkFramebuffer-        type FieldOptional "framebuffer" VkCommandBufferInheritanceInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "framebuffer" VkCommandBufferInheritanceInfo =-             #{offset VkCommandBufferInheritanceInfo, framebuffer}-        type FieldIsArray "framebuffer" VkCommandBufferInheritanceInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCommandBufferInheritanceInfo, framebuffer}--instance {-# OVERLAPPING #-}-         CanReadField "framebuffer" VkCommandBufferInheritanceInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, framebuffer})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, framebuffer}--instance {-# OVERLAPPING #-}-         CanWriteField "framebuffer" VkCommandBufferInheritanceInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, framebuffer}--instance {-# OVERLAPPING #-}-         HasField "occlusionQueryEnable" VkCommandBufferInheritanceInfo-         where-        type FieldType "occlusionQueryEnable"-               VkCommandBufferInheritanceInfo-             = VkBool32-        type FieldOptional "occlusionQueryEnable"-               VkCommandBufferInheritanceInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "occlusionQueryEnable"-               VkCommandBufferInheritanceInfo-             =-             #{offset VkCommandBufferInheritanceInfo, occlusionQueryEnable}-        type FieldIsArray "occlusionQueryEnable"-               VkCommandBufferInheritanceInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCommandBufferInheritanceInfo, occlusionQueryEnable}--instance {-# OVERLAPPING #-}-         CanReadField "occlusionQueryEnable" VkCommandBufferInheritanceInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, occlusionQueryEnable})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, occlusionQueryEnable}--instance {-# OVERLAPPING #-}-         CanWriteField "occlusionQueryEnable" VkCommandBufferInheritanceInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, occlusionQueryEnable}--instance {-# OVERLAPPING #-}-         HasField "queryFlags" VkCommandBufferInheritanceInfo where-        type FieldType "queryFlags" VkCommandBufferInheritanceInfo =-             VkQueryControlFlags-        type FieldOptional "queryFlags" VkCommandBufferInheritanceInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "queryFlags" VkCommandBufferInheritanceInfo =-             #{offset VkCommandBufferInheritanceInfo, queryFlags}-        type FieldIsArray "queryFlags" VkCommandBufferInheritanceInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCommandBufferInheritanceInfo, queryFlags}--instance {-# OVERLAPPING #-}-         CanReadField "queryFlags" VkCommandBufferInheritanceInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, queryFlags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, queryFlags}--instance {-# OVERLAPPING #-}-         CanWriteField "queryFlags" VkCommandBufferInheritanceInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, queryFlags}--instance {-# OVERLAPPING #-}-         HasField "pipelineStatistics" VkCommandBufferInheritanceInfo where-        type FieldType "pipelineStatistics" VkCommandBufferInheritanceInfo-             = VkQueryPipelineStatisticFlags-        type FieldOptional "pipelineStatistics"-               VkCommandBufferInheritanceInfo-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pipelineStatistics"-               VkCommandBufferInheritanceInfo-             =-             #{offset VkCommandBufferInheritanceInfo, pipelineStatistics}-        type FieldIsArray "pipelineStatistics"-               VkCommandBufferInheritanceInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCommandBufferInheritanceInfo, pipelineStatistics}--instance {-# OVERLAPPING #-}-         CanReadField "pipelineStatistics" VkCommandBufferInheritanceInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, pipelineStatistics})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, pipelineStatistics}--instance {-# OVERLAPPING #-}-         CanWriteField "pipelineStatistics" VkCommandBufferInheritanceInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, pipelineStatistics}--instance Show VkCommandBufferInheritanceInfo where-        showsPrec d x-          = showString "VkCommandBufferInheritanceInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "renderPass = " .-                            showsPrec d (getField @"renderPass" x) .-                              showString ", " .-                                showString "subpass = " .-                                  showsPrec d (getField @"subpass" x) .-                                    showString ", " .-                                      showString "framebuffer = " .-                                        showsPrec d (getField @"framebuffer" x) .-                                          showString ", " .-                                            showString "occlusionQueryEnable = " .-                                              showsPrec d (getField @"occlusionQueryEnable" x) .-                                                showString ", " .-                                                  showString "queryFlags = " .-                                                    showsPrec d (getField @"queryFlags" x) .-                                                      showString ", " .-                                                        showString "pipelineStatistics = " .-                                                          showsPrec d-                                                            (getField @"pipelineStatistics" x)-                                                            . showChar '}'---- | > typedef struct VkCommandPoolCreateInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkCommandPoolCreateFlags   flags;---   >     uint32_t               queueFamilyIndex;---   > } VkCommandPoolCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkCommandPoolCreateInfo VkCommandPoolCreateInfo registry at www.khronos.org>-type VkCommandPoolCreateInfo =-     VulkanStruct VkCommandPoolCreateInfo' -- ' closing tick for hsc2hs--data VkCommandPoolCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkCommandPoolCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkCommandPoolCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkCommandPoolCreateInfo where-        sizeOf ~_ = #{size VkCommandPoolCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkCommandPoolCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkCommandPoolCreateInfo where-        type StructFields VkCommandPoolCreateInfo =-             '["sType", "pNext", "flags", "queueFamilyIndex"] -- ' closing tick for hsc2hs-        type CUnionType VkCommandPoolCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkCommandPoolCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkCommandPoolCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkCommandPoolCreateInfo where-        type FieldType "sType" VkCommandPoolCreateInfo = VkStructureType-        type FieldOptional "sType" VkCommandPoolCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkCommandPoolCreateInfo =-             #{offset VkCommandPoolCreateInfo, sType}-        type FieldIsArray "sType" VkCommandPoolCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkCommandPoolCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkCommandPoolCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandPoolCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCommandPoolCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkCommandPoolCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCommandPoolCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkCommandPoolCreateInfo where-        type FieldType "pNext" VkCommandPoolCreateInfo = Ptr Void-        type FieldOptional "pNext" VkCommandPoolCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkCommandPoolCreateInfo =-             #{offset VkCommandPoolCreateInfo, pNext}-        type FieldIsArray "pNext" VkCommandPoolCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkCommandPoolCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkCommandPoolCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandPoolCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCommandPoolCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkCommandPoolCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCommandPoolCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkCommandPoolCreateInfo where-        type FieldType "flags" VkCommandPoolCreateInfo =-             VkCommandPoolCreateFlags-        type FieldOptional "flags" VkCommandPoolCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkCommandPoolCreateInfo =-             #{offset VkCommandPoolCreateInfo, flags}-        type FieldIsArray "flags" VkCommandPoolCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkCommandPoolCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkCommandPoolCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandPoolCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCommandPoolCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkCommandPoolCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCommandPoolCreateInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "queueFamilyIndex" VkCommandPoolCreateInfo where-        type FieldType "queueFamilyIndex" VkCommandPoolCreateInfo = Word32-        type FieldOptional "queueFamilyIndex" VkCommandPoolCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "queueFamilyIndex" VkCommandPoolCreateInfo =-             #{offset VkCommandPoolCreateInfo, queueFamilyIndex}-        type FieldIsArray "queueFamilyIndex" VkCommandPoolCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCommandPoolCreateInfo, queueFamilyIndex}--instance {-# OVERLAPPING #-}-         CanReadField "queueFamilyIndex" VkCommandPoolCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandPoolCreateInfo, queueFamilyIndex})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCommandPoolCreateInfo, queueFamilyIndex}--instance {-# OVERLAPPING #-}-         CanWriteField "queueFamilyIndex" VkCommandPoolCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCommandPoolCreateInfo, queueFamilyIndex}--instance Show VkCommandPoolCreateInfo where-        showsPrec d x-          = showString "VkCommandPoolCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "queueFamilyIndex = " .-                                  showsPrec d (getField @"queueFamilyIndex" x) . showChar '}'+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.Command+       (VkCommandBufferAllocateInfo, VkCommandBufferBeginInfo,+        VkCommandBufferInheritanceInfo, VkCommandPoolCreateInfo)+       where+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes          (VkBool32)+import Graphics.Vulkan.Types.Enum.Command       (VkCommandBufferLevel,+                                                 VkCommandBufferUsageFlags,+                                                 VkCommandPoolCreateFlags)+import Graphics.Vulkan.Types.Enum.Query         (VkQueryControlFlags,+                                                 VkQueryPipelineStatisticFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles            (VkCommandPool, VkFramebuffer,+                                                 VkRenderPass)++-- | > typedef struct VkCommandBufferAllocateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkCommandPool          commandPool;+--   >     VkCommandBufferLevel   level;+--   >     uint32_t               commandBufferCount;+--   > } VkCommandBufferAllocateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkCommandBufferAllocateInfo VkCommandBufferAllocateInfo registry at www.khronos.org>+type VkCommandBufferAllocateInfo =+     VkStruct VkCommandBufferAllocateInfo' -- ' closing tick for hsc2hs++data VkCommandBufferAllocateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkCommandBufferAllocateInfo where+    type StructRep VkCommandBufferAllocateInfo =+         'StructMeta "VkCommandBufferAllocateInfo" -- ' closing tick for hsc2hs+           VkCommandBufferAllocateInfo+           #{size VkCommandBufferAllocateInfo}+           #{alignment VkCommandBufferAllocateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkCommandBufferAllocateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkCommandBufferAllocateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "commandPool" VkCommandPool 'False +                                                            #{offset VkCommandBufferAllocateInfo, commandPool}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "level" VkCommandBufferLevel 'False +                                                             #{offset VkCommandBufferAllocateInfo, level}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "commandBufferCount" Word32 'False +                                                            #{offset VkCommandBufferAllocateInfo, commandBufferCount}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkCommandBufferBeginInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkCommandBufferUsageFlags  flags;+--   >     const VkCommandBufferInheritanceInfo*       pInheritanceInfo;+--   > } VkCommandBufferBeginInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkCommandBufferBeginInfo VkCommandBufferBeginInfo registry at www.khronos.org>+type VkCommandBufferBeginInfo = VkStruct VkCommandBufferBeginInfo' -- ' closing tick for hsc2hs++data VkCommandBufferBeginInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkCommandBufferBeginInfo where+    type StructRep VkCommandBufferBeginInfo =+         'StructMeta "VkCommandBufferBeginInfo" VkCommandBufferBeginInfo -- ' closing tick for hsc2hs+           #{size VkCommandBufferBeginInfo}+           #{alignment VkCommandBufferBeginInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkCommandBufferBeginInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkCommandBufferBeginInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkCommandBufferUsageFlags 'True +                                                                 #{offset VkCommandBufferBeginInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pInheritanceInfo" (Ptr VkCommandBufferInheritanceInfo) -- ' closing tick for hsc2hs+                'True -- ' closing tick for hsc2hs+                #{offset VkCommandBufferBeginInfo, pInheritanceInfo}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkCommandBufferInheritanceInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkRenderPass    renderPass;+--   >     uint32_t               subpass;+--   >     VkFramebuffer   framebuffer;+--   >     VkBool32               occlusionQueryEnable;+--   >     VkQueryControlFlags    queryFlags;+--   >     VkQueryPipelineStatisticFlags pipelineStatistics;+--   > } VkCommandBufferInheritanceInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkCommandBufferInheritanceInfo VkCommandBufferInheritanceInfo registry at www.khronos.org>+type VkCommandBufferInheritanceInfo =+     VkStruct VkCommandBufferInheritanceInfo' -- ' closing tick for hsc2hs++data VkCommandBufferInheritanceInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkCommandBufferInheritanceInfo where+    type StructRep VkCommandBufferInheritanceInfo =+         'StructMeta "VkCommandBufferInheritanceInfo" -- ' closing tick for hsc2hs+           VkCommandBufferInheritanceInfo+           #{size VkCommandBufferInheritanceInfo}+           #{alignment VkCommandBufferInheritanceInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkCommandBufferInheritanceInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkCommandBufferInheritanceInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "renderPass" VkRenderPass 'True +                                                         #{offset VkCommandBufferInheritanceInfo, renderPass}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "subpass" Word32 'False +                                                 #{offset VkCommandBufferInheritanceInfo, subpass}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "framebuffer" VkFramebuffer 'True +                                                           #{offset VkCommandBufferInheritanceInfo, framebuffer}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "occlusionQueryEnable" VkBool32 'False +                                                                #{offset VkCommandBufferInheritanceInfo, occlusionQueryEnable}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "queryFlags" VkQueryControlFlags 'True +                                                                #{offset VkCommandBufferInheritanceInfo, queryFlags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pipelineStatistics" VkQueryPipelineStatisticFlags -- ' closing tick for hsc2hs+                'True -- ' closing tick for hsc2hs+                #{offset VkCommandBufferInheritanceInfo, pipelineStatistics}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkCommandPoolCreateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkCommandPoolCreateFlags   flags;+--   >     uint32_t               queueFamilyIndex;+--   > } VkCommandPoolCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkCommandPoolCreateInfo VkCommandPoolCreateInfo registry at www.khronos.org>+type VkCommandPoolCreateInfo = VkStruct VkCommandPoolCreateInfo' -- ' closing tick for hsc2hs++data VkCommandPoolCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkCommandPoolCreateInfo where+    type StructRep VkCommandPoolCreateInfo =+         'StructMeta "VkCommandPoolCreateInfo" VkCommandPoolCreateInfo -- ' closing tick for hsc2hs+           #{size VkCommandPoolCreateInfo}+           #{alignment VkCommandPoolCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkCommandPoolCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkCommandPoolCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkCommandPoolCreateFlags 'True +                                                                #{offset VkCommandPoolCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "queueFamilyIndex" Word32 'False +                                                          #{offset VkCommandPoolCreateInfo, queueFamilyIndex}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/ComponentMapping.hsc view
@@ -2,18 +2,14 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.ComponentMapping-       (VkComponentMapping, VkComponentMapping') where -- ' closing tick for hsc2hs-import Foreign.Storable                            (Storable (..))+       (VkComponentMapping) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.ComponentSwizzle (VkComponentSwizzle)-import System.IO.Unsafe                            (unsafeDupablePerformIO)  -- | > typedef struct VkComponentMapping { --   >     VkComponentSwizzle r;@@ -23,170 +19,35 @@ --   > } VkComponentMapping; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkComponentMapping VkComponentMapping registry at www.khronos.org>-type VkComponentMapping = VulkanStruct VkComponentMapping' -- ' closing tick for hsc2hs+type VkComponentMapping = VkStruct VkComponentMapping' -- ' closing tick for hsc2hs  data VkComponentMapping' -- ' closing tick for hsc2hs -instance Eq VkComponentMapping where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkComponentMapping where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkComponentMapping where-        sizeOf ~_ = #{size VkComponentMapping}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkComponentMapping}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkComponentMapping where-        type StructFields VkComponentMapping = '["r", "g", "b", "a"] -- ' closing tick for hsc2hs-        type CUnionType VkComponentMapping = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkComponentMapping = 'False -- ' closing tick for hsc2hs-        type StructExtends VkComponentMapping = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "r" VkComponentMapping where-        type FieldType "r" VkComponentMapping = VkComponentSwizzle-        type FieldOptional "r" VkComponentMapping = 'False -- ' closing tick for hsc2hs-        type FieldOffset "r" VkComponentMapping =-             #{offset VkComponentMapping, r}-        type FieldIsArray "r" VkComponentMapping = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkComponentMapping, r}--instance {-# OVERLAPPING #-} CanReadField "r" VkComponentMapping-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkComponentMapping, r})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkComponentMapping, r}--instance {-# OVERLAPPING #-} CanWriteField "r" VkComponentMapping-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkComponentMapping, r}--instance {-# OVERLAPPING #-} HasField "g" VkComponentMapping where-        type FieldType "g" VkComponentMapping = VkComponentSwizzle-        type FieldOptional "g" VkComponentMapping = 'False -- ' closing tick for hsc2hs-        type FieldOffset "g" VkComponentMapping =-             #{offset VkComponentMapping, g}-        type FieldIsArray "g" VkComponentMapping = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkComponentMapping, g}--instance {-# OVERLAPPING #-} CanReadField "g" VkComponentMapping-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkComponentMapping, g})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkComponentMapping, g}--instance {-# OVERLAPPING #-} CanWriteField "g" VkComponentMapping-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkComponentMapping, g}--instance {-# OVERLAPPING #-} HasField "b" VkComponentMapping where-        type FieldType "b" VkComponentMapping = VkComponentSwizzle-        type FieldOptional "b" VkComponentMapping = 'False -- ' closing tick for hsc2hs-        type FieldOffset "b" VkComponentMapping =-             #{offset VkComponentMapping, b}-        type FieldIsArray "b" VkComponentMapping = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkComponentMapping, b}--instance {-# OVERLAPPING #-} CanReadField "b" VkComponentMapping-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkComponentMapping, b})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkComponentMapping, b}--instance {-# OVERLAPPING #-} CanWriteField "b" VkComponentMapping-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkComponentMapping, b}--instance {-# OVERLAPPING #-} HasField "a" VkComponentMapping where-        type FieldType "a" VkComponentMapping = VkComponentSwizzle-        type FieldOptional "a" VkComponentMapping = 'False -- ' closing tick for hsc2hs-        type FieldOffset "a" VkComponentMapping =-             #{offset VkComponentMapping, a}-        type FieldIsArray "a" VkComponentMapping = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkComponentMapping, a}--instance {-# OVERLAPPING #-} CanReadField "a" VkComponentMapping-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkComponentMapping, a})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkComponentMapping, a}--instance {-# OVERLAPPING #-} CanWriteField "a" VkComponentMapping-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkComponentMapping, a}--instance Show VkComponentMapping where-        showsPrec d x-          = showString "VkComponentMapping {" .-              showString "r = " .-                showsPrec d (getField @"r" x) .-                  showString ", " .-                    showString "g = " .-                      showsPrec d (getField @"g" x) .-                        showString ", " .-                          showString "b = " .-                            showsPrec d (getField @"b" x) .-                              showString ", " .-                                showString "a = " . showsPrec d (getField @"a" x) . showChar '}'+    type StructRep VkComponentMapping =+         'StructMeta "VkComponentMapping" VkComponentMapping  -- ' closing tick for hsc2hs+                                                             #{size VkComponentMapping}+           #{alignment VkComponentMapping}+           '[('FieldMeta "r" VkComponentSwizzle 'False  -- ' closing tick for hsc2hs+                                                       #{offset VkComponentMapping, r}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "g" VkComponentSwizzle 'False +                                                       #{offset VkComponentMapping, g}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "b" VkComponentSwizzle 'False +                                                       #{offset VkComponentMapping, b}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "a" VkComponentSwizzle 'False +                                                       #{offset VkComponentMapping, a}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc view
@@ -2,21 +2,17 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.ComputePipelineCreateInfo-       (VkComputePipelineCreateInfo, VkComputePipelineCreateInfo') where -- ' closing tick for hsc2hs-import Foreign.Storable                         (Storable (..))+       (VkComputePipelineCreateInfo) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.Pipeline      (VkPipelineCreateFlags) import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType) import Graphics.Vulkan.Types.Handles            (VkPipeline, VkPipelineLayout) import Graphics.Vulkan.Types.Struct.Pipeline    (VkPipelineShaderStageCreateInfo)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkComputePipelineCreateInfo { --   >     VkStructureType sType;@@ -30,298 +26,51 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkComputePipelineCreateInfo VkComputePipelineCreateInfo registry at www.khronos.org> type VkComputePipelineCreateInfo =-     VulkanStruct VkComputePipelineCreateInfo' -- ' closing tick for hsc2hs+     VkStruct VkComputePipelineCreateInfo' -- ' closing tick for hsc2hs  data VkComputePipelineCreateInfo' -- ' closing tick for hsc2hs -instance Eq VkComputePipelineCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkComputePipelineCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkComputePipelineCreateInfo where-        sizeOf ~_ = #{size VkComputePipelineCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkComputePipelineCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkComputePipelineCreateInfo where-        type StructFields VkComputePipelineCreateInfo =-             '["sType", "pNext", "flags", "stage", "layout", -- ' closing tick for hsc2hs-               "basePipelineHandle", "basePipelineIndex"]-        type CUnionType VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkComputePipelineCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkComputePipelineCreateInfo where-        type FieldType "sType" VkComputePipelineCreateInfo =-             VkStructureType-        type FieldOptional "sType" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkComputePipelineCreateInfo =-             #{offset VkComputePipelineCreateInfo, sType}-        type FieldIsArray "sType" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkComputePipelineCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkComputePipelineCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkComputePipelineCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkComputePipelineCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkComputePipelineCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkComputePipelineCreateInfo where-        type FieldType "pNext" VkComputePipelineCreateInfo = Ptr Void-        type FieldOptional "pNext" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkComputePipelineCreateInfo =-             #{offset VkComputePipelineCreateInfo, pNext}-        type FieldIsArray "pNext" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkComputePipelineCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkComputePipelineCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkComputePipelineCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkComputePipelineCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkComputePipelineCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkComputePipelineCreateInfo where-        type FieldType "flags" VkComputePipelineCreateInfo =-             VkPipelineCreateFlags-        type FieldOptional "flags" VkComputePipelineCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkComputePipelineCreateInfo =-             #{offset VkComputePipelineCreateInfo, flags}-        type FieldIsArray "flags" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkComputePipelineCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkComputePipelineCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkComputePipelineCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkComputePipelineCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkComputePipelineCreateInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "stage" VkComputePipelineCreateInfo where-        type FieldType "stage" VkComputePipelineCreateInfo =-             VkPipelineShaderStageCreateInfo-        type FieldOptional "stage" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "stage" VkComputePipelineCreateInfo =-             #{offset VkComputePipelineCreateInfo, stage}-        type FieldIsArray "stage" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkComputePipelineCreateInfo, stage}--instance {-# OVERLAPPING #-}-         CanReadField "stage" VkComputePipelineCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, stage})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkComputePipelineCreateInfo, stage}--instance {-# OVERLAPPING #-}-         CanWriteField "stage" VkComputePipelineCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkComputePipelineCreateInfo, stage}--instance {-# OVERLAPPING #-}-         HasField "layout" VkComputePipelineCreateInfo where-        type FieldType "layout" VkComputePipelineCreateInfo =-             VkPipelineLayout-        type FieldOptional "layout" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "layout" VkComputePipelineCreateInfo =-             #{offset VkComputePipelineCreateInfo, layout}-        type FieldIsArray "layout" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkComputePipelineCreateInfo, layout}--instance {-# OVERLAPPING #-}-         CanReadField "layout" VkComputePipelineCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, layout})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkComputePipelineCreateInfo, layout}--instance {-# OVERLAPPING #-}-         CanWriteField "layout" VkComputePipelineCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkComputePipelineCreateInfo, layout}--instance {-# OVERLAPPING #-}-         HasField "basePipelineHandle" VkComputePipelineCreateInfo where-        type FieldType "basePipelineHandle" VkComputePipelineCreateInfo =-             VkPipeline-        type FieldOptional "basePipelineHandle" VkComputePipelineCreateInfo-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "basePipelineHandle" VkComputePipelineCreateInfo =-             #{offset VkComputePipelineCreateInfo, basePipelineHandle}-        type FieldIsArray "basePipelineHandle" VkComputePipelineCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkComputePipelineCreateInfo, basePipelineHandle}--instance {-# OVERLAPPING #-}-         CanReadField "basePipelineHandle" VkComputePipelineCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, basePipelineHandle})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkComputePipelineCreateInfo, basePipelineHandle}--instance {-# OVERLAPPING #-}-         CanWriteField "basePipelineHandle" VkComputePipelineCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkComputePipelineCreateInfo, basePipelineHandle}--instance {-# OVERLAPPING #-}-         HasField "basePipelineIndex" VkComputePipelineCreateInfo where-        type FieldType "basePipelineIndex" VkComputePipelineCreateInfo =-             Int32-        type FieldOptional "basePipelineIndex" VkComputePipelineCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "basePipelineIndex" VkComputePipelineCreateInfo =-             #{offset VkComputePipelineCreateInfo, basePipelineIndex}-        type FieldIsArray "basePipelineIndex" VkComputePipelineCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkComputePipelineCreateInfo, basePipelineIndex}--instance {-# OVERLAPPING #-}-         CanReadField "basePipelineIndex" VkComputePipelineCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, basePipelineIndex})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkComputePipelineCreateInfo, basePipelineIndex}--instance {-# OVERLAPPING #-}-         CanWriteField "basePipelineIndex" VkComputePipelineCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkComputePipelineCreateInfo, basePipelineIndex}--instance Show VkComputePipelineCreateInfo where-        showsPrec d x-          = showString "VkComputePipelineCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "stage = " .-                                  showsPrec d (getField @"stage" x) .-                                    showString ", " .-                                      showString "layout = " .-                                        showsPrec d (getField @"layout" x) .-                                          showString ", " .-                                            showString "basePipelineHandle = " .-                                              showsPrec d (getField @"basePipelineHandle" x) .-                                                showString ", " .-                                                  showString "basePipelineIndex = " .-                                                    showsPrec d (getField @"basePipelineIndex" x) .-                                                      showChar '}'+    type StructRep VkComputePipelineCreateInfo =+         'StructMeta "VkComputePipelineCreateInfo" -- ' closing tick for hsc2hs+           VkComputePipelineCreateInfo+           #{size VkComputePipelineCreateInfo}+           #{alignment VkComputePipelineCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkComputePipelineCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkComputePipelineCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkPipelineCreateFlags 'True +                                                             #{offset VkComputePipelineCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "stage" VkPipelineShaderStageCreateInfo 'False+                #{offset VkComputePipelineCreateInfo, stage}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "layout" VkPipelineLayout 'False +                                                          #{offset VkComputePipelineCreateInfo, layout}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "basePipelineHandle" VkPipeline 'True +                                                               #{offset VkComputePipelineCreateInfo, basePipelineHandle}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "basePipelineIndex" Int32 'False +                                                          #{offset VkComputePipelineCreateInfo, basePipelineIndex}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/CopyDescriptorSet.hsc view
@@ -2,19 +2,15 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.CopyDescriptorSet-       (VkCopyDescriptorSet, VkCopyDescriptorSet') where -- ' closing tick for hsc2hs-import Foreign.Storable                         (Storable (..))+       (VkCopyDescriptorSet) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType) import Graphics.Vulkan.Types.Handles            (VkDescriptorSet)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkCopyDescriptorSet { --   >     VkStructureType sType;@@ -29,354 +25,60 @@ --   > } VkCopyDescriptorSet; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkCopyDescriptorSet VkCopyDescriptorSet registry at www.khronos.org>-type VkCopyDescriptorSet = VulkanStruct VkCopyDescriptorSet' -- ' closing tick for hsc2hs+type VkCopyDescriptorSet = VkStruct VkCopyDescriptorSet' -- ' closing tick for hsc2hs  data VkCopyDescriptorSet' -- ' closing tick for hsc2hs -instance Eq VkCopyDescriptorSet where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkCopyDescriptorSet where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkCopyDescriptorSet where-        sizeOf ~_ = #{size VkCopyDescriptorSet}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkCopyDescriptorSet}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkCopyDescriptorSet where-        type StructFields VkCopyDescriptorSet =-             '["sType", "pNext", "srcSet", "srcBinding", "srcArrayElement", -- ' closing tick for hsc2hs-               "dstSet", "dstBinding", "dstArrayElement", "descriptorCount"]-        type CUnionType VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs-        type StructExtends VkCopyDescriptorSet = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkCopyDescriptorSet-         where-        type FieldType "sType" VkCopyDescriptorSet = VkStructureType-        type FieldOptional "sType" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkCopyDescriptorSet =-             #{offset VkCopyDescriptorSet, sType}-        type FieldIsArray "sType" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkCopyDescriptorSet, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkCopyDescriptorSet where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCopyDescriptorSet, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkCopyDescriptorSet where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCopyDescriptorSet, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkCopyDescriptorSet-         where-        type FieldType "pNext" VkCopyDescriptorSet = Ptr Void-        type FieldOptional "pNext" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkCopyDescriptorSet =-             #{offset VkCopyDescriptorSet, pNext}-        type FieldIsArray "pNext" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkCopyDescriptorSet, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkCopyDescriptorSet where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCopyDescriptorSet, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkCopyDescriptorSet where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCopyDescriptorSet, pNext}--instance {-# OVERLAPPING #-} HasField "srcSet" VkCopyDescriptorSet-         where-        type FieldType "srcSet" VkCopyDescriptorSet = VkDescriptorSet-        type FieldOptional "srcSet" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs-        type FieldOffset "srcSet" VkCopyDescriptorSet =-             #{offset VkCopyDescriptorSet, srcSet}-        type FieldIsArray "srcSet" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkCopyDescriptorSet, srcSet}--instance {-# OVERLAPPING #-}-         CanReadField "srcSet" VkCopyDescriptorSet where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, srcSet})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCopyDescriptorSet, srcSet}--instance {-# OVERLAPPING #-}-         CanWriteField "srcSet" VkCopyDescriptorSet where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCopyDescriptorSet, srcSet}--instance {-# OVERLAPPING #-}-         HasField "srcBinding" VkCopyDescriptorSet where-        type FieldType "srcBinding" VkCopyDescriptorSet = Word32-        type FieldOptional "srcBinding" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs-        type FieldOffset "srcBinding" VkCopyDescriptorSet =-             #{offset VkCopyDescriptorSet, srcBinding}-        type FieldIsArray "srcBinding" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkCopyDescriptorSet, srcBinding}--instance {-# OVERLAPPING #-}-         CanReadField "srcBinding" VkCopyDescriptorSet where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, srcBinding})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCopyDescriptorSet, srcBinding}--instance {-# OVERLAPPING #-}-         CanWriteField "srcBinding" VkCopyDescriptorSet where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCopyDescriptorSet, srcBinding}--instance {-# OVERLAPPING #-}-         HasField "srcArrayElement" VkCopyDescriptorSet where-        type FieldType "srcArrayElement" VkCopyDescriptorSet = Word32-        type FieldOptional "srcArrayElement" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs-        type FieldOffset "srcArrayElement" VkCopyDescriptorSet =-             #{offset VkCopyDescriptorSet, srcArrayElement}-        type FieldIsArray "srcArrayElement" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCopyDescriptorSet, srcArrayElement}--instance {-# OVERLAPPING #-}-         CanReadField "srcArrayElement" VkCopyDescriptorSet where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, srcArrayElement})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCopyDescriptorSet, srcArrayElement}--instance {-# OVERLAPPING #-}-         CanWriteField "srcArrayElement" VkCopyDescriptorSet where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCopyDescriptorSet, srcArrayElement}--instance {-# OVERLAPPING #-} HasField "dstSet" VkCopyDescriptorSet-         where-        type FieldType "dstSet" VkCopyDescriptorSet = VkDescriptorSet-        type FieldOptional "dstSet" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dstSet" VkCopyDescriptorSet =-             #{offset VkCopyDescriptorSet, dstSet}-        type FieldIsArray "dstSet" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkCopyDescriptorSet, dstSet}--instance {-# OVERLAPPING #-}-         CanReadField "dstSet" VkCopyDescriptorSet where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, dstSet})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCopyDescriptorSet, dstSet}--instance {-# OVERLAPPING #-}-         CanWriteField "dstSet" VkCopyDescriptorSet where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCopyDescriptorSet, dstSet}--instance {-# OVERLAPPING #-}-         HasField "dstBinding" VkCopyDescriptorSet where-        type FieldType "dstBinding" VkCopyDescriptorSet = Word32-        type FieldOptional "dstBinding" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dstBinding" VkCopyDescriptorSet =-             #{offset VkCopyDescriptorSet, dstBinding}-        type FieldIsArray "dstBinding" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkCopyDescriptorSet, dstBinding}--instance {-# OVERLAPPING #-}-         CanReadField "dstBinding" VkCopyDescriptorSet where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, dstBinding})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCopyDescriptorSet, dstBinding}--instance {-# OVERLAPPING #-}-         CanWriteField "dstBinding" VkCopyDescriptorSet where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCopyDescriptorSet, dstBinding}--instance {-# OVERLAPPING #-}-         HasField "dstArrayElement" VkCopyDescriptorSet where-        type FieldType "dstArrayElement" VkCopyDescriptorSet = Word32-        type FieldOptional "dstArrayElement" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dstArrayElement" VkCopyDescriptorSet =-             #{offset VkCopyDescriptorSet, dstArrayElement}-        type FieldIsArray "dstArrayElement" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCopyDescriptorSet, dstArrayElement}--instance {-# OVERLAPPING #-}-         CanReadField "dstArrayElement" VkCopyDescriptorSet where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, dstArrayElement})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCopyDescriptorSet, dstArrayElement}--instance {-# OVERLAPPING #-}-         CanWriteField "dstArrayElement" VkCopyDescriptorSet where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCopyDescriptorSet, dstArrayElement}--instance {-# OVERLAPPING #-}-         HasField "descriptorCount" VkCopyDescriptorSet where-        type FieldType "descriptorCount" VkCopyDescriptorSet = Word32-        type FieldOptional "descriptorCount" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs-        type FieldOffset "descriptorCount" VkCopyDescriptorSet =-             #{offset VkCopyDescriptorSet, descriptorCount}-        type FieldIsArray "descriptorCount" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkCopyDescriptorSet, descriptorCount}--instance {-# OVERLAPPING #-}-         CanReadField "descriptorCount" VkCopyDescriptorSet where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, descriptorCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkCopyDescriptorSet, descriptorCount}--instance {-# OVERLAPPING #-}-         CanWriteField "descriptorCount" VkCopyDescriptorSet where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkCopyDescriptorSet, descriptorCount}--instance Show VkCopyDescriptorSet where-        showsPrec d x-          = showString "VkCopyDescriptorSet {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "srcSet = " .-                            showsPrec d (getField @"srcSet" x) .-                              showString ", " .-                                showString "srcBinding = " .-                                  showsPrec d (getField @"srcBinding" x) .-                                    showString ", " .-                                      showString "srcArrayElement = " .-                                        showsPrec d (getField @"srcArrayElement" x) .-                                          showString ", " .-                                            showString "dstSet = " .-                                              showsPrec d (getField @"dstSet" x) .-                                                showString ", " .-                                                  showString "dstBinding = " .-                                                    showsPrec d (getField @"dstBinding" x) .-                                                      showString ", " .-                                                        showString "dstArrayElement = " .-                                                          showsPrec d-                                                            (getField @"dstArrayElement" x)-                                                            .-                                                            showString ", " .-                                                              showString "descriptorCount = " .-                                                                showsPrec d-                                                                  (getField @"descriptorCount" x)-                                                                  . showChar '}'+    type StructRep VkCopyDescriptorSet =+         'StructMeta "VkCopyDescriptorSet" VkCopyDescriptorSet  -- ' closing tick for hsc2hs+                                                               #{size VkCopyDescriptorSet}+           #{alignment VkCopyDescriptorSet}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkCopyDescriptorSet, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkCopyDescriptorSet, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "srcSet" VkDescriptorSet 'False +                                                         #{offset VkCopyDescriptorSet, srcSet}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "srcBinding" Word32 'False +                                                    #{offset VkCopyDescriptorSet, srcBinding}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "srcArrayElement" Word32 'False +                                                         #{offset VkCopyDescriptorSet, srcArrayElement}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dstSet" VkDescriptorSet 'False +                                                         #{offset VkCopyDescriptorSet, dstSet}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dstBinding" Word32 'False +                                                    #{offset VkCopyDescriptorSet, dstBinding}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dstArrayElement" Word32 'False +                                                         #{offset VkCopyDescriptorSet, dstArrayElement}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "descriptorCount" Word32 'False +                                                         #{offset VkCopyDescriptorSet, descriptorCount}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/Debug.hsc view
@@ -1,1319 +1,283 @@ #include "vulkan/vulkan.h"  {-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleContexts      #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE PatternSynonyms       #-}-{-# LANGUAGE ScopedTypeVariables   #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-}-{-# LANGUAGE TypeFamilies          #-}-{-# LANGUAGE UndecidableInstances  #-}-module Graphics.Vulkan.Types.Struct.Debug-       (VkDebugMarkerMarkerInfoEXT, VkDebugMarkerMarkerInfoEXT', -- ' closing tick for hsc2hs-        VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectNameInfoEXT', -- ' closing tick for hsc2hs-        VkDebugMarkerObjectTagInfoEXT, VkDebugMarkerObjectTagInfoEXT', -- ' closing tick for hsc2hs-        VkDebugReportCallbackCreateInfoEXT,-        VkDebugReportCallbackCreateInfoEXT', VkDebugUtilsObjectTagInfoEXT, -- ' closing tick for hsc2hs-        VkDebugUtilsObjectTagInfoEXT') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                                (Storable (..))-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Internal-import Graphics.Vulkan.Types.Enum.Debug                (VkDebugReportFlagsEXT, VkDebugReportObjectTypeEXT)-import Graphics.Vulkan.Types.Enum.Object               (VkObjectType)-import Graphics.Vulkan.Types.Enum.StructureType        (VkStructureType)-import Graphics.Vulkan.Types.Funcpointers              (PFN_vkDebugReportCallbackEXT)-import Graphics.Vulkan.Types.Struct.InstanceCreateInfo (VkInstanceCreateInfo)-import System.IO.Unsafe                                (unsafeDupablePerformIO)---- | > typedef struct VkDebugMarkerMarkerInfoEXT {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     const char* pMarkerName;---   >     float            color[4];---   > } VkDebugMarkerMarkerInfoEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDebugMarkerMarkerInfoEXT VkDebugMarkerMarkerInfoEXT registry at www.khronos.org>-type VkDebugMarkerMarkerInfoEXT =-     VulkanStruct VkDebugMarkerMarkerInfoEXT' -- ' closing tick for hsc2hs--data VkDebugMarkerMarkerInfoEXT' -- ' closing tick for hsc2hs--instance Eq VkDebugMarkerMarkerInfoEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDebugMarkerMarkerInfoEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDebugMarkerMarkerInfoEXT where-        sizeOf ~_ = #{size VkDebugMarkerMarkerInfoEXT}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDebugMarkerMarkerInfoEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDebugMarkerMarkerInfoEXT where-        type StructFields VkDebugMarkerMarkerInfoEXT =-             '["sType", "pNext", "pMarkerName", "color"] -- ' closing tick for hsc2hs-        type CUnionType VkDebugMarkerMarkerInfoEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDebugMarkerMarkerInfoEXT = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDebugMarkerMarkerInfoEXT = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDebugMarkerMarkerInfoEXT where-        type FieldType "sType" VkDebugMarkerMarkerInfoEXT = VkStructureType-        type FieldOptional "sType" VkDebugMarkerMarkerInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDebugMarkerMarkerInfoEXT =-             #{offset VkDebugMarkerMarkerInfoEXT, sType}-        type FieldIsArray "sType" VkDebugMarkerMarkerInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugMarkerMarkerInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDebugMarkerMarkerInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerMarkerInfoEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugMarkerMarkerInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDebugMarkerMarkerInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugMarkerMarkerInfoEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDebugMarkerMarkerInfoEXT where-        type FieldType "pNext" VkDebugMarkerMarkerInfoEXT = Ptr Void-        type FieldOptional "pNext" VkDebugMarkerMarkerInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDebugMarkerMarkerInfoEXT =-             #{offset VkDebugMarkerMarkerInfoEXT, pNext}-        type FieldIsArray "pNext" VkDebugMarkerMarkerInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugMarkerMarkerInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDebugMarkerMarkerInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerMarkerInfoEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugMarkerMarkerInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDebugMarkerMarkerInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugMarkerMarkerInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "pMarkerName" VkDebugMarkerMarkerInfoEXT where-        type FieldType "pMarkerName" VkDebugMarkerMarkerInfoEXT = CString-        type FieldOptional "pMarkerName" VkDebugMarkerMarkerInfoEXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pMarkerName" VkDebugMarkerMarkerInfoEXT =-             #{offset VkDebugMarkerMarkerInfoEXT, pMarkerName}-        type FieldIsArray "pMarkerName" VkDebugMarkerMarkerInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugMarkerMarkerInfoEXT, pMarkerName}--instance {-# OVERLAPPING #-}-         CanReadField "pMarkerName" VkDebugMarkerMarkerInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerMarkerInfoEXT, pMarkerName})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugMarkerMarkerInfoEXT, pMarkerName}--instance {-# OVERLAPPING #-}-         CanWriteField "pMarkerName" VkDebugMarkerMarkerInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugMarkerMarkerInfoEXT, pMarkerName}--instance {-# OVERLAPPING #-}-         HasField "color" VkDebugMarkerMarkerInfoEXT where-        type FieldType "color" VkDebugMarkerMarkerInfoEXT =-             #{type float}-        type FieldOptional "color" VkDebugMarkerMarkerInfoEXT = 'True -- ' closing tick for hsc2hs-        type FieldOffset "color" VkDebugMarkerMarkerInfoEXT =-             #{offset VkDebugMarkerMarkerInfoEXT, color}-        type FieldIsArray "color" VkDebugMarkerMarkerInfoEXT = 'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugMarkerMarkerInfoEXT, color}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "color" VkDebugMarkerMarkerInfoEXT where-        type FieldArrayLength "color" VkDebugMarkerMarkerInfoEXT = 4--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = 4--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkDebugMarkerMarkerInfoEXT, color} +-                      sizeOf (undefined :: #{type float}) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkDebugMarkerMarkerInfoEXT, color} +-                 sizeOf (undefined :: #{type float}) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "color" VkDebugMarkerMarkerInfoEXT where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkDebugMarkerMarkerInfoEXT, color} +-                 sizeOf (undefined :: #{type float}) * i)--instance Show VkDebugMarkerMarkerInfoEXT where-        showsPrec d x-          = showString "VkDebugMarkerMarkerInfoEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "pMarkerName = " .-                            showsPrec d (getField @"pMarkerName" x) .-                              showString ", " .-                                (showString "color = [" .-                                   showsPrec d-                                     (let s = sizeOf-                                                (undefined ::-                                                   FieldType "color" VkDebugMarkerMarkerInfoEXT)-                                          o = fieldOffset @"color" @VkDebugMarkerMarkerInfoEXT-                                          f i-                                            = peekByteOff (unsafePtr x) i ::-                                                IO (FieldType "color" VkDebugMarkerMarkerInfoEXT)-                                        in-                                        unsafeDupablePerformIO . mapM f $-                                          map (\ i -> o + i * s) [0 .. 4 - 1])-                                     . showChar ']')-                                  . showChar '}'---- | > typedef struct VkDebugMarkerObjectNameInfoEXT {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkDebugReportObjectTypeEXT       objectType;---   >     uint64_t                         object;---   >     const char* pObjectName;---   > } VkDebugMarkerObjectNameInfoEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDebugMarkerObjectNameInfoEXT VkDebugMarkerObjectNameInfoEXT registry at www.khronos.org>-type VkDebugMarkerObjectNameInfoEXT =-     VulkanStruct VkDebugMarkerObjectNameInfoEXT' -- ' closing tick for hsc2hs--data VkDebugMarkerObjectNameInfoEXT' -- ' closing tick for hsc2hs--instance Eq VkDebugMarkerObjectNameInfoEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDebugMarkerObjectNameInfoEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDebugMarkerObjectNameInfoEXT where-        sizeOf ~_ = #{size VkDebugMarkerObjectNameInfoEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDebugMarkerObjectNameInfoEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDebugMarkerObjectNameInfoEXT where-        type StructFields VkDebugMarkerObjectNameInfoEXT =-             '["sType", "pNext", "objectType", "object", "pObjectName"] -- ' closing tick for hsc2hs-        type CUnionType VkDebugMarkerObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDebugMarkerObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDebugMarkerObjectNameInfoEXT = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDebugMarkerObjectNameInfoEXT where-        type FieldType "sType" VkDebugMarkerObjectNameInfoEXT =-             VkStructureType-        type FieldOptional "sType" VkDebugMarkerObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDebugMarkerObjectNameInfoEXT =-             #{offset VkDebugMarkerObjectNameInfoEXT, sType}-        type FieldIsArray "sType" VkDebugMarkerObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugMarkerObjectNameInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDebugMarkerObjectNameInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectNameInfoEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDebugMarkerObjectNameInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDebugMarkerObjectNameInfoEXT where-        type FieldType "pNext" VkDebugMarkerObjectNameInfoEXT = Ptr Void-        type FieldOptional "pNext" VkDebugMarkerObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDebugMarkerObjectNameInfoEXT =-             #{offset VkDebugMarkerObjectNameInfoEXT, pNext}-        type FieldIsArray "pNext" VkDebugMarkerObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugMarkerObjectNameInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDebugMarkerObjectNameInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectNameInfoEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDebugMarkerObjectNameInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "objectType" VkDebugMarkerObjectNameInfoEXT where-        type FieldType "objectType" VkDebugMarkerObjectNameInfoEXT =-             VkDebugReportObjectTypeEXT-        type FieldOptional "objectType" VkDebugMarkerObjectNameInfoEXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "objectType" VkDebugMarkerObjectNameInfoEXT =-             #{offset VkDebugMarkerObjectNameInfoEXT, objectType}-        type FieldIsArray "objectType" VkDebugMarkerObjectNameInfoEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugMarkerObjectNameInfoEXT, objectType}--instance {-# OVERLAPPING #-}-         CanReadField "objectType" VkDebugMarkerObjectNameInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectNameInfoEXT, objectType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, objectType}--instance {-# OVERLAPPING #-}-         CanWriteField "objectType" VkDebugMarkerObjectNameInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, objectType}--instance {-# OVERLAPPING #-}-         HasField "object" VkDebugMarkerObjectNameInfoEXT where-        type FieldType "object" VkDebugMarkerObjectNameInfoEXT = Word64-        type FieldOptional "object" VkDebugMarkerObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "object" VkDebugMarkerObjectNameInfoEXT =-             #{offset VkDebugMarkerObjectNameInfoEXT, object}-        type FieldIsArray "object" VkDebugMarkerObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugMarkerObjectNameInfoEXT, object}--instance {-# OVERLAPPING #-}-         CanReadField "object" VkDebugMarkerObjectNameInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectNameInfoEXT, object})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, object}--instance {-# OVERLAPPING #-}-         CanWriteField "object" VkDebugMarkerObjectNameInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, object}--instance {-# OVERLAPPING #-}-         HasField "pObjectName" VkDebugMarkerObjectNameInfoEXT where-        type FieldType "pObjectName" VkDebugMarkerObjectNameInfoEXT =-             CString-        type FieldOptional "pObjectName" VkDebugMarkerObjectNameInfoEXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pObjectName" VkDebugMarkerObjectNameInfoEXT =-             #{offset VkDebugMarkerObjectNameInfoEXT, pObjectName}-        type FieldIsArray "pObjectName" VkDebugMarkerObjectNameInfoEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugMarkerObjectNameInfoEXT, pObjectName}--instance {-# OVERLAPPING #-}-         CanReadField "pObjectName" VkDebugMarkerObjectNameInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectNameInfoEXT, pObjectName})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, pObjectName}--instance {-# OVERLAPPING #-}-         CanWriteField "pObjectName" VkDebugMarkerObjectNameInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, pObjectName}--instance Show VkDebugMarkerObjectNameInfoEXT where-        showsPrec d x-          = showString "VkDebugMarkerObjectNameInfoEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "objectType = " .-                            showsPrec d (getField @"objectType" x) .-                              showString ", " .-                                showString "object = " .-                                  showsPrec d (getField @"object" x) .-                                    showString ", " .-                                      showString "pObjectName = " .-                                        showsPrec d (getField @"pObjectName" x) . showChar '}'---- | > typedef struct VkDebugMarkerObjectTagInfoEXT {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkDebugReportObjectTypeEXT       objectType;---   >     uint64_t                         object;---   >     uint64_t                         tagName;---   >     size_t                           tagSize;---   >     const void*        pTag;---   > } VkDebugMarkerObjectTagInfoEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDebugMarkerObjectTagInfoEXT VkDebugMarkerObjectTagInfoEXT registry at www.khronos.org>-type VkDebugMarkerObjectTagInfoEXT =-     VulkanStruct VkDebugMarkerObjectTagInfoEXT' -- ' closing tick for hsc2hs--data VkDebugMarkerObjectTagInfoEXT' -- ' closing tick for hsc2hs--instance Eq VkDebugMarkerObjectTagInfoEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDebugMarkerObjectTagInfoEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDebugMarkerObjectTagInfoEXT where-        sizeOf ~_ = #{size VkDebugMarkerObjectTagInfoEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDebugMarkerObjectTagInfoEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDebugMarkerObjectTagInfoEXT where-        type StructFields VkDebugMarkerObjectTagInfoEXT =-             '["sType", "pNext", "objectType", "object", "tagName", "tagSize", -- ' closing tick for hsc2hs-               "pTag"]-        type CUnionType VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDebugMarkerObjectTagInfoEXT = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDebugMarkerObjectTagInfoEXT where-        type FieldType "sType" VkDebugMarkerObjectTagInfoEXT =-             VkStructureType-        type FieldOptional "sType" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDebugMarkerObjectTagInfoEXT =-             #{offset VkDebugMarkerObjectTagInfoEXT, sType}-        type FieldIsArray "sType" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugMarkerObjectTagInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDebugMarkerObjectTagInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDebugMarkerObjectTagInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDebugMarkerObjectTagInfoEXT where-        type FieldType "pNext" VkDebugMarkerObjectTagInfoEXT = Ptr Void-        type FieldOptional "pNext" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDebugMarkerObjectTagInfoEXT =-             #{offset VkDebugMarkerObjectTagInfoEXT, pNext}-        type FieldIsArray "pNext" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugMarkerObjectTagInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDebugMarkerObjectTagInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDebugMarkerObjectTagInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "objectType" VkDebugMarkerObjectTagInfoEXT where-        type FieldType "objectType" VkDebugMarkerObjectTagInfoEXT =-             VkDebugReportObjectTypeEXT-        type FieldOptional "objectType" VkDebugMarkerObjectTagInfoEXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "objectType" VkDebugMarkerObjectTagInfoEXT =-             #{offset VkDebugMarkerObjectTagInfoEXT, objectType}-        type FieldIsArray "objectType" VkDebugMarkerObjectTagInfoEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugMarkerObjectTagInfoEXT, objectType}--instance {-# OVERLAPPING #-}-         CanReadField "objectType" VkDebugMarkerObjectTagInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, objectType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, objectType}--instance {-# OVERLAPPING #-}-         CanWriteField "objectType" VkDebugMarkerObjectTagInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, objectType}--instance {-# OVERLAPPING #-}-         HasField "object" VkDebugMarkerObjectTagInfoEXT where-        type FieldType "object" VkDebugMarkerObjectTagInfoEXT = Word64-        type FieldOptional "object" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "object" VkDebugMarkerObjectTagInfoEXT =-             #{offset VkDebugMarkerObjectTagInfoEXT, object}-        type FieldIsArray "object" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugMarkerObjectTagInfoEXT, object}--instance {-# OVERLAPPING #-}-         CanReadField "object" VkDebugMarkerObjectTagInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, object})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, object}--instance {-# OVERLAPPING #-}-         CanWriteField "object" VkDebugMarkerObjectTagInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, object}--instance {-# OVERLAPPING #-}-         HasField "tagName" VkDebugMarkerObjectTagInfoEXT where-        type FieldType "tagName" VkDebugMarkerObjectTagInfoEXT = Word64-        type FieldOptional "tagName" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "tagName" VkDebugMarkerObjectTagInfoEXT =-             #{offset VkDebugMarkerObjectTagInfoEXT, tagName}-        type FieldIsArray "tagName" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugMarkerObjectTagInfoEXT, tagName}--instance {-# OVERLAPPING #-}-         CanReadField "tagName" VkDebugMarkerObjectTagInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, tagName})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, tagName}--instance {-# OVERLAPPING #-}-         CanWriteField "tagName" VkDebugMarkerObjectTagInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, tagName}--instance {-# OVERLAPPING #-}-         HasField "tagSize" VkDebugMarkerObjectTagInfoEXT where-        type FieldType "tagSize" VkDebugMarkerObjectTagInfoEXT = CSize-        type FieldOptional "tagSize" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "tagSize" VkDebugMarkerObjectTagInfoEXT =-             #{offset VkDebugMarkerObjectTagInfoEXT, tagSize}-        type FieldIsArray "tagSize" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugMarkerObjectTagInfoEXT, tagSize}--instance {-# OVERLAPPING #-}-         CanReadField "tagSize" VkDebugMarkerObjectTagInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, tagSize})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, tagSize}--instance {-# OVERLAPPING #-}-         CanWriteField "tagSize" VkDebugMarkerObjectTagInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, tagSize}--instance {-# OVERLAPPING #-}-         HasField "pTag" VkDebugMarkerObjectTagInfoEXT where-        type FieldType "pTag" VkDebugMarkerObjectTagInfoEXT = Ptr Void-        type FieldOptional "pTag" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pTag" VkDebugMarkerObjectTagInfoEXT =-             #{offset VkDebugMarkerObjectTagInfoEXT, pTag}-        type FieldIsArray "pTag" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugMarkerObjectTagInfoEXT, pTag}--instance {-# OVERLAPPING #-}-         CanReadField "pTag" VkDebugMarkerObjectTagInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, pTag})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, pTag}--instance {-# OVERLAPPING #-}-         CanWriteField "pTag" VkDebugMarkerObjectTagInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, pTag}--instance Show VkDebugMarkerObjectTagInfoEXT where-        showsPrec d x-          = showString "VkDebugMarkerObjectTagInfoEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "objectType = " .-                            showsPrec d (getField @"objectType" x) .-                              showString ", " .-                                showString "object = " .-                                  showsPrec d (getField @"object" x) .-                                    showString ", " .-                                      showString "tagName = " .-                                        showsPrec d (getField @"tagName" x) .-                                          showString ", " .-                                            showString "tagSize = " .-                                              showsPrec d (getField @"tagSize" x) .-                                                showString ", " .-                                                  showString "pTag = " .-                                                    showsPrec d (getField @"pTag" x) . showChar '}'---- | > typedef struct VkDebugReportCallbackCreateInfoEXT {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkDebugReportFlagsEXT            flags;---   >     PFN_vkDebugReportCallbackEXT     pfnCallback;---   >     void*            pUserData;---   > } VkDebugReportCallbackCreateInfoEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDebugReportCallbackCreateInfoEXT VkDebugReportCallbackCreateInfoEXT registry at www.khronos.org>-type VkDebugReportCallbackCreateInfoEXT =-     VulkanStruct VkDebugReportCallbackCreateInfoEXT' -- ' closing tick for hsc2hs--data VkDebugReportCallbackCreateInfoEXT' -- ' closing tick for hsc2hs--instance Eq VkDebugReportCallbackCreateInfoEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDebugReportCallbackCreateInfoEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDebugReportCallbackCreateInfoEXT where-        sizeOf ~_ = #{size VkDebugReportCallbackCreateInfoEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDebugReportCallbackCreateInfoEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDebugReportCallbackCreateInfoEXT where-        type StructFields VkDebugReportCallbackCreateInfoEXT =-             '["sType", "pNext", "flags", "pfnCallback", "pUserData"] -- ' closing tick for hsc2hs-        type CUnionType VkDebugReportCallbackCreateInfoEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDebugReportCallbackCreateInfoEXT = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDebugReportCallbackCreateInfoEXT =-             '[VkInstanceCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDebugReportCallbackCreateInfoEXT where-        type FieldType "sType" VkDebugReportCallbackCreateInfoEXT =-             VkStructureType-        type FieldOptional "sType" VkDebugReportCallbackCreateInfoEXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDebugReportCallbackCreateInfoEXT =-             #{offset VkDebugReportCallbackCreateInfoEXT, sType}-        type FieldIsArray "sType" VkDebugReportCallbackCreateInfoEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugReportCallbackCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDebugReportCallbackCreateInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugReportCallbackCreateInfoEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDebugReportCallbackCreateInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDebugReportCallbackCreateInfoEXT where-        type FieldType "pNext" VkDebugReportCallbackCreateInfoEXT =-             Ptr Void-        type FieldOptional "pNext" VkDebugReportCallbackCreateInfoEXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDebugReportCallbackCreateInfoEXT =-             #{offset VkDebugReportCallbackCreateInfoEXT, pNext}-        type FieldIsArray "pNext" VkDebugReportCallbackCreateInfoEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugReportCallbackCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDebugReportCallbackCreateInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugReportCallbackCreateInfoEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDebugReportCallbackCreateInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkDebugReportCallbackCreateInfoEXT where-        type FieldType "flags" VkDebugReportCallbackCreateInfoEXT =-             VkDebugReportFlagsEXT-        type FieldOptional "flags" VkDebugReportCallbackCreateInfoEXT =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkDebugReportCallbackCreateInfoEXT =-             #{offset VkDebugReportCallbackCreateInfoEXT, flags}-        type FieldIsArray "flags" VkDebugReportCallbackCreateInfoEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugReportCallbackCreateInfoEXT, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkDebugReportCallbackCreateInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugReportCallbackCreateInfoEXT, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkDebugReportCallbackCreateInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, flags}--instance {-# OVERLAPPING #-}-         HasField "pfnCallback" VkDebugReportCallbackCreateInfoEXT where-        type FieldType "pfnCallback" VkDebugReportCallbackCreateInfoEXT =-             PFN_vkDebugReportCallbackEXT-        type FieldOptional "pfnCallback" VkDebugReportCallbackCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pfnCallback" VkDebugReportCallbackCreateInfoEXT =-             #{offset VkDebugReportCallbackCreateInfoEXT, pfnCallback}-        type FieldIsArray "pfnCallback" VkDebugReportCallbackCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugReportCallbackCreateInfoEXT, pfnCallback}--instance {-# OVERLAPPING #-}-         CanReadField "pfnCallback" VkDebugReportCallbackCreateInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugReportCallbackCreateInfoEXT, pfnCallback})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pfnCallback}--instance {-# OVERLAPPING #-}-         CanWriteField "pfnCallback" VkDebugReportCallbackCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pfnCallback}--instance {-# OVERLAPPING #-}-         HasField "pUserData" VkDebugReportCallbackCreateInfoEXT where-        type FieldType "pUserData" VkDebugReportCallbackCreateInfoEXT =-             Ptr Void-        type FieldOptional "pUserData" VkDebugReportCallbackCreateInfoEXT =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "pUserData" VkDebugReportCallbackCreateInfoEXT =-             #{offset VkDebugReportCallbackCreateInfoEXT, pUserData}-        type FieldIsArray "pUserData" VkDebugReportCallbackCreateInfoEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugReportCallbackCreateInfoEXT, pUserData}--instance {-# OVERLAPPING #-}-         CanReadField "pUserData" VkDebugReportCallbackCreateInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugReportCallbackCreateInfoEXT, pUserData})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pUserData}--instance {-# OVERLAPPING #-}-         CanWriteField "pUserData" VkDebugReportCallbackCreateInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pUserData}--instance Show VkDebugReportCallbackCreateInfoEXT where-        showsPrec d x-          = showString "VkDebugReportCallbackCreateInfoEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "pfnCallback = " .-                                  showsPrec d (getField @"pfnCallback" x) .-                                    showString ", " .-                                      showString "pUserData = " .-                                        showsPrec d (getField @"pUserData" x) . showChar '}'---- | > typedef struct VkDebugUtilsObjectTagInfoEXT {---   >     VkStructureType sType;---   >     const void*                            pNext;---   >     VkObjectType                           objectType;---   >     uint64_t                               objectHandle;---   >     uint64_t                               tagName;---   >     size_t                                 tagSize;---   >     const void*              pTag;---   > } VkDebugUtilsObjectTagInfoEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDebugUtilsObjectTagInfoEXT VkDebugUtilsObjectTagInfoEXT registry at www.khronos.org>-type VkDebugUtilsObjectTagInfoEXT =-     VulkanStruct VkDebugUtilsObjectTagInfoEXT' -- ' closing tick for hsc2hs--data VkDebugUtilsObjectTagInfoEXT' -- ' closing tick for hsc2hs--instance Eq VkDebugUtilsObjectTagInfoEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDebugUtilsObjectTagInfoEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDebugUtilsObjectTagInfoEXT where-        sizeOf ~_ = #{size VkDebugUtilsObjectTagInfoEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDebugUtilsObjectTagInfoEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDebugUtilsObjectTagInfoEXT where-        type StructFields VkDebugUtilsObjectTagInfoEXT =-             '["sType", "pNext", "objectType", "objectHandle", "tagName", -- ' closing tick for hsc2hs-               "tagSize", "pTag"]-        type CUnionType VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDebugUtilsObjectTagInfoEXT = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDebugUtilsObjectTagInfoEXT where-        type FieldType "sType" VkDebugUtilsObjectTagInfoEXT =-             VkStructureType-        type FieldOptional "sType" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDebugUtilsObjectTagInfoEXT =-             #{offset VkDebugUtilsObjectTagInfoEXT, sType}-        type FieldIsArray "sType" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsObjectTagInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDebugUtilsObjectTagInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectTagInfoEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDebugUtilsObjectTagInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDebugUtilsObjectTagInfoEXT where-        type FieldType "pNext" VkDebugUtilsObjectTagInfoEXT = Ptr Void-        type FieldOptional "pNext" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDebugUtilsObjectTagInfoEXT =-             #{offset VkDebugUtilsObjectTagInfoEXT, pNext}-        type FieldIsArray "pNext" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsObjectTagInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDebugUtilsObjectTagInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectTagInfoEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDebugUtilsObjectTagInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "objectType" VkDebugUtilsObjectTagInfoEXT where-        type FieldType "objectType" VkDebugUtilsObjectTagInfoEXT =-             VkObjectType-        type FieldOptional "objectType" VkDebugUtilsObjectTagInfoEXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "objectType" VkDebugUtilsObjectTagInfoEXT =-             #{offset VkDebugUtilsObjectTagInfoEXT, objectType}-        type FieldIsArray "objectType" VkDebugUtilsObjectTagInfoEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsObjectTagInfoEXT, objectType}--instance {-# OVERLAPPING #-}-         CanReadField "objectType" VkDebugUtilsObjectTagInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectTagInfoEXT, objectType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, objectType}--instance {-# OVERLAPPING #-}-         CanWriteField "objectType" VkDebugUtilsObjectTagInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, objectType}--instance {-# OVERLAPPING #-}-         HasField "objectHandle" VkDebugUtilsObjectTagInfoEXT where-        type FieldType "objectHandle" VkDebugUtilsObjectTagInfoEXT = Word64-        type FieldOptional "objectHandle" VkDebugUtilsObjectTagInfoEXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "objectHandle" VkDebugUtilsObjectTagInfoEXT =-             #{offset VkDebugUtilsObjectTagInfoEXT, objectHandle}-        type FieldIsArray "objectHandle" VkDebugUtilsObjectTagInfoEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsObjectTagInfoEXT, objectHandle}--instance {-# OVERLAPPING #-}-         CanReadField "objectHandle" VkDebugUtilsObjectTagInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectTagInfoEXT, objectHandle})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, objectHandle}--instance {-# OVERLAPPING #-}-         CanWriteField "objectHandle" VkDebugUtilsObjectTagInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, objectHandle}--instance {-# OVERLAPPING #-}-         HasField "tagName" VkDebugUtilsObjectTagInfoEXT where-        type FieldType "tagName" VkDebugUtilsObjectTagInfoEXT = Word64-        type FieldOptional "tagName" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "tagName" VkDebugUtilsObjectTagInfoEXT =-             #{offset VkDebugUtilsObjectTagInfoEXT, tagName}-        type FieldIsArray "tagName" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsObjectTagInfoEXT, tagName}--instance {-# OVERLAPPING #-}-         CanReadField "tagName" VkDebugUtilsObjectTagInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectTagInfoEXT, tagName})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, tagName}--instance {-# OVERLAPPING #-}-         CanWriteField "tagName" VkDebugUtilsObjectTagInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, tagName}--instance {-# OVERLAPPING #-}-         HasField "tagSize" VkDebugUtilsObjectTagInfoEXT where-        type FieldType "tagSize" VkDebugUtilsObjectTagInfoEXT = CSize-        type FieldOptional "tagSize" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "tagSize" VkDebugUtilsObjectTagInfoEXT =-             #{offset VkDebugUtilsObjectTagInfoEXT, tagSize}-        type FieldIsArray "tagSize" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsObjectTagInfoEXT, tagSize}--instance {-# OVERLAPPING #-}-         CanReadField "tagSize" VkDebugUtilsObjectTagInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectTagInfoEXT, tagSize})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, tagSize}--instance {-# OVERLAPPING #-}-         CanWriteField "tagSize" VkDebugUtilsObjectTagInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, tagSize}--instance {-# OVERLAPPING #-}-         HasField "pTag" VkDebugUtilsObjectTagInfoEXT where-        type FieldType "pTag" VkDebugUtilsObjectTagInfoEXT = Ptr Void-        type FieldOptional "pTag" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pTag" VkDebugUtilsObjectTagInfoEXT =-             #{offset VkDebugUtilsObjectTagInfoEXT, pTag}-        type FieldIsArray "pTag" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsObjectTagInfoEXT, pTag}--instance {-# OVERLAPPING #-}-         CanReadField "pTag" VkDebugUtilsObjectTagInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectTagInfoEXT, pTag})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, pTag}--instance {-# OVERLAPPING #-}-         CanWriteField "pTag" VkDebugUtilsObjectTagInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, pTag}--instance Show VkDebugUtilsObjectTagInfoEXT where-        showsPrec d x-          = showString "VkDebugUtilsObjectTagInfoEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "objectType = " .-                            showsPrec d (getField @"objectType" x) .-                              showString ", " .-                                showString "objectHandle = " .-                                  showsPrec d (getField @"objectHandle" x) .-                                    showString ", " .-                                      showString "tagName = " .-                                        showsPrec d (getField @"tagName" x) .-                                          showString ", " .-                                            showString "tagSize = " .-                                              showsPrec d (getField @"tagSize" x) .-                                                showString ", " .-                                                  showString "pTag = " .-                                                    showsPrec d (getField @"pTag" x) . showChar '}'+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.Debug+       (VkDebugMarkerMarkerInfoEXT, VkDebugMarkerObjectNameInfoEXT,+        VkDebugMarkerObjectTagInfoEXT, VkDebugReportCallbackCreateInfoEXT,+        VkDebugUtilsObjectTagInfoEXT)+       where+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.Debug                (VkDebugReportFlagsEXT, VkDebugReportObjectTypeEXT)+import Graphics.Vulkan.Types.Enum.Object               (VkObjectType)+import Graphics.Vulkan.Types.Enum.StructureType        (VkStructureType)+import Graphics.Vulkan.Types.Funcpointers              (PFN_vkDebugReportCallbackEXT)+import Graphics.Vulkan.Types.Struct.InstanceCreateInfo (VkInstanceCreateInfo)++-- | > typedef struct VkDebugMarkerMarkerInfoEXT {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     const char* pMarkerName;+--   >     float            color[4];+--   > } VkDebugMarkerMarkerInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDebugMarkerMarkerInfoEXT VkDebugMarkerMarkerInfoEXT registry at www.khronos.org>+type VkDebugMarkerMarkerInfoEXT =+     VkStruct VkDebugMarkerMarkerInfoEXT' -- ' closing tick for hsc2hs++data VkDebugMarkerMarkerInfoEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDebugMarkerMarkerInfoEXT where+    type StructRep VkDebugMarkerMarkerInfoEXT =+         'StructMeta "VkDebugMarkerMarkerInfoEXT" VkDebugMarkerMarkerInfoEXT -- ' closing tick for hsc2hs+           #{size VkDebugMarkerMarkerInfoEXT}+           #{alignment VkDebugMarkerMarkerInfoEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDebugMarkerMarkerInfoEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDebugMarkerMarkerInfoEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pMarkerName" CString 'False +                                                      #{offset VkDebugMarkerMarkerInfoEXT, pMarkerName}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "color" ( -- ' closing tick for hsc2hs+                                  #{type float}+                                  ) 'True  -- ' closing tick for hsc2hs+                                          #{offset VkDebugMarkerMarkerInfoEXT, color}+                4+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDebugMarkerObjectNameInfoEXT {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkDebugReportObjectTypeEXT       objectType;+--   >     uint64_t                         object;+--   >     const char* pObjectName;+--   > } VkDebugMarkerObjectNameInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDebugMarkerObjectNameInfoEXT VkDebugMarkerObjectNameInfoEXT registry at www.khronos.org>+type VkDebugMarkerObjectNameInfoEXT =+     VkStruct VkDebugMarkerObjectNameInfoEXT' -- ' closing tick for hsc2hs++data VkDebugMarkerObjectNameInfoEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDebugMarkerObjectNameInfoEXT where+    type StructRep VkDebugMarkerObjectNameInfoEXT =+         'StructMeta "VkDebugMarkerObjectNameInfoEXT" -- ' closing tick for hsc2hs+           VkDebugMarkerObjectNameInfoEXT+           #{size VkDebugMarkerObjectNameInfoEXT}+           #{alignment VkDebugMarkerObjectNameInfoEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDebugMarkerObjectNameInfoEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDebugMarkerObjectNameInfoEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "objectType" VkDebugReportObjectTypeEXT 'False+                #{offset VkDebugMarkerObjectNameInfoEXT, objectType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "object" Word64 'False +                                                #{offset VkDebugMarkerObjectNameInfoEXT, object}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pObjectName" CString 'False +                                                      #{offset VkDebugMarkerObjectNameInfoEXT, pObjectName}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDebugMarkerObjectTagInfoEXT {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkDebugReportObjectTypeEXT       objectType;+--   >     uint64_t                         object;+--   >     uint64_t                         tagName;+--   >     size_t                           tagSize;+--   >     const void*        pTag;+--   > } VkDebugMarkerObjectTagInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDebugMarkerObjectTagInfoEXT VkDebugMarkerObjectTagInfoEXT registry at www.khronos.org>+type VkDebugMarkerObjectTagInfoEXT =+     VkStruct VkDebugMarkerObjectTagInfoEXT' -- ' closing tick for hsc2hs++data VkDebugMarkerObjectTagInfoEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDebugMarkerObjectTagInfoEXT where+    type StructRep VkDebugMarkerObjectTagInfoEXT =+         'StructMeta "VkDebugMarkerObjectTagInfoEXT" -- ' closing tick for hsc2hs+           VkDebugMarkerObjectTagInfoEXT+           #{size VkDebugMarkerObjectTagInfoEXT}+           #{alignment VkDebugMarkerObjectTagInfoEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDebugMarkerObjectTagInfoEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDebugMarkerObjectTagInfoEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "objectType" VkDebugReportObjectTypeEXT 'False+                #{offset VkDebugMarkerObjectTagInfoEXT, objectType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "object" Word64 'False +                                                #{offset VkDebugMarkerObjectTagInfoEXT, object}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "tagName" Word64 'False +                                                 #{offset VkDebugMarkerObjectTagInfoEXT, tagName}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "tagSize" CSize 'False +                                                #{offset VkDebugMarkerObjectTagInfoEXT, tagSize}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pTag" (Ptr Void) 'False +                                                  #{offset VkDebugMarkerObjectTagInfoEXT, pTag}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDebugReportCallbackCreateInfoEXT {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkDebugReportFlagsEXT            flags;+--   >     PFN_vkDebugReportCallbackEXT     pfnCallback;+--   >     void*            pUserData;+--   > } VkDebugReportCallbackCreateInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDebugReportCallbackCreateInfoEXT VkDebugReportCallbackCreateInfoEXT registry at www.khronos.org>+type VkDebugReportCallbackCreateInfoEXT =+     VkStruct VkDebugReportCallbackCreateInfoEXT' -- ' closing tick for hsc2hs++data VkDebugReportCallbackCreateInfoEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDebugReportCallbackCreateInfoEXT where+    type StructRep VkDebugReportCallbackCreateInfoEXT =+         'StructMeta "VkDebugReportCallbackCreateInfoEXT" -- ' closing tick for hsc2hs+           VkDebugReportCallbackCreateInfoEXT+           #{size VkDebugReportCallbackCreateInfoEXT}+           #{alignment VkDebugReportCallbackCreateInfoEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDebugReportCallbackCreateInfoEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDebugReportCallbackCreateInfoEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkDebugReportFlagsEXT 'True +                                                             #{offset VkDebugReportCallbackCreateInfoEXT, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pfnCallback" PFN_vkDebugReportCallbackEXT 'False+                #{offset VkDebugReportCallbackCreateInfoEXT, pfnCallback}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pUserData" (Ptr Void) 'True +                                                      #{offset VkDebugReportCallbackCreateInfoEXT, pUserData}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkInstanceCreateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkDebugUtilsObjectTagInfoEXT {+--   >     VkStructureType sType;+--   >     const void*                            pNext;+--   >     VkObjectType                           objectType;+--   >     uint64_t                               objectHandle;+--   >     uint64_t                               tagName;+--   >     size_t                                 tagSize;+--   >     const void*              pTag;+--   > } VkDebugUtilsObjectTagInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDebugUtilsObjectTagInfoEXT VkDebugUtilsObjectTagInfoEXT registry at www.khronos.org>+type VkDebugUtilsObjectTagInfoEXT =+     VkStruct VkDebugUtilsObjectTagInfoEXT' -- ' closing tick for hsc2hs++data VkDebugUtilsObjectTagInfoEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDebugUtilsObjectTagInfoEXT where+    type StructRep VkDebugUtilsObjectTagInfoEXT =+         'StructMeta "VkDebugUtilsObjectTagInfoEXT" -- ' closing tick for hsc2hs+           VkDebugUtilsObjectTagInfoEXT+           #{size VkDebugUtilsObjectTagInfoEXT}+           #{alignment VkDebugUtilsObjectTagInfoEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDebugUtilsObjectTagInfoEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDebugUtilsObjectTagInfoEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "objectType" VkObjectType 'False +                                                          #{offset VkDebugUtilsObjectTagInfoEXT, objectType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "objectHandle" Word64 'False +                                                      #{offset VkDebugUtilsObjectTagInfoEXT, objectHandle}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "tagName" Word64 'False +                                                 #{offset VkDebugUtilsObjectTagInfoEXT, tagName}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "tagSize" CSize 'False +                                                #{offset VkDebugUtilsObjectTagInfoEXT, tagSize}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pTag" (Ptr Void) 'False +                                                  #{offset VkDebugUtilsObjectTagInfoEXT, pTag}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/DebugUtilsLabelEXT.hsc view
@@ -1,23 +1,15 @@ #include "vulkan/vulkan.h"  {-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleContexts      #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE PatternSynonyms       #-}-{-# LANGUAGE ScopedTypeVariables   #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-}-{-# LANGUAGE UndecidableInstances  #-} module Graphics.Vulkan.Types.Struct.DebugUtilsLabelEXT-       (VkDebugUtilsLabelEXT, VkDebugUtilsLabelEXT') where -- ' closing tick for hsc2hs-import Foreign.Storable                         (Storable (..))+       (VkDebugUtilsLabelEXT) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkDebugUtilsLabelEXT { --   >     VkStructureType sType;@@ -27,202 +19,37 @@ --   > } VkDebugUtilsLabelEXT; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDebugUtilsLabelEXT VkDebugUtilsLabelEXT registry at www.khronos.org>-type VkDebugUtilsLabelEXT = VulkanStruct VkDebugUtilsLabelEXT' -- ' closing tick for hsc2hs+type VkDebugUtilsLabelEXT = VkStruct VkDebugUtilsLabelEXT' -- ' closing tick for hsc2hs  data VkDebugUtilsLabelEXT' -- ' closing tick for hsc2hs -instance Eq VkDebugUtilsLabelEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDebugUtilsLabelEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDebugUtilsLabelEXT where-        sizeOf ~_ = #{size VkDebugUtilsLabelEXT}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDebugUtilsLabelEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkDebugUtilsLabelEXT where-        type StructFields VkDebugUtilsLabelEXT =-             '["sType", "pNext", "pLabelName", "color"] -- ' closing tick for hsc2hs-        type CUnionType VkDebugUtilsLabelEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDebugUtilsLabelEXT = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDebugUtilsLabelEXT = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkDebugUtilsLabelEXT-         where-        type FieldType "sType" VkDebugUtilsLabelEXT = VkStructureType-        type FieldOptional "sType" VkDebugUtilsLabelEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDebugUtilsLabelEXT =-             #{offset VkDebugUtilsLabelEXT, sType}-        type FieldIsArray "sType" VkDebugUtilsLabelEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDebugUtilsLabelEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDebugUtilsLabelEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsLabelEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsLabelEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDebugUtilsLabelEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsLabelEXT, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkDebugUtilsLabelEXT-         where-        type FieldType "pNext" VkDebugUtilsLabelEXT = Ptr Void-        type FieldOptional "pNext" VkDebugUtilsLabelEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDebugUtilsLabelEXT =-             #{offset VkDebugUtilsLabelEXT, pNext}-        type FieldIsArray "pNext" VkDebugUtilsLabelEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDebugUtilsLabelEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDebugUtilsLabelEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsLabelEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsLabelEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDebugUtilsLabelEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsLabelEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "pLabelName" VkDebugUtilsLabelEXT where-        type FieldType "pLabelName" VkDebugUtilsLabelEXT = CString-        type FieldOptional "pLabelName" VkDebugUtilsLabelEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pLabelName" VkDebugUtilsLabelEXT =-             #{offset VkDebugUtilsLabelEXT, pLabelName}-        type FieldIsArray "pLabelName" VkDebugUtilsLabelEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsLabelEXT, pLabelName}--instance {-# OVERLAPPING #-}-         CanReadField "pLabelName" VkDebugUtilsLabelEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsLabelEXT, pLabelName})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsLabelEXT, pLabelName}--instance {-# OVERLAPPING #-}-         CanWriteField "pLabelName" VkDebugUtilsLabelEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsLabelEXT, pLabelName}--instance {-# OVERLAPPING #-} HasField "color" VkDebugUtilsLabelEXT-         where-        type FieldType "color" VkDebugUtilsLabelEXT =-             #{type float}-        type FieldOptional "color" VkDebugUtilsLabelEXT = 'True -- ' closing tick for hsc2hs-        type FieldOffset "color" VkDebugUtilsLabelEXT =-             #{offset VkDebugUtilsLabelEXT, color}-        type FieldIsArray "color" VkDebugUtilsLabelEXT = 'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDebugUtilsLabelEXT, color}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "color" VkDebugUtilsLabelEXT where-        type FieldArrayLength "color" VkDebugUtilsLabelEXT = 4--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = 4--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkDebugUtilsLabelEXT, color} +-                      sizeOf (undefined :: #{type float}) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkDebugUtilsLabelEXT, color} +-                 sizeOf (undefined :: #{type float}) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "color" VkDebugUtilsLabelEXT where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkDebugUtilsLabelEXT, color} +-                 sizeOf (undefined :: #{type float}) * i)--instance Show VkDebugUtilsLabelEXT where-        showsPrec d x-          = showString "VkDebugUtilsLabelEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "pLabelName = " .-                            showsPrec d (getField @"pLabelName" x) .-                              showString ", " .-                                (showString "color = [" .-                                   showsPrec d-                                     (let s = sizeOf-                                                (undefined ::-                                                   FieldType "color" VkDebugUtilsLabelEXT)-                                          o = fieldOffset @"color" @VkDebugUtilsLabelEXT-                                          f i-                                            = peekByteOff (unsafePtr x) i ::-                                                IO (FieldType "color" VkDebugUtilsLabelEXT)-                                        in-                                        unsafeDupablePerformIO . mapM f $-                                          map (\ i -> o + i * s) [0 .. 4 - 1])-                                     . showChar ']')-                                  . showChar '}'+    type StructRep VkDebugUtilsLabelEXT =+         'StructMeta "VkDebugUtilsLabelEXT" VkDebugUtilsLabelEXT  -- ' closing tick for hsc2hs+                                                                 #{size VkDebugUtilsLabelEXT}+           #{alignment VkDebugUtilsLabelEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDebugUtilsLabelEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDebugUtilsLabelEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pLabelName" CString 'False +                                                     #{offset VkDebugUtilsLabelEXT, pLabelName}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "color" ( -- ' closing tick for hsc2hs+                                  #{type float}+                                  ) 'True  -- ' closing tick for hsc2hs+                                          #{offset VkDebugUtilsLabelEXT, color}+                4+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/DebugUtilsMessengerCallbackDataEXT.hsc view
@@ -2,23 +2,17 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.DebugUtilsMessengerCallbackDataEXT-       (VkDebugUtilsMessengerCallbackDataEXT,-        VkDebugUtilsMessengerCallbackDataEXT') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                                         (Storable (..))+       (VkDebugUtilsMessengerCallbackDataEXT) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Bitmasks                           (VkDebugUtilsMessengerCallbackDataFlagsEXT) import Graphics.Vulkan.Types.Enum.StructureType                 (VkStructureType) import Graphics.Vulkan.Types.Struct.DebugUtilsLabelEXT          (VkDebugUtilsLabelEXT) import Graphics.Vulkan.Types.Struct.DebugUtilsObjectNameInfoEXT (VkDebugUtilsObjectNameInfoEXT)-import System.IO.Unsafe                                         (unsafeDupablePerformIO)  -- | > typedef struct VkDebugUtilsMessengerCallbackDataEXT { --   >     VkStructureType sType;@@ -37,570 +31,76 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDebugUtilsMessengerCallbackDataEXT VkDebugUtilsMessengerCallbackDataEXT registry at www.khronos.org> type VkDebugUtilsMessengerCallbackDataEXT =-     VulkanStruct VkDebugUtilsMessengerCallbackDataEXT' -- ' closing tick for hsc2hs+     VkStruct VkDebugUtilsMessengerCallbackDataEXT' -- ' closing tick for hsc2hs  data VkDebugUtilsMessengerCallbackDataEXT' -- ' closing tick for hsc2hs -instance Eq VkDebugUtilsMessengerCallbackDataEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDebugUtilsMessengerCallbackDataEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDebugUtilsMessengerCallbackDataEXT where-        sizeOf ~_-          = #{size VkDebugUtilsMessengerCallbackDataEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDebugUtilsMessengerCallbackDataEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkDebugUtilsMessengerCallbackDataEXT where-        type StructFields VkDebugUtilsMessengerCallbackDataEXT =-             '["sType", "pNext", "flags", "pMessageIdName", "messageIdNumber", -- ' closing tick for hsc2hs-               "pMessage", "queueLabelCount", "pQueueLabels", "cmdBufLabelCount",-               "pCmdBufLabels", "objectCount", "pObjects"]-        type CUnionType VkDebugUtilsMessengerCallbackDataEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDebugUtilsMessengerCallbackDataEXT = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDebugUtilsMessengerCallbackDataEXT = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDebugUtilsMessengerCallbackDataEXT where-        type FieldType "sType" VkDebugUtilsMessengerCallbackDataEXT =-             VkStructureType-        type FieldOptional "sType" VkDebugUtilsMessengerCallbackDataEXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDebugUtilsMessengerCallbackDataEXT =-             #{offset VkDebugUtilsMessengerCallbackDataEXT, sType}-        type FieldIsArray "sType" VkDebugUtilsMessengerCallbackDataEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsMessengerCallbackDataEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDebugUtilsMessengerCallbackDataEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDebugUtilsMessengerCallbackDataEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDebugUtilsMessengerCallbackDataEXT where-        type FieldType "pNext" VkDebugUtilsMessengerCallbackDataEXT =-             Ptr Void-        type FieldOptional "pNext" VkDebugUtilsMessengerCallbackDataEXT =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDebugUtilsMessengerCallbackDataEXT =-             #{offset VkDebugUtilsMessengerCallbackDataEXT, pNext}-        type FieldIsArray "pNext" VkDebugUtilsMessengerCallbackDataEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsMessengerCallbackDataEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDebugUtilsMessengerCallbackDataEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDebugUtilsMessengerCallbackDataEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkDebugUtilsMessengerCallbackDataEXT where-        type FieldType "flags" VkDebugUtilsMessengerCallbackDataEXT =-             VkDebugUtilsMessengerCallbackDataFlagsEXT-        type FieldOptional "flags" VkDebugUtilsMessengerCallbackDataEXT =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkDebugUtilsMessengerCallbackDataEXT =-             #{offset VkDebugUtilsMessengerCallbackDataEXT, flags}-        type FieldIsArray "flags" VkDebugUtilsMessengerCallbackDataEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsMessengerCallbackDataEXT, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkDebugUtilsMessengerCallbackDataEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkDebugUtilsMessengerCallbackDataEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, flags}--instance {-# OVERLAPPING #-}-         HasField "pMessageIdName" VkDebugUtilsMessengerCallbackDataEXT-         where-        type FieldType "pMessageIdName"-               VkDebugUtilsMessengerCallbackDataEXT-             = CString-        type FieldOptional "pMessageIdName"-               VkDebugUtilsMessengerCallbackDataEXT-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pMessageIdName"-               VkDebugUtilsMessengerCallbackDataEXT-             =-             #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessageIdName}-        type FieldIsArray "pMessageIdName"-               VkDebugUtilsMessengerCallbackDataEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessageIdName}--instance {-# OVERLAPPING #-}-         CanReadField "pMessageIdName" VkDebugUtilsMessengerCallbackDataEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessageIdName})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessageIdName}--instance {-# OVERLAPPING #-}-         CanWriteField "pMessageIdName" VkDebugUtilsMessengerCallbackDataEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessageIdName}--instance {-# OVERLAPPING #-}-         HasField "messageIdNumber" VkDebugUtilsMessengerCallbackDataEXT-         where-        type FieldType "messageIdNumber"-               VkDebugUtilsMessengerCallbackDataEXT-             = Int32-        type FieldOptional "messageIdNumber"-               VkDebugUtilsMessengerCallbackDataEXT-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "messageIdNumber"-               VkDebugUtilsMessengerCallbackDataEXT-             =-             #{offset VkDebugUtilsMessengerCallbackDataEXT, messageIdNumber}-        type FieldIsArray "messageIdNumber"-               VkDebugUtilsMessengerCallbackDataEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsMessengerCallbackDataEXT, messageIdNumber}--instance {-# OVERLAPPING #-}-         CanReadField "messageIdNumber" VkDebugUtilsMessengerCallbackDataEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, messageIdNumber})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, messageIdNumber}--instance {-# OVERLAPPING #-}-         CanWriteField "messageIdNumber"-           VkDebugUtilsMessengerCallbackDataEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, messageIdNumber}--instance {-# OVERLAPPING #-}-         HasField "pMessage" VkDebugUtilsMessengerCallbackDataEXT where-        type FieldType "pMessage" VkDebugUtilsMessengerCallbackDataEXT =-             CString-        type FieldOptional "pMessage" VkDebugUtilsMessengerCallbackDataEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pMessage" VkDebugUtilsMessengerCallbackDataEXT =-             #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessage}-        type FieldIsArray "pMessage" VkDebugUtilsMessengerCallbackDataEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessage}--instance {-# OVERLAPPING #-}-         CanReadField "pMessage" VkDebugUtilsMessengerCallbackDataEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessage})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessage}--instance {-# OVERLAPPING #-}-         CanWriteField "pMessage" VkDebugUtilsMessengerCallbackDataEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessage}--instance {-# OVERLAPPING #-}-         HasField "queueLabelCount" VkDebugUtilsMessengerCallbackDataEXT-         where-        type FieldType "queueLabelCount"-               VkDebugUtilsMessengerCallbackDataEXT-             = Word32-        type FieldOptional "queueLabelCount"-               VkDebugUtilsMessengerCallbackDataEXT-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "queueLabelCount"-               VkDebugUtilsMessengerCallbackDataEXT-             =-             #{offset VkDebugUtilsMessengerCallbackDataEXT, queueLabelCount}-        type FieldIsArray "queueLabelCount"-               VkDebugUtilsMessengerCallbackDataEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsMessengerCallbackDataEXT, queueLabelCount}--instance {-# OVERLAPPING #-}-         CanReadField "queueLabelCount" VkDebugUtilsMessengerCallbackDataEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, queueLabelCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, queueLabelCount}--instance {-# OVERLAPPING #-}-         CanWriteField "queueLabelCount"-           VkDebugUtilsMessengerCallbackDataEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, queueLabelCount}--instance {-# OVERLAPPING #-}-         HasField "pQueueLabels" VkDebugUtilsMessengerCallbackDataEXT where-        type FieldType "pQueueLabels" VkDebugUtilsMessengerCallbackDataEXT-             = Ptr VkDebugUtilsLabelEXT-        type FieldOptional "pQueueLabels"-               VkDebugUtilsMessengerCallbackDataEXT-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pQueueLabels"-               VkDebugUtilsMessengerCallbackDataEXT-             =-             #{offset VkDebugUtilsMessengerCallbackDataEXT, pQueueLabels}-        type FieldIsArray "pQueueLabels"-               VkDebugUtilsMessengerCallbackDataEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsMessengerCallbackDataEXT, pQueueLabels}--instance {-# OVERLAPPING #-}-         CanReadField "pQueueLabels" VkDebugUtilsMessengerCallbackDataEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, pQueueLabels})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pQueueLabels}--instance {-# OVERLAPPING #-}-         CanWriteField "pQueueLabels" VkDebugUtilsMessengerCallbackDataEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pQueueLabels}--instance {-# OVERLAPPING #-}-         HasField "cmdBufLabelCount" VkDebugUtilsMessengerCallbackDataEXT-         where-        type FieldType "cmdBufLabelCount"-               VkDebugUtilsMessengerCallbackDataEXT-             = Word32-        type FieldOptional "cmdBufLabelCount"-               VkDebugUtilsMessengerCallbackDataEXT-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "cmdBufLabelCount"-               VkDebugUtilsMessengerCallbackDataEXT-             =-             #{offset VkDebugUtilsMessengerCallbackDataEXT, cmdBufLabelCount}-        type FieldIsArray "cmdBufLabelCount"-               VkDebugUtilsMessengerCallbackDataEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsMessengerCallbackDataEXT, cmdBufLabelCount}--instance {-# OVERLAPPING #-}-         CanReadField "cmdBufLabelCount"-           VkDebugUtilsMessengerCallbackDataEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, cmdBufLabelCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, cmdBufLabelCount}--instance {-# OVERLAPPING #-}-         CanWriteField "cmdBufLabelCount"+    type StructRep VkDebugUtilsMessengerCallbackDataEXT =+         'StructMeta "VkDebugUtilsMessengerCallbackDataEXT" -- ' closing tick for hsc2hs            VkDebugUtilsMessengerCallbackDataEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, cmdBufLabelCount}--instance {-# OVERLAPPING #-}-         HasField "pCmdBufLabels" VkDebugUtilsMessengerCallbackDataEXT where-        type FieldType "pCmdBufLabels" VkDebugUtilsMessengerCallbackDataEXT-             = Ptr VkDebugUtilsLabelEXT-        type FieldOptional "pCmdBufLabels"-               VkDebugUtilsMessengerCallbackDataEXT-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pCmdBufLabels"-               VkDebugUtilsMessengerCallbackDataEXT-             =-             #{offset VkDebugUtilsMessengerCallbackDataEXT, pCmdBufLabels}-        type FieldIsArray "pCmdBufLabels"-               VkDebugUtilsMessengerCallbackDataEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsMessengerCallbackDataEXT, pCmdBufLabels}--instance {-# OVERLAPPING #-}-         CanReadField "pCmdBufLabels" VkDebugUtilsMessengerCallbackDataEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, pCmdBufLabels})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pCmdBufLabels}--instance {-# OVERLAPPING #-}-         CanWriteField "pCmdBufLabels" VkDebugUtilsMessengerCallbackDataEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pCmdBufLabels}--instance {-# OVERLAPPING #-}-         HasField "objectCount" VkDebugUtilsMessengerCallbackDataEXT where-        type FieldType "objectCount" VkDebugUtilsMessengerCallbackDataEXT =-             Word32-        type FieldOptional "objectCount"-               VkDebugUtilsMessengerCallbackDataEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "objectCount" VkDebugUtilsMessengerCallbackDataEXT-             =-             #{offset VkDebugUtilsMessengerCallbackDataEXT, objectCount}-        type FieldIsArray "objectCount"-               VkDebugUtilsMessengerCallbackDataEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsMessengerCallbackDataEXT, objectCount}--instance {-# OVERLAPPING #-}-         CanReadField "objectCount" VkDebugUtilsMessengerCallbackDataEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, objectCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, objectCount}--instance {-# OVERLAPPING #-}-         CanWriteField "objectCount" VkDebugUtilsMessengerCallbackDataEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, objectCount}--instance {-# OVERLAPPING #-}-         HasField "pObjects" VkDebugUtilsMessengerCallbackDataEXT where-        type FieldType "pObjects" VkDebugUtilsMessengerCallbackDataEXT =-             Ptr VkDebugUtilsObjectNameInfoEXT-        type FieldOptional "pObjects" VkDebugUtilsMessengerCallbackDataEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pObjects" VkDebugUtilsMessengerCallbackDataEXT =-             #{offset VkDebugUtilsMessengerCallbackDataEXT, pObjects}-        type FieldIsArray "pObjects" VkDebugUtilsMessengerCallbackDataEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsMessengerCallbackDataEXT, pObjects}--instance {-# OVERLAPPING #-}-         CanReadField "pObjects" VkDebugUtilsMessengerCallbackDataEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, pObjects})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pObjects}--instance {-# OVERLAPPING #-}-         CanWriteField "pObjects" VkDebugUtilsMessengerCallbackDataEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pObjects}--instance Show VkDebugUtilsMessengerCallbackDataEXT where-        showsPrec d x-          = showString "VkDebugUtilsMessengerCallbackDataEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "pMessageIdName = " .-                                  showsPrec d (getField @"pMessageIdName" x) .-                                    showString ", " .-                                      showString "messageIdNumber = " .-                                        showsPrec d (getField @"messageIdNumber" x) .-                                          showString ", " .-                                            showString "pMessage = " .-                                              showsPrec d (getField @"pMessage" x) .-                                                showString ", " .-                                                  showString "queueLabelCount = " .-                                                    showsPrec d (getField @"queueLabelCount" x) .-                                                      showString ", " .-                                                        showString "pQueueLabels = " .-                                                          showsPrec d (getField @"pQueueLabels" x) .-                                                            showString ", " .-                                                              showString "cmdBufLabelCount = " .-                                                                showsPrec d-                                                                  (getField @"cmdBufLabelCount" x)-                                                                  .-                                                                  showString ", " .-                                                                    showString "pCmdBufLabels = " .-                                                                      showsPrec d-                                                                        (getField @"pCmdBufLabels"-                                                                           x)-                                                                        .-                                                                        showString ", " .-                                                                          showString-                                                                            "objectCount = "-                                                                            .-                                                                            showsPrec d-                                                                              (getField-                                                                                 @"objectCount"-                                                                                 x)-                                                                              .-                                                                              showString ", " .-                                                                                showString-                                                                                  "pObjects = "-                                                                                  .-                                                                                  showsPrec d-                                                                                    (getField-                                                                                       @"pObjects"-                                                                                       x)-                                                                                    . showChar '}'+           #{size VkDebugUtilsMessengerCallbackDataEXT}+           #{alignment VkDebugUtilsMessengerCallbackDataEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDebugUtilsMessengerCallbackDataEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'True +                                                  #{offset VkDebugUtilsMessengerCallbackDataEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkDebugUtilsMessengerCallbackDataFlagsEXT 'True+                #{offset VkDebugUtilsMessengerCallbackDataEXT, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pMessageIdName" CString 'True +                                                        #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessageIdName}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "messageIdNumber" Int32 'True +                                                       #{offset VkDebugUtilsMessengerCallbackDataEXT, messageIdNumber}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pMessage" CString 'False +                                                   #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessage}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "queueLabelCount" Word32 'True +                                                        #{offset VkDebugUtilsMessengerCallbackDataEXT, queueLabelCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pQueueLabels" (Ptr VkDebugUtilsLabelEXT) 'True+                #{offset VkDebugUtilsMessengerCallbackDataEXT, pQueueLabels}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "cmdBufLabelCount" Word32 'True +                                                         #{offset VkDebugUtilsMessengerCallbackDataEXT, cmdBufLabelCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pCmdBufLabels" (Ptr VkDebugUtilsLabelEXT) 'True+                #{offset VkDebugUtilsMessengerCallbackDataEXT, pCmdBufLabels}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "objectCount" Word32 'False +                                                     #{offset VkDebugUtilsMessengerCallbackDataEXT, objectCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pObjects" (Ptr VkDebugUtilsObjectNameInfoEXT) 'False+                #{offset VkDebugUtilsMessengerCallbackDataEXT, pObjects}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/DebugUtilsMessengerCreateInfoEXT.hsc view
@@ -2,16 +2,11 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.DebugUtilsMessengerCreateInfoEXT-       (VkDebugUtilsMessengerCreateInfoEXT,-        VkDebugUtilsMessengerCreateInfoEXT') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                                (Storable (..))+       (VkDebugUtilsMessengerCreateInfoEXT) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Bitmasks                  (VkDebugUtilsMessengerCreateFlagsEXT)@@ -20,7 +15,6 @@ import Graphics.Vulkan.Types.Enum.StructureType        (VkStructureType) import Graphics.Vulkan.Types.Funcpointers              (PFN_vkDebugUtilsMessengerCallbackEXT) import Graphics.Vulkan.Types.Struct.InstanceCreateInfo (VkInstanceCreateInfo)-import System.IO.Unsafe                                (unsafeDupablePerformIO)  -- | > typedef struct VkDebugUtilsMessengerCreateInfoEXT { --   >     VkStructureType sType;@@ -34,323 +28,53 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDebugUtilsMessengerCreateInfoEXT VkDebugUtilsMessengerCreateInfoEXT registry at www.khronos.org> type VkDebugUtilsMessengerCreateInfoEXT =-     VulkanStruct VkDebugUtilsMessengerCreateInfoEXT' -- ' closing tick for hsc2hs+     VkStruct VkDebugUtilsMessengerCreateInfoEXT' -- ' closing tick for hsc2hs  data VkDebugUtilsMessengerCreateInfoEXT' -- ' closing tick for hsc2hs -instance Eq VkDebugUtilsMessengerCreateInfoEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDebugUtilsMessengerCreateInfoEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDebugUtilsMessengerCreateInfoEXT where-        sizeOf ~_ = #{size VkDebugUtilsMessengerCreateInfoEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDebugUtilsMessengerCreateInfoEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkDebugUtilsMessengerCreateInfoEXT where-        type StructFields VkDebugUtilsMessengerCreateInfoEXT =-             '["sType", "pNext", "flags", "messageSeverity", "messageType", -- ' closing tick for hsc2hs-               "pfnUserCallback", "pUserData"]-        type CUnionType VkDebugUtilsMessengerCreateInfoEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDebugUtilsMessengerCreateInfoEXT = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDebugUtilsMessengerCreateInfoEXT =-             '[VkInstanceCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDebugUtilsMessengerCreateInfoEXT where-        type FieldType "sType" VkDebugUtilsMessengerCreateInfoEXT =-             VkStructureType-        type FieldOptional "sType" VkDebugUtilsMessengerCreateInfoEXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDebugUtilsMessengerCreateInfoEXT =-             #{offset VkDebugUtilsMessengerCreateInfoEXT, sType}-        type FieldIsArray "sType" VkDebugUtilsMessengerCreateInfoEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsMessengerCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDebugUtilsMessengerCreateInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCreateInfoEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDebugUtilsMessengerCreateInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDebugUtilsMessengerCreateInfoEXT where-        type FieldType "pNext" VkDebugUtilsMessengerCreateInfoEXT =-             Ptr Void-        type FieldOptional "pNext" VkDebugUtilsMessengerCreateInfoEXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDebugUtilsMessengerCreateInfoEXT =-             #{offset VkDebugUtilsMessengerCreateInfoEXT, pNext}-        type FieldIsArray "pNext" VkDebugUtilsMessengerCreateInfoEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsMessengerCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDebugUtilsMessengerCreateInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCreateInfoEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDebugUtilsMessengerCreateInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkDebugUtilsMessengerCreateInfoEXT where-        type FieldType "flags" VkDebugUtilsMessengerCreateInfoEXT =-             VkDebugUtilsMessengerCreateFlagsEXT-        type FieldOptional "flags" VkDebugUtilsMessengerCreateInfoEXT =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkDebugUtilsMessengerCreateInfoEXT =-             #{offset VkDebugUtilsMessengerCreateInfoEXT, flags}-        type FieldIsArray "flags" VkDebugUtilsMessengerCreateInfoEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsMessengerCreateInfoEXT, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkDebugUtilsMessengerCreateInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCreateInfoEXT, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkDebugUtilsMessengerCreateInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, flags}--instance {-# OVERLAPPING #-}-         HasField "messageSeverity" VkDebugUtilsMessengerCreateInfoEXT where-        type FieldType "messageSeverity" VkDebugUtilsMessengerCreateInfoEXT-             = VkDebugUtilsMessageSeverityFlagsEXT-        type FieldOptional "messageSeverity"-               VkDebugUtilsMessengerCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "messageSeverity"-               VkDebugUtilsMessengerCreateInfoEXT-             =-             #{offset VkDebugUtilsMessengerCreateInfoEXT, messageSeverity}-        type FieldIsArray "messageSeverity"-               VkDebugUtilsMessengerCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsMessengerCreateInfoEXT, messageSeverity}--instance {-# OVERLAPPING #-}-         CanReadField "messageSeverity" VkDebugUtilsMessengerCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCreateInfoEXT, messageSeverity})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, messageSeverity}--instance {-# OVERLAPPING #-}-         CanWriteField "messageSeverity" VkDebugUtilsMessengerCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, messageSeverity}--instance {-# OVERLAPPING #-}-         HasField "messageType" VkDebugUtilsMessengerCreateInfoEXT where-        type FieldType "messageType" VkDebugUtilsMessengerCreateInfoEXT =-             VkDebugUtilsMessageTypeFlagsEXT-        type FieldOptional "messageType" VkDebugUtilsMessengerCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "messageType" VkDebugUtilsMessengerCreateInfoEXT =-             #{offset VkDebugUtilsMessengerCreateInfoEXT, messageType}-        type FieldIsArray "messageType" VkDebugUtilsMessengerCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsMessengerCreateInfoEXT, messageType}--instance {-# OVERLAPPING #-}-         CanReadField "messageType" VkDebugUtilsMessengerCreateInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCreateInfoEXT, messageType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, messageType}--instance {-# OVERLAPPING #-}-         CanWriteField "messageType" VkDebugUtilsMessengerCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, messageType}--instance {-# OVERLAPPING #-}-         HasField "pfnUserCallback" VkDebugUtilsMessengerCreateInfoEXT where-        type FieldType "pfnUserCallback" VkDebugUtilsMessengerCreateInfoEXT-             = PFN_vkDebugUtilsMessengerCallbackEXT-        type FieldOptional "pfnUserCallback"-               VkDebugUtilsMessengerCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pfnUserCallback"-               VkDebugUtilsMessengerCreateInfoEXT-             =-             #{offset VkDebugUtilsMessengerCreateInfoEXT, pfnUserCallback}-        type FieldIsArray "pfnUserCallback"-               VkDebugUtilsMessengerCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsMessengerCreateInfoEXT, pfnUserCallback}--instance {-# OVERLAPPING #-}-         CanReadField "pfnUserCallback" VkDebugUtilsMessengerCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCreateInfoEXT, pfnUserCallback})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, pfnUserCallback}--instance {-# OVERLAPPING #-}-         CanWriteField "pfnUserCallback" VkDebugUtilsMessengerCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, pfnUserCallback}--instance {-# OVERLAPPING #-}-         HasField "pUserData" VkDebugUtilsMessengerCreateInfoEXT where-        type FieldType "pUserData" VkDebugUtilsMessengerCreateInfoEXT =-             Ptr Void-        type FieldOptional "pUserData" VkDebugUtilsMessengerCreateInfoEXT =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "pUserData" VkDebugUtilsMessengerCreateInfoEXT =-             #{offset VkDebugUtilsMessengerCreateInfoEXT, pUserData}-        type FieldIsArray "pUserData" VkDebugUtilsMessengerCreateInfoEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsMessengerCreateInfoEXT, pUserData}--instance {-# OVERLAPPING #-}-         CanReadField "pUserData" VkDebugUtilsMessengerCreateInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCreateInfoEXT, pUserData})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, pUserData}--instance {-# OVERLAPPING #-}-         CanWriteField "pUserData" VkDebugUtilsMessengerCreateInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, pUserData}--instance Show VkDebugUtilsMessengerCreateInfoEXT where-        showsPrec d x-          = showString "VkDebugUtilsMessengerCreateInfoEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "messageSeverity = " .-                                  showsPrec d (getField @"messageSeverity" x) .-                                    showString ", " .-                                      showString "messageType = " .-                                        showsPrec d (getField @"messageType" x) .-                                          showString ", " .-                                            showString "pfnUserCallback = " .-                                              showsPrec d (getField @"pfnUserCallback" x) .-                                                showString ", " .-                                                  showString "pUserData = " .-                                                    showsPrec d (getField @"pUserData" x) .-                                                      showChar '}'+    type StructRep VkDebugUtilsMessengerCreateInfoEXT =+         'StructMeta "VkDebugUtilsMessengerCreateInfoEXT" -- ' closing tick for hsc2hs+           VkDebugUtilsMessengerCreateInfoEXT+           #{size VkDebugUtilsMessengerCreateInfoEXT}+           #{alignment VkDebugUtilsMessengerCreateInfoEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDebugUtilsMessengerCreateInfoEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDebugUtilsMessengerCreateInfoEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkDebugUtilsMessengerCreateFlagsEXT 'True+                #{offset VkDebugUtilsMessengerCreateInfoEXT, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "messageSeverity" VkDebugUtilsMessageSeverityFlagsEXT -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkDebugUtilsMessengerCreateInfoEXT, messageSeverity}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "messageType" VkDebugUtilsMessageTypeFlagsEXT 'False+                #{offset VkDebugUtilsMessengerCreateInfoEXT, messageType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pfnUserCallback" PFN_vkDebugUtilsMessengerCallbackEXT -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkDebugUtilsMessengerCreateInfoEXT, pfnUserCallback}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pUserData" (Ptr Void) 'True +                                                      #{offset VkDebugUtilsMessengerCreateInfoEXT, pUserData}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkInstanceCreateInfo] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/DebugUtilsObjectNameInfoEXT.hsc view
@@ -2,20 +2,15 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.DebugUtilsObjectNameInfoEXT-       (VkDebugUtilsObjectNameInfoEXT, VkDebugUtilsObjectNameInfoEXT') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                         (Storable (..))+       (VkDebugUtilsObjectNameInfoEXT) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.Object        (VkObjectType) import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkDebugUtilsObjectNameInfoEXT { --   >     VkStructureType sType;@@ -27,226 +22,41 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDebugUtilsObjectNameInfoEXT VkDebugUtilsObjectNameInfoEXT registry at www.khronos.org> type VkDebugUtilsObjectNameInfoEXT =-     VulkanStruct VkDebugUtilsObjectNameInfoEXT' -- ' closing tick for hsc2hs+     VkStruct VkDebugUtilsObjectNameInfoEXT' -- ' closing tick for hsc2hs  data VkDebugUtilsObjectNameInfoEXT' -- ' closing tick for hsc2hs -instance Eq VkDebugUtilsObjectNameInfoEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDebugUtilsObjectNameInfoEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDebugUtilsObjectNameInfoEXT where-        sizeOf ~_ = #{size VkDebugUtilsObjectNameInfoEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDebugUtilsObjectNameInfoEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkDebugUtilsObjectNameInfoEXT where-        type StructFields VkDebugUtilsObjectNameInfoEXT =-             '["sType", "pNext", "objectType", "objectHandle", "pObjectName"] -- ' closing tick for hsc2hs-        type CUnionType VkDebugUtilsObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDebugUtilsObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDebugUtilsObjectNameInfoEXT = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDebugUtilsObjectNameInfoEXT where-        type FieldType "sType" VkDebugUtilsObjectNameInfoEXT =-             VkStructureType-        type FieldOptional "sType" VkDebugUtilsObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDebugUtilsObjectNameInfoEXT =-             #{offset VkDebugUtilsObjectNameInfoEXT, sType}-        type FieldIsArray "sType" VkDebugUtilsObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsObjectNameInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDebugUtilsObjectNameInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectNameInfoEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDebugUtilsObjectNameInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDebugUtilsObjectNameInfoEXT where-        type FieldType "pNext" VkDebugUtilsObjectNameInfoEXT = Ptr Void-        type FieldOptional "pNext" VkDebugUtilsObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDebugUtilsObjectNameInfoEXT =-             #{offset VkDebugUtilsObjectNameInfoEXT, pNext}-        type FieldIsArray "pNext" VkDebugUtilsObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsObjectNameInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDebugUtilsObjectNameInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectNameInfoEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDebugUtilsObjectNameInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "objectType" VkDebugUtilsObjectNameInfoEXT where-        type FieldType "objectType" VkDebugUtilsObjectNameInfoEXT =-             VkObjectType-        type FieldOptional "objectType" VkDebugUtilsObjectNameInfoEXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "objectType" VkDebugUtilsObjectNameInfoEXT =-             #{offset VkDebugUtilsObjectNameInfoEXT, objectType}-        type FieldIsArray "objectType" VkDebugUtilsObjectNameInfoEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsObjectNameInfoEXT, objectType}--instance {-# OVERLAPPING #-}-         CanReadField "objectType" VkDebugUtilsObjectNameInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectNameInfoEXT, objectType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, objectType}--instance {-# OVERLAPPING #-}-         CanWriteField "objectType" VkDebugUtilsObjectNameInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, objectType}--instance {-# OVERLAPPING #-}-         HasField "objectHandle" VkDebugUtilsObjectNameInfoEXT where-        type FieldType "objectHandle" VkDebugUtilsObjectNameInfoEXT =-             Word64-        type FieldOptional "objectHandle" VkDebugUtilsObjectNameInfoEXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "objectHandle" VkDebugUtilsObjectNameInfoEXT =-             #{offset VkDebugUtilsObjectNameInfoEXT, objectHandle}-        type FieldIsArray "objectHandle" VkDebugUtilsObjectNameInfoEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsObjectNameInfoEXT, objectHandle}--instance {-# OVERLAPPING #-}-         CanReadField "objectHandle" VkDebugUtilsObjectNameInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectNameInfoEXT, objectHandle})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, objectHandle}--instance {-# OVERLAPPING #-}-         CanWriteField "objectHandle" VkDebugUtilsObjectNameInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, objectHandle}--instance {-# OVERLAPPING #-}-         HasField "pObjectName" VkDebugUtilsObjectNameInfoEXT where-        type FieldType "pObjectName" VkDebugUtilsObjectNameInfoEXT =-             CString-        type FieldOptional "pObjectName" VkDebugUtilsObjectNameInfoEXT =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "pObjectName" VkDebugUtilsObjectNameInfoEXT =-             #{offset VkDebugUtilsObjectNameInfoEXT, pObjectName}-        type FieldIsArray "pObjectName" VkDebugUtilsObjectNameInfoEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDebugUtilsObjectNameInfoEXT, pObjectName}--instance {-# OVERLAPPING #-}-         CanReadField "pObjectName" VkDebugUtilsObjectNameInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectNameInfoEXT, pObjectName})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, pObjectName}--instance {-# OVERLAPPING #-}-         CanWriteField "pObjectName" VkDebugUtilsObjectNameInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, pObjectName}--instance Show VkDebugUtilsObjectNameInfoEXT where-        showsPrec d x-          = showString "VkDebugUtilsObjectNameInfoEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "objectType = " .-                            showsPrec d (getField @"objectType" x) .-                              showString ", " .-                                showString "objectHandle = " .-                                  showsPrec d (getField @"objectHandle" x) .-                                    showString ", " .-                                      showString "pObjectName = " .-                                        showsPrec d (getField @"pObjectName" x) . showChar '}'+    type StructRep VkDebugUtilsObjectNameInfoEXT =+         'StructMeta "VkDebugUtilsObjectNameInfoEXT" -- ' closing tick for hsc2hs+           VkDebugUtilsObjectNameInfoEXT+           #{size VkDebugUtilsObjectNameInfoEXT}+           #{alignment VkDebugUtilsObjectNameInfoEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDebugUtilsObjectNameInfoEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDebugUtilsObjectNameInfoEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "objectType" VkObjectType 'False +                                                          #{offset VkDebugUtilsObjectNameInfoEXT, objectType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "objectHandle" Word64 'False +                                                      #{offset VkDebugUtilsObjectNameInfoEXT, objectHandle}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pObjectName" CString 'True +                                                     #{offset VkDebugUtilsObjectNameInfoEXT, pObjectName}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/DedicatedAllocation.hsc view
@@ -2,20 +2,14 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.DedicatedAllocation        (VkDedicatedAllocationBufferCreateInfoNV,-        VkDedicatedAllocationBufferCreateInfoNV', -- ' closing tick for hsc2hs         VkDedicatedAllocationImageCreateInfoNV,-        VkDedicatedAllocationImageCreateInfoNV', -- ' closing tick for hsc2hs-        VkDedicatedAllocationMemoryAllocateInfoNV,-        VkDedicatedAllocationMemoryAllocateInfoNV') -- ' closing tick for hsc2hs+        VkDedicatedAllocationMemoryAllocateInfoNV)        where-import Foreign.Storable                         (Storable (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.BaseTypes          (VkBool32)@@ -24,7 +18,6 @@ import Graphics.Vulkan.Types.Struct.Buffer      (VkBufferCreateInfo) import Graphics.Vulkan.Types.Struct.Image       (VkImageCreateInfo) import Graphics.Vulkan.Types.Struct.Memory      (VkMemoryAllocateInfo)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkDedicatedAllocationBufferCreateInfoNV { --   >     VkStructureType sType;@@ -34,172 +27,35 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDedicatedAllocationBufferCreateInfoNV VkDedicatedAllocationBufferCreateInfoNV registry at www.khronos.org> type VkDedicatedAllocationBufferCreateInfoNV =-     VulkanStruct VkDedicatedAllocationBufferCreateInfoNV' -- ' closing tick for hsc2hs+     VkStruct VkDedicatedAllocationBufferCreateInfoNV' -- ' closing tick for hsc2hs  data VkDedicatedAllocationBufferCreateInfoNV' -- ' closing tick for hsc2hs -instance Eq VkDedicatedAllocationBufferCreateInfoNV where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDedicatedAllocationBufferCreateInfoNV where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDedicatedAllocationBufferCreateInfoNV where-        sizeOf ~_-          = #{size VkDedicatedAllocationBufferCreateInfoNV}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDedicatedAllocationBufferCreateInfoNV}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkDedicatedAllocationBufferCreateInfoNV          where-        type StructFields VkDedicatedAllocationBufferCreateInfoNV =-             '["sType", "pNext", "dedicatedAllocation"] -- ' closing tick for hsc2hs-        type CUnionType VkDedicatedAllocationBufferCreateInfoNV = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDedicatedAllocationBufferCreateInfoNV = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDedicatedAllocationBufferCreateInfoNV =-             '[VkBufferCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDedicatedAllocationBufferCreateInfoNV where-        type FieldType "sType" VkDedicatedAllocationBufferCreateInfoNV =-             VkStructureType-        type FieldOptional "sType" VkDedicatedAllocationBufferCreateInfoNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDedicatedAllocationBufferCreateInfoNV =-             #{offset VkDedicatedAllocationBufferCreateInfoNV, sType}-        type FieldIsArray "sType" VkDedicatedAllocationBufferCreateInfoNV =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDedicatedAllocationBufferCreateInfoNV, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDedicatedAllocationBufferCreateInfoNV where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationBufferCreateInfoNV, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDedicatedAllocationBufferCreateInfoNV where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDedicatedAllocationBufferCreateInfoNV where-        type FieldType "pNext" VkDedicatedAllocationBufferCreateInfoNV =-             Ptr Void-        type FieldOptional "pNext" VkDedicatedAllocationBufferCreateInfoNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDedicatedAllocationBufferCreateInfoNV =-             #{offset VkDedicatedAllocationBufferCreateInfoNV, pNext}-        type FieldIsArray "pNext" VkDedicatedAllocationBufferCreateInfoNV =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDedicatedAllocationBufferCreateInfoNV, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDedicatedAllocationBufferCreateInfoNV where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationBufferCreateInfoNV, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDedicatedAllocationBufferCreateInfoNV where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, pNext}--instance {-# OVERLAPPING #-}-         HasField "dedicatedAllocation"-           VkDedicatedAllocationBufferCreateInfoNV-         where-        type FieldType "dedicatedAllocation"-               VkDedicatedAllocationBufferCreateInfoNV-             = VkBool32-        type FieldOptional "dedicatedAllocation"-               VkDedicatedAllocationBufferCreateInfoNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dedicatedAllocation"-               VkDedicatedAllocationBufferCreateInfoNV-             =-             #{offset VkDedicatedAllocationBufferCreateInfoNV, dedicatedAllocation}-        type FieldIsArray "dedicatedAllocation"-               VkDedicatedAllocationBufferCreateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDedicatedAllocationBufferCreateInfoNV, dedicatedAllocation}--instance {-# OVERLAPPING #-}-         CanReadField "dedicatedAllocation"-           VkDedicatedAllocationBufferCreateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationBufferCreateInfoNV, dedicatedAllocation})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, dedicatedAllocation}--instance {-# OVERLAPPING #-}-         CanWriteField "dedicatedAllocation"+    type StructRep VkDedicatedAllocationBufferCreateInfoNV =+         'StructMeta "VkDedicatedAllocationBufferCreateInfoNV" -- ' closing tick for hsc2hs            VkDedicatedAllocationBufferCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, dedicatedAllocation}--instance Show VkDedicatedAllocationBufferCreateInfoNV where-        showsPrec d x-          = showString "VkDedicatedAllocationBufferCreateInfoNV {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "dedicatedAllocation = " .-                            showsPrec d (getField @"dedicatedAllocation" x) . showChar '}'+           #{size VkDedicatedAllocationBufferCreateInfoNV}+           #{alignment VkDedicatedAllocationBufferCreateInfoNV}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDedicatedAllocationBufferCreateInfoNV, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDedicatedAllocationBufferCreateInfoNV, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dedicatedAllocation" VkBool32 'False +                                                               #{offset VkDedicatedAllocationBufferCreateInfoNV, dedicatedAllocation}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkBufferCreateInfo] -- ' closing tick for hsc2hs  -- | > typedef struct VkDedicatedAllocationImageCreateInfoNV { --   >     VkStructureType sType;@@ -209,171 +65,34 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDedicatedAllocationImageCreateInfoNV VkDedicatedAllocationImageCreateInfoNV registry at www.khronos.org> type VkDedicatedAllocationImageCreateInfoNV =-     VulkanStruct VkDedicatedAllocationImageCreateInfoNV' -- ' closing tick for hsc2hs+     VkStruct VkDedicatedAllocationImageCreateInfoNV' -- ' closing tick for hsc2hs  data VkDedicatedAllocationImageCreateInfoNV' -- ' closing tick for hsc2hs -instance Eq VkDedicatedAllocationImageCreateInfoNV where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDedicatedAllocationImageCreateInfoNV where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDedicatedAllocationImageCreateInfoNV where-        sizeOf ~_-          = #{size VkDedicatedAllocationImageCreateInfoNV}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDedicatedAllocationImageCreateInfoNV}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkDedicatedAllocationImageCreateInfoNV where-        type StructFields VkDedicatedAllocationImageCreateInfoNV =-             '["sType", "pNext", "dedicatedAllocation"] -- ' closing tick for hsc2hs-        type CUnionType VkDedicatedAllocationImageCreateInfoNV = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDedicatedAllocationImageCreateInfoNV = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDedicatedAllocationImageCreateInfoNV =-             '[VkImageCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDedicatedAllocationImageCreateInfoNV where-        type FieldType "sType" VkDedicatedAllocationImageCreateInfoNV =-             VkStructureType-        type FieldOptional "sType" VkDedicatedAllocationImageCreateInfoNV =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDedicatedAllocationImageCreateInfoNV =-             #{offset VkDedicatedAllocationImageCreateInfoNV, sType}-        type FieldIsArray "sType" VkDedicatedAllocationImageCreateInfoNV =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDedicatedAllocationImageCreateInfoNV, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDedicatedAllocationImageCreateInfoNV where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationImageCreateInfoNV, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDedicatedAllocationImageCreateInfoNV where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDedicatedAllocationImageCreateInfoNV where-        type FieldType "pNext" VkDedicatedAllocationImageCreateInfoNV =-             Ptr Void-        type FieldOptional "pNext" VkDedicatedAllocationImageCreateInfoNV =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDedicatedAllocationImageCreateInfoNV =-             #{offset VkDedicatedAllocationImageCreateInfoNV, pNext}-        type FieldIsArray "pNext" VkDedicatedAllocationImageCreateInfoNV =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDedicatedAllocationImageCreateInfoNV, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDedicatedAllocationImageCreateInfoNV where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationImageCreateInfoNV, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDedicatedAllocationImageCreateInfoNV where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, pNext}--instance {-# OVERLAPPING #-}-         HasField "dedicatedAllocation"-           VkDedicatedAllocationImageCreateInfoNV-         where-        type FieldType "dedicatedAllocation"-               VkDedicatedAllocationImageCreateInfoNV-             = VkBool32-        type FieldOptional "dedicatedAllocation"-               VkDedicatedAllocationImageCreateInfoNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dedicatedAllocation"-               VkDedicatedAllocationImageCreateInfoNV-             =-             #{offset VkDedicatedAllocationImageCreateInfoNV, dedicatedAllocation}-        type FieldIsArray "dedicatedAllocation"-               VkDedicatedAllocationImageCreateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDedicatedAllocationImageCreateInfoNV, dedicatedAllocation}--instance {-# OVERLAPPING #-}-         CanReadField "dedicatedAllocation"-           VkDedicatedAllocationImageCreateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationImageCreateInfoNV, dedicatedAllocation})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, dedicatedAllocation}--instance {-# OVERLAPPING #-}-         CanWriteField "dedicatedAllocation"+    type StructRep VkDedicatedAllocationImageCreateInfoNV =+         'StructMeta "VkDedicatedAllocationImageCreateInfoNV" -- ' closing tick for hsc2hs            VkDedicatedAllocationImageCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, dedicatedAllocation}--instance Show VkDedicatedAllocationImageCreateInfoNV where-        showsPrec d x-          = showString "VkDedicatedAllocationImageCreateInfoNV {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "dedicatedAllocation = " .-                            showsPrec d (getField @"dedicatedAllocation" x) . showChar '}'+           #{size VkDedicatedAllocationImageCreateInfoNV}+           #{alignment VkDedicatedAllocationImageCreateInfoNV}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDedicatedAllocationImageCreateInfoNV, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDedicatedAllocationImageCreateInfoNV, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dedicatedAllocation" VkBool32 'False +                                                               #{offset VkDedicatedAllocationImageCreateInfoNV, dedicatedAllocation}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkImageCreateInfo] -- ' closing tick for hsc2hs  -- | > typedef struct VkDedicatedAllocationMemoryAllocateInfoNV { --   >     VkStructureType sType;@@ -384,214 +103,37 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDedicatedAllocationMemoryAllocateInfoNV VkDedicatedAllocationMemoryAllocateInfoNV registry at www.khronos.org> type VkDedicatedAllocationMemoryAllocateInfoNV =-     VulkanStruct VkDedicatedAllocationMemoryAllocateInfoNV' -- ' closing tick for hsc2hs+     VkStruct VkDedicatedAllocationMemoryAllocateInfoNV' -- ' closing tick for hsc2hs  data VkDedicatedAllocationMemoryAllocateInfoNV' -- ' closing tick for hsc2hs -instance Eq VkDedicatedAllocationMemoryAllocateInfoNV where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDedicatedAllocationMemoryAllocateInfoNV where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDedicatedAllocationMemoryAllocateInfoNV where-        sizeOf ~_-          = #{size VkDedicatedAllocationMemoryAllocateInfoNV}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDedicatedAllocationMemoryAllocateInfoNV}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkDedicatedAllocationMemoryAllocateInfoNV          where-        type StructFields VkDedicatedAllocationMemoryAllocateInfoNV =-             '["sType", "pNext", "image", "buffer"] -- ' closing tick for hsc2hs-        type CUnionType VkDedicatedAllocationMemoryAllocateInfoNV = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDedicatedAllocationMemoryAllocateInfoNV =-             'False -- ' closing tick for hsc2hs-        type StructExtends VkDedicatedAllocationMemoryAllocateInfoNV =-             '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDedicatedAllocationMemoryAllocateInfoNV where-        type FieldType "sType" VkDedicatedAllocationMemoryAllocateInfoNV =-             VkStructureType-        type FieldOptional "sType"-               VkDedicatedAllocationMemoryAllocateInfoNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDedicatedAllocationMemoryAllocateInfoNV-             =-             #{offset VkDedicatedAllocationMemoryAllocateInfoNV, sType}-        type FieldIsArray "sType" VkDedicatedAllocationMemoryAllocateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDedicatedAllocationMemoryAllocateInfoNV, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDedicatedAllocationMemoryAllocateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationMemoryAllocateInfoNV, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDedicatedAllocationMemoryAllocateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDedicatedAllocationMemoryAllocateInfoNV where-        type FieldType "pNext" VkDedicatedAllocationMemoryAllocateInfoNV =-             Ptr Void-        type FieldOptional "pNext"-               VkDedicatedAllocationMemoryAllocateInfoNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDedicatedAllocationMemoryAllocateInfoNV-             =-             #{offset VkDedicatedAllocationMemoryAllocateInfoNV, pNext}-        type FieldIsArray "pNext" VkDedicatedAllocationMemoryAllocateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDedicatedAllocationMemoryAllocateInfoNV, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDedicatedAllocationMemoryAllocateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationMemoryAllocateInfoNV, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDedicatedAllocationMemoryAllocateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, pNext}--instance {-# OVERLAPPING #-}-         HasField "image" VkDedicatedAllocationMemoryAllocateInfoNV where-        type FieldType "image" VkDedicatedAllocationMemoryAllocateInfoNV =-             VkImage-        type FieldOptional "image"-               VkDedicatedAllocationMemoryAllocateInfoNV-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "image" VkDedicatedAllocationMemoryAllocateInfoNV-             =-             #{offset VkDedicatedAllocationMemoryAllocateInfoNV, image}-        type FieldIsArray "image" VkDedicatedAllocationMemoryAllocateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDedicatedAllocationMemoryAllocateInfoNV, image}--instance {-# OVERLAPPING #-}-         CanReadField "image" VkDedicatedAllocationMemoryAllocateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationMemoryAllocateInfoNV, image})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, image}--instance {-# OVERLAPPING #-}-         CanWriteField "image" VkDedicatedAllocationMemoryAllocateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, image}--instance {-# OVERLAPPING #-}-         HasField "buffer" VkDedicatedAllocationMemoryAllocateInfoNV where-        type FieldType "buffer" VkDedicatedAllocationMemoryAllocateInfoNV =-             VkBuffer-        type FieldOptional "buffer"-               VkDedicatedAllocationMemoryAllocateInfoNV-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "buffer" VkDedicatedAllocationMemoryAllocateInfoNV-             =-             #{offset VkDedicatedAllocationMemoryAllocateInfoNV, buffer}-        type FieldIsArray "buffer"-               VkDedicatedAllocationMemoryAllocateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDedicatedAllocationMemoryAllocateInfoNV, buffer}--instance {-# OVERLAPPING #-}-         CanReadField "buffer" VkDedicatedAllocationMemoryAllocateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationMemoryAllocateInfoNV, buffer})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, buffer}--instance {-# OVERLAPPING #-}-         CanWriteField "buffer" VkDedicatedAllocationMemoryAllocateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, buffer}--instance Show VkDedicatedAllocationMemoryAllocateInfoNV where-        showsPrec d x-          = showString "VkDedicatedAllocationMemoryAllocateInfoNV {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "image = " .-                            showsPrec d (getField @"image" x) .-                              showString ", " .-                                showString "buffer = " .-                                  showsPrec d (getField @"buffer" x) . showChar '}'+    type StructRep VkDedicatedAllocationMemoryAllocateInfoNV =+         'StructMeta "VkDedicatedAllocationMemoryAllocateInfoNV" -- ' closing tick for hsc2hs+           VkDedicatedAllocationMemoryAllocateInfoNV+           #{size VkDedicatedAllocationMemoryAllocateInfoNV}+           #{alignment VkDedicatedAllocationMemoryAllocateInfoNV}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDedicatedAllocationMemoryAllocateInfoNV, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDedicatedAllocationMemoryAllocateInfoNV, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "image" VkImage 'True +                                               #{offset VkDedicatedAllocationMemoryAllocateInfoNV, image}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "buffer" VkBuffer 'True +                                                 #{offset VkDedicatedAllocationMemoryAllocateInfoNV, buffer}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc view
@@ -2,3100 +2,655 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.Descriptor-       (VkDescriptorBufferInfo, VkDescriptorBufferInfo', -- ' closing tick for hsc2hs-        VkDescriptorImageInfo, VkDescriptorImageInfo', -- ' closing tick for hsc2hs-        VkDescriptorPoolCreateInfo, VkDescriptorPoolCreateInfo', -- ' closing tick for hsc2hs-        VkDescriptorPoolSize, VkDescriptorPoolSize', -- ' closing tick for hsc2hs-        VkDescriptorSetAllocateInfo, VkDescriptorSetAllocateInfo', -- ' closing tick for hsc2hs-        VkDescriptorSetLayoutBinding, VkDescriptorSetLayoutBinding', -- ' closing tick for hsc2hs-        VkDescriptorSetLayoutBindingFlagsCreateInfoEXT,-        VkDescriptorSetLayoutBindingFlagsCreateInfoEXT', -- ' closing tick for hsc2hs-        VkDescriptorSetLayoutCreateInfo, VkDescriptorSetLayoutCreateInfo', -- ' closing tick for hsc2hs-        VkDescriptorSetLayoutSupport, VkDescriptorSetLayoutSupport', -- ' closing tick for hsc2hs-        VkDescriptorSetLayoutSupportKHR,-        VkDescriptorSetVariableDescriptorCountAllocateInfoEXT,-        VkDescriptorSetVariableDescriptorCountAllocateInfoEXT', -- ' closing tick for hsc2hs-        VkDescriptorSetVariableDescriptorCountLayoutSupportEXT,-        VkDescriptorSetVariableDescriptorCountLayoutSupportEXT', -- ' closing tick for hsc2hs-        VkDescriptorUpdateTemplateCreateInfo,-        VkDescriptorUpdateTemplateCreateInfo', -- ' closing tick for hsc2hs-        VkDescriptorUpdateTemplateCreateInfoKHR,-        VkDescriptorUpdateTemplateEntry, VkDescriptorUpdateTemplateEntry', -- ' closing tick for hsc2hs-        VkDescriptorUpdateTemplateEntryKHR)-       where-import Foreign.Storable                         (Storable (..))-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Internal-import Graphics.Vulkan.Types.BaseTypes          (VkBool32, VkDeviceSize)-import Graphics.Vulkan.Types.Bitmasks           (VkDescriptorUpdateTemplateCreateFlags)-import Graphics.Vulkan.Types.Enum.Descriptor    (VkDescriptorBindingFlagsEXT,-                                                 VkDescriptorPoolCreateFlags,-                                                 VkDescriptorSetLayoutCreateFlags,-                                                 VkDescriptorType,-                                                 VkDescriptorUpdateTemplateType)-import Graphics.Vulkan.Types.Enum.Image         (VkImageLayout)-import Graphics.Vulkan.Types.Enum.Pipeline      (VkPipelineBindPoint)-import Graphics.Vulkan.Types.Enum.Shader        (VkShaderStageFlags)-import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)-import Graphics.Vulkan.Types.Handles            (VkBuffer, VkDescriptorPool,-                                                 VkDescriptorSetLayout,-                                                 VkImageView, VkPipelineLayout,-                                                 VkSampler)-import System.IO.Unsafe                         (unsafeDupablePerformIO)---- | > typedef struct VkDescriptorBufferInfo {---   >     VkBuffer               buffer;---   >     VkDeviceSize           offset;---   >     VkDeviceSize           range;---   > } VkDescriptorBufferInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorBufferInfo VkDescriptorBufferInfo registry at www.khronos.org>-type VkDescriptorBufferInfo = VulkanStruct VkDescriptorBufferInfo' -- ' closing tick for hsc2hs--data VkDescriptorBufferInfo' -- ' closing tick for hsc2hs--instance Eq VkDescriptorBufferInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDescriptorBufferInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDescriptorBufferInfo where-        sizeOf ~_ = #{size VkDescriptorBufferInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDescriptorBufferInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDescriptorBufferInfo where-        type StructFields VkDescriptorBufferInfo =-             '["buffer", "offset", "range"] -- ' closing tick for hsc2hs-        type CUnionType VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDescriptorBufferInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "buffer" VkDescriptorBufferInfo where-        type FieldType "buffer" VkDescriptorBufferInfo = VkBuffer-        type FieldOptional "buffer" VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "buffer" VkDescriptorBufferInfo =-             #{offset VkDescriptorBufferInfo, buffer}-        type FieldIsArray "buffer" VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDescriptorBufferInfo, buffer}--instance {-# OVERLAPPING #-}-         CanReadField "buffer" VkDescriptorBufferInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorBufferInfo, buffer})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorBufferInfo, buffer}--instance {-# OVERLAPPING #-}-         CanWriteField "buffer" VkDescriptorBufferInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorBufferInfo, buffer}--instance {-# OVERLAPPING #-}-         HasField "offset" VkDescriptorBufferInfo where-        type FieldType "offset" VkDescriptorBufferInfo = VkDeviceSize-        type FieldOptional "offset" VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "offset" VkDescriptorBufferInfo =-             #{offset VkDescriptorBufferInfo, offset}-        type FieldIsArray "offset" VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDescriptorBufferInfo, offset}--instance {-# OVERLAPPING #-}-         CanReadField "offset" VkDescriptorBufferInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorBufferInfo, offset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorBufferInfo, offset}--instance {-# OVERLAPPING #-}-         CanWriteField "offset" VkDescriptorBufferInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorBufferInfo, offset}--instance {-# OVERLAPPING #-}-         HasField "range" VkDescriptorBufferInfo where-        type FieldType "range" VkDescriptorBufferInfo = VkDeviceSize-        type FieldOptional "range" VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "range" VkDescriptorBufferInfo =-             #{offset VkDescriptorBufferInfo, range}-        type FieldIsArray "range" VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDescriptorBufferInfo, range}--instance {-# OVERLAPPING #-}-         CanReadField "range" VkDescriptorBufferInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorBufferInfo, range})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorBufferInfo, range}--instance {-# OVERLAPPING #-}-         CanWriteField "range" VkDescriptorBufferInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorBufferInfo, range}--instance Show VkDescriptorBufferInfo where-        showsPrec d x-          = showString "VkDescriptorBufferInfo {" .-              showString "buffer = " .-                showsPrec d (getField @"buffer" x) .-                  showString ", " .-                    showString "offset = " .-                      showsPrec d (getField @"offset" x) .-                        showString ", " .-                          showString "range = " .-                            showsPrec d (getField @"range" x) . showChar '}'---- | > typedef struct VkDescriptorImageInfo {---   >     VkSampler       sampler;---   >     VkImageView     imageView;---   >     VkImageLayout   imageLayout;---   > } VkDescriptorImageInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorImageInfo VkDescriptorImageInfo registry at www.khronos.org>-type VkDescriptorImageInfo = VulkanStruct VkDescriptorImageInfo' -- ' closing tick for hsc2hs--data VkDescriptorImageInfo' -- ' closing tick for hsc2hs--instance Eq VkDescriptorImageInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDescriptorImageInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDescriptorImageInfo where-        sizeOf ~_ = #{size VkDescriptorImageInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDescriptorImageInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDescriptorImageInfo where-        type StructFields VkDescriptorImageInfo =-             '["sampler", "imageView", "imageLayout"] -- ' closing tick for hsc2hs-        type CUnionType VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDescriptorImageInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sampler" VkDescriptorImageInfo where-        type FieldType "sampler" VkDescriptorImageInfo = VkSampler-        type FieldOptional "sampler" VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sampler" VkDescriptorImageInfo =-             #{offset VkDescriptorImageInfo, sampler}-        type FieldIsArray "sampler" VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDescriptorImageInfo, sampler}--instance {-# OVERLAPPING #-}-         CanReadField "sampler" VkDescriptorImageInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorImageInfo, sampler})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorImageInfo, sampler}--instance {-# OVERLAPPING #-}-         CanWriteField "sampler" VkDescriptorImageInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorImageInfo, sampler}--instance {-# OVERLAPPING #-}-         HasField "imageView" VkDescriptorImageInfo where-        type FieldType "imageView" VkDescriptorImageInfo = VkImageView-        type FieldOptional "imageView" VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "imageView" VkDescriptorImageInfo =-             #{offset VkDescriptorImageInfo, imageView}-        type FieldIsArray "imageView" VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorImageInfo, imageView}--instance {-# OVERLAPPING #-}-         CanReadField "imageView" VkDescriptorImageInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorImageInfo, imageView})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorImageInfo, imageView}--instance {-# OVERLAPPING #-}-         CanWriteField "imageView" VkDescriptorImageInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorImageInfo, imageView}--instance {-# OVERLAPPING #-}-         HasField "imageLayout" VkDescriptorImageInfo where-        type FieldType "imageLayout" VkDescriptorImageInfo = VkImageLayout-        type FieldOptional "imageLayout" VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "imageLayout" VkDescriptorImageInfo =-             #{offset VkDescriptorImageInfo, imageLayout}-        type FieldIsArray "imageLayout" VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorImageInfo, imageLayout}--instance {-# OVERLAPPING #-}-         CanReadField "imageLayout" VkDescriptorImageInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorImageInfo, imageLayout})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorImageInfo, imageLayout}--instance {-# OVERLAPPING #-}-         CanWriteField "imageLayout" VkDescriptorImageInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorImageInfo, imageLayout}--instance Show VkDescriptorImageInfo where-        showsPrec d x-          = showString "VkDescriptorImageInfo {" .-              showString "sampler = " .-                showsPrec d (getField @"sampler" x) .-                  showString ", " .-                    showString "imageView = " .-                      showsPrec d (getField @"imageView" x) .-                        showString ", " .-                          showString "imageLayout = " .-                            showsPrec d (getField @"imageLayout" x) . showChar '}'---- | > typedef struct VkDescriptorPoolCreateInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkDescriptorPoolCreateFlags  flags;---   >     uint32_t               maxSets;---   >     uint32_t               poolSizeCount;---   >     const VkDescriptorPoolSize* pPoolSizes;---   > } VkDescriptorPoolCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorPoolCreateInfo VkDescriptorPoolCreateInfo registry at www.khronos.org>-type VkDescriptorPoolCreateInfo =-     VulkanStruct VkDescriptorPoolCreateInfo' -- ' closing tick for hsc2hs--data VkDescriptorPoolCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkDescriptorPoolCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDescriptorPoolCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDescriptorPoolCreateInfo where-        sizeOf ~_ = #{size VkDescriptorPoolCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDescriptorPoolCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDescriptorPoolCreateInfo where-        type StructFields VkDescriptorPoolCreateInfo =-             '["sType", "pNext", "flags", "maxSets", "poolSizeCount", -- ' closing tick for hsc2hs-               "pPoolSizes"]-        type CUnionType VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDescriptorPoolCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDescriptorPoolCreateInfo where-        type FieldType "sType" VkDescriptorPoolCreateInfo = VkStructureType-        type FieldOptional "sType" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDescriptorPoolCreateInfo =-             #{offset VkDescriptorPoolCreateInfo, sType}-        type FieldIsArray "sType" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorPoolCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDescriptorPoolCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorPoolCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDescriptorPoolCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDescriptorPoolCreateInfo where-        type FieldType "pNext" VkDescriptorPoolCreateInfo = Ptr Void-        type FieldOptional "pNext" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDescriptorPoolCreateInfo =-             #{offset VkDescriptorPoolCreateInfo, pNext}-        type FieldIsArray "pNext" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorPoolCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDescriptorPoolCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorPoolCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDescriptorPoolCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkDescriptorPoolCreateInfo where-        type FieldType "flags" VkDescriptorPoolCreateInfo =-             VkDescriptorPoolCreateFlags-        type FieldOptional "flags" VkDescriptorPoolCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkDescriptorPoolCreateInfo =-             #{offset VkDescriptorPoolCreateInfo, flags}-        type FieldIsArray "flags" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorPoolCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkDescriptorPoolCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorPoolCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkDescriptorPoolCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "maxSets" VkDescriptorPoolCreateInfo where-        type FieldType "maxSets" VkDescriptorPoolCreateInfo = Word32-        type FieldOptional "maxSets" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxSets" VkDescriptorPoolCreateInfo =-             #{offset VkDescriptorPoolCreateInfo, maxSets}-        type FieldIsArray "maxSets" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorPoolCreateInfo, maxSets}--instance {-# OVERLAPPING #-}-         CanReadField "maxSets" VkDescriptorPoolCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, maxSets})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorPoolCreateInfo, maxSets}--instance {-# OVERLAPPING #-}-         CanWriteField "maxSets" VkDescriptorPoolCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, maxSets}--instance {-# OVERLAPPING #-}-         HasField "poolSizeCount" VkDescriptorPoolCreateInfo where-        type FieldType "poolSizeCount" VkDescriptorPoolCreateInfo = Word32-        type FieldOptional "poolSizeCount" VkDescriptorPoolCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "poolSizeCount" VkDescriptorPoolCreateInfo =-             #{offset VkDescriptorPoolCreateInfo, poolSizeCount}-        type FieldIsArray "poolSizeCount" VkDescriptorPoolCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorPoolCreateInfo, poolSizeCount}--instance {-# OVERLAPPING #-}-         CanReadField "poolSizeCount" VkDescriptorPoolCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, poolSizeCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorPoolCreateInfo, poolSizeCount}--instance {-# OVERLAPPING #-}-         CanWriteField "poolSizeCount" VkDescriptorPoolCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, poolSizeCount}--instance {-# OVERLAPPING #-}-         HasField "pPoolSizes" VkDescriptorPoolCreateInfo where-        type FieldType "pPoolSizes" VkDescriptorPoolCreateInfo =-             Ptr VkDescriptorPoolSize-        type FieldOptional "pPoolSizes" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pPoolSizes" VkDescriptorPoolCreateInfo =-             #{offset VkDescriptorPoolCreateInfo, pPoolSizes}-        type FieldIsArray "pPoolSizes" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorPoolCreateInfo, pPoolSizes}--instance {-# OVERLAPPING #-}-         CanReadField "pPoolSizes" VkDescriptorPoolCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, pPoolSizes})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorPoolCreateInfo, pPoolSizes}--instance {-# OVERLAPPING #-}-         CanWriteField "pPoolSizes" VkDescriptorPoolCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, pPoolSizes}--instance Show VkDescriptorPoolCreateInfo where-        showsPrec d x-          = showString "VkDescriptorPoolCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "maxSets = " .-                                  showsPrec d (getField @"maxSets" x) .-                                    showString ", " .-                                      showString "poolSizeCount = " .-                                        showsPrec d (getField @"poolSizeCount" x) .-                                          showString ", " .-                                            showString "pPoolSizes = " .-                                              showsPrec d (getField @"pPoolSizes" x) . showChar '}'---- | > typedef struct VkDescriptorPoolSize {---   >     VkDescriptorType       type;---   >     uint32_t               descriptorCount;---   > } VkDescriptorPoolSize;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorPoolSize VkDescriptorPoolSize registry at www.khronos.org>-type VkDescriptorPoolSize = VulkanStruct VkDescriptorPoolSize' -- ' closing tick for hsc2hs--data VkDescriptorPoolSize' -- ' closing tick for hsc2hs--instance Eq VkDescriptorPoolSize where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDescriptorPoolSize where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDescriptorPoolSize where-        sizeOf ~_ = #{size VkDescriptorPoolSize}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDescriptorPoolSize}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDescriptorPoolSize where-        type StructFields VkDescriptorPoolSize =-             '["type", "descriptorCount"] -- ' closing tick for hsc2hs-        type CUnionType VkDescriptorPoolSize = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDescriptorPoolSize = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDescriptorPoolSize = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "type" VkDescriptorPoolSize-         where-        type FieldType "type" VkDescriptorPoolSize = VkDescriptorType-        type FieldOptional "type" VkDescriptorPoolSize = 'False -- ' closing tick for hsc2hs-        type FieldOffset "type" VkDescriptorPoolSize =-             #{offset VkDescriptorPoolSize, type}-        type FieldIsArray "type" VkDescriptorPoolSize = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDescriptorPoolSize, type}--instance {-# OVERLAPPING #-}-         CanReadField "type" VkDescriptorPoolSize where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolSize, type})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorPoolSize, type}--instance {-# OVERLAPPING #-}-         CanWriteField "type" VkDescriptorPoolSize where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorPoolSize, type}--instance {-# OVERLAPPING #-}-         HasField "descriptorCount" VkDescriptorPoolSize where-        type FieldType "descriptorCount" VkDescriptorPoolSize = Word32-        type FieldOptional "descriptorCount" VkDescriptorPoolSize = 'False -- ' closing tick for hsc2hs-        type FieldOffset "descriptorCount" VkDescriptorPoolSize =-             #{offset VkDescriptorPoolSize, descriptorCount}-        type FieldIsArray "descriptorCount" VkDescriptorPoolSize = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorPoolSize, descriptorCount}--instance {-# OVERLAPPING #-}-         CanReadField "descriptorCount" VkDescriptorPoolSize where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolSize, descriptorCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorPoolSize, descriptorCount}--instance {-# OVERLAPPING #-}-         CanWriteField "descriptorCount" VkDescriptorPoolSize where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorPoolSize, descriptorCount}--instance Show VkDescriptorPoolSize where-        showsPrec d x-          = showString "VkDescriptorPoolSize {" .-              showString "type = " .-                showsPrec d (getField @"type" x) .-                  showString ", " .-                    showString "descriptorCount = " .-                      showsPrec d (getField @"descriptorCount" x) . showChar '}'---- | > typedef struct VkDescriptorSetAllocateInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkDescriptorPool       descriptorPool;---   >     uint32_t               descriptorSetCount;---   >     const VkDescriptorSetLayout* pSetLayouts;---   > } VkDescriptorSetAllocateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetAllocateInfo VkDescriptorSetAllocateInfo registry at www.khronos.org>-type VkDescriptorSetAllocateInfo =-     VulkanStruct VkDescriptorSetAllocateInfo' -- ' closing tick for hsc2hs--data VkDescriptorSetAllocateInfo' -- ' closing tick for hsc2hs--instance Eq VkDescriptorSetAllocateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDescriptorSetAllocateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDescriptorSetAllocateInfo where-        sizeOf ~_ = #{size VkDescriptorSetAllocateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDescriptorSetAllocateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDescriptorSetAllocateInfo where-        type StructFields VkDescriptorSetAllocateInfo =-             '["sType", "pNext", "descriptorPool", "descriptorSetCount", -- ' closing tick for hsc2hs-               "pSetLayouts"]-        type CUnionType VkDescriptorSetAllocateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDescriptorSetAllocateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDescriptorSetAllocateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDescriptorSetAllocateInfo where-        type FieldType "sType" VkDescriptorSetAllocateInfo =-             VkStructureType-        type FieldOptional "sType" VkDescriptorSetAllocateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDescriptorSetAllocateInfo =-             #{offset VkDescriptorSetAllocateInfo, sType}-        type FieldIsArray "sType" VkDescriptorSetAllocateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetAllocateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDescriptorSetAllocateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetAllocateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetAllocateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDescriptorSetAllocateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetAllocateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDescriptorSetAllocateInfo where-        type FieldType "pNext" VkDescriptorSetAllocateInfo = Ptr Void-        type FieldOptional "pNext" VkDescriptorSetAllocateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDescriptorSetAllocateInfo =-             #{offset VkDescriptorSetAllocateInfo, pNext}-        type FieldIsArray "pNext" VkDescriptorSetAllocateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetAllocateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDescriptorSetAllocateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetAllocateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetAllocateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDescriptorSetAllocateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetAllocateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "descriptorPool" VkDescriptorSetAllocateInfo where-        type FieldType "descriptorPool" VkDescriptorSetAllocateInfo =-             VkDescriptorPool-        type FieldOptional "descriptorPool" VkDescriptorSetAllocateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "descriptorPool" VkDescriptorSetAllocateInfo =-             #{offset VkDescriptorSetAllocateInfo, descriptorPool}-        type FieldIsArray "descriptorPool" VkDescriptorSetAllocateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetAllocateInfo, descriptorPool}--instance {-# OVERLAPPING #-}-         CanReadField "descriptorPool" VkDescriptorSetAllocateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetAllocateInfo, descriptorPool})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetAllocateInfo, descriptorPool}--instance {-# OVERLAPPING #-}-         CanWriteField "descriptorPool" VkDescriptorSetAllocateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetAllocateInfo, descriptorPool}--instance {-# OVERLAPPING #-}-         HasField "descriptorSetCount" VkDescriptorSetAllocateInfo where-        type FieldType "descriptorSetCount" VkDescriptorSetAllocateInfo =-             Word32-        type FieldOptional "descriptorSetCount" VkDescriptorSetAllocateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "descriptorSetCount" VkDescriptorSetAllocateInfo =-             #{offset VkDescriptorSetAllocateInfo, descriptorSetCount}-        type FieldIsArray "descriptorSetCount" VkDescriptorSetAllocateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetAllocateInfo, descriptorSetCount}--instance {-# OVERLAPPING #-}-         CanReadField "descriptorSetCount" VkDescriptorSetAllocateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetAllocateInfo, descriptorSetCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetAllocateInfo, descriptorSetCount}--instance {-# OVERLAPPING #-}-         CanWriteField "descriptorSetCount" VkDescriptorSetAllocateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetAllocateInfo, descriptorSetCount}--instance {-# OVERLAPPING #-}-         HasField "pSetLayouts" VkDescriptorSetAllocateInfo where-        type FieldType "pSetLayouts" VkDescriptorSetAllocateInfo =-             Ptr VkDescriptorSetLayout-        type FieldOptional "pSetLayouts" VkDescriptorSetAllocateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pSetLayouts" VkDescriptorSetAllocateInfo =-             #{offset VkDescriptorSetAllocateInfo, pSetLayouts}-        type FieldIsArray "pSetLayouts" VkDescriptorSetAllocateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetAllocateInfo, pSetLayouts}--instance {-# OVERLAPPING #-}-         CanReadField "pSetLayouts" VkDescriptorSetAllocateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetAllocateInfo, pSetLayouts})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetAllocateInfo, pSetLayouts}--instance {-# OVERLAPPING #-}-         CanWriteField "pSetLayouts" VkDescriptorSetAllocateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetAllocateInfo, pSetLayouts}--instance Show VkDescriptorSetAllocateInfo where-        showsPrec d x-          = showString "VkDescriptorSetAllocateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "descriptorPool = " .-                            showsPrec d (getField @"descriptorPool" x) .-                              showString ", " .-                                showString "descriptorSetCount = " .-                                  showsPrec d (getField @"descriptorSetCount" x) .-                                    showString ", " .-                                      showString "pSetLayouts = " .-                                        showsPrec d (getField @"pSetLayouts" x) . showChar '}'---- | > typedef struct VkDescriptorSetLayoutBinding {---   >     uint32_t               binding;---   >     VkDescriptorType       descriptorType;---   >     uint32_t descriptorCount;---   >     VkShaderStageFlags     stageFlags;---   >     const VkSampler*       pImmutableSamplers;---   > } VkDescriptorSetLayoutBinding;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetLayoutBinding VkDescriptorSetLayoutBinding registry at www.khronos.org>-type VkDescriptorSetLayoutBinding =-     VulkanStruct VkDescriptorSetLayoutBinding' -- ' closing tick for hsc2hs--data VkDescriptorSetLayoutBinding' -- ' closing tick for hsc2hs--instance Eq VkDescriptorSetLayoutBinding where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDescriptorSetLayoutBinding where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDescriptorSetLayoutBinding where-        sizeOf ~_ = #{size VkDescriptorSetLayoutBinding}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDescriptorSetLayoutBinding}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDescriptorSetLayoutBinding where-        type StructFields VkDescriptorSetLayoutBinding =-             '["binding", "descriptorType", "descriptorCount", "stageFlags", -- ' closing tick for hsc2hs-               "pImmutableSamplers"]-        type CUnionType VkDescriptorSetLayoutBinding = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDescriptorSetLayoutBinding = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDescriptorSetLayoutBinding = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "binding" VkDescriptorSetLayoutBinding where-        type FieldType "binding" VkDescriptorSetLayoutBinding = Word32-        type FieldOptional "binding" VkDescriptorSetLayoutBinding = 'False -- ' closing tick for hsc2hs-        type FieldOffset "binding" VkDescriptorSetLayoutBinding =-             #{offset VkDescriptorSetLayoutBinding, binding}-        type FieldIsArray "binding" VkDescriptorSetLayoutBinding = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetLayoutBinding, binding}--instance {-# OVERLAPPING #-}-         CanReadField "binding" VkDescriptorSetLayoutBinding where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBinding, binding})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetLayoutBinding, binding}--instance {-# OVERLAPPING #-}-         CanWriteField "binding" VkDescriptorSetLayoutBinding where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetLayoutBinding, binding}--instance {-# OVERLAPPING #-}-         HasField "descriptorType" VkDescriptorSetLayoutBinding where-        type FieldType "descriptorType" VkDescriptorSetLayoutBinding =-             VkDescriptorType-        type FieldOptional "descriptorType" VkDescriptorSetLayoutBinding =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "descriptorType" VkDescriptorSetLayoutBinding =-             #{offset VkDescriptorSetLayoutBinding, descriptorType}-        type FieldIsArray "descriptorType" VkDescriptorSetLayoutBinding =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetLayoutBinding, descriptorType}--instance {-# OVERLAPPING #-}-         CanReadField "descriptorType" VkDescriptorSetLayoutBinding where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBinding, descriptorType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetLayoutBinding, descriptorType}--instance {-# OVERLAPPING #-}-         CanWriteField "descriptorType" VkDescriptorSetLayoutBinding where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetLayoutBinding, descriptorType}--instance {-# OVERLAPPING #-}-         HasField "descriptorCount" VkDescriptorSetLayoutBinding where-        type FieldType "descriptorCount" VkDescriptorSetLayoutBinding =-             Word32-        type FieldOptional "descriptorCount" VkDescriptorSetLayoutBinding =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "descriptorCount" VkDescriptorSetLayoutBinding =-             #{offset VkDescriptorSetLayoutBinding, descriptorCount}-        type FieldIsArray "descriptorCount" VkDescriptorSetLayoutBinding =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetLayoutBinding, descriptorCount}--instance {-# OVERLAPPING #-}-         CanReadField "descriptorCount" VkDescriptorSetLayoutBinding where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBinding, descriptorCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetLayoutBinding, descriptorCount}--instance {-# OVERLAPPING #-}-         CanWriteField "descriptorCount" VkDescriptorSetLayoutBinding where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetLayoutBinding, descriptorCount}--instance {-# OVERLAPPING #-}-         HasField "stageFlags" VkDescriptorSetLayoutBinding where-        type FieldType "stageFlags" VkDescriptorSetLayoutBinding =-             VkShaderStageFlags-        type FieldOptional "stageFlags" VkDescriptorSetLayoutBinding =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "stageFlags" VkDescriptorSetLayoutBinding =-             #{offset VkDescriptorSetLayoutBinding, stageFlags}-        type FieldIsArray "stageFlags" VkDescriptorSetLayoutBinding =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetLayoutBinding, stageFlags}--instance {-# OVERLAPPING #-}-         CanReadField "stageFlags" VkDescriptorSetLayoutBinding where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBinding, stageFlags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetLayoutBinding, stageFlags}--instance {-# OVERLAPPING #-}-         CanWriteField "stageFlags" VkDescriptorSetLayoutBinding where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetLayoutBinding, stageFlags}--instance {-# OVERLAPPING #-}-         HasField "pImmutableSamplers" VkDescriptorSetLayoutBinding where-        type FieldType "pImmutableSamplers" VkDescriptorSetLayoutBinding =-             Ptr VkSampler-        type FieldOptional "pImmutableSamplers"-               VkDescriptorSetLayoutBinding-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pImmutableSamplers" VkDescriptorSetLayoutBinding-             =-             #{offset VkDescriptorSetLayoutBinding, pImmutableSamplers}-        type FieldIsArray "pImmutableSamplers" VkDescriptorSetLayoutBinding-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetLayoutBinding, pImmutableSamplers}--instance {-# OVERLAPPING #-}-         CanReadField "pImmutableSamplers" VkDescriptorSetLayoutBinding-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBinding, pImmutableSamplers})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetLayoutBinding, pImmutableSamplers}--instance {-# OVERLAPPING #-}-         CanWriteField "pImmutableSamplers" VkDescriptorSetLayoutBinding-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetLayoutBinding, pImmutableSamplers}--instance Show VkDescriptorSetLayoutBinding where-        showsPrec d x-          = showString "VkDescriptorSetLayoutBinding {" .-              showString "binding = " .-                showsPrec d (getField @"binding" x) .-                  showString ", " .-                    showString "descriptorType = " .-                      showsPrec d (getField @"descriptorType" x) .-                        showString ", " .-                          showString "descriptorCount = " .-                            showsPrec d (getField @"descriptorCount" x) .-                              showString ", " .-                                showString "stageFlags = " .-                                  showsPrec d (getField @"stageFlags" x) .-                                    showString ", " .-                                      showString "pImmutableSamplers = " .-                                        showsPrec d (getField @"pImmutableSamplers" x) .-                                          showChar '}'---- | > typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfoEXT {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     uint32_t               bindingCount;---   >     const VkDescriptorBindingFlagsEXT* pBindingFlags;---   > } VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetLayoutBindingFlagsCreateInfoEXT VkDescriptorSetLayoutBindingFlagsCreateInfoEXT registry at www.khronos.org>-type VkDescriptorSetLayoutBindingFlagsCreateInfoEXT =-     VulkanStruct VkDescriptorSetLayoutBindingFlagsCreateInfoEXT' -- ' closing tick for hsc2hs--data VkDescriptorSetLayoutBindingFlagsCreateInfoEXT' -- ' closing tick for hsc2hs--instance Eq VkDescriptorSetLayoutBindingFlagsCreateInfoEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDescriptorSetLayoutBindingFlagsCreateInfoEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-         where-        sizeOf ~_-          = #{size VkDescriptorSetLayoutBindingFlagsCreateInfoEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDescriptorSetLayoutBindingFlagsCreateInfoEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal-           VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-         where-        type StructFields VkDescriptorSetLayoutBindingFlagsCreateInfoEXT =-             '["sType", "pNext", "bindingCount", "pBindingFlags"] -- ' closing tick for hsc2hs-        type CUnionType VkDescriptorSetLayoutBindingFlagsCreateInfoEXT =-             'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDescriptorSetLayoutBindingFlagsCreateInfoEXT =-             'False -- ' closing tick for hsc2hs-        type StructExtends VkDescriptorSetLayoutBindingFlagsCreateInfoEXT =-             '[VkDescriptorSetLayoutCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-         where-        type FieldType "sType"-               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-             = VkStructureType-        type FieldOptional "sType"-               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-             =-             #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, sType}-        type FieldIsArray "sType"-               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType"-           VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-         where-        type FieldType "pNext"-               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-             = Ptr Void-        type FieldOptional "pNext"-               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-             =-             #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, pNext}-        type FieldIsArray "pNext"-               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext"-           VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "bindingCount"-           VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-         where-        type FieldType "bindingCount"-               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-             = Word32-        type FieldOptional "bindingCount"-               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "bindingCount"-               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-             =-             #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, bindingCount}-        type FieldIsArray "bindingCount"-               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, bindingCount}--instance {-# OVERLAPPING #-}-         CanReadField "bindingCount"-           VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, bindingCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, bindingCount}--instance {-# OVERLAPPING #-}-         CanWriteField "bindingCount"-           VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, bindingCount}--instance {-# OVERLAPPING #-}-         HasField "pBindingFlags"-           VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-         where-        type FieldType "pBindingFlags"-               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-             = Ptr VkDescriptorBindingFlagsEXT-        type FieldOptional "pBindingFlags"-               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pBindingFlags"-               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-             =-             #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, pBindingFlags}-        type FieldIsArray "pBindingFlags"-               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, pBindingFlags}--instance {-# OVERLAPPING #-}-         CanReadField "pBindingFlags"-           VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, pBindingFlags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, pBindingFlags}--instance {-# OVERLAPPING #-}-         CanWriteField "pBindingFlags"-           VkDescriptorSetLayoutBindingFlagsCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, pBindingFlags}--instance Show VkDescriptorSetLayoutBindingFlagsCreateInfoEXT where-        showsPrec d x-          = showString "VkDescriptorSetLayoutBindingFlagsCreateInfoEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "bindingCount = " .-                            showsPrec d (getField @"bindingCount" x) .-                              showString ", " .-                                showString "pBindingFlags = " .-                                  showsPrec d (getField @"pBindingFlags" x) . showChar '}'---- | > typedef struct VkDescriptorSetLayoutCreateInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkDescriptorSetLayoutCreateFlags    flags;---   >     uint32_t               bindingCount;---   >     const VkDescriptorSetLayoutBinding* pBindings;---   > } VkDescriptorSetLayoutCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetLayoutCreateInfo VkDescriptorSetLayoutCreateInfo registry at www.khronos.org>-type VkDescriptorSetLayoutCreateInfo =-     VulkanStruct VkDescriptorSetLayoutCreateInfo' -- ' closing tick for hsc2hs--data VkDescriptorSetLayoutCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkDescriptorSetLayoutCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDescriptorSetLayoutCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDescriptorSetLayoutCreateInfo where-        sizeOf ~_ = #{size VkDescriptorSetLayoutCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDescriptorSetLayoutCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDescriptorSetLayoutCreateInfo where-        type StructFields VkDescriptorSetLayoutCreateInfo =-             '["sType", "pNext", "flags", "bindingCount", "pBindings"] -- ' closing tick for hsc2hs-        type CUnionType VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDescriptorSetLayoutCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDescriptorSetLayoutCreateInfo where-        type FieldType "sType" VkDescriptorSetLayoutCreateInfo =-             VkStructureType-        type FieldOptional "sType" VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDescriptorSetLayoutCreateInfo =-             #{offset VkDescriptorSetLayoutCreateInfo, sType}-        type FieldIsArray "sType" VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetLayoutCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDescriptorSetLayoutCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetLayoutCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDescriptorSetLayoutCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetLayoutCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDescriptorSetLayoutCreateInfo where-        type FieldType "pNext" VkDescriptorSetLayoutCreateInfo = Ptr Void-        type FieldOptional "pNext" VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDescriptorSetLayoutCreateInfo =-             #{offset VkDescriptorSetLayoutCreateInfo, pNext}-        type FieldIsArray "pNext" VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetLayoutCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDescriptorSetLayoutCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetLayoutCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDescriptorSetLayoutCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetLayoutCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkDescriptorSetLayoutCreateInfo where-        type FieldType "flags" VkDescriptorSetLayoutCreateInfo =-             VkDescriptorSetLayoutCreateFlags-        type FieldOptional "flags" VkDescriptorSetLayoutCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkDescriptorSetLayoutCreateInfo =-             #{offset VkDescriptorSetLayoutCreateInfo, flags}-        type FieldIsArray "flags" VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetLayoutCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkDescriptorSetLayoutCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetLayoutCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkDescriptorSetLayoutCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetLayoutCreateInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "bindingCount" VkDescriptorSetLayoutCreateInfo where-        type FieldType "bindingCount" VkDescriptorSetLayoutCreateInfo =-             Word32-        type FieldOptional "bindingCount" VkDescriptorSetLayoutCreateInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "bindingCount" VkDescriptorSetLayoutCreateInfo =-             #{offset VkDescriptorSetLayoutCreateInfo, bindingCount}-        type FieldIsArray "bindingCount" VkDescriptorSetLayoutCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetLayoutCreateInfo, bindingCount}--instance {-# OVERLAPPING #-}-         CanReadField "bindingCount" VkDescriptorSetLayoutCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutCreateInfo, bindingCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetLayoutCreateInfo, bindingCount}--instance {-# OVERLAPPING #-}-         CanWriteField "bindingCount" VkDescriptorSetLayoutCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetLayoutCreateInfo, bindingCount}--instance {-# OVERLAPPING #-}-         HasField "pBindings" VkDescriptorSetLayoutCreateInfo where-        type FieldType "pBindings" VkDescriptorSetLayoutCreateInfo =-             Ptr VkDescriptorSetLayoutBinding-        type FieldOptional "pBindings" VkDescriptorSetLayoutCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pBindings" VkDescriptorSetLayoutCreateInfo =-             #{offset VkDescriptorSetLayoutCreateInfo, pBindings}-        type FieldIsArray "pBindings" VkDescriptorSetLayoutCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetLayoutCreateInfo, pBindings}--instance {-# OVERLAPPING #-}-         CanReadField "pBindings" VkDescriptorSetLayoutCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutCreateInfo, pBindings})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetLayoutCreateInfo, pBindings}--instance {-# OVERLAPPING #-}-         CanWriteField "pBindings" VkDescriptorSetLayoutCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetLayoutCreateInfo, pBindings}--instance Show VkDescriptorSetLayoutCreateInfo where-        showsPrec d x-          = showString "VkDescriptorSetLayoutCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "bindingCount = " .-                                  showsPrec d (getField @"bindingCount" x) .-                                    showString ", " .-                                      showString "pBindings = " .-                                        showsPrec d (getField @"pBindings" x) . showChar '}'---- | > typedef struct VkDescriptorSetLayoutSupport {---   >     VkStructureType sType;---   >     void*            pNext;---   >     VkBool32         supported;---   > } VkDescriptorSetLayoutSupport;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupport registry at www.khronos.org>-type VkDescriptorSetLayoutSupport =-     VulkanStruct VkDescriptorSetLayoutSupport' -- ' closing tick for hsc2hs--data VkDescriptorSetLayoutSupport' -- ' closing tick for hsc2hs--instance Eq VkDescriptorSetLayoutSupport where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDescriptorSetLayoutSupport where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDescriptorSetLayoutSupport where-        sizeOf ~_ = #{size VkDescriptorSetLayoutSupport}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDescriptorSetLayoutSupport}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDescriptorSetLayoutSupport where-        type StructFields VkDescriptorSetLayoutSupport =-             '["sType", "pNext", "supported"] -- ' closing tick for hsc2hs-        type CUnionType VkDescriptorSetLayoutSupport = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDescriptorSetLayoutSupport = 'True -- ' closing tick for hsc2hs-        type StructExtends VkDescriptorSetLayoutSupport = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDescriptorSetLayoutSupport where-        type FieldType "sType" VkDescriptorSetLayoutSupport =-             VkStructureType-        type FieldOptional "sType" VkDescriptorSetLayoutSupport = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDescriptorSetLayoutSupport =-             #{offset VkDescriptorSetLayoutSupport, sType}-        type FieldIsArray "sType" VkDescriptorSetLayoutSupport = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetLayoutSupport, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDescriptorSetLayoutSupport where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutSupport, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetLayoutSupport, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDescriptorSetLayoutSupport where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetLayoutSupport, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDescriptorSetLayoutSupport where-        type FieldType "pNext" VkDescriptorSetLayoutSupport = Ptr Void-        type FieldOptional "pNext" VkDescriptorSetLayoutSupport = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDescriptorSetLayoutSupport =-             #{offset VkDescriptorSetLayoutSupport, pNext}-        type FieldIsArray "pNext" VkDescriptorSetLayoutSupport = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetLayoutSupport, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDescriptorSetLayoutSupport where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutSupport, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetLayoutSupport, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDescriptorSetLayoutSupport where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetLayoutSupport, pNext}--instance {-# OVERLAPPING #-}-         HasField "supported" VkDescriptorSetLayoutSupport where-        type FieldType "supported" VkDescriptorSetLayoutSupport = VkBool32-        type FieldOptional "supported" VkDescriptorSetLayoutSupport =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "supported" VkDescriptorSetLayoutSupport =-             #{offset VkDescriptorSetLayoutSupport, supported}-        type FieldIsArray "supported" VkDescriptorSetLayoutSupport = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetLayoutSupport, supported}--instance {-# OVERLAPPING #-}-         CanReadField "supported" VkDescriptorSetLayoutSupport where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutSupport, supported})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetLayoutSupport, supported}--instance {-# OVERLAPPING #-}-         CanWriteField "supported" VkDescriptorSetLayoutSupport where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetLayoutSupport, supported}--instance Show VkDescriptorSetLayoutSupport where-        showsPrec d x-          = showString "VkDescriptorSetLayoutSupport {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "supported = " .-                            showsPrec d (getField @"supported" x) . showChar '}'---- | Alias for `VkDescriptorSetLayoutSupport`-type VkDescriptorSetLayoutSupportKHR = VkDescriptorSetLayoutSupport---- | > typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfoEXT {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     uint32_t               descriptorSetCount;---   >     const uint32_t* pDescriptorCounts;---   > } VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetVariableDescriptorCountAllocateInfoEXT VkDescriptorSetVariableDescriptorCountAllocateInfoEXT registry at www.khronos.org>-type VkDescriptorSetVariableDescriptorCountAllocateInfoEXT =-     VulkanStruct VkDescriptorSetVariableDescriptorCountAllocateInfoEXT' -- ' closing tick for hsc2hs--data VkDescriptorSetVariableDescriptorCountAllocateInfoEXT' -- ' closing tick for hsc2hs--instance Eq VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-         where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-         where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable-           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-         where-        sizeOf ~_-          = #{size VkDescriptorSetVariableDescriptorCountAllocateInfoEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDescriptorSetVariableDescriptorCountAllocateInfoEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal-           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-         where-        type StructFields-               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-             = '["sType", "pNext", "descriptorSetCount", "pDescriptorCounts"] -- ' closing tick for hsc2hs-        type CUnionType-               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly-               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type StructExtends-               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-             = '[VkDescriptorSetAllocateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType"-           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-         where-        type FieldType "sType"-               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-             = VkStructureType-        type FieldOptional "sType"-               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-             =-             #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, sType}-        type FieldIsArray "sType"-               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType"-           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType"-           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext"-           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-         where-        type FieldType "pNext"-               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-             = Ptr Void-        type FieldOptional "pNext"-               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-             =-             #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, pNext}-        type FieldIsArray "pNext"-               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext"-           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext"-           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "descriptorSetCount"-           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-         where-        type FieldType "descriptorSetCount"-               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-             = Word32-        type FieldOptional "descriptorSetCount"-               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "descriptorSetCount"-               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-             =-             #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, descriptorSetCount}-        type FieldIsArray "descriptorSetCount"-               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, descriptorSetCount}--instance {-# OVERLAPPING #-}-         CanReadField "descriptorSetCount"-           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, descriptorSetCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, descriptorSetCount}--instance {-# OVERLAPPING #-}-         CanWriteField "descriptorSetCount"-           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, descriptorSetCount}--instance {-# OVERLAPPING #-}-         HasField "pDescriptorCounts"-           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-         where-        type FieldType "pDescriptorCounts"-               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-             = Ptr Word32-        type FieldOptional "pDescriptorCounts"-               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pDescriptorCounts"-               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-             =-             #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, pDescriptorCounts}-        type FieldIsArray "pDescriptorCounts"-               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, pDescriptorCounts}--instance {-# OVERLAPPING #-}-         CanReadField "pDescriptorCounts"-           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, pDescriptorCounts})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, pDescriptorCounts}--instance {-# OVERLAPPING #-}-         CanWriteField "pDescriptorCounts"-           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, pDescriptorCounts}--instance Show VkDescriptorSetVariableDescriptorCountAllocateInfoEXT-         where-        showsPrec d x-          = showString-              "VkDescriptorSetVariableDescriptorCountAllocateInfoEXT {"-              .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "descriptorSetCount = " .-                            showsPrec d (getField @"descriptorSetCount" x) .-                              showString ", " .-                                showString "pDescriptorCounts = " .-                                  showsPrec d (getField @"pDescriptorCounts" x) . showChar '}'---- | > typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupportEXT {---   >     VkStructureType sType;---   >     void*            pNext;---   >     uint32_t         maxVariableDescriptorCount;---   > } VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetVariableDescriptorCountLayoutSupportEXT VkDescriptorSetVariableDescriptorCountLayoutSupportEXT registry at www.khronos.org>-type VkDescriptorSetVariableDescriptorCountLayoutSupportEXT =-     VulkanStruct-       VkDescriptorSetVariableDescriptorCountLayoutSupportEXT' -- ' closing tick for hsc2hs--data VkDescriptorSetVariableDescriptorCountLayoutSupportEXT' -- ' closing tick for hsc2hs--instance Eq VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-         where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-         where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable-           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-         where-        sizeOf ~_-          = #{size VkDescriptorSetVariableDescriptorCountLayoutSupportEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDescriptorSetVariableDescriptorCountLayoutSupportEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal-           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-         where-        type StructFields-               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-             = '["sType", "pNext", "maxVariableDescriptorCount"] -- ' closing tick for hsc2hs-        type CUnionType-               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-             = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly-               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-             = 'True -- ' closing tick for hsc2hs-        type StructExtends-               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-             = '[VkDescriptorSetLayoutSupport] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType"-           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-         where-        type FieldType "sType"-               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-             = VkStructureType-        type FieldOptional "sType"-               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-             =-             #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, sType}-        type FieldIsArray "sType"-               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType"-           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType"-           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext"-           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-         where-        type FieldType "pNext"-               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-             = Ptr Void-        type FieldOptional "pNext"-               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-             =-             #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, pNext}-        type FieldIsArray "pNext"-               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext"-           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext"-           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "maxVariableDescriptorCount"-           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-         where-        type FieldType "maxVariableDescriptorCount"-               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-             = Word32-        type FieldOptional "maxVariableDescriptorCount"-               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxVariableDescriptorCount"-               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-             =-             #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, maxVariableDescriptorCount}-        type FieldIsArray "maxVariableDescriptorCount"-               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, maxVariableDescriptorCount}--instance {-# OVERLAPPING #-}-         CanReadField "maxVariableDescriptorCount"-           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, maxVariableDescriptorCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, maxVariableDescriptorCount}--instance {-# OVERLAPPING #-}-         CanWriteField "maxVariableDescriptorCount"-           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, maxVariableDescriptorCount}--instance Show-           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT-         where-        showsPrec d x-          = showString-              "VkDescriptorSetVariableDescriptorCountLayoutSupportEXT {"-              .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "maxVariableDescriptorCount = " .-                            showsPrec d (getField @"maxVariableDescriptorCount" x) .-                              showChar '}'---- | > typedef struct VkDescriptorUpdateTemplateCreateInfo {---   >     VkStructureType sType;---   >     void*                                   pNext;---   >     VkDescriptorUpdateTemplateCreateFlags    flags;---   >     uint32_t                 descriptorUpdateEntryCount;---   >     const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;---   >     VkDescriptorUpdateTemplateType templateType;---   >     VkDescriptorSetLayout descriptorSetLayout;---   >     VkPipelineBindPoint pipelineBindPoint;---   >     VkPipelineLayoutpipelineLayout;---   >     uint32_t set;---   > } VkDescriptorUpdateTemplateCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfo registry at www.khronos.org>-type VkDescriptorUpdateTemplateCreateInfo =-     VulkanStruct VkDescriptorUpdateTemplateCreateInfo' -- ' closing tick for hsc2hs--data VkDescriptorUpdateTemplateCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkDescriptorUpdateTemplateCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDescriptorUpdateTemplateCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDescriptorUpdateTemplateCreateInfo where-        sizeOf ~_-          = #{size VkDescriptorUpdateTemplateCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDescriptorUpdateTemplateCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDescriptorUpdateTemplateCreateInfo where-        type StructFields VkDescriptorUpdateTemplateCreateInfo =-             '["sType", "pNext", "flags", "descriptorUpdateEntryCount", -- ' closing tick for hsc2hs-               "pDescriptorUpdateEntries", "templateType", "descriptorSetLayout",-               "pipelineBindPoint", "pipelineLayout", "set"]-        type CUnionType VkDescriptorUpdateTemplateCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDescriptorUpdateTemplateCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDescriptorUpdateTemplateCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDescriptorUpdateTemplateCreateInfo where-        type FieldType "sType" VkDescriptorUpdateTemplateCreateInfo =-             VkStructureType-        type FieldOptional "sType" VkDescriptorUpdateTemplateCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDescriptorUpdateTemplateCreateInfo =-             #{offset VkDescriptorUpdateTemplateCreateInfo, sType}-        type FieldIsArray "sType" VkDescriptorUpdateTemplateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDescriptorUpdateTemplateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDescriptorUpdateTemplateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDescriptorUpdateTemplateCreateInfo where-        type FieldType "pNext" VkDescriptorUpdateTemplateCreateInfo =-             Ptr Void-        type FieldOptional "pNext" VkDescriptorUpdateTemplateCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDescriptorUpdateTemplateCreateInfo =-             #{offset VkDescriptorUpdateTemplateCreateInfo, pNext}-        type FieldIsArray "pNext" VkDescriptorUpdateTemplateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDescriptorUpdateTemplateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDescriptorUpdateTemplateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkDescriptorUpdateTemplateCreateInfo where-        type FieldType "flags" VkDescriptorUpdateTemplateCreateInfo =-             VkDescriptorUpdateTemplateCreateFlags-        type FieldOptional "flags" VkDescriptorUpdateTemplateCreateInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkDescriptorUpdateTemplateCreateInfo =-             #{offset VkDescriptorUpdateTemplateCreateInfo, flags}-        type FieldIsArray "flags" VkDescriptorUpdateTemplateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkDescriptorUpdateTemplateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkDescriptorUpdateTemplateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "descriptorUpdateEntryCount"-           VkDescriptorUpdateTemplateCreateInfo-         where-        type FieldType "descriptorUpdateEntryCount"-               VkDescriptorUpdateTemplateCreateInfo-             = Word32-        type FieldOptional "descriptorUpdateEntryCount"-               VkDescriptorUpdateTemplateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "descriptorUpdateEntryCount"-               VkDescriptorUpdateTemplateCreateInfo-             =-             #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorUpdateEntryCount}-        type FieldIsArray "descriptorUpdateEntryCount"-               VkDescriptorUpdateTemplateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorUpdateEntryCount}--instance {-# OVERLAPPING #-}-         CanReadField "descriptorUpdateEntryCount"-           VkDescriptorUpdateTemplateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorUpdateEntryCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorUpdateEntryCount}--instance {-# OVERLAPPING #-}-         CanWriteField "descriptorUpdateEntryCount"-           VkDescriptorUpdateTemplateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorUpdateEntryCount}--instance {-# OVERLAPPING #-}-         HasField "pDescriptorUpdateEntries"-           VkDescriptorUpdateTemplateCreateInfo-         where-        type FieldType "pDescriptorUpdateEntries"-               VkDescriptorUpdateTemplateCreateInfo-             = Ptr VkDescriptorUpdateTemplateEntry-        type FieldOptional "pDescriptorUpdateEntries"-               VkDescriptorUpdateTemplateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pDescriptorUpdateEntries"-               VkDescriptorUpdateTemplateCreateInfo-             =-             #{offset VkDescriptorUpdateTemplateCreateInfo, pDescriptorUpdateEntries}-        type FieldIsArray "pDescriptorUpdateEntries"-               VkDescriptorUpdateTemplateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateCreateInfo, pDescriptorUpdateEntries}--instance {-# OVERLAPPING #-}-         CanReadField "pDescriptorUpdateEntries"-           VkDescriptorUpdateTemplateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, pDescriptorUpdateEntries})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, pDescriptorUpdateEntries}--instance {-# OVERLAPPING #-}-         CanWriteField "pDescriptorUpdateEntries"-           VkDescriptorUpdateTemplateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, pDescriptorUpdateEntries}--instance {-# OVERLAPPING #-}-         HasField "templateType" VkDescriptorUpdateTemplateCreateInfo where-        type FieldType "templateType" VkDescriptorUpdateTemplateCreateInfo-             = VkDescriptorUpdateTemplateType-        type FieldOptional "templateType"-               VkDescriptorUpdateTemplateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "templateType"-               VkDescriptorUpdateTemplateCreateInfo-             =-             #{offset VkDescriptorUpdateTemplateCreateInfo, templateType}-        type FieldIsArray "templateType"-               VkDescriptorUpdateTemplateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateCreateInfo, templateType}--instance {-# OVERLAPPING #-}-         CanReadField "templateType" VkDescriptorUpdateTemplateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, templateType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, templateType}--instance {-# OVERLAPPING #-}-         CanWriteField "templateType" VkDescriptorUpdateTemplateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, templateType}--instance {-# OVERLAPPING #-}-         HasField "descriptorSetLayout" VkDescriptorUpdateTemplateCreateInfo-         where-        type FieldType "descriptorSetLayout"-               VkDescriptorUpdateTemplateCreateInfo-             = VkDescriptorSetLayout-        type FieldOptional "descriptorSetLayout"-               VkDescriptorUpdateTemplateCreateInfo-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "descriptorSetLayout"-               VkDescriptorUpdateTemplateCreateInfo-             =-             #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorSetLayout}-        type FieldIsArray "descriptorSetLayout"-               VkDescriptorUpdateTemplateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorSetLayout}--instance {-# OVERLAPPING #-}-         CanReadField "descriptorSetLayout"-           VkDescriptorUpdateTemplateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorSetLayout})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorSetLayout}--instance {-# OVERLAPPING #-}-         CanWriteField "descriptorSetLayout"-           VkDescriptorUpdateTemplateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorSetLayout}--instance {-# OVERLAPPING #-}-         HasField "pipelineBindPoint" VkDescriptorUpdateTemplateCreateInfo-         where-        type FieldType "pipelineBindPoint"-               VkDescriptorUpdateTemplateCreateInfo-             = VkPipelineBindPoint-        type FieldOptional "pipelineBindPoint"-               VkDescriptorUpdateTemplateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pipelineBindPoint"-               VkDescriptorUpdateTemplateCreateInfo-             =-             #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineBindPoint}-        type FieldIsArray "pipelineBindPoint"-               VkDescriptorUpdateTemplateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineBindPoint}--instance {-# OVERLAPPING #-}-         CanReadField "pipelineBindPoint"-           VkDescriptorUpdateTemplateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineBindPoint})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineBindPoint}--instance {-# OVERLAPPING #-}-         CanWriteField "pipelineBindPoint"-           VkDescriptorUpdateTemplateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineBindPoint}--instance {-# OVERLAPPING #-}-         HasField "pipelineLayout" VkDescriptorUpdateTemplateCreateInfo-         where-        type FieldType "pipelineLayout"-               VkDescriptorUpdateTemplateCreateInfo-             = VkPipelineLayout-        type FieldOptional "pipelineLayout"-               VkDescriptorUpdateTemplateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pipelineLayout"-               VkDescriptorUpdateTemplateCreateInfo-             =-             #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineLayout}-        type FieldIsArray "pipelineLayout"-               VkDescriptorUpdateTemplateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineLayout}--instance {-# OVERLAPPING #-}-         CanReadField "pipelineLayout" VkDescriptorUpdateTemplateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineLayout})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineLayout}--instance {-# OVERLAPPING #-}-         CanWriteField "pipelineLayout" VkDescriptorUpdateTemplateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineLayout}--instance {-# OVERLAPPING #-}-         HasField "set" VkDescriptorUpdateTemplateCreateInfo where-        type FieldType "set" VkDescriptorUpdateTemplateCreateInfo = Word32-        type FieldOptional "set" VkDescriptorUpdateTemplateCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "set" VkDescriptorUpdateTemplateCreateInfo =-             #{offset VkDescriptorUpdateTemplateCreateInfo, set}-        type FieldIsArray "set" VkDescriptorUpdateTemplateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateCreateInfo, set}--instance {-# OVERLAPPING #-}-         CanReadField "set" VkDescriptorUpdateTemplateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, set})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, set}--instance {-# OVERLAPPING #-}-         CanWriteField "set" VkDescriptorUpdateTemplateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, set}--instance Show VkDescriptorUpdateTemplateCreateInfo where-        showsPrec d x-          = showString "VkDescriptorUpdateTemplateCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "descriptorUpdateEntryCount = " .-                                  showsPrec d (getField @"descriptorUpdateEntryCount" x) .-                                    showString ", " .-                                      showString "pDescriptorUpdateEntries = " .-                                        showsPrec d (getField @"pDescriptorUpdateEntries" x) .-                                          showString ", " .-                                            showString "templateType = " .-                                              showsPrec d (getField @"templateType" x) .-                                                showString ", " .-                                                  showString "descriptorSetLayout = " .-                                                    showsPrec d (getField @"descriptorSetLayout" x)-                                                      .-                                                      showString ", " .-                                                        showString "pipelineBindPoint = " .-                                                          showsPrec d-                                                            (getField @"pipelineBindPoint" x)-                                                            .-                                                            showString ", " .-                                                              showString "pipelineLayout = " .-                                                                showsPrec d-                                                                  (getField @"pipelineLayout" x)-                                                                  .-                                                                  showString ", " .-                                                                    showString "set = " .-                                                                      showsPrec d-                                                                        (getField @"set" x)-                                                                        . showChar '}'---- | Alias for `VkDescriptorUpdateTemplateCreateInfo`-type VkDescriptorUpdateTemplateCreateInfoKHR =-     VkDescriptorUpdateTemplateCreateInfo---- | > typedef struct VkDescriptorUpdateTemplateEntry {---   >     uint32_t                         dstBinding;---   >     uint32_t                         dstArrayElement;---   >     uint32_t                         descriptorCount;---   >     VkDescriptorType                 descriptorType;---   >     size_t                           offset;---   >     size_t                           stride;---   > } VkDescriptorUpdateTemplateEntry;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntry registry at www.khronos.org>-type VkDescriptorUpdateTemplateEntry =-     VulkanStruct VkDescriptorUpdateTemplateEntry' -- ' closing tick for hsc2hs--data VkDescriptorUpdateTemplateEntry' -- ' closing tick for hsc2hs--instance Eq VkDescriptorUpdateTemplateEntry where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDescriptorUpdateTemplateEntry where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDescriptorUpdateTemplateEntry where-        sizeOf ~_ = #{size VkDescriptorUpdateTemplateEntry}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDescriptorUpdateTemplateEntry}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDescriptorUpdateTemplateEntry where-        type StructFields VkDescriptorUpdateTemplateEntry =-             '["dstBinding", "dstArrayElement", "descriptorCount", -- ' closing tick for hsc2hs-               "descriptorType", "offset", "stride"]-        type CUnionType VkDescriptorUpdateTemplateEntry = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDescriptorUpdateTemplateEntry = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDescriptorUpdateTemplateEntry = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "dstBinding" VkDescriptorUpdateTemplateEntry where-        type FieldType "dstBinding" VkDescriptorUpdateTemplateEntry =-             Word32-        type FieldOptional "dstBinding" VkDescriptorUpdateTemplateEntry =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "dstBinding" VkDescriptorUpdateTemplateEntry =-             #{offset VkDescriptorUpdateTemplateEntry, dstBinding}-        type FieldIsArray "dstBinding" VkDescriptorUpdateTemplateEntry =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateEntry, dstBinding}--instance {-# OVERLAPPING #-}-         CanReadField "dstBinding" VkDescriptorUpdateTemplateEntry where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateEntry, dstBinding})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateEntry, dstBinding}--instance {-# OVERLAPPING #-}-         CanWriteField "dstBinding" VkDescriptorUpdateTemplateEntry where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateEntry, dstBinding}--instance {-# OVERLAPPING #-}-         HasField "dstArrayElement" VkDescriptorUpdateTemplateEntry where-        type FieldType "dstArrayElement" VkDescriptorUpdateTemplateEntry =-             Word32-        type FieldOptional "dstArrayElement"-               VkDescriptorUpdateTemplateEntry-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dstArrayElement" VkDescriptorUpdateTemplateEntry-             =-             #{offset VkDescriptorUpdateTemplateEntry, dstArrayElement}-        type FieldIsArray "dstArrayElement" VkDescriptorUpdateTemplateEntry-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateEntry, dstArrayElement}--instance {-# OVERLAPPING #-}-         CanReadField "dstArrayElement" VkDescriptorUpdateTemplateEntry-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateEntry, dstArrayElement})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateEntry, dstArrayElement}--instance {-# OVERLAPPING #-}-         CanWriteField "dstArrayElement" VkDescriptorUpdateTemplateEntry-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateEntry, dstArrayElement}--instance {-# OVERLAPPING #-}-         HasField "descriptorCount" VkDescriptorUpdateTemplateEntry where-        type FieldType "descriptorCount" VkDescriptorUpdateTemplateEntry =-             Word32-        type FieldOptional "descriptorCount"-               VkDescriptorUpdateTemplateEntry-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "descriptorCount" VkDescriptorUpdateTemplateEntry-             =-             #{offset VkDescriptorUpdateTemplateEntry, descriptorCount}-        type FieldIsArray "descriptorCount" VkDescriptorUpdateTemplateEntry-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateEntry, descriptorCount}--instance {-# OVERLAPPING #-}-         CanReadField "descriptorCount" VkDescriptorUpdateTemplateEntry-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateEntry, descriptorCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateEntry, descriptorCount}--instance {-# OVERLAPPING #-}-         CanWriteField "descriptorCount" VkDescriptorUpdateTemplateEntry-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateEntry, descriptorCount}--instance {-# OVERLAPPING #-}-         HasField "descriptorType" VkDescriptorUpdateTemplateEntry where-        type FieldType "descriptorType" VkDescriptorUpdateTemplateEntry =-             VkDescriptorType-        type FieldOptional "descriptorType" VkDescriptorUpdateTemplateEntry-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "descriptorType" VkDescriptorUpdateTemplateEntry =-             #{offset VkDescriptorUpdateTemplateEntry, descriptorType}-        type FieldIsArray "descriptorType" VkDescriptorUpdateTemplateEntry-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateEntry, descriptorType}--instance {-# OVERLAPPING #-}-         CanReadField "descriptorType" VkDescriptorUpdateTemplateEntry where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateEntry, descriptorType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateEntry, descriptorType}--instance {-# OVERLAPPING #-}-         CanWriteField "descriptorType" VkDescriptorUpdateTemplateEntry-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateEntry, descriptorType}--instance {-# OVERLAPPING #-}-         HasField "offset" VkDescriptorUpdateTemplateEntry where-        type FieldType "offset" VkDescriptorUpdateTemplateEntry = CSize-        type FieldOptional "offset" VkDescriptorUpdateTemplateEntry =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "offset" VkDescriptorUpdateTemplateEntry =-             #{offset VkDescriptorUpdateTemplateEntry, offset}-        type FieldIsArray "offset" VkDescriptorUpdateTemplateEntry = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateEntry, offset}--instance {-# OVERLAPPING #-}-         CanReadField "offset" VkDescriptorUpdateTemplateEntry where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateEntry, offset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateEntry, offset}--instance {-# OVERLAPPING #-}-         CanWriteField "offset" VkDescriptorUpdateTemplateEntry where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateEntry, offset}--instance {-# OVERLAPPING #-}-         HasField "stride" VkDescriptorUpdateTemplateEntry where-        type FieldType "stride" VkDescriptorUpdateTemplateEntry = CSize-        type FieldOptional "stride" VkDescriptorUpdateTemplateEntry =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "stride" VkDescriptorUpdateTemplateEntry =-             #{offset VkDescriptorUpdateTemplateEntry, stride}-        type FieldIsArray "stride" VkDescriptorUpdateTemplateEntry = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateEntry, stride}--instance {-# OVERLAPPING #-}-         CanReadField "stride" VkDescriptorUpdateTemplateEntry where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateEntry, stride})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateEntry, stride}--instance {-# OVERLAPPING #-}-         CanWriteField "stride" VkDescriptorUpdateTemplateEntry where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateEntry, stride}--instance Show VkDescriptorUpdateTemplateEntry where-        showsPrec d x-          = showString "VkDescriptorUpdateTemplateEntry {" .-              showString "dstBinding = " .-                showsPrec d (getField @"dstBinding" x) .-                  showString ", " .-                    showString "dstArrayElement = " .-                      showsPrec d (getField @"dstArrayElement" x) .-                        showString ", " .-                          showString "descriptorCount = " .-                            showsPrec d (getField @"descriptorCount" x) .-                              showString ", " .-                                showString "descriptorType = " .-                                  showsPrec d (getField @"descriptorType" x) .-                                    showString ", " .-                                      showString "offset = " .-                                        showsPrec d (getField @"offset" x) .-                                          showString ", " .-                                            showString "stride = " .-                                              showsPrec d (getField @"stride" x) . showChar '}'+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.Descriptor+       (VkDescriptorBufferInfo, VkDescriptorImageInfo,+        VkDescriptorPoolCreateInfo, VkDescriptorPoolSize,+        VkDescriptorSetAllocateInfo, VkDescriptorSetLayoutBinding,+        VkDescriptorSetLayoutBindingFlagsCreateInfoEXT,+        VkDescriptorSetLayoutCreateInfo, VkDescriptorSetLayoutSupport,+        VkDescriptorSetLayoutSupportKHR,+        VkDescriptorSetVariableDescriptorCountAllocateInfoEXT,+        VkDescriptorSetVariableDescriptorCountLayoutSupportEXT,+        VkDescriptorUpdateTemplateCreateInfo,+        VkDescriptorUpdateTemplateCreateInfoKHR,+        VkDescriptorUpdateTemplateEntry,+        VkDescriptorUpdateTemplateEntryKHR)+       where+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes          (VkBool32, VkDeviceSize)+import Graphics.Vulkan.Types.Bitmasks           (VkDescriptorUpdateTemplateCreateFlags)+import Graphics.Vulkan.Types.Enum.Descriptor    (VkDescriptorBindingFlagsEXT,+                                                 VkDescriptorPoolCreateFlags,+                                                 VkDescriptorSetLayoutCreateFlags,+                                                 VkDescriptorType,+                                                 VkDescriptorUpdateTemplateType)+import Graphics.Vulkan.Types.Enum.Image         (VkImageLayout)+import Graphics.Vulkan.Types.Enum.Pipeline      (VkPipelineBindPoint)+import Graphics.Vulkan.Types.Enum.Shader        (VkShaderStageFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles            (VkBuffer, VkDescriptorPool,+                                                 VkDescriptorSetLayout,+                                                 VkImageView, VkPipelineLayout,+                                                 VkSampler)++-- | > typedef struct VkDescriptorBufferInfo {+--   >     VkBuffer               buffer;+--   >     VkDeviceSize           offset;+--   >     VkDeviceSize           range;+--   > } VkDescriptorBufferInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorBufferInfo VkDescriptorBufferInfo registry at www.khronos.org>+type VkDescriptorBufferInfo = VkStruct VkDescriptorBufferInfo' -- ' closing tick for hsc2hs++data VkDescriptorBufferInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDescriptorBufferInfo where+    type StructRep VkDescriptorBufferInfo =+         'StructMeta "VkDescriptorBufferInfo" VkDescriptorBufferInfo -- ' closing tick for hsc2hs+           #{size VkDescriptorBufferInfo}+           #{alignment VkDescriptorBufferInfo}+           '[('FieldMeta "buffer" VkBuffer 'False  -- ' closing tick for hsc2hs+                                                  #{offset VkDescriptorBufferInfo, buffer}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "offset" VkDeviceSize 'False +                                                      #{offset VkDescriptorBufferInfo, offset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "range" VkDeviceSize 'False +                                                     #{offset VkDescriptorBufferInfo, range}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDescriptorImageInfo {+--   >     VkSampler       sampler;+--   >     VkImageView     imageView;+--   >     VkImageLayout   imageLayout;+--   > } VkDescriptorImageInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorImageInfo VkDescriptorImageInfo registry at www.khronos.org>+type VkDescriptorImageInfo = VkStruct VkDescriptorImageInfo' -- ' closing tick for hsc2hs++data VkDescriptorImageInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDescriptorImageInfo where+    type StructRep VkDescriptorImageInfo =+         'StructMeta "VkDescriptorImageInfo" VkDescriptorImageInfo  -- ' closing tick for hsc2hs+                                                                   #{size VkDescriptorImageInfo}+           #{alignment VkDescriptorImageInfo}+           '[('FieldMeta "sampler" VkSampler 'False  -- ' closing tick for hsc2hs+                                                    #{offset VkDescriptorImageInfo, sampler}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "imageView" VkImageView 'False +                                                        #{offset VkDescriptorImageInfo, imageView}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "imageLayout" VkImageLayout 'False +                                                            #{offset VkDescriptorImageInfo, imageLayout}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDescriptorPoolCreateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkDescriptorPoolCreateFlags  flags;+--   >     uint32_t               maxSets;+--   >     uint32_t               poolSizeCount;+--   >     const VkDescriptorPoolSize* pPoolSizes;+--   > } VkDescriptorPoolCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorPoolCreateInfo VkDescriptorPoolCreateInfo registry at www.khronos.org>+type VkDescriptorPoolCreateInfo =+     VkStruct VkDescriptorPoolCreateInfo' -- ' closing tick for hsc2hs++data VkDescriptorPoolCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDescriptorPoolCreateInfo where+    type StructRep VkDescriptorPoolCreateInfo =+         'StructMeta "VkDescriptorPoolCreateInfo" VkDescriptorPoolCreateInfo -- ' closing tick for hsc2hs+           #{size VkDescriptorPoolCreateInfo}+           #{alignment VkDescriptorPoolCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDescriptorPoolCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDescriptorPoolCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkDescriptorPoolCreateFlags 'True +                                                                   #{offset VkDescriptorPoolCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxSets" Word32 'False +                                                 #{offset VkDescriptorPoolCreateInfo, maxSets}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "poolSizeCount" Word32 'False +                                                       #{offset VkDescriptorPoolCreateInfo, poolSizeCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pPoolSizes" (Ptr VkDescriptorPoolSize) 'False+                #{offset VkDescriptorPoolCreateInfo, pPoolSizes}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDescriptorPoolSize {+--   >     VkDescriptorType       type;+--   >     uint32_t               descriptorCount;+--   > } VkDescriptorPoolSize;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorPoolSize VkDescriptorPoolSize registry at www.khronos.org>+type VkDescriptorPoolSize = VkStruct VkDescriptorPoolSize' -- ' closing tick for hsc2hs++data VkDescriptorPoolSize' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDescriptorPoolSize where+    type StructRep VkDescriptorPoolSize =+         'StructMeta "VkDescriptorPoolSize" VkDescriptorPoolSize  -- ' closing tick for hsc2hs+                                                                 #{size VkDescriptorPoolSize}+           #{alignment VkDescriptorPoolSize}+           '[('FieldMeta "type" VkDescriptorType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDescriptorPoolSize, type}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "descriptorCount" Word32 'False +                                                         #{offset VkDescriptorPoolSize, descriptorCount}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDescriptorSetAllocateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkDescriptorPool       descriptorPool;+--   >     uint32_t               descriptorSetCount;+--   >     const VkDescriptorSetLayout* pSetLayouts;+--   > } VkDescriptorSetAllocateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetAllocateInfo VkDescriptorSetAllocateInfo registry at www.khronos.org>+type VkDescriptorSetAllocateInfo =+     VkStruct VkDescriptorSetAllocateInfo' -- ' closing tick for hsc2hs++data VkDescriptorSetAllocateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDescriptorSetAllocateInfo where+    type StructRep VkDescriptorSetAllocateInfo =+         'StructMeta "VkDescriptorSetAllocateInfo" -- ' closing tick for hsc2hs+           VkDescriptorSetAllocateInfo+           #{size VkDescriptorSetAllocateInfo}+           #{alignment VkDescriptorSetAllocateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDescriptorSetAllocateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDescriptorSetAllocateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "descriptorPool" VkDescriptorPool 'False +                                                                  #{offset VkDescriptorSetAllocateInfo, descriptorPool}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "descriptorSetCount" Word32 'False +                                                            #{offset VkDescriptorSetAllocateInfo, descriptorSetCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pSetLayouts" (Ptr VkDescriptorSetLayout) 'False+                #{offset VkDescriptorSetAllocateInfo, pSetLayouts}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDescriptorSetLayoutBinding {+--   >     uint32_t               binding;+--   >     VkDescriptorType       descriptorType;+--   >     uint32_t descriptorCount;+--   >     VkShaderStageFlags     stageFlags;+--   >     const VkSampler*       pImmutableSamplers;+--   > } VkDescriptorSetLayoutBinding;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetLayoutBinding VkDescriptorSetLayoutBinding registry at www.khronos.org>+type VkDescriptorSetLayoutBinding =+     VkStruct VkDescriptorSetLayoutBinding' -- ' closing tick for hsc2hs++data VkDescriptorSetLayoutBinding' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDescriptorSetLayoutBinding where+    type StructRep VkDescriptorSetLayoutBinding =+         'StructMeta "VkDescriptorSetLayoutBinding" -- ' closing tick for hsc2hs+           VkDescriptorSetLayoutBinding+           #{size VkDescriptorSetLayoutBinding}+           #{alignment VkDescriptorSetLayoutBinding}+           '[('FieldMeta "binding" Word32 'False  -- ' closing tick for hsc2hs+                                                 #{offset VkDescriptorSetLayoutBinding, binding}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "descriptorType" VkDescriptorType 'False +                                                                  #{offset VkDescriptorSetLayoutBinding, descriptorType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "descriptorCount" Word32 'True +                                                        #{offset VkDescriptorSetLayoutBinding, descriptorCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "stageFlags" VkShaderStageFlags 'False +                                                                #{offset VkDescriptorSetLayoutBinding, stageFlags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pImmutableSamplers" (Ptr VkSampler) 'True +                                                                    #{offset VkDescriptorSetLayoutBinding, pImmutableSamplers}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfoEXT {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     uint32_t               bindingCount;+--   >     const VkDescriptorBindingFlagsEXT* pBindingFlags;+--   > } VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetLayoutBindingFlagsCreateInfoEXT VkDescriptorSetLayoutBindingFlagsCreateInfoEXT registry at www.khronos.org>+type VkDescriptorSetLayoutBindingFlagsCreateInfoEXT =+     VkStruct VkDescriptorSetLayoutBindingFlagsCreateInfoEXT' -- ' closing tick for hsc2hs++data VkDescriptorSetLayoutBindingFlagsCreateInfoEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal+           VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+         where+    type StructRep VkDescriptorSetLayoutBindingFlagsCreateInfoEXT =+         'StructMeta "VkDescriptorSetLayoutBindingFlagsCreateInfoEXT" -- ' closing tick for hsc2hs+           VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+           #{size VkDescriptorSetLayoutBindingFlagsCreateInfoEXT}+           #{alignment VkDescriptorSetLayoutBindingFlagsCreateInfoEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "bindingCount" Word32 'True +                                                     #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, bindingCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pBindingFlags" (Ptr VkDescriptorBindingFlagsEXT) -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, pBindingFlags}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkDescriptorSetLayoutCreateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkDescriptorSetLayoutCreateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkDescriptorSetLayoutCreateFlags    flags;+--   >     uint32_t               bindingCount;+--   >     const VkDescriptorSetLayoutBinding* pBindings;+--   > } VkDescriptorSetLayoutCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetLayoutCreateInfo VkDescriptorSetLayoutCreateInfo registry at www.khronos.org>+type VkDescriptorSetLayoutCreateInfo =+     VkStruct VkDescriptorSetLayoutCreateInfo' -- ' closing tick for hsc2hs++data VkDescriptorSetLayoutCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDescriptorSetLayoutCreateInfo where+    type StructRep VkDescriptorSetLayoutCreateInfo =+         'StructMeta "VkDescriptorSetLayoutCreateInfo" -- ' closing tick for hsc2hs+           VkDescriptorSetLayoutCreateInfo+           #{size VkDescriptorSetLayoutCreateInfo}+           #{alignment VkDescriptorSetLayoutCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDescriptorSetLayoutCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDescriptorSetLayoutCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkDescriptorSetLayoutCreateFlags 'True+                #{offset VkDescriptorSetLayoutCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "bindingCount" Word32 'True +                                                     #{offset VkDescriptorSetLayoutCreateInfo, bindingCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pBindings" (Ptr VkDescriptorSetLayoutBinding) 'False+                #{offset VkDescriptorSetLayoutCreateInfo, pBindings}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDescriptorSetLayoutSupport {+--   >     VkStructureType sType;+--   >     void*            pNext;+--   >     VkBool32         supported;+--   > } VkDescriptorSetLayoutSupport;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupport registry at www.khronos.org>+type VkDescriptorSetLayoutSupport =+     VkStruct VkDescriptorSetLayoutSupport' -- ' closing tick for hsc2hs++data VkDescriptorSetLayoutSupport' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDescriptorSetLayoutSupport where+    type StructRep VkDescriptorSetLayoutSupport =+         'StructMeta "VkDescriptorSetLayoutSupport" -- ' closing tick for hsc2hs+           VkDescriptorSetLayoutSupport+           #{size VkDescriptorSetLayoutSupport}+           #{alignment VkDescriptorSetLayoutSupport}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDescriptorSetLayoutSupport, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDescriptorSetLayoutSupport, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "supported" VkBool32 'False +                                                     #{offset VkDescriptorSetLayoutSupport, supported}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | Alias for `VkDescriptorSetLayoutSupport`+type VkDescriptorSetLayoutSupportKHR = VkDescriptorSetLayoutSupport++-- | > typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfoEXT {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     uint32_t               descriptorSetCount;+--   >     const uint32_t* pDescriptorCounts;+--   > } VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetVariableDescriptorCountAllocateInfoEXT VkDescriptorSetVariableDescriptorCountAllocateInfoEXT registry at www.khronos.org>+type VkDescriptorSetVariableDescriptorCountAllocateInfoEXT =+     VkStruct VkDescriptorSetVariableDescriptorCountAllocateInfoEXT' -- ' closing tick for hsc2hs++data VkDescriptorSetVariableDescriptorCountAllocateInfoEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal+           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+         where+    type StructRep+           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+         =+         'StructMeta "VkDescriptorSetVariableDescriptorCountAllocateInfoEXT" -- ' closing tick for hsc2hs+           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+           #{size VkDescriptorSetVariableDescriptorCountAllocateInfoEXT}+           #{alignment VkDescriptorSetVariableDescriptorCountAllocateInfoEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "descriptorSetCount" Word32 'True +                                                           #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, descriptorSetCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pDescriptorCounts" (Ptr Word32) 'False +                                                                 #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, pDescriptorCounts}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkDescriptorSetAllocateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupportEXT {+--   >     VkStructureType sType;+--   >     void*            pNext;+--   >     uint32_t         maxVariableDescriptorCount;+--   > } VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetVariableDescriptorCountLayoutSupportEXT VkDescriptorSetVariableDescriptorCountLayoutSupportEXT registry at www.khronos.org>+type VkDescriptorSetVariableDescriptorCountLayoutSupportEXT =+     VkStruct VkDescriptorSetVariableDescriptorCountLayoutSupportEXT' -- ' closing tick for hsc2hs++data VkDescriptorSetVariableDescriptorCountLayoutSupportEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal+           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+         where+    type StructRep+           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+         =+         'StructMeta -- ' closing tick for hsc2hs+           "VkDescriptorSetVariableDescriptorCountLayoutSupportEXT"+           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+           #{size VkDescriptorSetVariableDescriptorCountLayoutSupportEXT}+           #{alignment VkDescriptorSetVariableDescriptorCountLayoutSupportEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxVariableDescriptorCount" Word32 'False +                                                                    #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, maxVariableDescriptorCount}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[VkDescriptorSetLayoutSupport] -- ' closing tick for hsc2hs++-- | > typedef struct VkDescriptorUpdateTemplateCreateInfo {+--   >     VkStructureType sType;+--   >     void*                                   pNext;+--   >     VkDescriptorUpdateTemplateCreateFlags    flags;+--   >     uint32_t                 descriptorUpdateEntryCount;+--   >     const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;+--   >     VkDescriptorUpdateTemplateType templateType;+--   >     VkDescriptorSetLayout descriptorSetLayout;+--   >     VkPipelineBindPoint pipelineBindPoint;+--   >     VkPipelineLayoutpipelineLayout;+--   >     uint32_t set;+--   > } VkDescriptorUpdateTemplateCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfo registry at www.khronos.org>+type VkDescriptorUpdateTemplateCreateInfo =+     VkStruct VkDescriptorUpdateTemplateCreateInfo' -- ' closing tick for hsc2hs++data VkDescriptorUpdateTemplateCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDescriptorUpdateTemplateCreateInfo where+    type StructRep VkDescriptorUpdateTemplateCreateInfo =+         'StructMeta "VkDescriptorUpdateTemplateCreateInfo" -- ' closing tick for hsc2hs+           VkDescriptorUpdateTemplateCreateInfo+           #{size VkDescriptorUpdateTemplateCreateInfo}+           #{alignment VkDescriptorUpdateTemplateCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDescriptorUpdateTemplateCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDescriptorUpdateTemplateCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkDescriptorUpdateTemplateCreateFlags 'True+                #{offset VkDescriptorUpdateTemplateCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "descriptorUpdateEntryCount" Word32 'False +                                                                    #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorUpdateEntryCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pDescriptorUpdateEntries" -- ' closing tick for hsc2hs+                (Ptr VkDescriptorUpdateTemplateEntry)+                'False -- ' closing tick for hsc2hs+                #{offset VkDescriptorUpdateTemplateCreateInfo, pDescriptorUpdateEntries}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "templateType" VkDescriptorUpdateTemplateType 'False+                #{offset VkDescriptorUpdateTemplateCreateInfo, templateType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "descriptorSetLayout" VkDescriptorSetLayout 'True+                #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorSetLayout}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pipelineBindPoint" VkPipelineBindPoint 'False+                #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineBindPoint}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pipelineLayout" VkPipelineLayout 'False +                                                                  #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineLayout}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "set" Word32 'False +                                             #{offset VkDescriptorUpdateTemplateCreateInfo, set}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | Alias for `VkDescriptorUpdateTemplateCreateInfo`+type VkDescriptorUpdateTemplateCreateInfoKHR =+     VkDescriptorUpdateTemplateCreateInfo++-- | > typedef struct VkDescriptorUpdateTemplateEntry {+--   >     uint32_t                         dstBinding;+--   >     uint32_t                         dstArrayElement;+--   >     uint32_t                         descriptorCount;+--   >     VkDescriptorType                 descriptorType;+--   >     size_t                           offset;+--   >     size_t                           stride;+--   > } VkDescriptorUpdateTemplateEntry;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntry registry at www.khronos.org>+type VkDescriptorUpdateTemplateEntry =+     VkStruct VkDescriptorUpdateTemplateEntry' -- ' closing tick for hsc2hs++data VkDescriptorUpdateTemplateEntry' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDescriptorUpdateTemplateEntry where+    type StructRep VkDescriptorUpdateTemplateEntry =+         'StructMeta "VkDescriptorUpdateTemplateEntry" -- ' closing tick for hsc2hs+           VkDescriptorUpdateTemplateEntry+           #{size VkDescriptorUpdateTemplateEntry}+           #{alignment VkDescriptorUpdateTemplateEntry}+           '[('FieldMeta "dstBinding" Word32 'False  -- ' closing tick for hsc2hs+                                                    #{offset VkDescriptorUpdateTemplateEntry, dstBinding}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dstArrayElement" Word32 'False +                                                         #{offset VkDescriptorUpdateTemplateEntry, dstArrayElement}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "descriptorCount" Word32 'False +                                                         #{offset VkDescriptorUpdateTemplateEntry, descriptorCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "descriptorType" VkDescriptorType 'False +                                                                  #{offset VkDescriptorUpdateTemplateEntry, descriptorType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "offset" CSize 'False +                                               #{offset VkDescriptorUpdateTemplateEntry, offset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "stride" CSize 'False +                                               #{offset VkDescriptorUpdateTemplateEntry, stride}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | Alias for `VkDescriptorUpdateTemplateEntry` type VkDescriptorUpdateTemplateEntryKHR =
src-gen/Graphics/Vulkan/Types/Struct/Device.hsc view
@@ -1,3705 +1,777 @@ #include "vulkan/vulkan.h"  {-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleContexts      #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE PatternSynonyms       #-}-{-# LANGUAGE ScopedTypeVariables   #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-}-{-# LANGUAGE TypeFamilies          #-}-{-# LANGUAGE UndecidableInstances  #-}-module Graphics.Vulkan.Types.Struct.Device-       (VkDeviceCreateInfo, VkDeviceCreateInfo', VkDeviceEventInfoEXT, -- ' closing tick for hsc2hs-        VkDeviceEventInfoEXT', VkDeviceGeneratedCommandsFeaturesNVX, -- ' closing tick for hsc2hs-        VkDeviceGeneratedCommandsFeaturesNVX', -- ' closing tick for hsc2hs-        VkDeviceGeneratedCommandsLimitsNVX,-        VkDeviceGeneratedCommandsLimitsNVX', VkDeviceGroupBindSparseInfo, -- ' closing tick for hsc2hs-        VkDeviceGroupBindSparseInfo', VkDeviceGroupBindSparseInfoKHR, -- ' closing tick for hsc2hs-        VkDeviceGroupCommandBufferBeginInfo,-        VkDeviceGroupCommandBufferBeginInfo', -- ' closing tick for hsc2hs-        VkDeviceGroupCommandBufferBeginInfoKHR,-        VkDeviceGroupDeviceCreateInfo, VkDeviceGroupDeviceCreateInfo', -- ' closing tick for hsc2hs-        VkDeviceGroupDeviceCreateInfoKHR,-        VkDeviceGroupPresentCapabilitiesKHR,-        VkDeviceGroupPresentCapabilitiesKHR', VkDeviceGroupPresentInfoKHR, -- ' closing tick for hsc2hs-        VkDeviceGroupPresentInfoKHR', VkDeviceGroupRenderPassBeginInfo, -- ' closing tick for hsc2hs-        VkDeviceGroupRenderPassBeginInfo', -- ' closing tick for hsc2hs-        VkDeviceGroupRenderPassBeginInfoKHR, VkDeviceGroupSubmitInfo,-        VkDeviceGroupSubmitInfo', VkDeviceGroupSubmitInfoKHR, -- ' closing tick for hsc2hs-        VkDeviceGroupSwapchainCreateInfoKHR,-        VkDeviceGroupSwapchainCreateInfoKHR', VkDeviceQueueCreateInfo, -- ' closing tick for hsc2hs-        VkDeviceQueueCreateInfo', VkDeviceQueueGlobalPriorityCreateInfoEXT, -- ' closing tick for hsc2hs-        VkDeviceQueueGlobalPriorityCreateInfoEXT', VkDeviceQueueInfo2, -- ' closing tick for hsc2hs-        VkDeviceQueueInfo2') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                                    (Storable (..))-import Graphics.Vulkan.Constants                           (VK_MAX_DEVICE_GROUP_SIZE,-                                                            pattern VK_MAX_DEVICE_GROUP_SIZE)-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Internal-import Graphics.Vulkan.Types.BaseTypes                     (VkBool32)-import Graphics.Vulkan.Types.Bitmasks                      (VkDeviceCreateFlags)-import Graphics.Vulkan.Types.Enum.Device                   (VkDeviceEventTypeEXT,-                                                            VkDeviceGroupPresentModeFlagBitsKHR,-                                                            VkDeviceGroupPresentModeFlagsKHR,-                                                            VkDeviceQueueCreateFlags)-import Graphics.Vulkan.Types.Enum.Queue                    (VkQueueGlobalPriorityEXT)-import Graphics.Vulkan.Types.Enum.StructureType            (VkStructureType)-import Graphics.Vulkan.Types.Handles                       (VkPhysicalDevice)-import Graphics.Vulkan.Types.Struct.Bind                   (VkBindSparseInfo)-import Graphics.Vulkan.Types.Struct.Command                (VkCommandBufferBeginInfo)-import Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures (VkPhysicalDeviceFeatures)-import Graphics.Vulkan.Types.Struct.Present                (VkPresentInfoKHR)-import Graphics.Vulkan.Types.Struct.Rect                   (VkRect2D)-import Graphics.Vulkan.Types.Struct.RenderPass             (VkRenderPassBeginInfo)-import Graphics.Vulkan.Types.Struct.SubmitInfo             (VkSubmitInfo)-import Graphics.Vulkan.Types.Struct.SwapchainC             (VkSwapchainCreateInfoKHR)-import System.IO.Unsafe                                    (unsafeDupablePerformIO)---- | > typedef struct VkDeviceCreateInfo {---   >     VkStructureType sType;---   >     const void*     pNext;---   >     VkDeviceCreateFlags    flags;---   >     uint32_t        queueCreateInfoCount;---   >     const VkDeviceQueueCreateInfo* pQueueCreateInfos;---   >     uint32_t               enabledLayerCount;---   >     const char* const*      ppEnabledLayerNames;---   >     uint32_t               enabledExtensionCount;---   >     const char* const*      ppEnabledExtensionNames;---   >     const VkPhysicalDeviceFeatures* pEnabledFeatures;---   > } VkDeviceCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceCreateInfo VkDeviceCreateInfo registry at www.khronos.org>-type VkDeviceCreateInfo = VulkanStruct VkDeviceCreateInfo' -- ' closing tick for hsc2hs--data VkDeviceCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkDeviceCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDeviceCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDeviceCreateInfo where-        sizeOf ~_ = #{size VkDeviceCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDeviceCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDeviceCreateInfo where-        type StructFields VkDeviceCreateInfo =-             '["sType", "pNext", "flags", "queueCreateInfoCount", -- ' closing tick for hsc2hs-               "pQueueCreateInfos", "enabledLayerCount", "ppEnabledLayerNames",-               "enabledExtensionCount", "ppEnabledExtensionNames",-               "pEnabledFeatures"]-        type CUnionType VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDeviceCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkDeviceCreateInfo-         where-        type FieldType "sType" VkDeviceCreateInfo = VkStructureType-        type FieldOptional "sType" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDeviceCreateInfo =-             #{offset VkDeviceCreateInfo, sType}-        type FieldIsArray "sType" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDeviceCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDeviceCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDeviceCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceCreateInfo, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkDeviceCreateInfo-         where-        type FieldType "pNext" VkDeviceCreateInfo = Ptr Void-        type FieldOptional "pNext" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDeviceCreateInfo =-             #{offset VkDeviceCreateInfo, pNext}-        type FieldIsArray "pNext" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDeviceCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDeviceCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDeviceCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceCreateInfo, pNext}--instance {-# OVERLAPPING #-} HasField "flags" VkDeviceCreateInfo-         where-        type FieldType "flags" VkDeviceCreateInfo = VkDeviceCreateFlags-        type FieldOptional "flags" VkDeviceCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkDeviceCreateInfo =-             #{offset VkDeviceCreateInfo, flags}-        type FieldIsArray "flags" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDeviceCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkDeviceCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkDeviceCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceCreateInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "queueCreateInfoCount" VkDeviceCreateInfo where-        type FieldType "queueCreateInfoCount" VkDeviceCreateInfo = Word32-        type FieldOptional "queueCreateInfoCount" VkDeviceCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "queueCreateInfoCount" VkDeviceCreateInfo =-             #{offset VkDeviceCreateInfo, queueCreateInfoCount}-        type FieldIsArray "queueCreateInfoCount" VkDeviceCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceCreateInfo, queueCreateInfoCount}--instance {-# OVERLAPPING #-}-         CanReadField "queueCreateInfoCount" VkDeviceCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, queueCreateInfoCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceCreateInfo, queueCreateInfoCount}--instance {-# OVERLAPPING #-}-         CanWriteField "queueCreateInfoCount" VkDeviceCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceCreateInfo, queueCreateInfoCount}--instance {-# OVERLAPPING #-}-         HasField "pQueueCreateInfos" VkDeviceCreateInfo where-        type FieldType "pQueueCreateInfos" VkDeviceCreateInfo =-             Ptr VkDeviceQueueCreateInfo-        type FieldOptional "pQueueCreateInfos" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pQueueCreateInfos" VkDeviceCreateInfo =-             #{offset VkDeviceCreateInfo, pQueueCreateInfos}-        type FieldIsArray "pQueueCreateInfos" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceCreateInfo, pQueueCreateInfos}--instance {-# OVERLAPPING #-}-         CanReadField "pQueueCreateInfos" VkDeviceCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, pQueueCreateInfos})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceCreateInfo, pQueueCreateInfos}--instance {-# OVERLAPPING #-}-         CanWriteField "pQueueCreateInfos" VkDeviceCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceCreateInfo, pQueueCreateInfos}--instance {-# OVERLAPPING #-}-         HasField "enabledLayerCount" VkDeviceCreateInfo where-        type FieldType "enabledLayerCount" VkDeviceCreateInfo = Word32-        type FieldOptional "enabledLayerCount" VkDeviceCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "enabledLayerCount" VkDeviceCreateInfo =-             #{offset VkDeviceCreateInfo, enabledLayerCount}-        type FieldIsArray "enabledLayerCount" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceCreateInfo, enabledLayerCount}--instance {-# OVERLAPPING #-}-         CanReadField "enabledLayerCount" VkDeviceCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, enabledLayerCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceCreateInfo, enabledLayerCount}--instance {-# OVERLAPPING #-}-         CanWriteField "enabledLayerCount" VkDeviceCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceCreateInfo, enabledLayerCount}--instance {-# OVERLAPPING #-}-         HasField "ppEnabledLayerNames" VkDeviceCreateInfo where-        type FieldType "ppEnabledLayerNames" VkDeviceCreateInfo =-             Ptr CString-        type FieldOptional "ppEnabledLayerNames" VkDeviceCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "ppEnabledLayerNames" VkDeviceCreateInfo =-             #{offset VkDeviceCreateInfo, ppEnabledLayerNames}-        type FieldIsArray "ppEnabledLayerNames" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceCreateInfo, ppEnabledLayerNames}--instance {-# OVERLAPPING #-}-         CanReadField "ppEnabledLayerNames" VkDeviceCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, ppEnabledLayerNames})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceCreateInfo, ppEnabledLayerNames}--instance {-# OVERLAPPING #-}-         CanWriteField "ppEnabledLayerNames" VkDeviceCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceCreateInfo, ppEnabledLayerNames}--instance {-# OVERLAPPING #-}-         HasField "enabledExtensionCount" VkDeviceCreateInfo where-        type FieldType "enabledExtensionCount" VkDeviceCreateInfo = Word32-        type FieldOptional "enabledExtensionCount" VkDeviceCreateInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "enabledExtensionCount" VkDeviceCreateInfo =-             #{offset VkDeviceCreateInfo, enabledExtensionCount}-        type FieldIsArray "enabledExtensionCount" VkDeviceCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceCreateInfo, enabledExtensionCount}--instance {-# OVERLAPPING #-}-         CanReadField "enabledExtensionCount" VkDeviceCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, enabledExtensionCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceCreateInfo, enabledExtensionCount}--instance {-# OVERLAPPING #-}-         CanWriteField "enabledExtensionCount" VkDeviceCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceCreateInfo, enabledExtensionCount}--instance {-# OVERLAPPING #-}-         HasField "ppEnabledExtensionNames" VkDeviceCreateInfo where-        type FieldType "ppEnabledExtensionNames" VkDeviceCreateInfo =-             Ptr CString-        type FieldOptional "ppEnabledExtensionNames" VkDeviceCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "ppEnabledExtensionNames" VkDeviceCreateInfo =-             #{offset VkDeviceCreateInfo, ppEnabledExtensionNames}-        type FieldIsArray "ppEnabledExtensionNames" VkDeviceCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceCreateInfo, ppEnabledExtensionNames}--instance {-# OVERLAPPING #-}-         CanReadField "ppEnabledExtensionNames" VkDeviceCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, ppEnabledExtensionNames})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceCreateInfo, ppEnabledExtensionNames}--instance {-# OVERLAPPING #-}-         CanWriteField "ppEnabledExtensionNames" VkDeviceCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceCreateInfo, ppEnabledExtensionNames}--instance {-# OVERLAPPING #-}-         HasField "pEnabledFeatures" VkDeviceCreateInfo where-        type FieldType "pEnabledFeatures" VkDeviceCreateInfo =-             Ptr VkPhysicalDeviceFeatures-        type FieldOptional "pEnabledFeatures" VkDeviceCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pEnabledFeatures" VkDeviceCreateInfo =-             #{offset VkDeviceCreateInfo, pEnabledFeatures}-        type FieldIsArray "pEnabledFeatures" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceCreateInfo, pEnabledFeatures}--instance {-# OVERLAPPING #-}-         CanReadField "pEnabledFeatures" VkDeviceCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, pEnabledFeatures})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceCreateInfo, pEnabledFeatures}--instance {-# OVERLAPPING #-}-         CanWriteField "pEnabledFeatures" VkDeviceCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceCreateInfo, pEnabledFeatures}--instance Show VkDeviceCreateInfo where-        showsPrec d x-          = showString "VkDeviceCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "queueCreateInfoCount = " .-                                  showsPrec d (getField @"queueCreateInfoCount" x) .-                                    showString ", " .-                                      showString "pQueueCreateInfos = " .-                                        showsPrec d (getField @"pQueueCreateInfos" x) .-                                          showString ", " .-                                            showString "enabledLayerCount = " .-                                              showsPrec d (getField @"enabledLayerCount" x) .-                                                showString ", " .-                                                  showString "ppEnabledLayerNames = " .-                                                    showsPrec d (getField @"ppEnabledLayerNames" x)-                                                      .-                                                      showString ", " .-                                                        showString "enabledExtensionCount = " .-                                                          showsPrec d-                                                            (getField @"enabledExtensionCount" x)-                                                            .-                                                            showString ", " .-                                                              showString-                                                                "ppEnabledExtensionNames = "-                                                                .-                                                                showsPrec d-                                                                  (getField-                                                                     @"ppEnabledExtensionNames"-                                                                     x)-                                                                  .-                                                                  showString ", " .-                                                                    showString "pEnabledFeatures = "-                                                                      .-                                                                      showsPrec d-                                                                        (getField-                                                                           @"pEnabledFeatures"-                                                                           x)-                                                                        . showChar '}'---- | > typedef struct VkDeviceEventInfoEXT {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkDeviceEventTypeEXT             deviceEvent;---   > } VkDeviceEventInfoEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceEventInfoEXT VkDeviceEventInfoEXT registry at www.khronos.org>-type VkDeviceEventInfoEXT = VulkanStruct VkDeviceEventInfoEXT' -- ' closing tick for hsc2hs--data VkDeviceEventInfoEXT' -- ' closing tick for hsc2hs--instance Eq VkDeviceEventInfoEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDeviceEventInfoEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDeviceEventInfoEXT where-        sizeOf ~_ = #{size VkDeviceEventInfoEXT}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDeviceEventInfoEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDeviceEventInfoEXT where-        type StructFields VkDeviceEventInfoEXT =-             '["sType", "pNext", "deviceEvent"] -- ' closing tick for hsc2hs-        type CUnionType VkDeviceEventInfoEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDeviceEventInfoEXT = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDeviceEventInfoEXT = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkDeviceEventInfoEXT-         where-        type FieldType "sType" VkDeviceEventInfoEXT = VkStructureType-        type FieldOptional "sType" VkDeviceEventInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDeviceEventInfoEXT =-             #{offset VkDeviceEventInfoEXT, sType}-        type FieldIsArray "sType" VkDeviceEventInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDeviceEventInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDeviceEventInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceEventInfoEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceEventInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDeviceEventInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceEventInfoEXT, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkDeviceEventInfoEXT-         where-        type FieldType "pNext" VkDeviceEventInfoEXT = Ptr Void-        type FieldOptional "pNext" VkDeviceEventInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDeviceEventInfoEXT =-             #{offset VkDeviceEventInfoEXT, pNext}-        type FieldIsArray "pNext" VkDeviceEventInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDeviceEventInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDeviceEventInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceEventInfoEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceEventInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDeviceEventInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceEventInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "deviceEvent" VkDeviceEventInfoEXT where-        type FieldType "deviceEvent" VkDeviceEventInfoEXT =-             VkDeviceEventTypeEXT-        type FieldOptional "deviceEvent" VkDeviceEventInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "deviceEvent" VkDeviceEventInfoEXT =-             #{offset VkDeviceEventInfoEXT, deviceEvent}-        type FieldIsArray "deviceEvent" VkDeviceEventInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceEventInfoEXT, deviceEvent}--instance {-# OVERLAPPING #-}-         CanReadField "deviceEvent" VkDeviceEventInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceEventInfoEXT, deviceEvent})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceEventInfoEXT, deviceEvent}--instance {-# OVERLAPPING #-}-         CanWriteField "deviceEvent" VkDeviceEventInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceEventInfoEXT, deviceEvent}--instance Show VkDeviceEventInfoEXT where-        showsPrec d x-          = showString "VkDeviceEventInfoEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "deviceEvent = " .-                            showsPrec d (getField @"deviceEvent" x) . showChar '}'---- | > typedef struct VkDeviceGeneratedCommandsFeaturesNVX {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkBool32                         computeBindingPointSupport;---   > } VkDeviceGeneratedCommandsFeaturesNVX;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGeneratedCommandsFeaturesNVX VkDeviceGeneratedCommandsFeaturesNVX registry at www.khronos.org>-type VkDeviceGeneratedCommandsFeaturesNVX =-     VulkanStruct VkDeviceGeneratedCommandsFeaturesNVX' -- ' closing tick for hsc2hs--data VkDeviceGeneratedCommandsFeaturesNVX' -- ' closing tick for hsc2hs--instance Eq VkDeviceGeneratedCommandsFeaturesNVX where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDeviceGeneratedCommandsFeaturesNVX where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDeviceGeneratedCommandsFeaturesNVX where-        sizeOf ~_-          = #{size VkDeviceGeneratedCommandsFeaturesNVX}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDeviceGeneratedCommandsFeaturesNVX}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDeviceGeneratedCommandsFeaturesNVX where-        type StructFields VkDeviceGeneratedCommandsFeaturesNVX =-             '["sType", "pNext", "computeBindingPointSupport"] -- ' closing tick for hsc2hs-        type CUnionType VkDeviceGeneratedCommandsFeaturesNVX = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDeviceGeneratedCommandsFeaturesNVX = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDeviceGeneratedCommandsFeaturesNVX = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDeviceGeneratedCommandsFeaturesNVX where-        type FieldType "sType" VkDeviceGeneratedCommandsFeaturesNVX =-             VkStructureType-        type FieldOptional "sType" VkDeviceGeneratedCommandsFeaturesNVX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDeviceGeneratedCommandsFeaturesNVX =-             #{offset VkDeviceGeneratedCommandsFeaturesNVX, sType}-        type FieldIsArray "sType" VkDeviceGeneratedCommandsFeaturesNVX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGeneratedCommandsFeaturesNVX, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDeviceGeneratedCommandsFeaturesNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsFeaturesNVX, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDeviceGeneratedCommandsFeaturesNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDeviceGeneratedCommandsFeaturesNVX where-        type FieldType "pNext" VkDeviceGeneratedCommandsFeaturesNVX =-             Ptr Void-        type FieldOptional "pNext" VkDeviceGeneratedCommandsFeaturesNVX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDeviceGeneratedCommandsFeaturesNVX =-             #{offset VkDeviceGeneratedCommandsFeaturesNVX, pNext}-        type FieldIsArray "pNext" VkDeviceGeneratedCommandsFeaturesNVX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGeneratedCommandsFeaturesNVX, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDeviceGeneratedCommandsFeaturesNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsFeaturesNVX, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDeviceGeneratedCommandsFeaturesNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, pNext}--instance {-# OVERLAPPING #-}-         HasField "computeBindingPointSupport"-           VkDeviceGeneratedCommandsFeaturesNVX-         where-        type FieldType "computeBindingPointSupport"-               VkDeviceGeneratedCommandsFeaturesNVX-             = VkBool32-        type FieldOptional "computeBindingPointSupport"-               VkDeviceGeneratedCommandsFeaturesNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "computeBindingPointSupport"-               VkDeviceGeneratedCommandsFeaturesNVX-             =-             #{offset VkDeviceGeneratedCommandsFeaturesNVX, computeBindingPointSupport}-        type FieldIsArray "computeBindingPointSupport"-               VkDeviceGeneratedCommandsFeaturesNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGeneratedCommandsFeaturesNVX, computeBindingPointSupport}--instance {-# OVERLAPPING #-}-         CanReadField "computeBindingPointSupport"-           VkDeviceGeneratedCommandsFeaturesNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsFeaturesNVX, computeBindingPointSupport})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, computeBindingPointSupport}--instance {-# OVERLAPPING #-}-         CanWriteField "computeBindingPointSupport"-           VkDeviceGeneratedCommandsFeaturesNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, computeBindingPointSupport}--instance Show VkDeviceGeneratedCommandsFeaturesNVX where-        showsPrec d x-          = showString "VkDeviceGeneratedCommandsFeaturesNVX {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "computeBindingPointSupport = " .-                            showsPrec d (getField @"computeBindingPointSupport" x) .-                              showChar '}'---- | > typedef struct VkDeviceGeneratedCommandsLimitsNVX {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     uint32_t                         maxIndirectCommandsLayoutTokenCount;---   >     uint32_t                         maxObjectEntryCounts;---   >     uint32_t                         minSequenceCountBufferOffsetAlignment;---   >     uint32_t                         minSequenceIndexBufferOffsetAlignment;---   >     uint32_t                         minCommandsTokenBufferOffsetAlignment;---   > } VkDeviceGeneratedCommandsLimitsNVX;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGeneratedCommandsLimitsNVX VkDeviceGeneratedCommandsLimitsNVX registry at www.khronos.org>-type VkDeviceGeneratedCommandsLimitsNVX =-     VulkanStruct VkDeviceGeneratedCommandsLimitsNVX' -- ' closing tick for hsc2hs--data VkDeviceGeneratedCommandsLimitsNVX' -- ' closing tick for hsc2hs--instance Eq VkDeviceGeneratedCommandsLimitsNVX where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDeviceGeneratedCommandsLimitsNVX where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDeviceGeneratedCommandsLimitsNVX where-        sizeOf ~_ = #{size VkDeviceGeneratedCommandsLimitsNVX}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDeviceGeneratedCommandsLimitsNVX}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDeviceGeneratedCommandsLimitsNVX where-        type StructFields VkDeviceGeneratedCommandsLimitsNVX =-             '["sType", "pNext", "maxIndirectCommandsLayoutTokenCount", -- ' closing tick for hsc2hs-               "maxObjectEntryCounts", "minSequenceCountBufferOffsetAlignment",-               "minSequenceIndexBufferOffsetAlignment",-               "minCommandsTokenBufferOffsetAlignment"]-        type CUnionType VkDeviceGeneratedCommandsLimitsNVX = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDeviceGeneratedCommandsLimitsNVX = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDeviceGeneratedCommandsLimitsNVX = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDeviceGeneratedCommandsLimitsNVX where-        type FieldType "sType" VkDeviceGeneratedCommandsLimitsNVX =-             VkStructureType-        type FieldOptional "sType" VkDeviceGeneratedCommandsLimitsNVX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDeviceGeneratedCommandsLimitsNVX =-             #{offset VkDeviceGeneratedCommandsLimitsNVX, sType}-        type FieldIsArray "sType" VkDeviceGeneratedCommandsLimitsNVX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGeneratedCommandsLimitsNVX, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDeviceGeneratedCommandsLimitsNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDeviceGeneratedCommandsLimitsNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDeviceGeneratedCommandsLimitsNVX where-        type FieldType "pNext" VkDeviceGeneratedCommandsLimitsNVX =-             Ptr Void-        type FieldOptional "pNext" VkDeviceGeneratedCommandsLimitsNVX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDeviceGeneratedCommandsLimitsNVX =-             #{offset VkDeviceGeneratedCommandsLimitsNVX, pNext}-        type FieldIsArray "pNext" VkDeviceGeneratedCommandsLimitsNVX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGeneratedCommandsLimitsNVX, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDeviceGeneratedCommandsLimitsNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDeviceGeneratedCommandsLimitsNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, pNext}--instance {-# OVERLAPPING #-}-         HasField "maxIndirectCommandsLayoutTokenCount"-           VkDeviceGeneratedCommandsLimitsNVX-         where-        type FieldType "maxIndirectCommandsLayoutTokenCount"-               VkDeviceGeneratedCommandsLimitsNVX-             = Word32-        type FieldOptional "maxIndirectCommandsLayoutTokenCount"-               VkDeviceGeneratedCommandsLimitsNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxIndirectCommandsLayoutTokenCount"-               VkDeviceGeneratedCommandsLimitsNVX-             =-             #{offset VkDeviceGeneratedCommandsLimitsNVX, maxIndirectCommandsLayoutTokenCount}-        type FieldIsArray "maxIndirectCommandsLayoutTokenCount"-               VkDeviceGeneratedCommandsLimitsNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGeneratedCommandsLimitsNVX, maxIndirectCommandsLayoutTokenCount}--instance {-# OVERLAPPING #-}-         CanReadField "maxIndirectCommandsLayoutTokenCount"-           VkDeviceGeneratedCommandsLimitsNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, maxIndirectCommandsLayoutTokenCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, maxIndirectCommandsLayoutTokenCount}--instance {-# OVERLAPPING #-}-         CanWriteField "maxIndirectCommandsLayoutTokenCount"-           VkDeviceGeneratedCommandsLimitsNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, maxIndirectCommandsLayoutTokenCount}--instance {-# OVERLAPPING #-}-         HasField "maxObjectEntryCounts" VkDeviceGeneratedCommandsLimitsNVX-         where-        type FieldType "maxObjectEntryCounts"-               VkDeviceGeneratedCommandsLimitsNVX-             = Word32-        type FieldOptional "maxObjectEntryCounts"-               VkDeviceGeneratedCommandsLimitsNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxObjectEntryCounts"-               VkDeviceGeneratedCommandsLimitsNVX-             =-             #{offset VkDeviceGeneratedCommandsLimitsNVX, maxObjectEntryCounts}-        type FieldIsArray "maxObjectEntryCounts"-               VkDeviceGeneratedCommandsLimitsNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGeneratedCommandsLimitsNVX, maxObjectEntryCounts}--instance {-# OVERLAPPING #-}-         CanReadField "maxObjectEntryCounts"-           VkDeviceGeneratedCommandsLimitsNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, maxObjectEntryCounts})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, maxObjectEntryCounts}--instance {-# OVERLAPPING #-}-         CanWriteField "maxObjectEntryCounts"-           VkDeviceGeneratedCommandsLimitsNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, maxObjectEntryCounts}--instance {-# OVERLAPPING #-}-         HasField "minSequenceCountBufferOffsetAlignment"-           VkDeviceGeneratedCommandsLimitsNVX-         where-        type FieldType "minSequenceCountBufferOffsetAlignment"-               VkDeviceGeneratedCommandsLimitsNVX-             = Word32-        type FieldOptional "minSequenceCountBufferOffsetAlignment"-               VkDeviceGeneratedCommandsLimitsNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "minSequenceCountBufferOffsetAlignment"-               VkDeviceGeneratedCommandsLimitsNVX-             =-             #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceCountBufferOffsetAlignment}-        type FieldIsArray "minSequenceCountBufferOffsetAlignment"-               VkDeviceGeneratedCommandsLimitsNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceCountBufferOffsetAlignment}--instance {-# OVERLAPPING #-}-         CanReadField "minSequenceCountBufferOffsetAlignment"-           VkDeviceGeneratedCommandsLimitsNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceCountBufferOffsetAlignment})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceCountBufferOffsetAlignment}--instance {-# OVERLAPPING #-}-         CanWriteField "minSequenceCountBufferOffsetAlignment"-           VkDeviceGeneratedCommandsLimitsNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceCountBufferOffsetAlignment}--instance {-# OVERLAPPING #-}-         HasField "minSequenceIndexBufferOffsetAlignment"-           VkDeviceGeneratedCommandsLimitsNVX-         where-        type FieldType "minSequenceIndexBufferOffsetAlignment"-               VkDeviceGeneratedCommandsLimitsNVX-             = Word32-        type FieldOptional "minSequenceIndexBufferOffsetAlignment"-               VkDeviceGeneratedCommandsLimitsNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "minSequenceIndexBufferOffsetAlignment"-               VkDeviceGeneratedCommandsLimitsNVX-             =-             #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceIndexBufferOffsetAlignment}-        type FieldIsArray "minSequenceIndexBufferOffsetAlignment"-               VkDeviceGeneratedCommandsLimitsNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceIndexBufferOffsetAlignment}--instance {-# OVERLAPPING #-}-         CanReadField "minSequenceIndexBufferOffsetAlignment"-           VkDeviceGeneratedCommandsLimitsNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceIndexBufferOffsetAlignment})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceIndexBufferOffsetAlignment}--instance {-# OVERLAPPING #-}-         CanWriteField "minSequenceIndexBufferOffsetAlignment"-           VkDeviceGeneratedCommandsLimitsNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceIndexBufferOffsetAlignment}--instance {-# OVERLAPPING #-}-         HasField "minCommandsTokenBufferOffsetAlignment"-           VkDeviceGeneratedCommandsLimitsNVX-         where-        type FieldType "minCommandsTokenBufferOffsetAlignment"-               VkDeviceGeneratedCommandsLimitsNVX-             = Word32-        type FieldOptional "minCommandsTokenBufferOffsetAlignment"-               VkDeviceGeneratedCommandsLimitsNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "minCommandsTokenBufferOffsetAlignment"-               VkDeviceGeneratedCommandsLimitsNVX-             =-             #{offset VkDeviceGeneratedCommandsLimitsNVX, minCommandsTokenBufferOffsetAlignment}-        type FieldIsArray "minCommandsTokenBufferOffsetAlignment"-               VkDeviceGeneratedCommandsLimitsNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGeneratedCommandsLimitsNVX, minCommandsTokenBufferOffsetAlignment}--instance {-# OVERLAPPING #-}-         CanReadField "minCommandsTokenBufferOffsetAlignment"-           VkDeviceGeneratedCommandsLimitsNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, minCommandsTokenBufferOffsetAlignment})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, minCommandsTokenBufferOffsetAlignment}--instance {-# OVERLAPPING #-}-         CanWriteField "minCommandsTokenBufferOffsetAlignment"-           VkDeviceGeneratedCommandsLimitsNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, minCommandsTokenBufferOffsetAlignment}--instance Show VkDeviceGeneratedCommandsLimitsNVX where-        showsPrec d x-          = showString "VkDeviceGeneratedCommandsLimitsNVX {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "maxIndirectCommandsLayoutTokenCount = " .-                            showsPrec d (getField @"maxIndirectCommandsLayoutTokenCount" x) .-                              showString ", " .-                                showString "maxObjectEntryCounts = " .-                                  showsPrec d (getField @"maxObjectEntryCounts" x) .-                                    showString ", " .-                                      showString "minSequenceCountBufferOffsetAlignment = " .-                                        showsPrec d-                                          (getField @"minSequenceCountBufferOffsetAlignment" x)-                                          .-                                          showString ", " .-                                            showString "minSequenceIndexBufferOffsetAlignment = " .-                                              showsPrec d-                                                (getField @"minSequenceIndexBufferOffsetAlignment"-                                                   x)-                                                .-                                                showString ", " .-                                                  showString-                                                    "minCommandsTokenBufferOffsetAlignment = "-                                                    .-                                                    showsPrec d-                                                      (getField-                                                         @"minCommandsTokenBufferOffsetAlignment"-                                                         x)-                                                      . showChar '}'---- | > typedef struct VkDeviceGroupBindSparseInfo {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     uint32_t                         resourceDeviceIndex;---   >     uint32_t                         memoryDeviceIndex;---   > } VkDeviceGroupBindSparseInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfo registry at www.khronos.org>-type VkDeviceGroupBindSparseInfo =-     VulkanStruct VkDeviceGroupBindSparseInfo' -- ' closing tick for hsc2hs--data VkDeviceGroupBindSparseInfo' -- ' closing tick for hsc2hs--instance Eq VkDeviceGroupBindSparseInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDeviceGroupBindSparseInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDeviceGroupBindSparseInfo where-        sizeOf ~_ = #{size VkDeviceGroupBindSparseInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDeviceGroupBindSparseInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDeviceGroupBindSparseInfo where-        type StructFields VkDeviceGroupBindSparseInfo =-             '["sType", "pNext", "resourceDeviceIndex", "memoryDeviceIndex"] -- ' closing tick for hsc2hs-        type CUnionType VkDeviceGroupBindSparseInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDeviceGroupBindSparseInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDeviceGroupBindSparseInfo =-             '[VkBindSparseInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDeviceGroupBindSparseInfo where-        type FieldType "sType" VkDeviceGroupBindSparseInfo =-             VkStructureType-        type FieldOptional "sType" VkDeviceGroupBindSparseInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDeviceGroupBindSparseInfo =-             #{offset VkDeviceGroupBindSparseInfo, sType}-        type FieldIsArray "sType" VkDeviceGroupBindSparseInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupBindSparseInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDeviceGroupBindSparseInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupBindSparseInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupBindSparseInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDeviceGroupBindSparseInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupBindSparseInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDeviceGroupBindSparseInfo where-        type FieldType "pNext" VkDeviceGroupBindSparseInfo = Ptr Void-        type FieldOptional "pNext" VkDeviceGroupBindSparseInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDeviceGroupBindSparseInfo =-             #{offset VkDeviceGroupBindSparseInfo, pNext}-        type FieldIsArray "pNext" VkDeviceGroupBindSparseInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupBindSparseInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDeviceGroupBindSparseInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupBindSparseInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupBindSparseInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDeviceGroupBindSparseInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupBindSparseInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "resourceDeviceIndex" VkDeviceGroupBindSparseInfo where-        type FieldType "resourceDeviceIndex" VkDeviceGroupBindSparseInfo =-             Word32-        type FieldOptional "resourceDeviceIndex"-               VkDeviceGroupBindSparseInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "resourceDeviceIndex" VkDeviceGroupBindSparseInfo-             =-             #{offset VkDeviceGroupBindSparseInfo, resourceDeviceIndex}-        type FieldIsArray "resourceDeviceIndex" VkDeviceGroupBindSparseInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupBindSparseInfo, resourceDeviceIndex}--instance {-# OVERLAPPING #-}-         CanReadField "resourceDeviceIndex" VkDeviceGroupBindSparseInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupBindSparseInfo, resourceDeviceIndex})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupBindSparseInfo, resourceDeviceIndex}--instance {-# OVERLAPPING #-}-         CanWriteField "resourceDeviceIndex" VkDeviceGroupBindSparseInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupBindSparseInfo, resourceDeviceIndex}--instance {-# OVERLAPPING #-}-         HasField "memoryDeviceIndex" VkDeviceGroupBindSparseInfo where-        type FieldType "memoryDeviceIndex" VkDeviceGroupBindSparseInfo =-             Word32-        type FieldOptional "memoryDeviceIndex" VkDeviceGroupBindSparseInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "memoryDeviceIndex" VkDeviceGroupBindSparseInfo =-             #{offset VkDeviceGroupBindSparseInfo, memoryDeviceIndex}-        type FieldIsArray "memoryDeviceIndex" VkDeviceGroupBindSparseInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupBindSparseInfo, memoryDeviceIndex}--instance {-# OVERLAPPING #-}-         CanReadField "memoryDeviceIndex" VkDeviceGroupBindSparseInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupBindSparseInfo, memoryDeviceIndex})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupBindSparseInfo, memoryDeviceIndex}--instance {-# OVERLAPPING #-}-         CanWriteField "memoryDeviceIndex" VkDeviceGroupBindSparseInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupBindSparseInfo, memoryDeviceIndex}--instance Show VkDeviceGroupBindSparseInfo where-        showsPrec d x-          = showString "VkDeviceGroupBindSparseInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "resourceDeviceIndex = " .-                            showsPrec d (getField @"resourceDeviceIndex" x) .-                              showString ", " .-                                showString "memoryDeviceIndex = " .-                                  showsPrec d (getField @"memoryDeviceIndex" x) . showChar '}'---- | Alias for `VkDeviceGroupBindSparseInfo`-type VkDeviceGroupBindSparseInfoKHR = VkDeviceGroupBindSparseInfo---- | > typedef struct VkDeviceGroupCommandBufferBeginInfo {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     uint32_t                         deviceMask;---   > } VkDeviceGroupCommandBufferBeginInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfo registry at www.khronos.org>-type VkDeviceGroupCommandBufferBeginInfo =-     VulkanStruct VkDeviceGroupCommandBufferBeginInfo' -- ' closing tick for hsc2hs--data VkDeviceGroupCommandBufferBeginInfo' -- ' closing tick for hsc2hs--instance Eq VkDeviceGroupCommandBufferBeginInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDeviceGroupCommandBufferBeginInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDeviceGroupCommandBufferBeginInfo where-        sizeOf ~_ = #{size VkDeviceGroupCommandBufferBeginInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDeviceGroupCommandBufferBeginInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDeviceGroupCommandBufferBeginInfo where-        type StructFields VkDeviceGroupCommandBufferBeginInfo =-             '["sType", "pNext", "deviceMask"] -- ' closing tick for hsc2hs-        type CUnionType VkDeviceGroupCommandBufferBeginInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDeviceGroupCommandBufferBeginInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDeviceGroupCommandBufferBeginInfo =-             '[VkCommandBufferBeginInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDeviceGroupCommandBufferBeginInfo where-        type FieldType "sType" VkDeviceGroupCommandBufferBeginInfo =-             VkStructureType-        type FieldOptional "sType" VkDeviceGroupCommandBufferBeginInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDeviceGroupCommandBufferBeginInfo =-             #{offset VkDeviceGroupCommandBufferBeginInfo, sType}-        type FieldIsArray "sType" VkDeviceGroupCommandBufferBeginInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupCommandBufferBeginInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDeviceGroupCommandBufferBeginInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupCommandBufferBeginInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupCommandBufferBeginInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDeviceGroupCommandBufferBeginInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupCommandBufferBeginInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDeviceGroupCommandBufferBeginInfo where-        type FieldType "pNext" VkDeviceGroupCommandBufferBeginInfo =-             Ptr Void-        type FieldOptional "pNext" VkDeviceGroupCommandBufferBeginInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDeviceGroupCommandBufferBeginInfo =-             #{offset VkDeviceGroupCommandBufferBeginInfo, pNext}-        type FieldIsArray "pNext" VkDeviceGroupCommandBufferBeginInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupCommandBufferBeginInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDeviceGroupCommandBufferBeginInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupCommandBufferBeginInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupCommandBufferBeginInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDeviceGroupCommandBufferBeginInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupCommandBufferBeginInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "deviceMask" VkDeviceGroupCommandBufferBeginInfo where-        type FieldType "deviceMask" VkDeviceGroupCommandBufferBeginInfo =-             Word32-        type FieldOptional "deviceMask" VkDeviceGroupCommandBufferBeginInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "deviceMask" VkDeviceGroupCommandBufferBeginInfo =-             #{offset VkDeviceGroupCommandBufferBeginInfo, deviceMask}-        type FieldIsArray "deviceMask" VkDeviceGroupCommandBufferBeginInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupCommandBufferBeginInfo, deviceMask}--instance {-# OVERLAPPING #-}-         CanReadField "deviceMask" VkDeviceGroupCommandBufferBeginInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupCommandBufferBeginInfo, deviceMask})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupCommandBufferBeginInfo, deviceMask}--instance {-# OVERLAPPING #-}-         CanWriteField "deviceMask" VkDeviceGroupCommandBufferBeginInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupCommandBufferBeginInfo, deviceMask}--instance Show VkDeviceGroupCommandBufferBeginInfo where-        showsPrec d x-          = showString "VkDeviceGroupCommandBufferBeginInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "deviceMask = " .-                            showsPrec d (getField @"deviceMask" x) . showChar '}'---- | Alias for `VkDeviceGroupCommandBufferBeginInfo`-type VkDeviceGroupCommandBufferBeginInfoKHR =-     VkDeviceGroupCommandBufferBeginInfo---- | > typedef struct VkDeviceGroupDeviceCreateInfo {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     uint32_t                         physicalDeviceCount;---   >     const VkPhysicalDevice*  pPhysicalDevices;---   > } VkDeviceGroupDeviceCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfo registry at www.khronos.org>-type VkDeviceGroupDeviceCreateInfo =-     VulkanStruct VkDeviceGroupDeviceCreateInfo' -- ' closing tick for hsc2hs--data VkDeviceGroupDeviceCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkDeviceGroupDeviceCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDeviceGroupDeviceCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDeviceGroupDeviceCreateInfo where-        sizeOf ~_ = #{size VkDeviceGroupDeviceCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDeviceGroupDeviceCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDeviceGroupDeviceCreateInfo where-        type StructFields VkDeviceGroupDeviceCreateInfo =-             '["sType", "pNext", "physicalDeviceCount", "pPhysicalDevices"] -- ' closing tick for hsc2hs-        type CUnionType VkDeviceGroupDeviceCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDeviceGroupDeviceCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDeviceGroupDeviceCreateInfo =-             '[VkDeviceCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDeviceGroupDeviceCreateInfo where-        type FieldType "sType" VkDeviceGroupDeviceCreateInfo =-             VkStructureType-        type FieldOptional "sType" VkDeviceGroupDeviceCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDeviceGroupDeviceCreateInfo =-             #{offset VkDeviceGroupDeviceCreateInfo, sType}-        type FieldIsArray "sType" VkDeviceGroupDeviceCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupDeviceCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDeviceGroupDeviceCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupDeviceCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupDeviceCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDeviceGroupDeviceCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupDeviceCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDeviceGroupDeviceCreateInfo where-        type FieldType "pNext" VkDeviceGroupDeviceCreateInfo = Ptr Void-        type FieldOptional "pNext" VkDeviceGroupDeviceCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDeviceGroupDeviceCreateInfo =-             #{offset VkDeviceGroupDeviceCreateInfo, pNext}-        type FieldIsArray "pNext" VkDeviceGroupDeviceCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupDeviceCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDeviceGroupDeviceCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupDeviceCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupDeviceCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDeviceGroupDeviceCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupDeviceCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "physicalDeviceCount" VkDeviceGroupDeviceCreateInfo where-        type FieldType "physicalDeviceCount" VkDeviceGroupDeviceCreateInfo-             = Word32-        type FieldOptional "physicalDeviceCount"-               VkDeviceGroupDeviceCreateInfo-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "physicalDeviceCount"-               VkDeviceGroupDeviceCreateInfo-             =-             #{offset VkDeviceGroupDeviceCreateInfo, physicalDeviceCount}-        type FieldIsArray "physicalDeviceCount"-               VkDeviceGroupDeviceCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupDeviceCreateInfo, physicalDeviceCount}--instance {-# OVERLAPPING #-}-         CanReadField "physicalDeviceCount" VkDeviceGroupDeviceCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupDeviceCreateInfo, physicalDeviceCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupDeviceCreateInfo, physicalDeviceCount}--instance {-# OVERLAPPING #-}-         CanWriteField "physicalDeviceCount" VkDeviceGroupDeviceCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupDeviceCreateInfo, physicalDeviceCount}--instance {-# OVERLAPPING #-}-         HasField "pPhysicalDevices" VkDeviceGroupDeviceCreateInfo where-        type FieldType "pPhysicalDevices" VkDeviceGroupDeviceCreateInfo =-             Ptr VkPhysicalDevice-        type FieldOptional "pPhysicalDevices" VkDeviceGroupDeviceCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pPhysicalDevices" VkDeviceGroupDeviceCreateInfo =-             #{offset VkDeviceGroupDeviceCreateInfo, pPhysicalDevices}-        type FieldIsArray "pPhysicalDevices" VkDeviceGroupDeviceCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupDeviceCreateInfo, pPhysicalDevices}--instance {-# OVERLAPPING #-}-         CanReadField "pPhysicalDevices" VkDeviceGroupDeviceCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupDeviceCreateInfo, pPhysicalDevices})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupDeviceCreateInfo, pPhysicalDevices}--instance {-# OVERLAPPING #-}-         CanWriteField "pPhysicalDevices" VkDeviceGroupDeviceCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupDeviceCreateInfo, pPhysicalDevices}--instance Show VkDeviceGroupDeviceCreateInfo where-        showsPrec d x-          = showString "VkDeviceGroupDeviceCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "physicalDeviceCount = " .-                            showsPrec d (getField @"physicalDeviceCount" x) .-                              showString ", " .-                                showString "pPhysicalDevices = " .-                                  showsPrec d (getField @"pPhysicalDevices" x) . showChar '}'---- | Alias for `VkDeviceGroupDeviceCreateInfo`-type VkDeviceGroupDeviceCreateInfoKHR =-     VkDeviceGroupDeviceCreateInfo---- | > typedef struct VkDeviceGroupPresentCapabilitiesKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     uint32_t                         presentMask[VK_MAX_DEVICE_GROUP_SIZE];---   >     VkDeviceGroupPresentModeFlagsKHR modes;---   > } VkDeviceGroupPresentCapabilitiesKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGroupPresentCapabilitiesKHR VkDeviceGroupPresentCapabilitiesKHR registry at www.khronos.org>-type VkDeviceGroupPresentCapabilitiesKHR =-     VulkanStruct VkDeviceGroupPresentCapabilitiesKHR' -- ' closing tick for hsc2hs--data VkDeviceGroupPresentCapabilitiesKHR' -- ' closing tick for hsc2hs--instance Eq VkDeviceGroupPresentCapabilitiesKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDeviceGroupPresentCapabilitiesKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDeviceGroupPresentCapabilitiesKHR where-        sizeOf ~_ = #{size VkDeviceGroupPresentCapabilitiesKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDeviceGroupPresentCapabilitiesKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDeviceGroupPresentCapabilitiesKHR where-        type StructFields VkDeviceGroupPresentCapabilitiesKHR =-             '["sType", "pNext", "presentMask", "modes"] -- ' closing tick for hsc2hs-        type CUnionType VkDeviceGroupPresentCapabilitiesKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDeviceGroupPresentCapabilitiesKHR = 'True -- ' closing tick for hsc2hs-        type StructExtends VkDeviceGroupPresentCapabilitiesKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDeviceGroupPresentCapabilitiesKHR where-        type FieldType "sType" VkDeviceGroupPresentCapabilitiesKHR =-             VkStructureType-        type FieldOptional "sType" VkDeviceGroupPresentCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDeviceGroupPresentCapabilitiesKHR =-             #{offset VkDeviceGroupPresentCapabilitiesKHR, sType}-        type FieldIsArray "sType" VkDeviceGroupPresentCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupPresentCapabilitiesKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDeviceGroupPresentCapabilitiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentCapabilitiesKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupPresentCapabilitiesKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDeviceGroupPresentCapabilitiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupPresentCapabilitiesKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDeviceGroupPresentCapabilitiesKHR where-        type FieldType "pNext" VkDeviceGroupPresentCapabilitiesKHR =-             Ptr Void-        type FieldOptional "pNext" VkDeviceGroupPresentCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDeviceGroupPresentCapabilitiesKHR =-             #{offset VkDeviceGroupPresentCapabilitiesKHR, pNext}-        type FieldIsArray "pNext" VkDeviceGroupPresentCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupPresentCapabilitiesKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDeviceGroupPresentCapabilitiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentCapabilitiesKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupPresentCapabilitiesKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDeviceGroupPresentCapabilitiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupPresentCapabilitiesKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "presentMask" VkDeviceGroupPresentCapabilitiesKHR where-        type FieldType "presentMask" VkDeviceGroupPresentCapabilitiesKHR =-             Word32-        type FieldOptional "presentMask"-               VkDeviceGroupPresentCapabilitiesKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "presentMask" VkDeviceGroupPresentCapabilitiesKHR-             =-             #{offset VkDeviceGroupPresentCapabilitiesKHR, presentMask}-        type FieldIsArray "presentMask" VkDeviceGroupPresentCapabilitiesKHR-             = 'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupPresentCapabilitiesKHR, presentMask}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "presentMask" VkDeviceGroupPresentCapabilitiesKHR-         where-        type FieldArrayLength "presentMask"-               VkDeviceGroupPresentCapabilitiesKHR-             = VK_MAX_DEVICE_GROUP_SIZE--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = VK_MAX_DEVICE_GROUP_SIZE--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkDeviceGroupPresentCapabilitiesKHR, presentMask}-                      + sizeOf (undefined :: Word32) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkDeviceGroupPresentCapabilitiesKHR, presentMask}-                 + sizeOf (undefined :: Word32) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "presentMask"-           VkDeviceGroupPresentCapabilitiesKHR-         where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkDeviceGroupPresentCapabilitiesKHR, presentMask}-                 + sizeOf (undefined :: Word32) * i)--instance {-# OVERLAPPING #-}-         HasField "modes" VkDeviceGroupPresentCapabilitiesKHR where-        type FieldType "modes" VkDeviceGroupPresentCapabilitiesKHR =-             VkDeviceGroupPresentModeFlagsKHR-        type FieldOptional "modes" VkDeviceGroupPresentCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "modes" VkDeviceGroupPresentCapabilitiesKHR =-             #{offset VkDeviceGroupPresentCapabilitiesKHR, modes}-        type FieldIsArray "modes" VkDeviceGroupPresentCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupPresentCapabilitiesKHR, modes}--instance {-# OVERLAPPING #-}-         CanReadField "modes" VkDeviceGroupPresentCapabilitiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentCapabilitiesKHR, modes})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupPresentCapabilitiesKHR, modes}--instance {-# OVERLAPPING #-}-         CanWriteField "modes" VkDeviceGroupPresentCapabilitiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupPresentCapabilitiesKHR, modes}--instance Show VkDeviceGroupPresentCapabilitiesKHR where-        showsPrec d x-          = showString "VkDeviceGroupPresentCapabilitiesKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          (showString "presentMask = [" .-                             showsPrec d-                               (let s = sizeOf-                                          (undefined ::-                                             FieldType "presentMask"-                                               VkDeviceGroupPresentCapabilitiesKHR)-                                    o = fieldOffset @"presentMask"-                                          @VkDeviceGroupPresentCapabilitiesKHR-                                    f i-                                      = peekByteOff (unsafePtr x) i ::-                                          IO-                                            (FieldType "presentMask"-                                               VkDeviceGroupPresentCapabilitiesKHR)-                                  in-                                  unsafeDupablePerformIO . mapM f $-                                    map (\ i -> o + i * s) [0 .. VK_MAX_DEVICE_GROUP_SIZE - 1])-                               . showChar ']')-                            .-                            showString ", " .-                              showString "modes = " .-                                showsPrec d (getField @"modes" x) . showChar '}'---- | > typedef struct VkDeviceGroupPresentInfoKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     uint32_t         swapchainCount;---   >     const uint32_t* pDeviceMasks;---   >     VkDeviceGroupPresentModeFlagBitsKHR mode;---   > } VkDeviceGroupPresentInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGroupPresentInfoKHR VkDeviceGroupPresentInfoKHR registry at www.khronos.org>-type VkDeviceGroupPresentInfoKHR =-     VulkanStruct VkDeviceGroupPresentInfoKHR' -- ' closing tick for hsc2hs--data VkDeviceGroupPresentInfoKHR' -- ' closing tick for hsc2hs--instance Eq VkDeviceGroupPresentInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDeviceGroupPresentInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDeviceGroupPresentInfoKHR where-        sizeOf ~_ = #{size VkDeviceGroupPresentInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDeviceGroupPresentInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDeviceGroupPresentInfoKHR where-        type StructFields VkDeviceGroupPresentInfoKHR =-             '["sType", "pNext", "swapchainCount", "pDeviceMasks", "mode"] -- ' closing tick for hsc2hs-        type CUnionType VkDeviceGroupPresentInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDeviceGroupPresentInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDeviceGroupPresentInfoKHR =-             '[VkPresentInfoKHR] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDeviceGroupPresentInfoKHR where-        type FieldType "sType" VkDeviceGroupPresentInfoKHR =-             VkStructureType-        type FieldOptional "sType" VkDeviceGroupPresentInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDeviceGroupPresentInfoKHR =-             #{offset VkDeviceGroupPresentInfoKHR, sType}-        type FieldIsArray "sType" VkDeviceGroupPresentInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupPresentInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDeviceGroupPresentInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupPresentInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDeviceGroupPresentInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupPresentInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDeviceGroupPresentInfoKHR where-        type FieldType "pNext" VkDeviceGroupPresentInfoKHR = Ptr Void-        type FieldOptional "pNext" VkDeviceGroupPresentInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDeviceGroupPresentInfoKHR =-             #{offset VkDeviceGroupPresentInfoKHR, pNext}-        type FieldIsArray "pNext" VkDeviceGroupPresentInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupPresentInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDeviceGroupPresentInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupPresentInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDeviceGroupPresentInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupPresentInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "swapchainCount" VkDeviceGroupPresentInfoKHR where-        type FieldType "swapchainCount" VkDeviceGroupPresentInfoKHR =-             Word32-        type FieldOptional "swapchainCount" VkDeviceGroupPresentInfoKHR =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "swapchainCount" VkDeviceGroupPresentInfoKHR =-             #{offset VkDeviceGroupPresentInfoKHR, swapchainCount}-        type FieldIsArray "swapchainCount" VkDeviceGroupPresentInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupPresentInfoKHR, swapchainCount}--instance {-# OVERLAPPING #-}-         CanReadField "swapchainCount" VkDeviceGroupPresentInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentInfoKHR, swapchainCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupPresentInfoKHR, swapchainCount}--instance {-# OVERLAPPING #-}-         CanWriteField "swapchainCount" VkDeviceGroupPresentInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupPresentInfoKHR, swapchainCount}--instance {-# OVERLAPPING #-}-         HasField "pDeviceMasks" VkDeviceGroupPresentInfoKHR where-        type FieldType "pDeviceMasks" VkDeviceGroupPresentInfoKHR =-             Ptr Word32-        type FieldOptional "pDeviceMasks" VkDeviceGroupPresentInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pDeviceMasks" VkDeviceGroupPresentInfoKHR =-             #{offset VkDeviceGroupPresentInfoKHR, pDeviceMasks}-        type FieldIsArray "pDeviceMasks" VkDeviceGroupPresentInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupPresentInfoKHR, pDeviceMasks}--instance {-# OVERLAPPING #-}-         CanReadField "pDeviceMasks" VkDeviceGroupPresentInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentInfoKHR, pDeviceMasks})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupPresentInfoKHR, pDeviceMasks}--instance {-# OVERLAPPING #-}-         CanWriteField "pDeviceMasks" VkDeviceGroupPresentInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupPresentInfoKHR, pDeviceMasks}--instance {-# OVERLAPPING #-}-         HasField "mode" VkDeviceGroupPresentInfoKHR where-        type FieldType "mode" VkDeviceGroupPresentInfoKHR =-             VkDeviceGroupPresentModeFlagBitsKHR-        type FieldOptional "mode" VkDeviceGroupPresentInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "mode" VkDeviceGroupPresentInfoKHR =-             #{offset VkDeviceGroupPresentInfoKHR, mode}-        type FieldIsArray "mode" VkDeviceGroupPresentInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupPresentInfoKHR, mode}--instance {-# OVERLAPPING #-}-         CanReadField "mode" VkDeviceGroupPresentInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentInfoKHR, mode})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupPresentInfoKHR, mode}--instance {-# OVERLAPPING #-}-         CanWriteField "mode" VkDeviceGroupPresentInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupPresentInfoKHR, mode}--instance Show VkDeviceGroupPresentInfoKHR where-        showsPrec d x-          = showString "VkDeviceGroupPresentInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "swapchainCount = " .-                            showsPrec d (getField @"swapchainCount" x) .-                              showString ", " .-                                showString "pDeviceMasks = " .-                                  showsPrec d (getField @"pDeviceMasks" x) .-                                    showString ", " .-                                      showString "mode = " .-                                        showsPrec d (getField @"mode" x) . showChar '}'---- | > typedef struct VkDeviceGroupRenderPassBeginInfo {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     uint32_t                         deviceMask;---   >     uint32_t         deviceRenderAreaCount;---   >     const VkRect2D*  pDeviceRenderAreas;---   > } VkDeviceGroupRenderPassBeginInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfo registry at www.khronos.org>-type VkDeviceGroupRenderPassBeginInfo =-     VulkanStruct VkDeviceGroupRenderPassBeginInfo' -- ' closing tick for hsc2hs--data VkDeviceGroupRenderPassBeginInfo' -- ' closing tick for hsc2hs--instance Eq VkDeviceGroupRenderPassBeginInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDeviceGroupRenderPassBeginInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDeviceGroupRenderPassBeginInfo where-        sizeOf ~_ = #{size VkDeviceGroupRenderPassBeginInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDeviceGroupRenderPassBeginInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDeviceGroupRenderPassBeginInfo where-        type StructFields VkDeviceGroupRenderPassBeginInfo =-             '["sType", "pNext", "deviceMask", "deviceRenderAreaCount", -- ' closing tick for hsc2hs-               "pDeviceRenderAreas"]-        type CUnionType VkDeviceGroupRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDeviceGroupRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDeviceGroupRenderPassBeginInfo =-             '[VkRenderPassBeginInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDeviceGroupRenderPassBeginInfo where-        type FieldType "sType" VkDeviceGroupRenderPassBeginInfo =-             VkStructureType-        type FieldOptional "sType" VkDeviceGroupRenderPassBeginInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDeviceGroupRenderPassBeginInfo =-             #{offset VkDeviceGroupRenderPassBeginInfo, sType}-        type FieldIsArray "sType" VkDeviceGroupRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupRenderPassBeginInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDeviceGroupRenderPassBeginInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupRenderPassBeginInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDeviceGroupRenderPassBeginInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDeviceGroupRenderPassBeginInfo where-        type FieldType "pNext" VkDeviceGroupRenderPassBeginInfo = Ptr Void-        type FieldOptional "pNext" VkDeviceGroupRenderPassBeginInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDeviceGroupRenderPassBeginInfo =-             #{offset VkDeviceGroupRenderPassBeginInfo, pNext}-        type FieldIsArray "pNext" VkDeviceGroupRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupRenderPassBeginInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDeviceGroupRenderPassBeginInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupRenderPassBeginInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDeviceGroupRenderPassBeginInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "deviceMask" VkDeviceGroupRenderPassBeginInfo where-        type FieldType "deviceMask" VkDeviceGroupRenderPassBeginInfo =-             Word32-        type FieldOptional "deviceMask" VkDeviceGroupRenderPassBeginInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "deviceMask" VkDeviceGroupRenderPassBeginInfo =-             #{offset VkDeviceGroupRenderPassBeginInfo, deviceMask}-        type FieldIsArray "deviceMask" VkDeviceGroupRenderPassBeginInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupRenderPassBeginInfo, deviceMask}--instance {-# OVERLAPPING #-}-         CanReadField "deviceMask" VkDeviceGroupRenderPassBeginInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupRenderPassBeginInfo, deviceMask})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, deviceMask}--instance {-# OVERLAPPING #-}-         CanWriteField "deviceMask" VkDeviceGroupRenderPassBeginInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, deviceMask}--instance {-# OVERLAPPING #-}-         HasField "deviceRenderAreaCount" VkDeviceGroupRenderPassBeginInfo-         where-        type FieldType "deviceRenderAreaCount"-               VkDeviceGroupRenderPassBeginInfo-             = Word32-        type FieldOptional "deviceRenderAreaCount"-               VkDeviceGroupRenderPassBeginInfo-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "deviceRenderAreaCount"-               VkDeviceGroupRenderPassBeginInfo-             =-             #{offset VkDeviceGroupRenderPassBeginInfo, deviceRenderAreaCount}-        type FieldIsArray "deviceRenderAreaCount"-               VkDeviceGroupRenderPassBeginInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupRenderPassBeginInfo, deviceRenderAreaCount}--instance {-# OVERLAPPING #-}-         CanReadField "deviceRenderAreaCount"-           VkDeviceGroupRenderPassBeginInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupRenderPassBeginInfo, deviceRenderAreaCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, deviceRenderAreaCount}--instance {-# OVERLAPPING #-}-         CanWriteField "deviceRenderAreaCount"-           VkDeviceGroupRenderPassBeginInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, deviceRenderAreaCount}--instance {-# OVERLAPPING #-}-         HasField "pDeviceRenderAreas" VkDeviceGroupRenderPassBeginInfo-         where-        type FieldType "pDeviceRenderAreas"-               VkDeviceGroupRenderPassBeginInfo-             = Ptr VkRect2D-        type FieldOptional "pDeviceRenderAreas"-               VkDeviceGroupRenderPassBeginInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pDeviceRenderAreas"-               VkDeviceGroupRenderPassBeginInfo-             =-             #{offset VkDeviceGroupRenderPassBeginInfo, pDeviceRenderAreas}-        type FieldIsArray "pDeviceRenderAreas"-               VkDeviceGroupRenderPassBeginInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupRenderPassBeginInfo, pDeviceRenderAreas}--instance {-# OVERLAPPING #-}-         CanReadField "pDeviceRenderAreas" VkDeviceGroupRenderPassBeginInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupRenderPassBeginInfo, pDeviceRenderAreas})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, pDeviceRenderAreas}--instance {-# OVERLAPPING #-}-         CanWriteField "pDeviceRenderAreas" VkDeviceGroupRenderPassBeginInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, pDeviceRenderAreas}--instance Show VkDeviceGroupRenderPassBeginInfo where-        showsPrec d x-          = showString "VkDeviceGroupRenderPassBeginInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "deviceMask = " .-                            showsPrec d (getField @"deviceMask" x) .-                              showString ", " .-                                showString "deviceRenderAreaCount = " .-                                  showsPrec d (getField @"deviceRenderAreaCount" x) .-                                    showString ", " .-                                      showString "pDeviceRenderAreas = " .-                                        showsPrec d (getField @"pDeviceRenderAreas" x) .-                                          showChar '}'---- | Alias for `VkDeviceGroupRenderPassBeginInfo`-type VkDeviceGroupRenderPassBeginInfoKHR =-     VkDeviceGroupRenderPassBeginInfo---- | > typedef struct VkDeviceGroupSubmitInfo {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     uint32_t         waitSemaphoreCount;---   >     const uint32_t*    pWaitSemaphoreDeviceIndices;---   >     uint32_t         commandBufferCount;---   >     const uint32_t*    pCommandBufferDeviceMasks;---   >     uint32_t         signalSemaphoreCount;---   >     const uint32_t*  pSignalSemaphoreDeviceIndices;---   > } VkDeviceGroupSubmitInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfo registry at www.khronos.org>-type VkDeviceGroupSubmitInfo =-     VulkanStruct VkDeviceGroupSubmitInfo' -- ' closing tick for hsc2hs--data VkDeviceGroupSubmitInfo' -- ' closing tick for hsc2hs--instance Eq VkDeviceGroupSubmitInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDeviceGroupSubmitInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDeviceGroupSubmitInfo where-        sizeOf ~_ = #{size VkDeviceGroupSubmitInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDeviceGroupSubmitInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDeviceGroupSubmitInfo where-        type StructFields VkDeviceGroupSubmitInfo =-             '["sType", "pNext", "waitSemaphoreCount", -- ' closing tick for hsc2hs-               "pWaitSemaphoreDeviceIndices", "commandBufferCount",-               "pCommandBufferDeviceMasks", "signalSemaphoreCount",-               "pSignalSemaphoreDeviceIndices"]-        type CUnionType VkDeviceGroupSubmitInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDeviceGroupSubmitInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDeviceGroupSubmitInfo = '[VkSubmitInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDeviceGroupSubmitInfo where-        type FieldType "sType" VkDeviceGroupSubmitInfo = VkStructureType-        type FieldOptional "sType" VkDeviceGroupSubmitInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDeviceGroupSubmitInfo =-             #{offset VkDeviceGroupSubmitInfo, sType}-        type FieldIsArray "sType" VkDeviceGroupSubmitInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDeviceGroupSubmitInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDeviceGroupSubmitInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupSubmitInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDeviceGroupSubmitInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupSubmitInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDeviceGroupSubmitInfo where-        type FieldType "pNext" VkDeviceGroupSubmitInfo = Ptr Void-        type FieldOptional "pNext" VkDeviceGroupSubmitInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDeviceGroupSubmitInfo =-             #{offset VkDeviceGroupSubmitInfo, pNext}-        type FieldIsArray "pNext" VkDeviceGroupSubmitInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDeviceGroupSubmitInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDeviceGroupSubmitInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupSubmitInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDeviceGroupSubmitInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupSubmitInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "waitSemaphoreCount" VkDeviceGroupSubmitInfo where-        type FieldType "waitSemaphoreCount" VkDeviceGroupSubmitInfo =-             Word32-        type FieldOptional "waitSemaphoreCount" VkDeviceGroupSubmitInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "waitSemaphoreCount" VkDeviceGroupSubmitInfo =-             #{offset VkDeviceGroupSubmitInfo, waitSemaphoreCount}-        type FieldIsArray "waitSemaphoreCount" VkDeviceGroupSubmitInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupSubmitInfo, waitSemaphoreCount}--instance {-# OVERLAPPING #-}-         CanReadField "waitSemaphoreCount" VkDeviceGroupSubmitInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfo, waitSemaphoreCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupSubmitInfo, waitSemaphoreCount}--instance {-# OVERLAPPING #-}-         CanWriteField "waitSemaphoreCount" VkDeviceGroupSubmitInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupSubmitInfo, waitSemaphoreCount}--instance {-# OVERLAPPING #-}-         HasField "pWaitSemaphoreDeviceIndices" VkDeviceGroupSubmitInfo-         where-        type FieldType "pWaitSemaphoreDeviceIndices"-               VkDeviceGroupSubmitInfo-             = Ptr Word32-        type FieldOptional "pWaitSemaphoreDeviceIndices"-               VkDeviceGroupSubmitInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pWaitSemaphoreDeviceIndices"-               VkDeviceGroupSubmitInfo-             =-             #{offset VkDeviceGroupSubmitInfo, pWaitSemaphoreDeviceIndices}-        type FieldIsArray "pWaitSemaphoreDeviceIndices"-               VkDeviceGroupSubmitInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupSubmitInfo, pWaitSemaphoreDeviceIndices}--instance {-# OVERLAPPING #-}-         CanReadField "pWaitSemaphoreDeviceIndices" VkDeviceGroupSubmitInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfo, pWaitSemaphoreDeviceIndices})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupSubmitInfo, pWaitSemaphoreDeviceIndices}--instance {-# OVERLAPPING #-}-         CanWriteField "pWaitSemaphoreDeviceIndices" VkDeviceGroupSubmitInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupSubmitInfo, pWaitSemaphoreDeviceIndices}--instance {-# OVERLAPPING #-}-         HasField "commandBufferCount" VkDeviceGroupSubmitInfo where-        type FieldType "commandBufferCount" VkDeviceGroupSubmitInfo =-             Word32-        type FieldOptional "commandBufferCount" VkDeviceGroupSubmitInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "commandBufferCount" VkDeviceGroupSubmitInfo =-             #{offset VkDeviceGroupSubmitInfo, commandBufferCount}-        type FieldIsArray "commandBufferCount" VkDeviceGroupSubmitInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupSubmitInfo, commandBufferCount}--instance {-# OVERLAPPING #-}-         CanReadField "commandBufferCount" VkDeviceGroupSubmitInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfo, commandBufferCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupSubmitInfo, commandBufferCount}--instance {-# OVERLAPPING #-}-         CanWriteField "commandBufferCount" VkDeviceGroupSubmitInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupSubmitInfo, commandBufferCount}--instance {-# OVERLAPPING #-}-         HasField "pCommandBufferDeviceMasks" VkDeviceGroupSubmitInfo where-        type FieldType "pCommandBufferDeviceMasks" VkDeviceGroupSubmitInfo-             = Ptr Word32-        type FieldOptional "pCommandBufferDeviceMasks"-               VkDeviceGroupSubmitInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pCommandBufferDeviceMasks"-               VkDeviceGroupSubmitInfo-             =-             #{offset VkDeviceGroupSubmitInfo, pCommandBufferDeviceMasks}-        type FieldIsArray "pCommandBufferDeviceMasks"-               VkDeviceGroupSubmitInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupSubmitInfo, pCommandBufferDeviceMasks}--instance {-# OVERLAPPING #-}-         CanReadField "pCommandBufferDeviceMasks" VkDeviceGroupSubmitInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfo, pCommandBufferDeviceMasks})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupSubmitInfo, pCommandBufferDeviceMasks}--instance {-# OVERLAPPING #-}-         CanWriteField "pCommandBufferDeviceMasks" VkDeviceGroupSubmitInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupSubmitInfo, pCommandBufferDeviceMasks}--instance {-# OVERLAPPING #-}-         HasField "signalSemaphoreCount" VkDeviceGroupSubmitInfo where-        type FieldType "signalSemaphoreCount" VkDeviceGroupSubmitInfo =-             Word32-        type FieldOptional "signalSemaphoreCount" VkDeviceGroupSubmitInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "signalSemaphoreCount" VkDeviceGroupSubmitInfo =-             #{offset VkDeviceGroupSubmitInfo, signalSemaphoreCount}-        type FieldIsArray "signalSemaphoreCount" VkDeviceGroupSubmitInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupSubmitInfo, signalSemaphoreCount}--instance {-# OVERLAPPING #-}-         CanReadField "signalSemaphoreCount" VkDeviceGroupSubmitInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfo, signalSemaphoreCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupSubmitInfo, signalSemaphoreCount}--instance {-# OVERLAPPING #-}-         CanWriteField "signalSemaphoreCount" VkDeviceGroupSubmitInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupSubmitInfo, signalSemaphoreCount}--instance {-# OVERLAPPING #-}-         HasField "pSignalSemaphoreDeviceIndices" VkDeviceGroupSubmitInfo-         where-        type FieldType "pSignalSemaphoreDeviceIndices"-               VkDeviceGroupSubmitInfo-             = Ptr Word32-        type FieldOptional "pSignalSemaphoreDeviceIndices"-               VkDeviceGroupSubmitInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pSignalSemaphoreDeviceIndices"-               VkDeviceGroupSubmitInfo-             =-             #{offset VkDeviceGroupSubmitInfo, pSignalSemaphoreDeviceIndices}-        type FieldIsArray "pSignalSemaphoreDeviceIndices"-               VkDeviceGroupSubmitInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupSubmitInfo, pSignalSemaphoreDeviceIndices}--instance {-# OVERLAPPING #-}-         CanReadField "pSignalSemaphoreDeviceIndices"-           VkDeviceGroupSubmitInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfo, pSignalSemaphoreDeviceIndices})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupSubmitInfo, pSignalSemaphoreDeviceIndices}--instance {-# OVERLAPPING #-}-         CanWriteField "pSignalSemaphoreDeviceIndices"-           VkDeviceGroupSubmitInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupSubmitInfo, pSignalSemaphoreDeviceIndices}--instance Show VkDeviceGroupSubmitInfo where-        showsPrec d x-          = showString "VkDeviceGroupSubmitInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "waitSemaphoreCount = " .-                            showsPrec d (getField @"waitSemaphoreCount" x) .-                              showString ", " .-                                showString "pWaitSemaphoreDeviceIndices = " .-                                  showsPrec d (getField @"pWaitSemaphoreDeviceIndices" x) .-                                    showString ", " .-                                      showString "commandBufferCount = " .-                                        showsPrec d (getField @"commandBufferCount" x) .-                                          showString ", " .-                                            showString "pCommandBufferDeviceMasks = " .-                                              showsPrec d (getField @"pCommandBufferDeviceMasks" x)-                                                .-                                                showString ", " .-                                                  showString "signalSemaphoreCount = " .-                                                    showsPrec d (getField @"signalSemaphoreCount" x)-                                                      .-                                                      showString ", " .-                                                        showString-                                                          "pSignalSemaphoreDeviceIndices = "-                                                          .-                                                          showsPrec d-                                                            (getField-                                                               @"pSignalSemaphoreDeviceIndices"-                                                               x)-                                                            . showChar '}'---- | Alias for `VkDeviceGroupSubmitInfo`-type VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo---- | > typedef struct VkDeviceGroupSwapchainCreateInfoKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkDeviceGroupPresentModeFlagsKHR                         modes;---   > } VkDeviceGroupSwapchainCreateInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGroupSwapchainCreateInfoKHR VkDeviceGroupSwapchainCreateInfoKHR registry at www.khronos.org>-type VkDeviceGroupSwapchainCreateInfoKHR =-     VulkanStruct VkDeviceGroupSwapchainCreateInfoKHR' -- ' closing tick for hsc2hs--data VkDeviceGroupSwapchainCreateInfoKHR' -- ' closing tick for hsc2hs--instance Eq VkDeviceGroupSwapchainCreateInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDeviceGroupSwapchainCreateInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDeviceGroupSwapchainCreateInfoKHR where-        sizeOf ~_ = #{size VkDeviceGroupSwapchainCreateInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDeviceGroupSwapchainCreateInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDeviceGroupSwapchainCreateInfoKHR where-        type StructFields VkDeviceGroupSwapchainCreateInfoKHR =-             '["sType", "pNext", "modes"] -- ' closing tick for hsc2hs-        type CUnionType VkDeviceGroupSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDeviceGroupSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDeviceGroupSwapchainCreateInfoKHR =-             '[VkSwapchainCreateInfoKHR] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDeviceGroupSwapchainCreateInfoKHR where-        type FieldType "sType" VkDeviceGroupSwapchainCreateInfoKHR =-             VkStructureType-        type FieldOptional "sType" VkDeviceGroupSwapchainCreateInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDeviceGroupSwapchainCreateInfoKHR =-             #{offset VkDeviceGroupSwapchainCreateInfoKHR, sType}-        type FieldIsArray "sType" VkDeviceGroupSwapchainCreateInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupSwapchainCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDeviceGroupSwapchainCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSwapchainCreateInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupSwapchainCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDeviceGroupSwapchainCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupSwapchainCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDeviceGroupSwapchainCreateInfoKHR where-        type FieldType "pNext" VkDeviceGroupSwapchainCreateInfoKHR =-             Ptr Void-        type FieldOptional "pNext" VkDeviceGroupSwapchainCreateInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDeviceGroupSwapchainCreateInfoKHR =-             #{offset VkDeviceGroupSwapchainCreateInfoKHR, pNext}-        type FieldIsArray "pNext" VkDeviceGroupSwapchainCreateInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupSwapchainCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDeviceGroupSwapchainCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSwapchainCreateInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupSwapchainCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDeviceGroupSwapchainCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupSwapchainCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "modes" VkDeviceGroupSwapchainCreateInfoKHR where-        type FieldType "modes" VkDeviceGroupSwapchainCreateInfoKHR =-             VkDeviceGroupPresentModeFlagsKHR-        type FieldOptional "modes" VkDeviceGroupSwapchainCreateInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "modes" VkDeviceGroupSwapchainCreateInfoKHR =-             #{offset VkDeviceGroupSwapchainCreateInfoKHR, modes}-        type FieldIsArray "modes" VkDeviceGroupSwapchainCreateInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupSwapchainCreateInfoKHR, modes}--instance {-# OVERLAPPING #-}-         CanReadField "modes" VkDeviceGroupSwapchainCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSwapchainCreateInfoKHR, modes})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceGroupSwapchainCreateInfoKHR, modes}--instance {-# OVERLAPPING #-}-         CanWriteField "modes" VkDeviceGroupSwapchainCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceGroupSwapchainCreateInfoKHR, modes}--instance Show VkDeviceGroupSwapchainCreateInfoKHR where-        showsPrec d x-          = showString "VkDeviceGroupSwapchainCreateInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "modes = " .-                            showsPrec d (getField @"modes" x) . showChar '}'---- | > typedef struct VkDeviceQueueCreateInfo {---   >     VkStructureType sType;---   >     const void*     pNext;---   >     VkDeviceQueueCreateFlags    flags;---   >     uint32_t        queueFamilyIndex;---   >     uint32_t        queueCount;---   >     const float*    pQueuePriorities;---   > } VkDeviceQueueCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceQueueCreateInfo VkDeviceQueueCreateInfo registry at www.khronos.org>-type VkDeviceQueueCreateInfo =-     VulkanStruct VkDeviceQueueCreateInfo' -- ' closing tick for hsc2hs--data VkDeviceQueueCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkDeviceQueueCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDeviceQueueCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDeviceQueueCreateInfo where-        sizeOf ~_ = #{size VkDeviceQueueCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDeviceQueueCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDeviceQueueCreateInfo where-        type StructFields VkDeviceQueueCreateInfo =-             '["sType", "pNext", "flags", "queueFamilyIndex", "queueCount", -- ' closing tick for hsc2hs-               "pQueuePriorities"]-        type CUnionType VkDeviceQueueCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDeviceQueueCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDeviceQueueCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDeviceQueueCreateInfo where-        type FieldType "sType" VkDeviceQueueCreateInfo = VkStructureType-        type FieldOptional "sType" VkDeviceQueueCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDeviceQueueCreateInfo =-             #{offset VkDeviceQueueCreateInfo, sType}-        type FieldIsArray "sType" VkDeviceQueueCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDeviceQueueCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDeviceQueueCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceQueueCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDeviceQueueCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceQueueCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDeviceQueueCreateInfo where-        type FieldType "pNext" VkDeviceQueueCreateInfo = Ptr Void-        type FieldOptional "pNext" VkDeviceQueueCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDeviceQueueCreateInfo =-             #{offset VkDeviceQueueCreateInfo, pNext}-        type FieldIsArray "pNext" VkDeviceQueueCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDeviceQueueCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDeviceQueueCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceQueueCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDeviceQueueCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceQueueCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkDeviceQueueCreateInfo where-        type FieldType "flags" VkDeviceQueueCreateInfo =-             VkDeviceQueueCreateFlags-        type FieldOptional "flags" VkDeviceQueueCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkDeviceQueueCreateInfo =-             #{offset VkDeviceQueueCreateInfo, flags}-        type FieldIsArray "flags" VkDeviceQueueCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDeviceQueueCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkDeviceQueueCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceQueueCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkDeviceQueueCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceQueueCreateInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "queueFamilyIndex" VkDeviceQueueCreateInfo where-        type FieldType "queueFamilyIndex" VkDeviceQueueCreateInfo = Word32-        type FieldOptional "queueFamilyIndex" VkDeviceQueueCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "queueFamilyIndex" VkDeviceQueueCreateInfo =-             #{offset VkDeviceQueueCreateInfo, queueFamilyIndex}-        type FieldIsArray "queueFamilyIndex" VkDeviceQueueCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceQueueCreateInfo, queueFamilyIndex}--instance {-# OVERLAPPING #-}-         CanReadField "queueFamilyIndex" VkDeviceQueueCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueCreateInfo, queueFamilyIndex})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceQueueCreateInfo, queueFamilyIndex}--instance {-# OVERLAPPING #-}-         CanWriteField "queueFamilyIndex" VkDeviceQueueCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceQueueCreateInfo, queueFamilyIndex}--instance {-# OVERLAPPING #-}-         HasField "queueCount" VkDeviceQueueCreateInfo where-        type FieldType "queueCount" VkDeviceQueueCreateInfo = Word32-        type FieldOptional "queueCount" VkDeviceQueueCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "queueCount" VkDeviceQueueCreateInfo =-             #{offset VkDeviceQueueCreateInfo, queueCount}-        type FieldIsArray "queueCount" VkDeviceQueueCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceQueueCreateInfo, queueCount}--instance {-# OVERLAPPING #-}-         CanReadField "queueCount" VkDeviceQueueCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueCreateInfo, queueCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceQueueCreateInfo, queueCount}--instance {-# OVERLAPPING #-}-         CanWriteField "queueCount" VkDeviceQueueCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceQueueCreateInfo, queueCount}--instance {-# OVERLAPPING #-}-         HasField "pQueuePriorities" VkDeviceQueueCreateInfo where-        type FieldType "pQueuePriorities" VkDeviceQueueCreateInfo =-             Ptr #{type float}-        type FieldOptional "pQueuePriorities" VkDeviceQueueCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pQueuePriorities" VkDeviceQueueCreateInfo =-             #{offset VkDeviceQueueCreateInfo, pQueuePriorities}-        type FieldIsArray "pQueuePriorities" VkDeviceQueueCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceQueueCreateInfo, pQueuePriorities}--instance {-# OVERLAPPING #-}-         CanReadField "pQueuePriorities" VkDeviceQueueCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueCreateInfo, pQueuePriorities})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceQueueCreateInfo, pQueuePriorities}--instance {-# OVERLAPPING #-}-         CanWriteField "pQueuePriorities" VkDeviceQueueCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceQueueCreateInfo, pQueuePriorities}--instance Show VkDeviceQueueCreateInfo where-        showsPrec d x-          = showString "VkDeviceQueueCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "queueFamilyIndex = " .-                                  showsPrec d (getField @"queueFamilyIndex" x) .-                                    showString ", " .-                                      showString "queueCount = " .-                                        showsPrec d (getField @"queueCount" x) .-                                          showString ", " .-                                            showString "pQueuePriorities = " .-                                              showsPrec d (getField @"pQueuePriorities" x) .-                                                showChar '}'---- | > typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {---   >     VkStructureType sType;---   >     const void*                    pNext;---   >     VkQueueGlobalPriorityEXT       globalPriority;---   > } VkDeviceQueueGlobalPriorityCreateInfoEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceQueueGlobalPriorityCreateInfoEXT VkDeviceQueueGlobalPriorityCreateInfoEXT registry at www.khronos.org>-type VkDeviceQueueGlobalPriorityCreateInfoEXT =-     VulkanStruct VkDeviceQueueGlobalPriorityCreateInfoEXT' -- ' closing tick for hsc2hs--data VkDeviceQueueGlobalPriorityCreateInfoEXT' -- ' closing tick for hsc2hs--instance Eq VkDeviceQueueGlobalPriorityCreateInfoEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDeviceQueueGlobalPriorityCreateInfoEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDeviceQueueGlobalPriorityCreateInfoEXT where-        sizeOf ~_-          = #{size VkDeviceQueueGlobalPriorityCreateInfoEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDeviceQueueGlobalPriorityCreateInfoEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDeviceQueueGlobalPriorityCreateInfoEXT-         where-        type StructFields VkDeviceQueueGlobalPriorityCreateInfoEXT =-             '["sType", "pNext", "globalPriority"] -- ' closing tick for hsc2hs-        type CUnionType VkDeviceQueueGlobalPriorityCreateInfoEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDeviceQueueGlobalPriorityCreateInfoEXT = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDeviceQueueGlobalPriorityCreateInfoEXT =-             '[VkDeviceQueueCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDeviceQueueGlobalPriorityCreateInfoEXT where-        type FieldType "sType" VkDeviceQueueGlobalPriorityCreateInfoEXT =-             VkStructureType-        type FieldOptional "sType" VkDeviceQueueGlobalPriorityCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDeviceQueueGlobalPriorityCreateInfoEXT =-             #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, sType}-        type FieldIsArray "sType" VkDeviceQueueGlobalPriorityCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDeviceQueueGlobalPriorityCreateInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDeviceQueueGlobalPriorityCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDeviceQueueGlobalPriorityCreateInfoEXT where-        type FieldType "pNext" VkDeviceQueueGlobalPriorityCreateInfoEXT =-             Ptr Void-        type FieldOptional "pNext" VkDeviceQueueGlobalPriorityCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDeviceQueueGlobalPriorityCreateInfoEXT =-             #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, pNext}-        type FieldIsArray "pNext" VkDeviceQueueGlobalPriorityCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDeviceQueueGlobalPriorityCreateInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDeviceQueueGlobalPriorityCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "globalPriority" VkDeviceQueueGlobalPriorityCreateInfoEXT-         where-        type FieldType "globalPriority"-               VkDeviceQueueGlobalPriorityCreateInfoEXT-             = VkQueueGlobalPriorityEXT-        type FieldOptional "globalPriority"-               VkDeviceQueueGlobalPriorityCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "globalPriority"-               VkDeviceQueueGlobalPriorityCreateInfoEXT-             =-             #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, globalPriority}-        type FieldIsArray "globalPriority"-               VkDeviceQueueGlobalPriorityCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, globalPriority}--instance {-# OVERLAPPING #-}-         CanReadField "globalPriority"-           VkDeviceQueueGlobalPriorityCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, globalPriority})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, globalPriority}--instance {-# OVERLAPPING #-}-         CanWriteField "globalPriority"-           VkDeviceQueueGlobalPriorityCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, globalPriority}--instance Show VkDeviceQueueGlobalPriorityCreateInfoEXT where-        showsPrec d x-          = showString "VkDeviceQueueGlobalPriorityCreateInfoEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "globalPriority = " .-                            showsPrec d (getField @"globalPriority" x) . showChar '}'---- | > typedef struct VkDeviceQueueInfo2 {---   >     VkStructureType sType;---   >     const void*                         pNext;---   >     VkDeviceQueueCreateFlags            flags;---   >     uint32_t                            queueFamilyIndex;---   >     uint32_t                            queueIndex;---   > } VkDeviceQueueInfo2;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceQueueInfo2 VkDeviceQueueInfo2 registry at www.khronos.org>-type VkDeviceQueueInfo2 = VulkanStruct VkDeviceQueueInfo2' -- ' closing tick for hsc2hs--data VkDeviceQueueInfo2' -- ' closing tick for hsc2hs--instance Eq VkDeviceQueueInfo2 where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDeviceQueueInfo2 where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDeviceQueueInfo2 where-        sizeOf ~_ = #{size VkDeviceQueueInfo2}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDeviceQueueInfo2}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDeviceQueueInfo2 where-        type StructFields VkDeviceQueueInfo2 =-             '["sType", "pNext", "flags", "queueFamilyIndex", "queueIndex"] -- ' closing tick for hsc2hs-        type CUnionType VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDeviceQueueInfo2 = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkDeviceQueueInfo2-         where-        type FieldType "sType" VkDeviceQueueInfo2 = VkStructureType-        type FieldOptional "sType" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDeviceQueueInfo2 =-             #{offset VkDeviceQueueInfo2, sType}-        type FieldIsArray "sType" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDeviceQueueInfo2, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDeviceQueueInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueInfo2, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceQueueInfo2, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDeviceQueueInfo2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceQueueInfo2, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkDeviceQueueInfo2-         where-        type FieldType "pNext" VkDeviceQueueInfo2 = Ptr Void-        type FieldOptional "pNext" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDeviceQueueInfo2 =-             #{offset VkDeviceQueueInfo2, pNext}-        type FieldIsArray "pNext" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDeviceQueueInfo2, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDeviceQueueInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueInfo2, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceQueueInfo2, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDeviceQueueInfo2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceQueueInfo2, pNext}--instance {-# OVERLAPPING #-} HasField "flags" VkDeviceQueueInfo2-         where-        type FieldType "flags" VkDeviceQueueInfo2 =-             VkDeviceQueueCreateFlags-        type FieldOptional "flags" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkDeviceQueueInfo2 =-             #{offset VkDeviceQueueInfo2, flags}-        type FieldIsArray "flags" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDeviceQueueInfo2, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkDeviceQueueInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueInfo2, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceQueueInfo2, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkDeviceQueueInfo2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceQueueInfo2, flags}--instance {-# OVERLAPPING #-}-         HasField "queueFamilyIndex" VkDeviceQueueInfo2 where-        type FieldType "queueFamilyIndex" VkDeviceQueueInfo2 = Word32-        type FieldOptional "queueFamilyIndex" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs-        type FieldOffset "queueFamilyIndex" VkDeviceQueueInfo2 =-             #{offset VkDeviceQueueInfo2, queueFamilyIndex}-        type FieldIsArray "queueFamilyIndex" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceQueueInfo2, queueFamilyIndex}--instance {-# OVERLAPPING #-}-         CanReadField "queueFamilyIndex" VkDeviceQueueInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueInfo2, queueFamilyIndex})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceQueueInfo2, queueFamilyIndex}--instance {-# OVERLAPPING #-}-         CanWriteField "queueFamilyIndex" VkDeviceQueueInfo2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceQueueInfo2, queueFamilyIndex}--instance {-# OVERLAPPING #-}-         HasField "queueIndex" VkDeviceQueueInfo2 where-        type FieldType "queueIndex" VkDeviceQueueInfo2 = Word32-        type FieldOptional "queueIndex" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs-        type FieldOffset "queueIndex" VkDeviceQueueInfo2 =-             #{offset VkDeviceQueueInfo2, queueIndex}-        type FieldIsArray "queueIndex" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDeviceQueueInfo2, queueIndex}--instance {-# OVERLAPPING #-}-         CanReadField "queueIndex" VkDeviceQueueInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueInfo2, queueIndex})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDeviceQueueInfo2, queueIndex}--instance {-# OVERLAPPING #-}-         CanWriteField "queueIndex" VkDeviceQueueInfo2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDeviceQueueInfo2, queueIndex}--instance Show VkDeviceQueueInfo2 where-        showsPrec d x-          = showString "VkDeviceQueueInfo2 {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "queueFamilyIndex = " .-                                  showsPrec d (getField @"queueFamilyIndex" x) .-                                    showString ", " .-                                      showString "queueIndex = " .-                                        showsPrec d (getField @"queueIndex" x) . showChar '}'+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.Device+       (VkDeviceCreateInfo, VkDeviceEventInfoEXT,+        VkDeviceGeneratedCommandsFeaturesNVX,+        VkDeviceGeneratedCommandsLimitsNVX, VkDeviceGroupBindSparseInfo,+        VkDeviceGroupBindSparseInfoKHR,+        VkDeviceGroupCommandBufferBeginInfo,+        VkDeviceGroupCommandBufferBeginInfoKHR,+        VkDeviceGroupDeviceCreateInfo, VkDeviceGroupDeviceCreateInfoKHR,+        VkDeviceGroupPresentCapabilitiesKHR, VkDeviceGroupPresentInfoKHR,+        VkDeviceGroupRenderPassBeginInfo,+        VkDeviceGroupRenderPassBeginInfoKHR, VkDeviceGroupSubmitInfo,+        VkDeviceGroupSubmitInfoKHR, VkDeviceGroupSwapchainCreateInfoKHR,+        VkDeviceQueueCreateInfo, VkDeviceQueueGlobalPriorityCreateInfoEXT,+        VkDeviceQueueInfo2)+       where+import Graphics.Vulkan.Constants                           (VK_MAX_DEVICE_GROUP_SIZE)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes                     (VkBool32)+import Graphics.Vulkan.Types.Bitmasks                      (VkDeviceCreateFlags)+import Graphics.Vulkan.Types.Enum.Device                   (VkDeviceEventTypeEXT,+                                                            VkDeviceGroupPresentModeFlagBitsKHR,+                                                            VkDeviceGroupPresentModeFlagsKHR,+                                                            VkDeviceQueueCreateFlags)+import Graphics.Vulkan.Types.Enum.Queue                    (VkQueueGlobalPriorityEXT)+import Graphics.Vulkan.Types.Enum.StructureType            (VkStructureType)+import Graphics.Vulkan.Types.Handles                       (VkPhysicalDevice)+import Graphics.Vulkan.Types.Struct.Bind                   (VkBindSparseInfo)+import Graphics.Vulkan.Types.Struct.Command                (VkCommandBufferBeginInfo)+import Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures (VkPhysicalDeviceFeatures)+import Graphics.Vulkan.Types.Struct.Present                (VkPresentInfoKHR)+import Graphics.Vulkan.Types.Struct.Rect                   (VkRect2D)+import Graphics.Vulkan.Types.Struct.RenderPass             (VkRenderPassBeginInfo)+import Graphics.Vulkan.Types.Struct.SubmitInfo             (VkSubmitInfo)+import Graphics.Vulkan.Types.Struct.SwapchainC             (VkSwapchainCreateInfoKHR)++-- | > typedef struct VkDeviceCreateInfo {+--   >     VkStructureType sType;+--   >     const void*     pNext;+--   >     VkDeviceCreateFlags    flags;+--   >     uint32_t        queueCreateInfoCount;+--   >     const VkDeviceQueueCreateInfo* pQueueCreateInfos;+--   >     uint32_t               enabledLayerCount;+--   >     const char* const*      ppEnabledLayerNames;+--   >     uint32_t               enabledExtensionCount;+--   >     const char* const*      ppEnabledExtensionNames;+--   >     const VkPhysicalDeviceFeatures* pEnabledFeatures;+--   > } VkDeviceCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceCreateInfo VkDeviceCreateInfo registry at www.khronos.org>+type VkDeviceCreateInfo = VkStruct VkDeviceCreateInfo' -- ' closing tick for hsc2hs++data VkDeviceCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDeviceCreateInfo where+    type StructRep VkDeviceCreateInfo =+         'StructMeta "VkDeviceCreateInfo" VkDeviceCreateInfo  -- ' closing tick for hsc2hs+                                                             #{size VkDeviceCreateInfo}+           #{alignment VkDeviceCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDeviceCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDeviceCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkDeviceCreateFlags 'True +                                                           #{offset VkDeviceCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "queueCreateInfoCount" Word32 'False +                                                              #{offset VkDeviceCreateInfo, queueCreateInfoCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pQueueCreateInfos" (Ptr VkDeviceQueueCreateInfo) -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkDeviceCreateInfo, pQueueCreateInfos}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "enabledLayerCount" Word32 'True +                                                          #{offset VkDeviceCreateInfo, enabledLayerCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "ppEnabledLayerNames" (Ptr CString) 'False +                                                                    #{offset VkDeviceCreateInfo, ppEnabledLayerNames}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "enabledExtensionCount" Word32 'True +                                                              #{offset VkDeviceCreateInfo, enabledExtensionCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "ppEnabledExtensionNames" (Ptr CString) 'False+                #{offset VkDeviceCreateInfo, ppEnabledExtensionNames}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pEnabledFeatures" (Ptr VkPhysicalDeviceFeatures) 'True+                #{offset VkDeviceCreateInfo, pEnabledFeatures}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDeviceEventInfoEXT {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkDeviceEventTypeEXT             deviceEvent;+--   > } VkDeviceEventInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceEventInfoEXT VkDeviceEventInfoEXT registry at www.khronos.org>+type VkDeviceEventInfoEXT = VkStruct VkDeviceEventInfoEXT' -- ' closing tick for hsc2hs++data VkDeviceEventInfoEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDeviceEventInfoEXT where+    type StructRep VkDeviceEventInfoEXT =+         'StructMeta "VkDeviceEventInfoEXT" VkDeviceEventInfoEXT  -- ' closing tick for hsc2hs+                                                                 #{size VkDeviceEventInfoEXT}+           #{alignment VkDeviceEventInfoEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDeviceEventInfoEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDeviceEventInfoEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "deviceEvent" VkDeviceEventTypeEXT 'False +                                                                   #{offset VkDeviceEventInfoEXT, deviceEvent}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDeviceGeneratedCommandsFeaturesNVX {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkBool32                         computeBindingPointSupport;+--   > } VkDeviceGeneratedCommandsFeaturesNVX;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGeneratedCommandsFeaturesNVX VkDeviceGeneratedCommandsFeaturesNVX registry at www.khronos.org>+type VkDeviceGeneratedCommandsFeaturesNVX =+     VkStruct VkDeviceGeneratedCommandsFeaturesNVX' -- ' closing tick for hsc2hs++data VkDeviceGeneratedCommandsFeaturesNVX' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDeviceGeneratedCommandsFeaturesNVX where+    type StructRep VkDeviceGeneratedCommandsFeaturesNVX =+         'StructMeta "VkDeviceGeneratedCommandsFeaturesNVX" -- ' closing tick for hsc2hs+           VkDeviceGeneratedCommandsFeaturesNVX+           #{size VkDeviceGeneratedCommandsFeaturesNVX}+           #{alignment VkDeviceGeneratedCommandsFeaturesNVX}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDeviceGeneratedCommandsFeaturesNVX, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDeviceGeneratedCommandsFeaturesNVX, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "computeBindingPointSupport" VkBool32 'False +                                                                      #{offset VkDeviceGeneratedCommandsFeaturesNVX, computeBindingPointSupport}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDeviceGeneratedCommandsLimitsNVX {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     uint32_t                         maxIndirectCommandsLayoutTokenCount;+--   >     uint32_t                         maxObjectEntryCounts;+--   >     uint32_t                         minSequenceCountBufferOffsetAlignment;+--   >     uint32_t                         minSequenceIndexBufferOffsetAlignment;+--   >     uint32_t                         minCommandsTokenBufferOffsetAlignment;+--   > } VkDeviceGeneratedCommandsLimitsNVX;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGeneratedCommandsLimitsNVX VkDeviceGeneratedCommandsLimitsNVX registry at www.khronos.org>+type VkDeviceGeneratedCommandsLimitsNVX =+     VkStruct VkDeviceGeneratedCommandsLimitsNVX' -- ' closing tick for hsc2hs++data VkDeviceGeneratedCommandsLimitsNVX' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDeviceGeneratedCommandsLimitsNVX where+    type StructRep VkDeviceGeneratedCommandsLimitsNVX =+         'StructMeta "VkDeviceGeneratedCommandsLimitsNVX" -- ' closing tick for hsc2hs+           VkDeviceGeneratedCommandsLimitsNVX+           #{size VkDeviceGeneratedCommandsLimitsNVX}+           #{alignment VkDeviceGeneratedCommandsLimitsNVX}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDeviceGeneratedCommandsLimitsNVX, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDeviceGeneratedCommandsLimitsNVX, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxIndirectCommandsLayoutTokenCount" Word32 'False+                #{offset VkDeviceGeneratedCommandsLimitsNVX, maxIndirectCommandsLayoutTokenCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxObjectEntryCounts" Word32 'False +                                                              #{offset VkDeviceGeneratedCommandsLimitsNVX, maxObjectEntryCounts}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minSequenceCountBufferOffsetAlignment" Word32 'False+                #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceCountBufferOffsetAlignment}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minSequenceIndexBufferOffsetAlignment" Word32 'False+                #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceIndexBufferOffsetAlignment}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minCommandsTokenBufferOffsetAlignment" Word32 'False+                #{offset VkDeviceGeneratedCommandsLimitsNVX, minCommandsTokenBufferOffsetAlignment}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDeviceGroupBindSparseInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     uint32_t                         resourceDeviceIndex;+--   >     uint32_t                         memoryDeviceIndex;+--   > } VkDeviceGroupBindSparseInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfo registry at www.khronos.org>+type VkDeviceGroupBindSparseInfo =+     VkStruct VkDeviceGroupBindSparseInfo' -- ' closing tick for hsc2hs++data VkDeviceGroupBindSparseInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDeviceGroupBindSparseInfo where+    type StructRep VkDeviceGroupBindSparseInfo =+         'StructMeta "VkDeviceGroupBindSparseInfo" -- ' closing tick for hsc2hs+           VkDeviceGroupBindSparseInfo+           #{size VkDeviceGroupBindSparseInfo}+           #{alignment VkDeviceGroupBindSparseInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDeviceGroupBindSparseInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDeviceGroupBindSparseInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "resourceDeviceIndex" Word32 'False +                                                             #{offset VkDeviceGroupBindSparseInfo, resourceDeviceIndex}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "memoryDeviceIndex" Word32 'False +                                                           #{offset VkDeviceGroupBindSparseInfo, memoryDeviceIndex}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkBindSparseInfo] -- ' closing tick for hsc2hs++-- | Alias for `VkDeviceGroupBindSparseInfo`+type VkDeviceGroupBindSparseInfoKHR = VkDeviceGroupBindSparseInfo++-- | > typedef struct VkDeviceGroupCommandBufferBeginInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     uint32_t                         deviceMask;+--   > } VkDeviceGroupCommandBufferBeginInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfo registry at www.khronos.org>+type VkDeviceGroupCommandBufferBeginInfo =+     VkStruct VkDeviceGroupCommandBufferBeginInfo' -- ' closing tick for hsc2hs++data VkDeviceGroupCommandBufferBeginInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDeviceGroupCommandBufferBeginInfo where+    type StructRep VkDeviceGroupCommandBufferBeginInfo =+         'StructMeta "VkDeviceGroupCommandBufferBeginInfo" -- ' closing tick for hsc2hs+           VkDeviceGroupCommandBufferBeginInfo+           #{size VkDeviceGroupCommandBufferBeginInfo}+           #{alignment VkDeviceGroupCommandBufferBeginInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDeviceGroupCommandBufferBeginInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDeviceGroupCommandBufferBeginInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "deviceMask" Word32 'False +                                                    #{offset VkDeviceGroupCommandBufferBeginInfo, deviceMask}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkCommandBufferBeginInfo] -- ' closing tick for hsc2hs++-- | Alias for `VkDeviceGroupCommandBufferBeginInfo`+type VkDeviceGroupCommandBufferBeginInfoKHR =+     VkDeviceGroupCommandBufferBeginInfo++-- | > typedef struct VkDeviceGroupDeviceCreateInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     uint32_t                         physicalDeviceCount;+--   >     const VkPhysicalDevice*  pPhysicalDevices;+--   > } VkDeviceGroupDeviceCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfo registry at www.khronos.org>+type VkDeviceGroupDeviceCreateInfo =+     VkStruct VkDeviceGroupDeviceCreateInfo' -- ' closing tick for hsc2hs++data VkDeviceGroupDeviceCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDeviceGroupDeviceCreateInfo where+    type StructRep VkDeviceGroupDeviceCreateInfo =+         'StructMeta "VkDeviceGroupDeviceCreateInfo" -- ' closing tick for hsc2hs+           VkDeviceGroupDeviceCreateInfo+           #{size VkDeviceGroupDeviceCreateInfo}+           #{alignment VkDeviceGroupDeviceCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDeviceGroupDeviceCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDeviceGroupDeviceCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "physicalDeviceCount" Word32 'True +                                                            #{offset VkDeviceGroupDeviceCreateInfo, physicalDeviceCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pPhysicalDevices" (Ptr VkPhysicalDevice) 'False+                #{offset VkDeviceGroupDeviceCreateInfo, pPhysicalDevices}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkDeviceCreateInfo] -- ' closing tick for hsc2hs++-- | Alias for `VkDeviceGroupDeviceCreateInfo`+type VkDeviceGroupDeviceCreateInfoKHR =+     VkDeviceGroupDeviceCreateInfo++-- | > typedef struct VkDeviceGroupPresentCapabilitiesKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     uint32_t                         presentMask[VK_MAX_DEVICE_GROUP_SIZE];+--   >     VkDeviceGroupPresentModeFlagsKHR modes;+--   > } VkDeviceGroupPresentCapabilitiesKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGroupPresentCapabilitiesKHR VkDeviceGroupPresentCapabilitiesKHR registry at www.khronos.org>+type VkDeviceGroupPresentCapabilitiesKHR =+     VkStruct VkDeviceGroupPresentCapabilitiesKHR' -- ' closing tick for hsc2hs++data VkDeviceGroupPresentCapabilitiesKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDeviceGroupPresentCapabilitiesKHR where+    type StructRep VkDeviceGroupPresentCapabilitiesKHR =+         'StructMeta "VkDeviceGroupPresentCapabilitiesKHR" -- ' closing tick for hsc2hs+           VkDeviceGroupPresentCapabilitiesKHR+           #{size VkDeviceGroupPresentCapabilitiesKHR}+           #{alignment VkDeviceGroupPresentCapabilitiesKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDeviceGroupPresentCapabilitiesKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDeviceGroupPresentCapabilitiesKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "presentMask" Word32 'False +                                                     #{offset VkDeviceGroupPresentCapabilitiesKHR, presentMask}+                VK_MAX_DEVICE_GROUP_SIZE+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "modes" VkDeviceGroupPresentModeFlagsKHR 'False+                #{offset VkDeviceGroupPresentCapabilitiesKHR, modes}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDeviceGroupPresentInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     uint32_t         swapchainCount;+--   >     const uint32_t* pDeviceMasks;+--   >     VkDeviceGroupPresentModeFlagBitsKHR mode;+--   > } VkDeviceGroupPresentInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGroupPresentInfoKHR VkDeviceGroupPresentInfoKHR registry at www.khronos.org>+type VkDeviceGroupPresentInfoKHR =+     VkStruct VkDeviceGroupPresentInfoKHR' -- ' closing tick for hsc2hs++data VkDeviceGroupPresentInfoKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDeviceGroupPresentInfoKHR where+    type StructRep VkDeviceGroupPresentInfoKHR =+         'StructMeta "VkDeviceGroupPresentInfoKHR" -- ' closing tick for hsc2hs+           VkDeviceGroupPresentInfoKHR+           #{size VkDeviceGroupPresentInfoKHR}+           #{alignment VkDeviceGroupPresentInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDeviceGroupPresentInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDeviceGroupPresentInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "swapchainCount" Word32 'True +                                                       #{offset VkDeviceGroupPresentInfoKHR, swapchainCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pDeviceMasks" (Ptr Word32) 'False +                                                            #{offset VkDeviceGroupPresentInfoKHR, pDeviceMasks}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "mode" VkDeviceGroupPresentModeFlagBitsKHR 'False+                #{offset VkDeviceGroupPresentInfoKHR, mode}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPresentInfoKHR] -- ' closing tick for hsc2hs++-- | > typedef struct VkDeviceGroupRenderPassBeginInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     uint32_t                         deviceMask;+--   >     uint32_t         deviceRenderAreaCount;+--   >     const VkRect2D*  pDeviceRenderAreas;+--   > } VkDeviceGroupRenderPassBeginInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfo registry at www.khronos.org>+type VkDeviceGroupRenderPassBeginInfo =+     VkStruct VkDeviceGroupRenderPassBeginInfo' -- ' closing tick for hsc2hs++data VkDeviceGroupRenderPassBeginInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDeviceGroupRenderPassBeginInfo where+    type StructRep VkDeviceGroupRenderPassBeginInfo =+         'StructMeta "VkDeviceGroupRenderPassBeginInfo" -- ' closing tick for hsc2hs+           VkDeviceGroupRenderPassBeginInfo+           #{size VkDeviceGroupRenderPassBeginInfo}+           #{alignment VkDeviceGroupRenderPassBeginInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDeviceGroupRenderPassBeginInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDeviceGroupRenderPassBeginInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "deviceMask" Word32 'False +                                                    #{offset VkDeviceGroupRenderPassBeginInfo, deviceMask}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "deviceRenderAreaCount" Word32 'True +                                                              #{offset VkDeviceGroupRenderPassBeginInfo, deviceRenderAreaCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pDeviceRenderAreas" (Ptr VkRect2D) 'False +                                                                    #{offset VkDeviceGroupRenderPassBeginInfo, pDeviceRenderAreas}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkRenderPassBeginInfo] -- ' closing tick for hsc2hs++-- | Alias for `VkDeviceGroupRenderPassBeginInfo`+type VkDeviceGroupRenderPassBeginInfoKHR =+     VkDeviceGroupRenderPassBeginInfo++-- | > typedef struct VkDeviceGroupSubmitInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     uint32_t         waitSemaphoreCount;+--   >     const uint32_t*    pWaitSemaphoreDeviceIndices;+--   >     uint32_t         commandBufferCount;+--   >     const uint32_t*    pCommandBufferDeviceMasks;+--   >     uint32_t         signalSemaphoreCount;+--   >     const uint32_t*  pSignalSemaphoreDeviceIndices;+--   > } VkDeviceGroupSubmitInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfo registry at www.khronos.org>+type VkDeviceGroupSubmitInfo = VkStruct VkDeviceGroupSubmitInfo' -- ' closing tick for hsc2hs++data VkDeviceGroupSubmitInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDeviceGroupSubmitInfo where+    type StructRep VkDeviceGroupSubmitInfo =+         'StructMeta "VkDeviceGroupSubmitInfo" VkDeviceGroupSubmitInfo -- ' closing tick for hsc2hs+           #{size VkDeviceGroupSubmitInfo}+           #{alignment VkDeviceGroupSubmitInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDeviceGroupSubmitInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDeviceGroupSubmitInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "waitSemaphoreCount" Word32 'True +                                                           #{offset VkDeviceGroupSubmitInfo, waitSemaphoreCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pWaitSemaphoreDeviceIndices" (Ptr Word32) 'False+                #{offset VkDeviceGroupSubmitInfo, pWaitSemaphoreDeviceIndices}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "commandBufferCount" Word32 'True +                                                           #{offset VkDeviceGroupSubmitInfo, commandBufferCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pCommandBufferDeviceMasks" (Ptr Word32) 'False+                #{offset VkDeviceGroupSubmitInfo, pCommandBufferDeviceMasks}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "signalSemaphoreCount" Word32 'True +                                                             #{offset VkDeviceGroupSubmitInfo, signalSemaphoreCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pSignalSemaphoreDeviceIndices" (Ptr Word32) 'False+                #{offset VkDeviceGroupSubmitInfo, pSignalSemaphoreDeviceIndices}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkSubmitInfo] -- ' closing tick for hsc2hs++-- | Alias for `VkDeviceGroupSubmitInfo`+type VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo++-- | > typedef struct VkDeviceGroupSwapchainCreateInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkDeviceGroupPresentModeFlagsKHR                         modes;+--   > } VkDeviceGroupSwapchainCreateInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGroupSwapchainCreateInfoKHR VkDeviceGroupSwapchainCreateInfoKHR registry at www.khronos.org>+type VkDeviceGroupSwapchainCreateInfoKHR =+     VkStruct VkDeviceGroupSwapchainCreateInfoKHR' -- ' closing tick for hsc2hs++data VkDeviceGroupSwapchainCreateInfoKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDeviceGroupSwapchainCreateInfoKHR where+    type StructRep VkDeviceGroupSwapchainCreateInfoKHR =+         'StructMeta "VkDeviceGroupSwapchainCreateInfoKHR" -- ' closing tick for hsc2hs+           VkDeviceGroupSwapchainCreateInfoKHR+           #{size VkDeviceGroupSwapchainCreateInfoKHR}+           #{alignment VkDeviceGroupSwapchainCreateInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDeviceGroupSwapchainCreateInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDeviceGroupSwapchainCreateInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "modes" VkDeviceGroupPresentModeFlagsKHR 'False+                #{offset VkDeviceGroupSwapchainCreateInfoKHR, modes}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkSwapchainCreateInfoKHR] -- ' closing tick for hsc2hs++-- | > typedef struct VkDeviceQueueCreateInfo {+--   >     VkStructureType sType;+--   >     const void*     pNext;+--   >     VkDeviceQueueCreateFlags    flags;+--   >     uint32_t        queueFamilyIndex;+--   >     uint32_t        queueCount;+--   >     const float*    pQueuePriorities;+--   > } VkDeviceQueueCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceQueueCreateInfo VkDeviceQueueCreateInfo registry at www.khronos.org>+type VkDeviceQueueCreateInfo = VkStruct VkDeviceQueueCreateInfo' -- ' closing tick for hsc2hs++data VkDeviceQueueCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDeviceQueueCreateInfo where+    type StructRep VkDeviceQueueCreateInfo =+         'StructMeta "VkDeviceQueueCreateInfo" VkDeviceQueueCreateInfo -- ' closing tick for hsc2hs+           #{size VkDeviceQueueCreateInfo}+           #{alignment VkDeviceQueueCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDeviceQueueCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDeviceQueueCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkDeviceQueueCreateFlags 'True +                                                                #{offset VkDeviceQueueCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "queueFamilyIndex" Word32 'False +                                                          #{offset VkDeviceQueueCreateInfo, queueFamilyIndex}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "queueCount" Word32 'False +                                                    #{offset VkDeviceQueueCreateInfo, queueCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pQueuePriorities" (Ptr  -- ' closing tick for hsc2hs+                                                 #{type float})+                'False -- ' closing tick for hsc2hs+                #{offset VkDeviceQueueCreateInfo, pQueuePriorities}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {+--   >     VkStructureType sType;+--   >     const void*                    pNext;+--   >     VkQueueGlobalPriorityEXT       globalPriority;+--   > } VkDeviceQueueGlobalPriorityCreateInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceQueueGlobalPriorityCreateInfoEXT VkDeviceQueueGlobalPriorityCreateInfoEXT registry at www.khronos.org>+type VkDeviceQueueGlobalPriorityCreateInfoEXT =+     VkStruct VkDeviceQueueGlobalPriorityCreateInfoEXT' -- ' closing tick for hsc2hs++data VkDeviceQueueGlobalPriorityCreateInfoEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDeviceQueueGlobalPriorityCreateInfoEXT+         where+    type StructRep VkDeviceQueueGlobalPriorityCreateInfoEXT =+         'StructMeta "VkDeviceQueueGlobalPriorityCreateInfoEXT" -- ' closing tick for hsc2hs+           VkDeviceQueueGlobalPriorityCreateInfoEXT+           #{size VkDeviceQueueGlobalPriorityCreateInfoEXT}+           #{alignment VkDeviceQueueGlobalPriorityCreateInfoEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "globalPriority" VkQueueGlobalPriorityEXT 'False+                #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, globalPriority}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkDeviceQueueCreateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkDeviceQueueInfo2 {+--   >     VkStructureType sType;+--   >     const void*                         pNext;+--   >     VkDeviceQueueCreateFlags            flags;+--   >     uint32_t                            queueFamilyIndex;+--   >     uint32_t                            queueIndex;+--   > } VkDeviceQueueInfo2;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceQueueInfo2 VkDeviceQueueInfo2 registry at www.khronos.org>+type VkDeviceQueueInfo2 = VkStruct VkDeviceQueueInfo2' -- ' closing tick for hsc2hs++data VkDeviceQueueInfo2' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDeviceQueueInfo2 where+    type StructRep VkDeviceQueueInfo2 =+         'StructMeta "VkDeviceQueueInfo2" VkDeviceQueueInfo2  -- ' closing tick for hsc2hs+                                                             #{size VkDeviceQueueInfo2}+           #{alignment VkDeviceQueueInfo2}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDeviceQueueInfo2, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDeviceQueueInfo2, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkDeviceQueueCreateFlags 'False +                                                                 #{offset VkDeviceQueueInfo2, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "queueFamilyIndex" Word32 'False +                                                          #{offset VkDeviceQueueInfo2, queueFamilyIndex}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "queueIndex" Word32 'False +                                                    #{offset VkDeviceQueueInfo2, queueIndex}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/DispatchIndirectCommand.hsc view
@@ -2,17 +2,13 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.DispatchIndirectCommand-       (VkDispatchIndirectCommand, VkDispatchIndirectCommand') where -- ' closing tick for hsc2hs-import Foreign.Storable                 (Storable (..))+       (VkDispatchIndirectCommand) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal-import System.IO.Unsafe                 (unsafeDupablePerformIO)  -- | > typedef struct VkDispatchIndirectCommand { --   >     uint32_t               x;@@ -22,140 +18,30 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDispatchIndirectCommand VkDispatchIndirectCommand registry at www.khronos.org> type VkDispatchIndirectCommand =-     VulkanStruct VkDispatchIndirectCommand' -- ' closing tick for hsc2hs+     VkStruct VkDispatchIndirectCommand' -- ' closing tick for hsc2hs  data VkDispatchIndirectCommand' -- ' closing tick for hsc2hs -instance Eq VkDispatchIndirectCommand where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDispatchIndirectCommand where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDispatchIndirectCommand where-        sizeOf ~_ = #{size VkDispatchIndirectCommand}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDispatchIndirectCommand}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkDispatchIndirectCommand where-        type StructFields VkDispatchIndirectCommand = '["x", "y", "z"] -- ' closing tick for hsc2hs-        type CUnionType VkDispatchIndirectCommand = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDispatchIndirectCommand = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDispatchIndirectCommand = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "x" VkDispatchIndirectCommand-         where-        type FieldType "x" VkDispatchIndirectCommand = Word32-        type FieldOptional "x" VkDispatchIndirectCommand = 'False -- ' closing tick for hsc2hs-        type FieldOffset "x" VkDispatchIndirectCommand =-             #{offset VkDispatchIndirectCommand, x}-        type FieldIsArray "x" VkDispatchIndirectCommand = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDispatchIndirectCommand, x}--instance {-# OVERLAPPING #-}-         CanReadField "x" VkDispatchIndirectCommand where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDispatchIndirectCommand, x})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDispatchIndirectCommand, x}--instance {-# OVERLAPPING #-}-         CanWriteField "x" VkDispatchIndirectCommand where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDispatchIndirectCommand, x}--instance {-# OVERLAPPING #-} HasField "y" VkDispatchIndirectCommand-         where-        type FieldType "y" VkDispatchIndirectCommand = Word32-        type FieldOptional "y" VkDispatchIndirectCommand = 'False -- ' closing tick for hsc2hs-        type FieldOffset "y" VkDispatchIndirectCommand =-             #{offset VkDispatchIndirectCommand, y}-        type FieldIsArray "y" VkDispatchIndirectCommand = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDispatchIndirectCommand, y}--instance {-# OVERLAPPING #-}-         CanReadField "y" VkDispatchIndirectCommand where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDispatchIndirectCommand, y})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDispatchIndirectCommand, y}--instance {-# OVERLAPPING #-}-         CanWriteField "y" VkDispatchIndirectCommand where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDispatchIndirectCommand, y}--instance {-# OVERLAPPING #-} HasField "z" VkDispatchIndirectCommand-         where-        type FieldType "z" VkDispatchIndirectCommand = Word32-        type FieldOptional "z" VkDispatchIndirectCommand = 'False -- ' closing tick for hsc2hs-        type FieldOffset "z" VkDispatchIndirectCommand =-             #{offset VkDispatchIndirectCommand, z}-        type FieldIsArray "z" VkDispatchIndirectCommand = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDispatchIndirectCommand, z}--instance {-# OVERLAPPING #-}-         CanReadField "z" VkDispatchIndirectCommand where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDispatchIndirectCommand, z})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDispatchIndirectCommand, z}--instance {-# OVERLAPPING #-}-         CanWriteField "z" VkDispatchIndirectCommand where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDispatchIndirectCommand, z}--instance Show VkDispatchIndirectCommand where-        showsPrec d x-          = showString "VkDispatchIndirectCommand {" .-              showString "x = " .-                showsPrec d (getField @"x" x) .-                  showString ", " .-                    showString "y = " .-                      showsPrec d (getField @"y" x) .-                        showString ", " .-                          showString "z = " . showsPrec d (getField @"z" x) . showChar '}'+    type StructRep VkDispatchIndirectCommand =+         'StructMeta "VkDispatchIndirectCommand" VkDispatchIndirectCommand -- ' closing tick for hsc2hs+           #{size VkDispatchIndirectCommand}+           #{alignment VkDispatchIndirectCommand}+           '[('FieldMeta "x" Word32 'False  -- ' closing tick for hsc2hs+                                           #{offset VkDispatchIndirectCommand, x}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "y" Word32 'False +                                           #{offset VkDispatchIndirectCommand, y}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "z" Word32 'False +                                           #{offset VkDispatchIndirectCommand, z}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/Display.hsc view
@@ -2,3068 +2,685 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.Display-       (VkDisplayEventInfoEXT, VkDisplayEventInfoEXT', -- ' closing tick for hsc2hs-        VkDisplayModeCreateInfoKHR, VkDisplayModeCreateInfoKHR', -- ' closing tick for hsc2hs-        VkDisplayModeParametersKHR, VkDisplayModeParametersKHR', -- ' closing tick for hsc2hs-        VkDisplayModeProperties2KHR, VkDisplayModeProperties2KHR', -- ' closing tick for hsc2hs-        VkDisplayModePropertiesKHR, VkDisplayModePropertiesKHR', -- ' closing tick for hsc2hs-        VkDisplayPlaneCapabilities2KHR, VkDisplayPlaneCapabilities2KHR', -- ' closing tick for hsc2hs-        VkDisplayPlaneCapabilitiesKHR, VkDisplayPlaneCapabilitiesKHR', -- ' closing tick for hsc2hs-        VkDisplayPlaneInfo2KHR, VkDisplayPlaneInfo2KHR', -- ' closing tick for hsc2hs-        VkDisplayPlaneProperties2KHR, VkDisplayPlaneProperties2KHR', -- ' closing tick for hsc2hs-        VkDisplayPlanePropertiesKHR, VkDisplayPlanePropertiesKHR', -- ' closing tick for hsc2hs-        VkDisplayPowerInfoEXT, VkDisplayPowerInfoEXT', -- ' closing tick for hsc2hs-        VkDisplayPresentInfoKHR, VkDisplayPresentInfoKHR', -- ' closing tick for hsc2hs-        VkDisplayProperties2KHR, VkDisplayProperties2KHR', -- ' closing tick for hsc2hs-        VkDisplayPropertiesKHR, VkDisplayPropertiesKHR', -- ' closing tick for hsc2hs-        VkDisplaySurfaceCreateInfoKHR, VkDisplaySurfaceCreateInfoKHR') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                         (Storable (..))-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Internal-import Graphics.Vulkan.Types.BaseTypes          (VkBool32)-import Graphics.Vulkan.Types.Bitmasks           (VkDisplayModeCreateFlagsKHR,-                                                 VkDisplaySurfaceCreateFlagsKHR)-import Graphics.Vulkan.Types.Enum.Display       (VkDisplayEventTypeEXT,-                                                 VkDisplayPlaneAlphaFlagBitsKHR,-                                                 VkDisplayPlaneAlphaFlagsKHR,-                                                 VkDisplayPowerStateEXT)-import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)-import Graphics.Vulkan.Types.Enum.Surface       (VkSurfaceTransformFlagBitsKHR,-                                                 VkSurfaceTransformFlagsKHR)-import Graphics.Vulkan.Types.Handles            (VkDisplayKHR, VkDisplayModeKHR)-import Graphics.Vulkan.Types.Struct.Extent      (VkExtent2D)-import Graphics.Vulkan.Types.Struct.Offset      (VkOffset2D)-import Graphics.Vulkan.Types.Struct.Present     (VkPresentInfoKHR)-import Graphics.Vulkan.Types.Struct.Rect        (VkRect2D)-import System.IO.Unsafe                         (unsafeDupablePerformIO)---- | > typedef struct VkDisplayEventInfoEXT {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkDisplayEventTypeEXT            displayEvent;---   > } VkDisplayEventInfoEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayEventInfoEXT VkDisplayEventInfoEXT registry at www.khronos.org>-type VkDisplayEventInfoEXT = VulkanStruct VkDisplayEventInfoEXT' -- ' closing tick for hsc2hs--data VkDisplayEventInfoEXT' -- ' closing tick for hsc2hs--instance Eq VkDisplayEventInfoEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDisplayEventInfoEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDisplayEventInfoEXT where-        sizeOf ~_ = #{size VkDisplayEventInfoEXT}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDisplayEventInfoEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDisplayEventInfoEXT where-        type StructFields VkDisplayEventInfoEXT =-             '["sType", "pNext", "displayEvent"] -- ' closing tick for hsc2hs-        type CUnionType VkDisplayEventInfoEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDisplayEventInfoEXT = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDisplayEventInfoEXT = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkDisplayEventInfoEXT-         where-        type FieldType "sType" VkDisplayEventInfoEXT = VkStructureType-        type FieldOptional "sType" VkDisplayEventInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDisplayEventInfoEXT =-             #{offset VkDisplayEventInfoEXT, sType}-        type FieldIsArray "sType" VkDisplayEventInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDisplayEventInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDisplayEventInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayEventInfoEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayEventInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDisplayEventInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayEventInfoEXT, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkDisplayEventInfoEXT-         where-        type FieldType "pNext" VkDisplayEventInfoEXT = Ptr Void-        type FieldOptional "pNext" VkDisplayEventInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDisplayEventInfoEXT =-             #{offset VkDisplayEventInfoEXT, pNext}-        type FieldIsArray "pNext" VkDisplayEventInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDisplayEventInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDisplayEventInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayEventInfoEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayEventInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDisplayEventInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayEventInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "displayEvent" VkDisplayEventInfoEXT where-        type FieldType "displayEvent" VkDisplayEventInfoEXT =-             VkDisplayEventTypeEXT-        type FieldOptional "displayEvent" VkDisplayEventInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "displayEvent" VkDisplayEventInfoEXT =-             #{offset VkDisplayEventInfoEXT, displayEvent}-        type FieldIsArray "displayEvent" VkDisplayEventInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayEventInfoEXT, displayEvent}--instance {-# OVERLAPPING #-}-         CanReadField "displayEvent" VkDisplayEventInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayEventInfoEXT, displayEvent})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayEventInfoEXT, displayEvent}--instance {-# OVERLAPPING #-}-         CanWriteField "displayEvent" VkDisplayEventInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayEventInfoEXT, displayEvent}--instance Show VkDisplayEventInfoEXT where-        showsPrec d x-          = showString "VkDisplayEventInfoEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "displayEvent = " .-                            showsPrec d (getField @"displayEvent" x) . showChar '}'---- | > typedef struct VkDisplayModeCreateInfoKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkDisplayModeCreateFlagsKHR      flags;---   >     VkDisplayModeParametersKHR       parameters;---   > } VkDisplayModeCreateInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayModeCreateInfoKHR VkDisplayModeCreateInfoKHR registry at www.khronos.org>-type VkDisplayModeCreateInfoKHR =-     VulkanStruct VkDisplayModeCreateInfoKHR' -- ' closing tick for hsc2hs--data VkDisplayModeCreateInfoKHR' -- ' closing tick for hsc2hs--instance Eq VkDisplayModeCreateInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDisplayModeCreateInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDisplayModeCreateInfoKHR where-        sizeOf ~_ = #{size VkDisplayModeCreateInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDisplayModeCreateInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDisplayModeCreateInfoKHR where-        type StructFields VkDisplayModeCreateInfoKHR =-             '["sType", "pNext", "flags", "parameters"] -- ' closing tick for hsc2hs-        type CUnionType VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDisplayModeCreateInfoKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDisplayModeCreateInfoKHR where-        type FieldType "sType" VkDisplayModeCreateInfoKHR = VkStructureType-        type FieldOptional "sType" VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDisplayModeCreateInfoKHR =-             #{offset VkDisplayModeCreateInfoKHR, sType}-        type FieldIsArray "sType" VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayModeCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDisplayModeCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayModeCreateInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayModeCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDisplayModeCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayModeCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDisplayModeCreateInfoKHR where-        type FieldType "pNext" VkDisplayModeCreateInfoKHR = Ptr Void-        type FieldOptional "pNext" VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDisplayModeCreateInfoKHR =-             #{offset VkDisplayModeCreateInfoKHR, pNext}-        type FieldIsArray "pNext" VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayModeCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDisplayModeCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayModeCreateInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayModeCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDisplayModeCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayModeCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkDisplayModeCreateInfoKHR where-        type FieldType "flags" VkDisplayModeCreateInfoKHR =-             VkDisplayModeCreateFlagsKHR-        type FieldOptional "flags" VkDisplayModeCreateInfoKHR = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkDisplayModeCreateInfoKHR =-             #{offset VkDisplayModeCreateInfoKHR, flags}-        type FieldIsArray "flags" VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayModeCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkDisplayModeCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayModeCreateInfoKHR, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayModeCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkDisplayModeCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayModeCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         HasField "parameters" VkDisplayModeCreateInfoKHR where-        type FieldType "parameters" VkDisplayModeCreateInfoKHR =-             VkDisplayModeParametersKHR-        type FieldOptional "parameters" VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "parameters" VkDisplayModeCreateInfoKHR =-             #{offset VkDisplayModeCreateInfoKHR, parameters}-        type FieldIsArray "parameters" VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayModeCreateInfoKHR, parameters}--instance {-# OVERLAPPING #-}-         CanReadField "parameters" VkDisplayModeCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayModeCreateInfoKHR, parameters})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayModeCreateInfoKHR, parameters}--instance {-# OVERLAPPING #-}-         CanWriteField "parameters" VkDisplayModeCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayModeCreateInfoKHR, parameters}--instance Show VkDisplayModeCreateInfoKHR where-        showsPrec d x-          = showString "VkDisplayModeCreateInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "parameters = " .-                                  showsPrec d (getField @"parameters" x) . showChar '}'---- | > typedef struct VkDisplayModeParametersKHR {---   >     VkExtent2D                       visibleRegion;---   >     uint32_t                         refreshRate;---   > } VkDisplayModeParametersKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayModeParametersKHR VkDisplayModeParametersKHR registry at www.khronos.org>-type VkDisplayModeParametersKHR =-     VulkanStruct VkDisplayModeParametersKHR' -- ' closing tick for hsc2hs--data VkDisplayModeParametersKHR' -- ' closing tick for hsc2hs--instance Eq VkDisplayModeParametersKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDisplayModeParametersKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDisplayModeParametersKHR where-        sizeOf ~_ = #{size VkDisplayModeParametersKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDisplayModeParametersKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDisplayModeParametersKHR where-        type StructFields VkDisplayModeParametersKHR =-             '["visibleRegion", "refreshRate"] -- ' closing tick for hsc2hs-        type CUnionType VkDisplayModeParametersKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDisplayModeParametersKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDisplayModeParametersKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "visibleRegion" VkDisplayModeParametersKHR where-        type FieldType "visibleRegion" VkDisplayModeParametersKHR =-             VkExtent2D-        type FieldOptional "visibleRegion" VkDisplayModeParametersKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "visibleRegion" VkDisplayModeParametersKHR =-             #{offset VkDisplayModeParametersKHR, visibleRegion}-        type FieldIsArray "visibleRegion" VkDisplayModeParametersKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayModeParametersKHR, visibleRegion}--instance {-# OVERLAPPING #-}-         CanReadField "visibleRegion" VkDisplayModeParametersKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayModeParametersKHR, visibleRegion})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayModeParametersKHR, visibleRegion}--instance {-# OVERLAPPING #-}-         CanWriteField "visibleRegion" VkDisplayModeParametersKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayModeParametersKHR, visibleRegion}--instance {-# OVERLAPPING #-}-         HasField "refreshRate" VkDisplayModeParametersKHR where-        type FieldType "refreshRate" VkDisplayModeParametersKHR = Word32-        type FieldOptional "refreshRate" VkDisplayModeParametersKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "refreshRate" VkDisplayModeParametersKHR =-             #{offset VkDisplayModeParametersKHR, refreshRate}-        type FieldIsArray "refreshRate" VkDisplayModeParametersKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayModeParametersKHR, refreshRate}--instance {-# OVERLAPPING #-}-         CanReadField "refreshRate" VkDisplayModeParametersKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayModeParametersKHR, refreshRate})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayModeParametersKHR, refreshRate}--instance {-# OVERLAPPING #-}-         CanWriteField "refreshRate" VkDisplayModeParametersKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayModeParametersKHR, refreshRate}--instance Show VkDisplayModeParametersKHR where-        showsPrec d x-          = showString "VkDisplayModeParametersKHR {" .-              showString "visibleRegion = " .-                showsPrec d (getField @"visibleRegion" x) .-                  showString ", " .-                    showString "refreshRate = " .-                      showsPrec d (getField @"refreshRate" x) . showChar '}'---- | > typedef struct VkDisplayModeProperties2KHR {---   >     VkStructureType sType;---   >     void* pNext;---   >     VkDisplayModePropertiesKHR displayModeProperties;---   > } VkDisplayModeProperties2KHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayModeProperties2KHR VkDisplayModeProperties2KHR registry at www.khronos.org>-type VkDisplayModeProperties2KHR =-     VulkanStruct VkDisplayModeProperties2KHR' -- ' closing tick for hsc2hs--data VkDisplayModeProperties2KHR' -- ' closing tick for hsc2hs--instance Eq VkDisplayModeProperties2KHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDisplayModeProperties2KHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDisplayModeProperties2KHR where-        sizeOf ~_ = #{size VkDisplayModeProperties2KHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDisplayModeProperties2KHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDisplayModeProperties2KHR where-        type StructFields VkDisplayModeProperties2KHR =-             '["sType", "pNext", "displayModeProperties"] -- ' closing tick for hsc2hs-        type CUnionType VkDisplayModeProperties2KHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDisplayModeProperties2KHR = 'True -- ' closing tick for hsc2hs-        type StructExtends VkDisplayModeProperties2KHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDisplayModeProperties2KHR where-        type FieldType "sType" VkDisplayModeProperties2KHR =-             VkStructureType-        type FieldOptional "sType" VkDisplayModeProperties2KHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDisplayModeProperties2KHR =-             #{offset VkDisplayModeProperties2KHR, sType}-        type FieldIsArray "sType" VkDisplayModeProperties2KHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayModeProperties2KHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDisplayModeProperties2KHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayModeProperties2KHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayModeProperties2KHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDisplayModeProperties2KHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayModeProperties2KHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDisplayModeProperties2KHR where-        type FieldType "pNext" VkDisplayModeProperties2KHR = Ptr Void-        type FieldOptional "pNext" VkDisplayModeProperties2KHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDisplayModeProperties2KHR =-             #{offset VkDisplayModeProperties2KHR, pNext}-        type FieldIsArray "pNext" VkDisplayModeProperties2KHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayModeProperties2KHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDisplayModeProperties2KHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayModeProperties2KHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayModeProperties2KHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDisplayModeProperties2KHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayModeProperties2KHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "displayModeProperties" VkDisplayModeProperties2KHR where-        type FieldType "displayModeProperties" VkDisplayModeProperties2KHR-             = VkDisplayModePropertiesKHR-        type FieldOptional "displayModeProperties"-               VkDisplayModeProperties2KHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "displayModeProperties"-               VkDisplayModeProperties2KHR-             =-             #{offset VkDisplayModeProperties2KHR, displayModeProperties}-        type FieldIsArray "displayModeProperties"-               VkDisplayModeProperties2KHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayModeProperties2KHR, displayModeProperties}--instance {-# OVERLAPPING #-}-         CanReadField "displayModeProperties" VkDisplayModeProperties2KHR-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayModeProperties2KHR, displayModeProperties})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayModeProperties2KHR, displayModeProperties}--instance {-# OVERLAPPING #-}-         CanWriteField "displayModeProperties" VkDisplayModeProperties2KHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayModeProperties2KHR, displayModeProperties}--instance Show VkDisplayModeProperties2KHR where-        showsPrec d x-          = showString "VkDisplayModeProperties2KHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "displayModeProperties = " .-                            showsPrec d (getField @"displayModeProperties" x) . showChar '}'---- | > typedef struct VkDisplayModePropertiesKHR {---   >     VkDisplayModeKHR                 displayMode;---   >     VkDisplayModeParametersKHR       parameters;---   > } VkDisplayModePropertiesKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayModePropertiesKHR VkDisplayModePropertiesKHR registry at www.khronos.org>-type VkDisplayModePropertiesKHR =-     VulkanStruct VkDisplayModePropertiesKHR' -- ' closing tick for hsc2hs--data VkDisplayModePropertiesKHR' -- ' closing tick for hsc2hs--instance Eq VkDisplayModePropertiesKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDisplayModePropertiesKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDisplayModePropertiesKHR where-        sizeOf ~_ = #{size VkDisplayModePropertiesKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDisplayModePropertiesKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDisplayModePropertiesKHR where-        type StructFields VkDisplayModePropertiesKHR =-             '["displayMode", "parameters"] -- ' closing tick for hsc2hs-        type CUnionType VkDisplayModePropertiesKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDisplayModePropertiesKHR = 'True -- ' closing tick for hsc2hs-        type StructExtends VkDisplayModePropertiesKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "displayMode" VkDisplayModePropertiesKHR where-        type FieldType "displayMode" VkDisplayModePropertiesKHR =-             VkDisplayModeKHR-        type FieldOptional "displayMode" VkDisplayModePropertiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "displayMode" VkDisplayModePropertiesKHR =-             #{offset VkDisplayModePropertiesKHR, displayMode}-        type FieldIsArray "displayMode" VkDisplayModePropertiesKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayModePropertiesKHR, displayMode}--instance {-# OVERLAPPING #-}-         CanReadField "displayMode" VkDisplayModePropertiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayModePropertiesKHR, displayMode})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayModePropertiesKHR, displayMode}--instance {-# OVERLAPPING #-}-         CanWriteField "displayMode" VkDisplayModePropertiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayModePropertiesKHR, displayMode}--instance {-# OVERLAPPING #-}-         HasField "parameters" VkDisplayModePropertiesKHR where-        type FieldType "parameters" VkDisplayModePropertiesKHR =-             VkDisplayModeParametersKHR-        type FieldOptional "parameters" VkDisplayModePropertiesKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "parameters" VkDisplayModePropertiesKHR =-             #{offset VkDisplayModePropertiesKHR, parameters}-        type FieldIsArray "parameters" VkDisplayModePropertiesKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayModePropertiesKHR, parameters}--instance {-# OVERLAPPING #-}-         CanReadField "parameters" VkDisplayModePropertiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayModePropertiesKHR, parameters})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayModePropertiesKHR, parameters}--instance {-# OVERLAPPING #-}-         CanWriteField "parameters" VkDisplayModePropertiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayModePropertiesKHR, parameters}--instance Show VkDisplayModePropertiesKHR where-        showsPrec d x-          = showString "VkDisplayModePropertiesKHR {" .-              showString "displayMode = " .-                showsPrec d (getField @"displayMode" x) .-                  showString ", " .-                    showString "parameters = " .-                      showsPrec d (getField @"parameters" x) . showChar '}'---- | > typedef struct VkDisplayPlaneCapabilities2KHR {---   >     VkStructureType sType;---   >     void* pNext;---   >     VkDisplayPlaneCapabilitiesKHR capabilities;---   > } VkDisplayPlaneCapabilities2KHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayPlaneCapabilities2KHR VkDisplayPlaneCapabilities2KHR registry at www.khronos.org>-type VkDisplayPlaneCapabilities2KHR =-     VulkanStruct VkDisplayPlaneCapabilities2KHR' -- ' closing tick for hsc2hs--data VkDisplayPlaneCapabilities2KHR' -- ' closing tick for hsc2hs--instance Eq VkDisplayPlaneCapabilities2KHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDisplayPlaneCapabilities2KHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDisplayPlaneCapabilities2KHR where-        sizeOf ~_ = #{size VkDisplayPlaneCapabilities2KHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDisplayPlaneCapabilities2KHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDisplayPlaneCapabilities2KHR where-        type StructFields VkDisplayPlaneCapabilities2KHR =-             '["sType", "pNext", "capabilities"] -- ' closing tick for hsc2hs-        type CUnionType VkDisplayPlaneCapabilities2KHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDisplayPlaneCapabilities2KHR = 'True -- ' closing tick for hsc2hs-        type StructExtends VkDisplayPlaneCapabilities2KHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDisplayPlaneCapabilities2KHR where-        type FieldType "sType" VkDisplayPlaneCapabilities2KHR =-             VkStructureType-        type FieldOptional "sType" VkDisplayPlaneCapabilities2KHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDisplayPlaneCapabilities2KHR =-             #{offset VkDisplayPlaneCapabilities2KHR, sType}-        type FieldIsArray "sType" VkDisplayPlaneCapabilities2KHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPlaneCapabilities2KHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDisplayPlaneCapabilities2KHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilities2KHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPlaneCapabilities2KHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDisplayPlaneCapabilities2KHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPlaneCapabilities2KHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDisplayPlaneCapabilities2KHR where-        type FieldType "pNext" VkDisplayPlaneCapabilities2KHR = Ptr Void-        type FieldOptional "pNext" VkDisplayPlaneCapabilities2KHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDisplayPlaneCapabilities2KHR =-             #{offset VkDisplayPlaneCapabilities2KHR, pNext}-        type FieldIsArray "pNext" VkDisplayPlaneCapabilities2KHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPlaneCapabilities2KHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDisplayPlaneCapabilities2KHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilities2KHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPlaneCapabilities2KHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDisplayPlaneCapabilities2KHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPlaneCapabilities2KHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "capabilities" VkDisplayPlaneCapabilities2KHR where-        type FieldType "capabilities" VkDisplayPlaneCapabilities2KHR =-             VkDisplayPlaneCapabilitiesKHR-        type FieldOptional "capabilities" VkDisplayPlaneCapabilities2KHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "capabilities" VkDisplayPlaneCapabilities2KHR =-             #{offset VkDisplayPlaneCapabilities2KHR, capabilities}-        type FieldIsArray "capabilities" VkDisplayPlaneCapabilities2KHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPlaneCapabilities2KHR, capabilities}--instance {-# OVERLAPPING #-}-         CanReadField "capabilities" VkDisplayPlaneCapabilities2KHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilities2KHR, capabilities})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPlaneCapabilities2KHR, capabilities}--instance {-# OVERLAPPING #-}-         CanWriteField "capabilities" VkDisplayPlaneCapabilities2KHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPlaneCapabilities2KHR, capabilities}--instance Show VkDisplayPlaneCapabilities2KHR where-        showsPrec d x-          = showString "VkDisplayPlaneCapabilities2KHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "capabilities = " .-                            showsPrec d (getField @"capabilities" x) . showChar '}'---- | > typedef struct VkDisplayPlaneCapabilitiesKHR {---   >     VkDisplayPlaneAlphaFlagsKHR      supportedAlpha;---   >     VkOffset2D                       minSrcPosition;---   >     VkOffset2D                       maxSrcPosition;---   >     VkExtent2D                       minSrcExtent;---   >     VkExtent2D                       maxSrcExtent;---   >     VkOffset2D                       minDstPosition;---   >     VkOffset2D                       maxDstPosition;---   >     VkExtent2D                       minDstExtent;---   >     VkExtent2D                       maxDstExtent;---   > } VkDisplayPlaneCapabilitiesKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayPlaneCapabilitiesKHR VkDisplayPlaneCapabilitiesKHR registry at www.khronos.org>-type VkDisplayPlaneCapabilitiesKHR =-     VulkanStruct VkDisplayPlaneCapabilitiesKHR' -- ' closing tick for hsc2hs--data VkDisplayPlaneCapabilitiesKHR' -- ' closing tick for hsc2hs--instance Eq VkDisplayPlaneCapabilitiesKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDisplayPlaneCapabilitiesKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDisplayPlaneCapabilitiesKHR where-        sizeOf ~_ = #{size VkDisplayPlaneCapabilitiesKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDisplayPlaneCapabilitiesKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDisplayPlaneCapabilitiesKHR where-        type StructFields VkDisplayPlaneCapabilitiesKHR =-             '["supportedAlpha", "minSrcPosition", "maxSrcPosition", -- ' closing tick for hsc2hs-               "minSrcExtent", "maxSrcExtent", "minDstPosition", "maxDstPosition",-               "minDstExtent", "maxDstExtent"]-        type CUnionType VkDisplayPlaneCapabilitiesKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDisplayPlaneCapabilitiesKHR = 'True -- ' closing tick for hsc2hs-        type StructExtends VkDisplayPlaneCapabilitiesKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "supportedAlpha" VkDisplayPlaneCapabilitiesKHR where-        type FieldType "supportedAlpha" VkDisplayPlaneCapabilitiesKHR =-             VkDisplayPlaneAlphaFlagsKHR-        type FieldOptional "supportedAlpha" VkDisplayPlaneCapabilitiesKHR =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "supportedAlpha" VkDisplayPlaneCapabilitiesKHR =-             #{offset VkDisplayPlaneCapabilitiesKHR, supportedAlpha}-        type FieldIsArray "supportedAlpha" VkDisplayPlaneCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPlaneCapabilitiesKHR, supportedAlpha}--instance {-# OVERLAPPING #-}-         CanReadField "supportedAlpha" VkDisplayPlaneCapabilitiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, supportedAlpha})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, supportedAlpha}--instance {-# OVERLAPPING #-}-         CanWriteField "supportedAlpha" VkDisplayPlaneCapabilitiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, supportedAlpha}--instance {-# OVERLAPPING #-}-         HasField "minSrcPosition" VkDisplayPlaneCapabilitiesKHR where-        type FieldType "minSrcPosition" VkDisplayPlaneCapabilitiesKHR =-             VkOffset2D-        type FieldOptional "minSrcPosition" VkDisplayPlaneCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "minSrcPosition" VkDisplayPlaneCapabilitiesKHR =-             #{offset VkDisplayPlaneCapabilitiesKHR, minSrcPosition}-        type FieldIsArray "minSrcPosition" VkDisplayPlaneCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPlaneCapabilitiesKHR, minSrcPosition}--instance {-# OVERLAPPING #-}-         CanReadField "minSrcPosition" VkDisplayPlaneCapabilitiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, minSrcPosition})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minSrcPosition}--instance {-# OVERLAPPING #-}-         CanWriteField "minSrcPosition" VkDisplayPlaneCapabilitiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minSrcPosition}--instance {-# OVERLAPPING #-}-         HasField "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR where-        type FieldType "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR =-             VkOffset2D-        type FieldOptional "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR =-             #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcPosition}-        type FieldIsArray "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcPosition}--instance {-# OVERLAPPING #-}-         CanReadField "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcPosition})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcPosition}--instance {-# OVERLAPPING #-}-         CanWriteField "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcPosition}--instance {-# OVERLAPPING #-}-         HasField "minSrcExtent" VkDisplayPlaneCapabilitiesKHR where-        type FieldType "minSrcExtent" VkDisplayPlaneCapabilitiesKHR =-             VkExtent2D-        type FieldOptional "minSrcExtent" VkDisplayPlaneCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "minSrcExtent" VkDisplayPlaneCapabilitiesKHR =-             #{offset VkDisplayPlaneCapabilitiesKHR, minSrcExtent}-        type FieldIsArray "minSrcExtent" VkDisplayPlaneCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPlaneCapabilitiesKHR, minSrcExtent}--instance {-# OVERLAPPING #-}-         CanReadField "minSrcExtent" VkDisplayPlaneCapabilitiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, minSrcExtent})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minSrcExtent}--instance {-# OVERLAPPING #-}-         CanWriteField "minSrcExtent" VkDisplayPlaneCapabilitiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minSrcExtent}--instance {-# OVERLAPPING #-}-         HasField "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR where-        type FieldType "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR =-             VkExtent2D-        type FieldOptional "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR =-             #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcExtent}-        type FieldIsArray "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcExtent}--instance {-# OVERLAPPING #-}-         CanReadField "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcExtent})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcExtent}--instance {-# OVERLAPPING #-}-         CanWriteField "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcExtent}--instance {-# OVERLAPPING #-}-         HasField "minDstPosition" VkDisplayPlaneCapabilitiesKHR where-        type FieldType "minDstPosition" VkDisplayPlaneCapabilitiesKHR =-             VkOffset2D-        type FieldOptional "minDstPosition" VkDisplayPlaneCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "minDstPosition" VkDisplayPlaneCapabilitiesKHR =-             #{offset VkDisplayPlaneCapabilitiesKHR, minDstPosition}-        type FieldIsArray "minDstPosition" VkDisplayPlaneCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPlaneCapabilitiesKHR, minDstPosition}--instance {-# OVERLAPPING #-}-         CanReadField "minDstPosition" VkDisplayPlaneCapabilitiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, minDstPosition})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minDstPosition}--instance {-# OVERLAPPING #-}-         CanWriteField "minDstPosition" VkDisplayPlaneCapabilitiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minDstPosition}--instance {-# OVERLAPPING #-}-         HasField "maxDstPosition" VkDisplayPlaneCapabilitiesKHR where-        type FieldType "maxDstPosition" VkDisplayPlaneCapabilitiesKHR =-             VkOffset2D-        type FieldOptional "maxDstPosition" VkDisplayPlaneCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxDstPosition" VkDisplayPlaneCapabilitiesKHR =-             #{offset VkDisplayPlaneCapabilitiesKHR, maxDstPosition}-        type FieldIsArray "maxDstPosition" VkDisplayPlaneCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPlaneCapabilitiesKHR, maxDstPosition}--instance {-# OVERLAPPING #-}-         CanReadField "maxDstPosition" VkDisplayPlaneCapabilitiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, maxDstPosition})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxDstPosition}--instance {-# OVERLAPPING #-}-         CanWriteField "maxDstPosition" VkDisplayPlaneCapabilitiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxDstPosition}--instance {-# OVERLAPPING #-}-         HasField "minDstExtent" VkDisplayPlaneCapabilitiesKHR where-        type FieldType "minDstExtent" VkDisplayPlaneCapabilitiesKHR =-             VkExtent2D-        type FieldOptional "minDstExtent" VkDisplayPlaneCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "minDstExtent" VkDisplayPlaneCapabilitiesKHR =-             #{offset VkDisplayPlaneCapabilitiesKHR, minDstExtent}-        type FieldIsArray "minDstExtent" VkDisplayPlaneCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPlaneCapabilitiesKHR, minDstExtent}--instance {-# OVERLAPPING #-}-         CanReadField "minDstExtent" VkDisplayPlaneCapabilitiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, minDstExtent})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minDstExtent}--instance {-# OVERLAPPING #-}-         CanWriteField "minDstExtent" VkDisplayPlaneCapabilitiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minDstExtent}--instance {-# OVERLAPPING #-}-         HasField "maxDstExtent" VkDisplayPlaneCapabilitiesKHR where-        type FieldType "maxDstExtent" VkDisplayPlaneCapabilitiesKHR =-             VkExtent2D-        type FieldOptional "maxDstExtent" VkDisplayPlaneCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxDstExtent" VkDisplayPlaneCapabilitiesKHR =-             #{offset VkDisplayPlaneCapabilitiesKHR, maxDstExtent}-        type FieldIsArray "maxDstExtent" VkDisplayPlaneCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPlaneCapabilitiesKHR, maxDstExtent}--instance {-# OVERLAPPING #-}-         CanReadField "maxDstExtent" VkDisplayPlaneCapabilitiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, maxDstExtent})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxDstExtent}--instance {-# OVERLAPPING #-}-         CanWriteField "maxDstExtent" VkDisplayPlaneCapabilitiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxDstExtent}--instance Show VkDisplayPlaneCapabilitiesKHR where-        showsPrec d x-          = showString "VkDisplayPlaneCapabilitiesKHR {" .-              showString "supportedAlpha = " .-                showsPrec d (getField @"supportedAlpha" x) .-                  showString ", " .-                    showString "minSrcPosition = " .-                      showsPrec d (getField @"minSrcPosition" x) .-                        showString ", " .-                          showString "maxSrcPosition = " .-                            showsPrec d (getField @"maxSrcPosition" x) .-                              showString ", " .-                                showString "minSrcExtent = " .-                                  showsPrec d (getField @"minSrcExtent" x) .-                                    showString ", " .-                                      showString "maxSrcExtent = " .-                                        showsPrec d (getField @"maxSrcExtent" x) .-                                          showString ", " .-                                            showString "minDstPosition = " .-                                              showsPrec d (getField @"minDstPosition" x) .-                                                showString ", " .-                                                  showString "maxDstPosition = " .-                                                    showsPrec d (getField @"maxDstPosition" x) .-                                                      showString ", " .-                                                        showString "minDstExtent = " .-                                                          showsPrec d (getField @"minDstExtent" x) .-                                                            showString ", " .-                                                              showString "maxDstExtent = " .-                                                                showsPrec d-                                                                  (getField @"maxDstExtent" x)-                                                                  . showChar '}'---- | > typedef struct VkDisplayPlaneInfo2KHR {---   >     VkStructureType sType;---   >     const void* pNext;---   >     VkDisplayModeKHR mode;---   >     uint32_t planeIndex;---   > } VkDisplayPlaneInfo2KHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayPlaneInfo2KHR VkDisplayPlaneInfo2KHR registry at www.khronos.org>-type VkDisplayPlaneInfo2KHR = VulkanStruct VkDisplayPlaneInfo2KHR' -- ' closing tick for hsc2hs--data VkDisplayPlaneInfo2KHR' -- ' closing tick for hsc2hs--instance Eq VkDisplayPlaneInfo2KHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDisplayPlaneInfo2KHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDisplayPlaneInfo2KHR where-        sizeOf ~_ = #{size VkDisplayPlaneInfo2KHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDisplayPlaneInfo2KHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDisplayPlaneInfo2KHR where-        type StructFields VkDisplayPlaneInfo2KHR =-             '["sType", "pNext", "mode", "planeIndex"] -- ' closing tick for hsc2hs-        type CUnionType VkDisplayPlaneInfo2KHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDisplayPlaneInfo2KHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDisplayPlaneInfo2KHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDisplayPlaneInfo2KHR where-        type FieldType "sType" VkDisplayPlaneInfo2KHR = VkStructureType-        type FieldOptional "sType" VkDisplayPlaneInfo2KHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDisplayPlaneInfo2KHR =-             #{offset VkDisplayPlaneInfo2KHR, sType}-        type FieldIsArray "sType" VkDisplayPlaneInfo2KHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDisplayPlaneInfo2KHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDisplayPlaneInfo2KHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneInfo2KHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPlaneInfo2KHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDisplayPlaneInfo2KHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPlaneInfo2KHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDisplayPlaneInfo2KHR where-        type FieldType "pNext" VkDisplayPlaneInfo2KHR = Ptr Void-        type FieldOptional "pNext" VkDisplayPlaneInfo2KHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDisplayPlaneInfo2KHR =-             #{offset VkDisplayPlaneInfo2KHR, pNext}-        type FieldIsArray "pNext" VkDisplayPlaneInfo2KHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDisplayPlaneInfo2KHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDisplayPlaneInfo2KHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneInfo2KHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPlaneInfo2KHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDisplayPlaneInfo2KHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPlaneInfo2KHR, pNext}--instance {-# OVERLAPPING #-} HasField "mode" VkDisplayPlaneInfo2KHR-         where-        type FieldType "mode" VkDisplayPlaneInfo2KHR = VkDisplayModeKHR-        type FieldOptional "mode" VkDisplayPlaneInfo2KHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "mode" VkDisplayPlaneInfo2KHR =-             #{offset VkDisplayPlaneInfo2KHR, mode}-        type FieldIsArray "mode" VkDisplayPlaneInfo2KHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDisplayPlaneInfo2KHR, mode}--instance {-# OVERLAPPING #-}-         CanReadField "mode" VkDisplayPlaneInfo2KHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneInfo2KHR, mode})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPlaneInfo2KHR, mode}--instance {-# OVERLAPPING #-}-         CanWriteField "mode" VkDisplayPlaneInfo2KHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPlaneInfo2KHR, mode}--instance {-# OVERLAPPING #-}-         HasField "planeIndex" VkDisplayPlaneInfo2KHR where-        type FieldType "planeIndex" VkDisplayPlaneInfo2KHR = Word32-        type FieldOptional "planeIndex" VkDisplayPlaneInfo2KHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "planeIndex" VkDisplayPlaneInfo2KHR =-             #{offset VkDisplayPlaneInfo2KHR, planeIndex}-        type FieldIsArray "planeIndex" VkDisplayPlaneInfo2KHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPlaneInfo2KHR, planeIndex}--instance {-# OVERLAPPING #-}-         CanReadField "planeIndex" VkDisplayPlaneInfo2KHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneInfo2KHR, planeIndex})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPlaneInfo2KHR, planeIndex}--instance {-# OVERLAPPING #-}-         CanWriteField "planeIndex" VkDisplayPlaneInfo2KHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPlaneInfo2KHR, planeIndex}--instance Show VkDisplayPlaneInfo2KHR where-        showsPrec d x-          = showString "VkDisplayPlaneInfo2KHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "mode = " .-                            showsPrec d (getField @"mode" x) .-                              showString ", " .-                                showString "planeIndex = " .-                                  showsPrec d (getField @"planeIndex" x) . showChar '}'---- | > typedef struct VkDisplayPlaneProperties2KHR {---   >     VkStructureType sType;---   >     void* pNext;---   >     VkDisplayPlanePropertiesKHR displayPlaneProperties;---   > } VkDisplayPlaneProperties2KHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayPlaneProperties2KHR VkDisplayPlaneProperties2KHR registry at www.khronos.org>-type VkDisplayPlaneProperties2KHR =-     VulkanStruct VkDisplayPlaneProperties2KHR' -- ' closing tick for hsc2hs--data VkDisplayPlaneProperties2KHR' -- ' closing tick for hsc2hs--instance Eq VkDisplayPlaneProperties2KHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDisplayPlaneProperties2KHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDisplayPlaneProperties2KHR where-        sizeOf ~_ = #{size VkDisplayPlaneProperties2KHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDisplayPlaneProperties2KHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDisplayPlaneProperties2KHR where-        type StructFields VkDisplayPlaneProperties2KHR =-             '["sType", "pNext", "displayPlaneProperties"] -- ' closing tick for hsc2hs-        type CUnionType VkDisplayPlaneProperties2KHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDisplayPlaneProperties2KHR = 'True -- ' closing tick for hsc2hs-        type StructExtends VkDisplayPlaneProperties2KHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDisplayPlaneProperties2KHR where-        type FieldType "sType" VkDisplayPlaneProperties2KHR =-             VkStructureType-        type FieldOptional "sType" VkDisplayPlaneProperties2KHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDisplayPlaneProperties2KHR =-             #{offset VkDisplayPlaneProperties2KHR, sType}-        type FieldIsArray "sType" VkDisplayPlaneProperties2KHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPlaneProperties2KHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDisplayPlaneProperties2KHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneProperties2KHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPlaneProperties2KHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDisplayPlaneProperties2KHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPlaneProperties2KHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDisplayPlaneProperties2KHR where-        type FieldType "pNext" VkDisplayPlaneProperties2KHR = Ptr Void-        type FieldOptional "pNext" VkDisplayPlaneProperties2KHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDisplayPlaneProperties2KHR =-             #{offset VkDisplayPlaneProperties2KHR, pNext}-        type FieldIsArray "pNext" VkDisplayPlaneProperties2KHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPlaneProperties2KHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDisplayPlaneProperties2KHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneProperties2KHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPlaneProperties2KHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDisplayPlaneProperties2KHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPlaneProperties2KHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "displayPlaneProperties" VkDisplayPlaneProperties2KHR-         where-        type FieldType "displayPlaneProperties"-               VkDisplayPlaneProperties2KHR-             = VkDisplayPlanePropertiesKHR-        type FieldOptional "displayPlaneProperties"-               VkDisplayPlaneProperties2KHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "displayPlaneProperties"-               VkDisplayPlaneProperties2KHR-             =-             #{offset VkDisplayPlaneProperties2KHR, displayPlaneProperties}-        type FieldIsArray "displayPlaneProperties"-               VkDisplayPlaneProperties2KHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPlaneProperties2KHR, displayPlaneProperties}--instance {-# OVERLAPPING #-}-         CanReadField "displayPlaneProperties" VkDisplayPlaneProperties2KHR-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneProperties2KHR, displayPlaneProperties})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPlaneProperties2KHR, displayPlaneProperties}--instance {-# OVERLAPPING #-}-         CanWriteField "displayPlaneProperties" VkDisplayPlaneProperties2KHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPlaneProperties2KHR, displayPlaneProperties}--instance Show VkDisplayPlaneProperties2KHR where-        showsPrec d x-          = showString "VkDisplayPlaneProperties2KHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "displayPlaneProperties = " .-                            showsPrec d (getField @"displayPlaneProperties" x) . showChar '}'---- | > typedef struct VkDisplayPlanePropertiesKHR {---   >     VkDisplayKHR                     currentDisplay;---   >     uint32_t                         currentStackIndex;---   > } VkDisplayPlanePropertiesKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayPlanePropertiesKHR VkDisplayPlanePropertiesKHR registry at www.khronos.org>-type VkDisplayPlanePropertiesKHR =-     VulkanStruct VkDisplayPlanePropertiesKHR' -- ' closing tick for hsc2hs--data VkDisplayPlanePropertiesKHR' -- ' closing tick for hsc2hs--instance Eq VkDisplayPlanePropertiesKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDisplayPlanePropertiesKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDisplayPlanePropertiesKHR where-        sizeOf ~_ = #{size VkDisplayPlanePropertiesKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDisplayPlanePropertiesKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDisplayPlanePropertiesKHR where-        type StructFields VkDisplayPlanePropertiesKHR =-             '["currentDisplay", "currentStackIndex"] -- ' closing tick for hsc2hs-        type CUnionType VkDisplayPlanePropertiesKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDisplayPlanePropertiesKHR = 'True -- ' closing tick for hsc2hs-        type StructExtends VkDisplayPlanePropertiesKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "currentDisplay" VkDisplayPlanePropertiesKHR where-        type FieldType "currentDisplay" VkDisplayPlanePropertiesKHR =-             VkDisplayKHR-        type FieldOptional "currentDisplay" VkDisplayPlanePropertiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "currentDisplay" VkDisplayPlanePropertiesKHR =-             #{offset VkDisplayPlanePropertiesKHR, currentDisplay}-        type FieldIsArray "currentDisplay" VkDisplayPlanePropertiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPlanePropertiesKHR, currentDisplay}--instance {-# OVERLAPPING #-}-         CanReadField "currentDisplay" VkDisplayPlanePropertiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlanePropertiesKHR, currentDisplay})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPlanePropertiesKHR, currentDisplay}--instance {-# OVERLAPPING #-}-         CanWriteField "currentDisplay" VkDisplayPlanePropertiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPlanePropertiesKHR, currentDisplay}--instance {-# OVERLAPPING #-}-         HasField "currentStackIndex" VkDisplayPlanePropertiesKHR where-        type FieldType "currentStackIndex" VkDisplayPlanePropertiesKHR =-             Word32-        type FieldOptional "currentStackIndex" VkDisplayPlanePropertiesKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "currentStackIndex" VkDisplayPlanePropertiesKHR =-             #{offset VkDisplayPlanePropertiesKHR, currentStackIndex}-        type FieldIsArray "currentStackIndex" VkDisplayPlanePropertiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPlanePropertiesKHR, currentStackIndex}--instance {-# OVERLAPPING #-}-         CanReadField "currentStackIndex" VkDisplayPlanePropertiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlanePropertiesKHR, currentStackIndex})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPlanePropertiesKHR, currentStackIndex}--instance {-# OVERLAPPING #-}-         CanWriteField "currentStackIndex" VkDisplayPlanePropertiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPlanePropertiesKHR, currentStackIndex}--instance Show VkDisplayPlanePropertiesKHR where-        showsPrec d x-          = showString "VkDisplayPlanePropertiesKHR {" .-              showString "currentDisplay = " .-                showsPrec d (getField @"currentDisplay" x) .-                  showString ", " .-                    showString "currentStackIndex = " .-                      showsPrec d (getField @"currentStackIndex" x) . showChar '}'---- | > typedef struct VkDisplayPowerInfoEXT {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkDisplayPowerStateEXT           powerState;---   > } VkDisplayPowerInfoEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayPowerInfoEXT VkDisplayPowerInfoEXT registry at www.khronos.org>-type VkDisplayPowerInfoEXT = VulkanStruct VkDisplayPowerInfoEXT' -- ' closing tick for hsc2hs--data VkDisplayPowerInfoEXT' -- ' closing tick for hsc2hs--instance Eq VkDisplayPowerInfoEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDisplayPowerInfoEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDisplayPowerInfoEXT where-        sizeOf ~_ = #{size VkDisplayPowerInfoEXT}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDisplayPowerInfoEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDisplayPowerInfoEXT where-        type StructFields VkDisplayPowerInfoEXT =-             '["sType", "pNext", "powerState"] -- ' closing tick for hsc2hs-        type CUnionType VkDisplayPowerInfoEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDisplayPowerInfoEXT = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDisplayPowerInfoEXT = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkDisplayPowerInfoEXT-         where-        type FieldType "sType" VkDisplayPowerInfoEXT = VkStructureType-        type FieldOptional "sType" VkDisplayPowerInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDisplayPowerInfoEXT =-             #{offset VkDisplayPowerInfoEXT, sType}-        type FieldIsArray "sType" VkDisplayPowerInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDisplayPowerInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDisplayPowerInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPowerInfoEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPowerInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDisplayPowerInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPowerInfoEXT, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkDisplayPowerInfoEXT-         where-        type FieldType "pNext" VkDisplayPowerInfoEXT = Ptr Void-        type FieldOptional "pNext" VkDisplayPowerInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDisplayPowerInfoEXT =-             #{offset VkDisplayPowerInfoEXT, pNext}-        type FieldIsArray "pNext" VkDisplayPowerInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDisplayPowerInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDisplayPowerInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPowerInfoEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPowerInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDisplayPowerInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPowerInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "powerState" VkDisplayPowerInfoEXT where-        type FieldType "powerState" VkDisplayPowerInfoEXT =-             VkDisplayPowerStateEXT-        type FieldOptional "powerState" VkDisplayPowerInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "powerState" VkDisplayPowerInfoEXT =-             #{offset VkDisplayPowerInfoEXT, powerState}-        type FieldIsArray "powerState" VkDisplayPowerInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPowerInfoEXT, powerState}--instance {-# OVERLAPPING #-}-         CanReadField "powerState" VkDisplayPowerInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPowerInfoEXT, powerState})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPowerInfoEXT, powerState}--instance {-# OVERLAPPING #-}-         CanWriteField "powerState" VkDisplayPowerInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPowerInfoEXT, powerState}--instance Show VkDisplayPowerInfoEXT where-        showsPrec d x-          = showString "VkDisplayPowerInfoEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "powerState = " .-                            showsPrec d (getField @"powerState" x) . showChar '}'---- | > typedef struct VkDisplayPresentInfoKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkRect2D                         srcRect;---   >     VkRect2D                         dstRect;---   >     VkBool32                         persistent;---   > } VkDisplayPresentInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayPresentInfoKHR VkDisplayPresentInfoKHR registry at www.khronos.org>-type VkDisplayPresentInfoKHR =-     VulkanStruct VkDisplayPresentInfoKHR' -- ' closing tick for hsc2hs--data VkDisplayPresentInfoKHR' -- ' closing tick for hsc2hs--instance Eq VkDisplayPresentInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDisplayPresentInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDisplayPresentInfoKHR where-        sizeOf ~_ = #{size VkDisplayPresentInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDisplayPresentInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDisplayPresentInfoKHR where-        type StructFields VkDisplayPresentInfoKHR =-             '["sType", "pNext", "srcRect", "dstRect", "persistent"] -- ' closing tick for hsc2hs-        type CUnionType VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDisplayPresentInfoKHR = '[VkPresentInfoKHR] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDisplayPresentInfoKHR where-        type FieldType "sType" VkDisplayPresentInfoKHR = VkStructureType-        type FieldOptional "sType" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDisplayPresentInfoKHR =-             #{offset VkDisplayPresentInfoKHR, sType}-        type FieldIsArray "sType" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDisplayPresentInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDisplayPresentInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPresentInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPresentInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDisplayPresentInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPresentInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDisplayPresentInfoKHR where-        type FieldType "pNext" VkDisplayPresentInfoKHR = Ptr Void-        type FieldOptional "pNext" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDisplayPresentInfoKHR =-             #{offset VkDisplayPresentInfoKHR, pNext}-        type FieldIsArray "pNext" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDisplayPresentInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDisplayPresentInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPresentInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPresentInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDisplayPresentInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPresentInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "srcRect" VkDisplayPresentInfoKHR where-        type FieldType "srcRect" VkDisplayPresentInfoKHR = VkRect2D-        type FieldOptional "srcRect" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "srcRect" VkDisplayPresentInfoKHR =-             #{offset VkDisplayPresentInfoKHR, srcRect}-        type FieldIsArray "srcRect" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPresentInfoKHR, srcRect}--instance {-# OVERLAPPING #-}-         CanReadField "srcRect" VkDisplayPresentInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPresentInfoKHR, srcRect})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPresentInfoKHR, srcRect}--instance {-# OVERLAPPING #-}-         CanWriteField "srcRect" VkDisplayPresentInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPresentInfoKHR, srcRect}--instance {-# OVERLAPPING #-}-         HasField "dstRect" VkDisplayPresentInfoKHR where-        type FieldType "dstRect" VkDisplayPresentInfoKHR = VkRect2D-        type FieldOptional "dstRect" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dstRect" VkDisplayPresentInfoKHR =-             #{offset VkDisplayPresentInfoKHR, dstRect}-        type FieldIsArray "dstRect" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPresentInfoKHR, dstRect}--instance {-# OVERLAPPING #-}-         CanReadField "dstRect" VkDisplayPresentInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPresentInfoKHR, dstRect})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPresentInfoKHR, dstRect}--instance {-# OVERLAPPING #-}-         CanWriteField "dstRect" VkDisplayPresentInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPresentInfoKHR, dstRect}--instance {-# OVERLAPPING #-}-         HasField "persistent" VkDisplayPresentInfoKHR where-        type FieldType "persistent" VkDisplayPresentInfoKHR = VkBool32-        type FieldOptional "persistent" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "persistent" VkDisplayPresentInfoKHR =-             #{offset VkDisplayPresentInfoKHR, persistent}-        type FieldIsArray "persistent" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPresentInfoKHR, persistent}--instance {-# OVERLAPPING #-}-         CanReadField "persistent" VkDisplayPresentInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPresentInfoKHR, persistent})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPresentInfoKHR, persistent}--instance {-# OVERLAPPING #-}-         CanWriteField "persistent" VkDisplayPresentInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPresentInfoKHR, persistent}--instance Show VkDisplayPresentInfoKHR where-        showsPrec d x-          = showString "VkDisplayPresentInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "srcRect = " .-                            showsPrec d (getField @"srcRect" x) .-                              showString ", " .-                                showString "dstRect = " .-                                  showsPrec d (getField @"dstRect" x) .-                                    showString ", " .-                                      showString "persistent = " .-                                        showsPrec d (getField @"persistent" x) . showChar '}'---- | > typedef struct VkDisplayProperties2KHR {---   >     VkStructureType sType;---   >     void* pNext;---   >     VkDisplayPropertiesKHR displayProperties;---   > } VkDisplayProperties2KHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayProperties2KHR VkDisplayProperties2KHR registry at www.khronos.org>-type VkDisplayProperties2KHR =-     VulkanStruct VkDisplayProperties2KHR' -- ' closing tick for hsc2hs--data VkDisplayProperties2KHR' -- ' closing tick for hsc2hs--instance Eq VkDisplayProperties2KHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDisplayProperties2KHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDisplayProperties2KHR where-        sizeOf ~_ = #{size VkDisplayProperties2KHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDisplayProperties2KHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDisplayProperties2KHR where-        type StructFields VkDisplayProperties2KHR =-             '["sType", "pNext", "displayProperties"] -- ' closing tick for hsc2hs-        type CUnionType VkDisplayProperties2KHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDisplayProperties2KHR = 'True -- ' closing tick for hsc2hs-        type StructExtends VkDisplayProperties2KHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDisplayProperties2KHR where-        type FieldType "sType" VkDisplayProperties2KHR = VkStructureType-        type FieldOptional "sType" VkDisplayProperties2KHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDisplayProperties2KHR =-             #{offset VkDisplayProperties2KHR, sType}-        type FieldIsArray "sType" VkDisplayProperties2KHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDisplayProperties2KHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDisplayProperties2KHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayProperties2KHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayProperties2KHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDisplayProperties2KHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayProperties2KHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDisplayProperties2KHR where-        type FieldType "pNext" VkDisplayProperties2KHR = Ptr Void-        type FieldOptional "pNext" VkDisplayProperties2KHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDisplayProperties2KHR =-             #{offset VkDisplayProperties2KHR, pNext}-        type FieldIsArray "pNext" VkDisplayProperties2KHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDisplayProperties2KHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDisplayProperties2KHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayProperties2KHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayProperties2KHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDisplayProperties2KHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayProperties2KHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "displayProperties" VkDisplayProperties2KHR where-        type FieldType "displayProperties" VkDisplayProperties2KHR =-             VkDisplayPropertiesKHR-        type FieldOptional "displayProperties" VkDisplayProperties2KHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "displayProperties" VkDisplayProperties2KHR =-             #{offset VkDisplayProperties2KHR, displayProperties}-        type FieldIsArray "displayProperties" VkDisplayProperties2KHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayProperties2KHR, displayProperties}--instance {-# OVERLAPPING #-}-         CanReadField "displayProperties" VkDisplayProperties2KHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayProperties2KHR, displayProperties})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayProperties2KHR, displayProperties}--instance {-# OVERLAPPING #-}-         CanWriteField "displayProperties" VkDisplayProperties2KHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayProperties2KHR, displayProperties}--instance Show VkDisplayProperties2KHR where-        showsPrec d x-          = showString "VkDisplayProperties2KHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "displayProperties = " .-                            showsPrec d (getField @"displayProperties" x) . showChar '}'---- | > typedef struct VkDisplayPropertiesKHR {---   >     VkDisplayKHR                     display;---   >     const char*                      displayName;---   >     VkExtent2D                       physicalDimensions;---   >     VkExtent2D                       physicalResolution;---   >     VkSurfaceTransformFlagsKHR       supportedTransforms;---   >     VkBool32                         planeReorderPossible;---   >     VkBool32                         persistentContent;---   > } VkDisplayPropertiesKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayPropertiesKHR VkDisplayPropertiesKHR registry at www.khronos.org>-type VkDisplayPropertiesKHR = VulkanStruct VkDisplayPropertiesKHR' -- ' closing tick for hsc2hs--data VkDisplayPropertiesKHR' -- ' closing tick for hsc2hs--instance Eq VkDisplayPropertiesKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDisplayPropertiesKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDisplayPropertiesKHR where-        sizeOf ~_ = #{size VkDisplayPropertiesKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDisplayPropertiesKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDisplayPropertiesKHR where-        type StructFields VkDisplayPropertiesKHR =-             '["display", "displayName", "physicalDimensions", -- ' closing tick for hsc2hs-               "physicalResolution", "supportedTransforms",-               "planeReorderPossible", "persistentContent"]-        type CUnionType VkDisplayPropertiesKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDisplayPropertiesKHR = 'True -- ' closing tick for hsc2hs-        type StructExtends VkDisplayPropertiesKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "display" VkDisplayPropertiesKHR where-        type FieldType "display" VkDisplayPropertiesKHR = VkDisplayKHR-        type FieldOptional "display" VkDisplayPropertiesKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "display" VkDisplayPropertiesKHR =-             #{offset VkDisplayPropertiesKHR, display}-        type FieldIsArray "display" VkDisplayPropertiesKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkDisplayPropertiesKHR, display}--instance {-# OVERLAPPING #-}-         CanReadField "display" VkDisplayPropertiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, display})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPropertiesKHR, display}--instance {-# OVERLAPPING #-}-         CanWriteField "display" VkDisplayPropertiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPropertiesKHR, display}--instance {-# OVERLAPPING #-}-         HasField "displayName" VkDisplayPropertiesKHR where-        type FieldType "displayName" VkDisplayPropertiesKHR = CString-        type FieldOptional "displayName" VkDisplayPropertiesKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "displayName" VkDisplayPropertiesKHR =-             #{offset VkDisplayPropertiesKHR, displayName}-        type FieldIsArray "displayName" VkDisplayPropertiesKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPropertiesKHR, displayName}--instance {-# OVERLAPPING #-}-         CanReadField "displayName" VkDisplayPropertiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, displayName})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPropertiesKHR, displayName}--instance {-# OVERLAPPING #-}-         CanWriteField "displayName" VkDisplayPropertiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPropertiesKHR, displayName}--instance {-# OVERLAPPING #-}-         HasField "physicalDimensions" VkDisplayPropertiesKHR where-        type FieldType "physicalDimensions" VkDisplayPropertiesKHR =-             VkExtent2D-        type FieldOptional "physicalDimensions" VkDisplayPropertiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "physicalDimensions" VkDisplayPropertiesKHR =-             #{offset VkDisplayPropertiesKHR, physicalDimensions}-        type FieldIsArray "physicalDimensions" VkDisplayPropertiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPropertiesKHR, physicalDimensions}--instance {-# OVERLAPPING #-}-         CanReadField "physicalDimensions" VkDisplayPropertiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, physicalDimensions})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPropertiesKHR, physicalDimensions}--instance {-# OVERLAPPING #-}-         CanWriteField "physicalDimensions" VkDisplayPropertiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPropertiesKHR, physicalDimensions}--instance {-# OVERLAPPING #-}-         HasField "physicalResolution" VkDisplayPropertiesKHR where-        type FieldType "physicalResolution" VkDisplayPropertiesKHR =-             VkExtent2D-        type FieldOptional "physicalResolution" VkDisplayPropertiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "physicalResolution" VkDisplayPropertiesKHR =-             #{offset VkDisplayPropertiesKHR, physicalResolution}-        type FieldIsArray "physicalResolution" VkDisplayPropertiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPropertiesKHR, physicalResolution}--instance {-# OVERLAPPING #-}-         CanReadField "physicalResolution" VkDisplayPropertiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, physicalResolution})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPropertiesKHR, physicalResolution}--instance {-# OVERLAPPING #-}-         CanWriteField "physicalResolution" VkDisplayPropertiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPropertiesKHR, physicalResolution}--instance {-# OVERLAPPING #-}-         HasField "supportedTransforms" VkDisplayPropertiesKHR where-        type FieldType "supportedTransforms" VkDisplayPropertiesKHR =-             VkSurfaceTransformFlagsKHR-        type FieldOptional "supportedTransforms" VkDisplayPropertiesKHR =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "supportedTransforms" VkDisplayPropertiesKHR =-             #{offset VkDisplayPropertiesKHR, supportedTransforms}-        type FieldIsArray "supportedTransforms" VkDisplayPropertiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPropertiesKHR, supportedTransforms}--instance {-# OVERLAPPING #-}-         CanReadField "supportedTransforms" VkDisplayPropertiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, supportedTransforms})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPropertiesKHR, supportedTransforms}--instance {-# OVERLAPPING #-}-         CanWriteField "supportedTransforms" VkDisplayPropertiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPropertiesKHR, supportedTransforms}--instance {-# OVERLAPPING #-}-         HasField "planeReorderPossible" VkDisplayPropertiesKHR where-        type FieldType "planeReorderPossible" VkDisplayPropertiesKHR =-             VkBool32-        type FieldOptional "planeReorderPossible" VkDisplayPropertiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "planeReorderPossible" VkDisplayPropertiesKHR =-             #{offset VkDisplayPropertiesKHR, planeReorderPossible}-        type FieldIsArray "planeReorderPossible" VkDisplayPropertiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPropertiesKHR, planeReorderPossible}--instance {-# OVERLAPPING #-}-         CanReadField "planeReorderPossible" VkDisplayPropertiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, planeReorderPossible})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPropertiesKHR, planeReorderPossible}--instance {-# OVERLAPPING #-}-         CanWriteField "planeReorderPossible" VkDisplayPropertiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPropertiesKHR, planeReorderPossible}--instance {-# OVERLAPPING #-}-         HasField "persistentContent" VkDisplayPropertiesKHR where-        type FieldType "persistentContent" VkDisplayPropertiesKHR =-             VkBool32-        type FieldOptional "persistentContent" VkDisplayPropertiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "persistentContent" VkDisplayPropertiesKHR =-             #{offset VkDisplayPropertiesKHR, persistentContent}-        type FieldIsArray "persistentContent" VkDisplayPropertiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplayPropertiesKHR, persistentContent}--instance {-# OVERLAPPING #-}-         CanReadField "persistentContent" VkDisplayPropertiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, persistentContent})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplayPropertiesKHR, persistentContent}--instance {-# OVERLAPPING #-}-         CanWriteField "persistentContent" VkDisplayPropertiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplayPropertiesKHR, persistentContent}--instance Show VkDisplayPropertiesKHR where-        showsPrec d x-          = showString "VkDisplayPropertiesKHR {" .-              showString "display = " .-                showsPrec d (getField @"display" x) .-                  showString ", " .-                    showString "displayName = " .-                      showsPrec d (getField @"displayName" x) .-                        showString ", " .-                          showString "physicalDimensions = " .-                            showsPrec d (getField @"physicalDimensions" x) .-                              showString ", " .-                                showString "physicalResolution = " .-                                  showsPrec d (getField @"physicalResolution" x) .-                                    showString ", " .-                                      showString "supportedTransforms = " .-                                        showsPrec d (getField @"supportedTransforms" x) .-                                          showString ", " .-                                            showString "planeReorderPossible = " .-                                              showsPrec d (getField @"planeReorderPossible" x) .-                                                showString ", " .-                                                  showString "persistentContent = " .-                                                    showsPrec d (getField @"persistentContent" x) .-                                                      showChar '}'---- | > typedef struct VkDisplaySurfaceCreateInfoKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkDisplaySurfaceCreateFlagsKHR   flags;---   >     VkDisplayModeKHR                 displayMode;---   >     uint32_t                         planeIndex;---   >     uint32_t                         planeStackIndex;---   >     VkSurfaceTransformFlagBitsKHR    transform;---   >     float                            globalAlpha;---   >     VkDisplayPlaneAlphaFlagBitsKHR   alphaMode;---   >     VkExtent2D                       imageExtent;---   > } VkDisplaySurfaceCreateInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplaySurfaceCreateInfoKHR VkDisplaySurfaceCreateInfoKHR registry at www.khronos.org>-type VkDisplaySurfaceCreateInfoKHR =-     VulkanStruct VkDisplaySurfaceCreateInfoKHR' -- ' closing tick for hsc2hs--data VkDisplaySurfaceCreateInfoKHR' -- ' closing tick for hsc2hs--instance Eq VkDisplaySurfaceCreateInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDisplaySurfaceCreateInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDisplaySurfaceCreateInfoKHR where-        sizeOf ~_ = #{size VkDisplaySurfaceCreateInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDisplaySurfaceCreateInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkDisplaySurfaceCreateInfoKHR where-        type StructFields VkDisplaySurfaceCreateInfoKHR =-             '["sType", "pNext", "flags", "displayMode", "planeIndex", -- ' closing tick for hsc2hs-               "planeStackIndex", "transform", "globalAlpha", "alphaMode",-               "imageExtent"]-        type CUnionType VkDisplaySurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDisplaySurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDisplaySurfaceCreateInfoKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkDisplaySurfaceCreateInfoKHR where-        type FieldType "sType" VkDisplaySurfaceCreateInfoKHR =-             VkStructureType-        type FieldOptional "sType" VkDisplaySurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDisplaySurfaceCreateInfoKHR =-             #{offset VkDisplaySurfaceCreateInfoKHR, sType}-        type FieldIsArray "sType" VkDisplaySurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplaySurfaceCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkDisplaySurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkDisplaySurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDisplaySurfaceCreateInfoKHR where-        type FieldType "pNext" VkDisplaySurfaceCreateInfoKHR = Ptr Void-        type FieldOptional "pNext" VkDisplaySurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDisplaySurfaceCreateInfoKHR =-             #{offset VkDisplaySurfaceCreateInfoKHR, pNext}-        type FieldIsArray "pNext" VkDisplaySurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplaySurfaceCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkDisplaySurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkDisplaySurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkDisplaySurfaceCreateInfoKHR where-        type FieldType "flags" VkDisplaySurfaceCreateInfoKHR =-             VkDisplaySurfaceCreateFlagsKHR-        type FieldOptional "flags" VkDisplaySurfaceCreateInfoKHR = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkDisplaySurfaceCreateInfoKHR =-             #{offset VkDisplaySurfaceCreateInfoKHR, flags}-        type FieldIsArray "flags" VkDisplaySurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplaySurfaceCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkDisplaySurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkDisplaySurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         HasField "displayMode" VkDisplaySurfaceCreateInfoKHR where-        type FieldType "displayMode" VkDisplaySurfaceCreateInfoKHR =-             VkDisplayModeKHR-        type FieldOptional "displayMode" VkDisplaySurfaceCreateInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "displayMode" VkDisplaySurfaceCreateInfoKHR =-             #{offset VkDisplaySurfaceCreateInfoKHR, displayMode}-        type FieldIsArray "displayMode" VkDisplaySurfaceCreateInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplaySurfaceCreateInfoKHR, displayMode}--instance {-# OVERLAPPING #-}-         CanReadField "displayMode" VkDisplaySurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, displayMode})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, displayMode}--instance {-# OVERLAPPING #-}-         CanWriteField "displayMode" VkDisplaySurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, displayMode}--instance {-# OVERLAPPING #-}-         HasField "planeIndex" VkDisplaySurfaceCreateInfoKHR where-        type FieldType "planeIndex" VkDisplaySurfaceCreateInfoKHR = Word32-        type FieldOptional "planeIndex" VkDisplaySurfaceCreateInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "planeIndex" VkDisplaySurfaceCreateInfoKHR =-             #{offset VkDisplaySurfaceCreateInfoKHR, planeIndex}-        type FieldIsArray "planeIndex" VkDisplaySurfaceCreateInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplaySurfaceCreateInfoKHR, planeIndex}--instance {-# OVERLAPPING #-}-         CanReadField "planeIndex" VkDisplaySurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, planeIndex})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, planeIndex}--instance {-# OVERLAPPING #-}-         CanWriteField "planeIndex" VkDisplaySurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, planeIndex}--instance {-# OVERLAPPING #-}-         HasField "planeStackIndex" VkDisplaySurfaceCreateInfoKHR where-        type FieldType "planeStackIndex" VkDisplaySurfaceCreateInfoKHR =-             Word32-        type FieldOptional "planeStackIndex" VkDisplaySurfaceCreateInfoKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "planeStackIndex" VkDisplaySurfaceCreateInfoKHR =-             #{offset VkDisplaySurfaceCreateInfoKHR, planeStackIndex}-        type FieldIsArray "planeStackIndex" VkDisplaySurfaceCreateInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplaySurfaceCreateInfoKHR, planeStackIndex}--instance {-# OVERLAPPING #-}-         CanReadField "planeStackIndex" VkDisplaySurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, planeStackIndex})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, planeStackIndex}--instance {-# OVERLAPPING #-}-         CanWriteField "planeStackIndex" VkDisplaySurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, planeStackIndex}--instance {-# OVERLAPPING #-}-         HasField "transform" VkDisplaySurfaceCreateInfoKHR where-        type FieldType "transform" VkDisplaySurfaceCreateInfoKHR =-             VkSurfaceTransformFlagBitsKHR-        type FieldOptional "transform" VkDisplaySurfaceCreateInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "transform" VkDisplaySurfaceCreateInfoKHR =-             #{offset VkDisplaySurfaceCreateInfoKHR, transform}-        type FieldIsArray "transform" VkDisplaySurfaceCreateInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplaySurfaceCreateInfoKHR, transform}--instance {-# OVERLAPPING #-}-         CanReadField "transform" VkDisplaySurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, transform})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, transform}--instance {-# OVERLAPPING #-}-         CanWriteField "transform" VkDisplaySurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, transform}--instance {-# OVERLAPPING #-}-         HasField "globalAlpha" VkDisplaySurfaceCreateInfoKHR where-        type FieldType "globalAlpha" VkDisplaySurfaceCreateInfoKHR =-             #{type float}-        type FieldOptional "globalAlpha" VkDisplaySurfaceCreateInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "globalAlpha" VkDisplaySurfaceCreateInfoKHR =-             #{offset VkDisplaySurfaceCreateInfoKHR, globalAlpha}-        type FieldIsArray "globalAlpha" VkDisplaySurfaceCreateInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplaySurfaceCreateInfoKHR, globalAlpha}--instance {-# OVERLAPPING #-}-         CanReadField "globalAlpha" VkDisplaySurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, globalAlpha})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, globalAlpha}--instance {-# OVERLAPPING #-}-         CanWriteField "globalAlpha" VkDisplaySurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, globalAlpha}--instance {-# OVERLAPPING #-}-         HasField "alphaMode" VkDisplaySurfaceCreateInfoKHR where-        type FieldType "alphaMode" VkDisplaySurfaceCreateInfoKHR =-             VkDisplayPlaneAlphaFlagBitsKHR-        type FieldOptional "alphaMode" VkDisplaySurfaceCreateInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "alphaMode" VkDisplaySurfaceCreateInfoKHR =-             #{offset VkDisplaySurfaceCreateInfoKHR, alphaMode}-        type FieldIsArray "alphaMode" VkDisplaySurfaceCreateInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplaySurfaceCreateInfoKHR, alphaMode}--instance {-# OVERLAPPING #-}-         CanReadField "alphaMode" VkDisplaySurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, alphaMode})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, alphaMode}--instance {-# OVERLAPPING #-}-         CanWriteField "alphaMode" VkDisplaySurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, alphaMode}--instance {-# OVERLAPPING #-}-         HasField "imageExtent" VkDisplaySurfaceCreateInfoKHR where-        type FieldType "imageExtent" VkDisplaySurfaceCreateInfoKHR =-             VkExtent2D-        type FieldOptional "imageExtent" VkDisplaySurfaceCreateInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "imageExtent" VkDisplaySurfaceCreateInfoKHR =-             #{offset VkDisplaySurfaceCreateInfoKHR, imageExtent}-        type FieldIsArray "imageExtent" VkDisplaySurfaceCreateInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDisplaySurfaceCreateInfoKHR, imageExtent}--instance {-# OVERLAPPING #-}-         CanReadField "imageExtent" VkDisplaySurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, imageExtent})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, imageExtent}--instance {-# OVERLAPPING #-}-         CanWriteField "imageExtent" VkDisplaySurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, imageExtent}--instance Show VkDisplaySurfaceCreateInfoKHR where-        showsPrec d x-          = showString "VkDisplaySurfaceCreateInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "displayMode = " .-                                  showsPrec d (getField @"displayMode" x) .-                                    showString ", " .-                                      showString "planeIndex = " .-                                        showsPrec d (getField @"planeIndex" x) .-                                          showString ", " .-                                            showString "planeStackIndex = " .-                                              showsPrec d (getField @"planeStackIndex" x) .-                                                showString ", " .-                                                  showString "transform = " .-                                                    showsPrec d (getField @"transform" x) .-                                                      showString ", " .-                                                        showString "globalAlpha = " .-                                                          showsPrec d (getField @"globalAlpha" x) .-                                                            showString ", " .-                                                              showString "alphaMode = " .-                                                                showsPrec d-                                                                  (getField @"alphaMode" x)-                                                                  .-                                                                  showString ", " .-                                                                    showString "imageExtent = " .-                                                                      showsPrec d-                                                                        (getField @"imageExtent" x)-                                                                        . showChar '}'+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.Display+       (VkDisplayEventInfoEXT, VkDisplayModeCreateInfoKHR,+        VkDisplayModeParametersKHR, VkDisplayModeProperties2KHR,+        VkDisplayModePropertiesKHR, VkDisplayPlaneCapabilities2KHR,+        VkDisplayPlaneCapabilitiesKHR, VkDisplayPlaneInfo2KHR,+        VkDisplayPlaneProperties2KHR, VkDisplayPlanePropertiesKHR,+        VkDisplayPowerInfoEXT, VkDisplayPresentInfoKHR,+        VkDisplayProperties2KHR, VkDisplayPropertiesKHR,+        VkDisplaySurfaceCreateInfoKHR)+       where+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes          (VkBool32)+import Graphics.Vulkan.Types.Bitmasks           (VkDisplayModeCreateFlagsKHR,+                                                 VkDisplaySurfaceCreateFlagsKHR)+import Graphics.Vulkan.Types.Enum.Display       (VkDisplayEventTypeEXT,+                                                 VkDisplayPlaneAlphaFlagBitsKHR,+                                                 VkDisplayPlaneAlphaFlagsKHR,+                                                 VkDisplayPowerStateEXT)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Enum.Surface       (VkSurfaceTransformFlagBitsKHR,+                                                 VkSurfaceTransformFlagsKHR)+import Graphics.Vulkan.Types.Handles            (VkDisplayKHR, VkDisplayModeKHR)+import Graphics.Vulkan.Types.Struct.Extent      (VkExtent2D)+import Graphics.Vulkan.Types.Struct.Offset      (VkOffset2D)+import Graphics.Vulkan.Types.Struct.Present     (VkPresentInfoKHR)+import Graphics.Vulkan.Types.Struct.Rect        (VkRect2D)++-- | > typedef struct VkDisplayEventInfoEXT {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkDisplayEventTypeEXT            displayEvent;+--   > } VkDisplayEventInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayEventInfoEXT VkDisplayEventInfoEXT registry at www.khronos.org>+type VkDisplayEventInfoEXT = VkStruct VkDisplayEventInfoEXT' -- ' closing tick for hsc2hs++data VkDisplayEventInfoEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDisplayEventInfoEXT where+    type StructRep VkDisplayEventInfoEXT =+         'StructMeta "VkDisplayEventInfoEXT" VkDisplayEventInfoEXT  -- ' closing tick for hsc2hs+                                                                   #{size VkDisplayEventInfoEXT}+           #{alignment VkDisplayEventInfoEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDisplayEventInfoEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDisplayEventInfoEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "displayEvent" VkDisplayEventTypeEXT 'False +                                                                     #{offset VkDisplayEventInfoEXT, displayEvent}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDisplayModeCreateInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkDisplayModeCreateFlagsKHR      flags;+--   >     VkDisplayModeParametersKHR       parameters;+--   > } VkDisplayModeCreateInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayModeCreateInfoKHR VkDisplayModeCreateInfoKHR registry at www.khronos.org>+type VkDisplayModeCreateInfoKHR =+     VkStruct VkDisplayModeCreateInfoKHR' -- ' closing tick for hsc2hs++data VkDisplayModeCreateInfoKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDisplayModeCreateInfoKHR where+    type StructRep VkDisplayModeCreateInfoKHR =+         'StructMeta "VkDisplayModeCreateInfoKHR" VkDisplayModeCreateInfoKHR -- ' closing tick for hsc2hs+           #{size VkDisplayModeCreateInfoKHR}+           #{alignment VkDisplayModeCreateInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDisplayModeCreateInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDisplayModeCreateInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkDisplayModeCreateFlagsKHR 'True +                                                                   #{offset VkDisplayModeCreateInfoKHR, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "parameters" VkDisplayModeParametersKHR 'False+                #{offset VkDisplayModeCreateInfoKHR, parameters}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDisplayModeParametersKHR {+--   >     VkExtent2D                       visibleRegion;+--   >     uint32_t                         refreshRate;+--   > } VkDisplayModeParametersKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayModeParametersKHR VkDisplayModeParametersKHR registry at www.khronos.org>+type VkDisplayModeParametersKHR =+     VkStruct VkDisplayModeParametersKHR' -- ' closing tick for hsc2hs++data VkDisplayModeParametersKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDisplayModeParametersKHR where+    type StructRep VkDisplayModeParametersKHR =+         'StructMeta "VkDisplayModeParametersKHR" VkDisplayModeParametersKHR -- ' closing tick for hsc2hs+           #{size VkDisplayModeParametersKHR}+           #{alignment VkDisplayModeParametersKHR}+           '[('FieldMeta "visibleRegion" VkExtent2D 'False  -- ' closing tick for hsc2hs+                                                           #{offset VkDisplayModeParametersKHR, visibleRegion}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "refreshRate" Word32 'False +                                                     #{offset VkDisplayModeParametersKHR, refreshRate}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDisplayModeProperties2KHR {+--   >     VkStructureType sType;+--   >     void* pNext;+--   >     VkDisplayModePropertiesKHR displayModeProperties;+--   > } VkDisplayModeProperties2KHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayModeProperties2KHR VkDisplayModeProperties2KHR registry at www.khronos.org>+type VkDisplayModeProperties2KHR =+     VkStruct VkDisplayModeProperties2KHR' -- ' closing tick for hsc2hs++data VkDisplayModeProperties2KHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDisplayModeProperties2KHR where+    type StructRep VkDisplayModeProperties2KHR =+         'StructMeta "VkDisplayModeProperties2KHR" -- ' closing tick for hsc2hs+           VkDisplayModeProperties2KHR+           #{size VkDisplayModeProperties2KHR}+           #{alignment VkDisplayModeProperties2KHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDisplayModeProperties2KHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDisplayModeProperties2KHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "displayModeProperties" VkDisplayModePropertiesKHR -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkDisplayModeProperties2KHR, displayModeProperties}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDisplayModePropertiesKHR {+--   >     VkDisplayModeKHR                 displayMode;+--   >     VkDisplayModeParametersKHR       parameters;+--   > } VkDisplayModePropertiesKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayModePropertiesKHR VkDisplayModePropertiesKHR registry at www.khronos.org>+type VkDisplayModePropertiesKHR =+     VkStruct VkDisplayModePropertiesKHR' -- ' closing tick for hsc2hs++data VkDisplayModePropertiesKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDisplayModePropertiesKHR where+    type StructRep VkDisplayModePropertiesKHR =+         'StructMeta "VkDisplayModePropertiesKHR" VkDisplayModePropertiesKHR -- ' closing tick for hsc2hs+           #{size VkDisplayModePropertiesKHR}+           #{alignment VkDisplayModePropertiesKHR}+           '[('FieldMeta "displayMode" VkDisplayModeKHR 'False  -- ' closing tick for hsc2hs+                                                               #{offset VkDisplayModePropertiesKHR, displayMode}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "parameters" VkDisplayModeParametersKHR 'False+                #{offset VkDisplayModePropertiesKHR, parameters}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDisplayPlaneCapabilities2KHR {+--   >     VkStructureType sType;+--   >     void* pNext;+--   >     VkDisplayPlaneCapabilitiesKHR capabilities;+--   > } VkDisplayPlaneCapabilities2KHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayPlaneCapabilities2KHR VkDisplayPlaneCapabilities2KHR registry at www.khronos.org>+type VkDisplayPlaneCapabilities2KHR =+     VkStruct VkDisplayPlaneCapabilities2KHR' -- ' closing tick for hsc2hs++data VkDisplayPlaneCapabilities2KHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDisplayPlaneCapabilities2KHR where+    type StructRep VkDisplayPlaneCapabilities2KHR =+         'StructMeta "VkDisplayPlaneCapabilities2KHR" -- ' closing tick for hsc2hs+           VkDisplayPlaneCapabilities2KHR+           #{size VkDisplayPlaneCapabilities2KHR}+           #{alignment VkDisplayPlaneCapabilities2KHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDisplayPlaneCapabilities2KHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDisplayPlaneCapabilities2KHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "capabilities" VkDisplayPlaneCapabilitiesKHR 'False+                #{offset VkDisplayPlaneCapabilities2KHR, capabilities}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDisplayPlaneCapabilitiesKHR {+--   >     VkDisplayPlaneAlphaFlagsKHR      supportedAlpha;+--   >     VkOffset2D                       minSrcPosition;+--   >     VkOffset2D                       maxSrcPosition;+--   >     VkExtent2D                       minSrcExtent;+--   >     VkExtent2D                       maxSrcExtent;+--   >     VkOffset2D                       minDstPosition;+--   >     VkOffset2D                       maxDstPosition;+--   >     VkExtent2D                       minDstExtent;+--   >     VkExtent2D                       maxDstExtent;+--   > } VkDisplayPlaneCapabilitiesKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayPlaneCapabilitiesKHR VkDisplayPlaneCapabilitiesKHR registry at www.khronos.org>+type VkDisplayPlaneCapabilitiesKHR =+     VkStruct VkDisplayPlaneCapabilitiesKHR' -- ' closing tick for hsc2hs++data VkDisplayPlaneCapabilitiesKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDisplayPlaneCapabilitiesKHR where+    type StructRep VkDisplayPlaneCapabilitiesKHR =+         'StructMeta "VkDisplayPlaneCapabilitiesKHR" -- ' closing tick for hsc2hs+           VkDisplayPlaneCapabilitiesKHR+           #{size VkDisplayPlaneCapabilitiesKHR}+           #{alignment VkDisplayPlaneCapabilitiesKHR}+           '[('FieldMeta "supportedAlpha" VkDisplayPlaneAlphaFlagsKHR 'True -- ' closing tick for hsc2hs+                #{offset VkDisplayPlaneCapabilitiesKHR, supportedAlpha}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minSrcPosition" VkOffset2D 'False +                                                            #{offset VkDisplayPlaneCapabilitiesKHR, minSrcPosition}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxSrcPosition" VkOffset2D 'False +                                                            #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcPosition}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minSrcExtent" VkExtent2D 'False +                                                          #{offset VkDisplayPlaneCapabilitiesKHR, minSrcExtent}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxSrcExtent" VkExtent2D 'False +                                                          #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcExtent}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minDstPosition" VkOffset2D 'False +                                                            #{offset VkDisplayPlaneCapabilitiesKHR, minDstPosition}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxDstPosition" VkOffset2D 'False +                                                            #{offset VkDisplayPlaneCapabilitiesKHR, maxDstPosition}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minDstExtent" VkExtent2D 'False +                                                          #{offset VkDisplayPlaneCapabilitiesKHR, minDstExtent}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxDstExtent" VkExtent2D 'False +                                                          #{offset VkDisplayPlaneCapabilitiesKHR, maxDstExtent}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDisplayPlaneInfo2KHR {+--   >     VkStructureType sType;+--   >     const void* pNext;+--   >     VkDisplayModeKHR mode;+--   >     uint32_t planeIndex;+--   > } VkDisplayPlaneInfo2KHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayPlaneInfo2KHR VkDisplayPlaneInfo2KHR registry at www.khronos.org>+type VkDisplayPlaneInfo2KHR = VkStruct VkDisplayPlaneInfo2KHR' -- ' closing tick for hsc2hs++data VkDisplayPlaneInfo2KHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDisplayPlaneInfo2KHR where+    type StructRep VkDisplayPlaneInfo2KHR =+         'StructMeta "VkDisplayPlaneInfo2KHR" VkDisplayPlaneInfo2KHR -- ' closing tick for hsc2hs+           #{size VkDisplayPlaneInfo2KHR}+           #{alignment VkDisplayPlaneInfo2KHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDisplayPlaneInfo2KHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDisplayPlaneInfo2KHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "mode" VkDisplayModeKHR 'False +                                                        #{offset VkDisplayPlaneInfo2KHR, mode}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "planeIndex" Word32 'False +                                                    #{offset VkDisplayPlaneInfo2KHR, planeIndex}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDisplayPlaneProperties2KHR {+--   >     VkStructureType sType;+--   >     void* pNext;+--   >     VkDisplayPlanePropertiesKHR displayPlaneProperties;+--   > } VkDisplayPlaneProperties2KHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayPlaneProperties2KHR VkDisplayPlaneProperties2KHR registry at www.khronos.org>+type VkDisplayPlaneProperties2KHR =+     VkStruct VkDisplayPlaneProperties2KHR' -- ' closing tick for hsc2hs++data VkDisplayPlaneProperties2KHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDisplayPlaneProperties2KHR where+    type StructRep VkDisplayPlaneProperties2KHR =+         'StructMeta "VkDisplayPlaneProperties2KHR" -- ' closing tick for hsc2hs+           VkDisplayPlaneProperties2KHR+           #{size VkDisplayPlaneProperties2KHR}+           #{alignment VkDisplayPlaneProperties2KHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDisplayPlaneProperties2KHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDisplayPlaneProperties2KHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "displayPlaneProperties" VkDisplayPlanePropertiesKHR -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkDisplayPlaneProperties2KHR, displayPlaneProperties}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDisplayPlanePropertiesKHR {+--   >     VkDisplayKHR                     currentDisplay;+--   >     uint32_t                         currentStackIndex;+--   > } VkDisplayPlanePropertiesKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayPlanePropertiesKHR VkDisplayPlanePropertiesKHR registry at www.khronos.org>+type VkDisplayPlanePropertiesKHR =+     VkStruct VkDisplayPlanePropertiesKHR' -- ' closing tick for hsc2hs++data VkDisplayPlanePropertiesKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDisplayPlanePropertiesKHR where+    type StructRep VkDisplayPlanePropertiesKHR =+         'StructMeta "VkDisplayPlanePropertiesKHR" -- ' closing tick for hsc2hs+           VkDisplayPlanePropertiesKHR+           #{size VkDisplayPlanePropertiesKHR}+           #{alignment VkDisplayPlanePropertiesKHR}+           '[('FieldMeta "currentDisplay" VkDisplayKHR 'False  -- ' closing tick for hsc2hs+                                                              #{offset VkDisplayPlanePropertiesKHR, currentDisplay}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "currentStackIndex" Word32 'False +                                                           #{offset VkDisplayPlanePropertiesKHR, currentStackIndex}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDisplayPowerInfoEXT {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkDisplayPowerStateEXT           powerState;+--   > } VkDisplayPowerInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayPowerInfoEXT VkDisplayPowerInfoEXT registry at www.khronos.org>+type VkDisplayPowerInfoEXT = VkStruct VkDisplayPowerInfoEXT' -- ' closing tick for hsc2hs++data VkDisplayPowerInfoEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDisplayPowerInfoEXT where+    type StructRep VkDisplayPowerInfoEXT =+         'StructMeta "VkDisplayPowerInfoEXT" VkDisplayPowerInfoEXT  -- ' closing tick for hsc2hs+                                                                   #{size VkDisplayPowerInfoEXT}+           #{alignment VkDisplayPowerInfoEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDisplayPowerInfoEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDisplayPowerInfoEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "powerState" VkDisplayPowerStateEXT 'False +                                                                    #{offset VkDisplayPowerInfoEXT, powerState}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDisplayPresentInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkRect2D                         srcRect;+--   >     VkRect2D                         dstRect;+--   >     VkBool32                         persistent;+--   > } VkDisplayPresentInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayPresentInfoKHR VkDisplayPresentInfoKHR registry at www.khronos.org>+type VkDisplayPresentInfoKHR = VkStruct VkDisplayPresentInfoKHR' -- ' closing tick for hsc2hs++data VkDisplayPresentInfoKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDisplayPresentInfoKHR where+    type StructRep VkDisplayPresentInfoKHR =+         'StructMeta "VkDisplayPresentInfoKHR" VkDisplayPresentInfoKHR -- ' closing tick for hsc2hs+           #{size VkDisplayPresentInfoKHR}+           #{alignment VkDisplayPresentInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDisplayPresentInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDisplayPresentInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "srcRect" VkRect2D 'False +                                                   #{offset VkDisplayPresentInfoKHR, srcRect}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dstRect" VkRect2D 'False +                                                   #{offset VkDisplayPresentInfoKHR, dstRect}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "persistent" VkBool32 'False +                                                      #{offset VkDisplayPresentInfoKHR, persistent}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPresentInfoKHR] -- ' closing tick for hsc2hs++-- | > typedef struct VkDisplayProperties2KHR {+--   >     VkStructureType sType;+--   >     void* pNext;+--   >     VkDisplayPropertiesKHR displayProperties;+--   > } VkDisplayProperties2KHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayProperties2KHR VkDisplayProperties2KHR registry at www.khronos.org>+type VkDisplayProperties2KHR = VkStruct VkDisplayProperties2KHR' -- ' closing tick for hsc2hs++data VkDisplayProperties2KHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDisplayProperties2KHR where+    type StructRep VkDisplayProperties2KHR =+         'StructMeta "VkDisplayProperties2KHR" VkDisplayProperties2KHR -- ' closing tick for hsc2hs+           #{size VkDisplayProperties2KHR}+           #{alignment VkDisplayProperties2KHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDisplayProperties2KHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDisplayProperties2KHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "displayProperties" VkDisplayPropertiesKHR 'False+                #{offset VkDisplayProperties2KHR, displayProperties}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDisplayPropertiesKHR {+--   >     VkDisplayKHR                     display;+--   >     const char*                      displayName;+--   >     VkExtent2D                       physicalDimensions;+--   >     VkExtent2D                       physicalResolution;+--   >     VkSurfaceTransformFlagsKHR       supportedTransforms;+--   >     VkBool32                         planeReorderPossible;+--   >     VkBool32                         persistentContent;+--   > } VkDisplayPropertiesKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayPropertiesKHR VkDisplayPropertiesKHR registry at www.khronos.org>+type VkDisplayPropertiesKHR = VkStruct VkDisplayPropertiesKHR' -- ' closing tick for hsc2hs++data VkDisplayPropertiesKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDisplayPropertiesKHR where+    type StructRep VkDisplayPropertiesKHR =+         'StructMeta "VkDisplayPropertiesKHR" VkDisplayPropertiesKHR -- ' closing tick for hsc2hs+           #{size VkDisplayPropertiesKHR}+           #{alignment VkDisplayPropertiesKHR}+           '[('FieldMeta "display" VkDisplayKHR 'False  -- ' closing tick for hsc2hs+                                                       #{offset VkDisplayPropertiesKHR, display}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "displayName" CString 'False +                                                      #{offset VkDisplayPropertiesKHR, displayName}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "physicalDimensions" VkExtent2D 'False +                                                                #{offset VkDisplayPropertiesKHR, physicalDimensions}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "physicalResolution" VkExtent2D 'False +                                                                #{offset VkDisplayPropertiesKHR, physicalResolution}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "supportedTransforms" VkSurfaceTransformFlagsKHR 'True+                #{offset VkDisplayPropertiesKHR, supportedTransforms}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "planeReorderPossible" VkBool32 'False +                                                                #{offset VkDisplayPropertiesKHR, planeReorderPossible}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "persistentContent" VkBool32 'False +                                                             #{offset VkDisplayPropertiesKHR, persistentContent}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkDisplaySurfaceCreateInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkDisplaySurfaceCreateFlagsKHR   flags;+--   >     VkDisplayModeKHR                 displayMode;+--   >     uint32_t                         planeIndex;+--   >     uint32_t                         planeStackIndex;+--   >     VkSurfaceTransformFlagBitsKHR    transform;+--   >     float                            globalAlpha;+--   >     VkDisplayPlaneAlphaFlagBitsKHR   alphaMode;+--   >     VkExtent2D                       imageExtent;+--   > } VkDisplaySurfaceCreateInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplaySurfaceCreateInfoKHR VkDisplaySurfaceCreateInfoKHR registry at www.khronos.org>+type VkDisplaySurfaceCreateInfoKHR =+     VkStruct VkDisplaySurfaceCreateInfoKHR' -- ' closing tick for hsc2hs++data VkDisplaySurfaceCreateInfoKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkDisplaySurfaceCreateInfoKHR where+    type StructRep VkDisplaySurfaceCreateInfoKHR =+         'StructMeta "VkDisplaySurfaceCreateInfoKHR" -- ' closing tick for hsc2hs+           VkDisplaySurfaceCreateInfoKHR+           #{size VkDisplaySurfaceCreateInfoKHR}+           #{alignment VkDisplaySurfaceCreateInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkDisplaySurfaceCreateInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkDisplaySurfaceCreateInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkDisplaySurfaceCreateFlagsKHR 'True +                                                                      #{offset VkDisplaySurfaceCreateInfoKHR, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "displayMode" VkDisplayModeKHR 'False +                                                               #{offset VkDisplaySurfaceCreateInfoKHR, displayMode}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "planeIndex" Word32 'False +                                                    #{offset VkDisplaySurfaceCreateInfoKHR, planeIndex}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "planeStackIndex" Word32 'False +                                                         #{offset VkDisplaySurfaceCreateInfoKHR, planeStackIndex}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "transform" VkSurfaceTransformFlagBitsKHR 'False+                #{offset VkDisplaySurfaceCreateInfoKHR, transform}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "globalAlpha" ( -- ' closing tick for hsc2hs+                                        #{type float}+                                        ) 'False -- ' closing tick for hsc2hs+                #{offset VkDisplaySurfaceCreateInfoKHR, globalAlpha}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "alphaMode" VkDisplayPlaneAlphaFlagBitsKHR 'False+                #{offset VkDisplaySurfaceCreateInfoKHR, alphaMode}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "imageExtent" VkExtent2D 'False +                                                         #{offset VkDisplaySurfaceCreateInfoKHR, imageExtent}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/DrawInd.hsc view
@@ -2,19 +2,13 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.DrawInd-       (VkDrawIndexedIndirectCommand, VkDrawIndexedIndirectCommand', -- ' closing tick for hsc2hs-        VkDrawIndirectCommand, VkDrawIndirectCommand') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                 (Storable (..))+       (VkDrawIndexedIndirectCommand, VkDrawIndirectCommand) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal-import System.IO.Unsafe                 (unsafeDupablePerformIO)  -- | > typedef struct VkDrawIndexedIndirectCommand { --   >     uint32_t               indexCount;@@ -26,232 +20,44 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDrawIndexedIndirectCommand VkDrawIndexedIndirectCommand registry at www.khronos.org> type VkDrawIndexedIndirectCommand =-     VulkanStruct VkDrawIndexedIndirectCommand' -- ' closing tick for hsc2hs+     VkStruct VkDrawIndexedIndirectCommand' -- ' closing tick for hsc2hs  data VkDrawIndexedIndirectCommand' -- ' closing tick for hsc2hs -instance Eq VkDrawIndexedIndirectCommand where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDrawIndexedIndirectCommand where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDrawIndexedIndirectCommand where-        sizeOf ~_ = #{size VkDrawIndexedIndirectCommand}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDrawIndexedIndirectCommand}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkDrawIndexedIndirectCommand where-        type StructFields VkDrawIndexedIndirectCommand =-             '["indexCount", "instanceCount", "firstIndex", "vertexOffset", -- ' closing tick for hsc2hs-               "firstInstance"]-        type CUnionType VkDrawIndexedIndirectCommand = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDrawIndexedIndirectCommand = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDrawIndexedIndirectCommand = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "indexCount" VkDrawIndexedIndirectCommand where-        type FieldType "indexCount" VkDrawIndexedIndirectCommand = Word32-        type FieldOptional "indexCount" VkDrawIndexedIndirectCommand =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "indexCount" VkDrawIndexedIndirectCommand =-             #{offset VkDrawIndexedIndirectCommand, indexCount}-        type FieldIsArray "indexCount" VkDrawIndexedIndirectCommand =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDrawIndexedIndirectCommand, indexCount}--instance {-# OVERLAPPING #-}-         CanReadField "indexCount" VkDrawIndexedIndirectCommand where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDrawIndexedIndirectCommand, indexCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDrawIndexedIndirectCommand, indexCount}--instance {-# OVERLAPPING #-}-         CanWriteField "indexCount" VkDrawIndexedIndirectCommand where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDrawIndexedIndirectCommand, indexCount}--instance {-# OVERLAPPING #-}-         HasField "instanceCount" VkDrawIndexedIndirectCommand where-        type FieldType "instanceCount" VkDrawIndexedIndirectCommand =-             Word32-        type FieldOptional "instanceCount" VkDrawIndexedIndirectCommand =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "instanceCount" VkDrawIndexedIndirectCommand =-             #{offset VkDrawIndexedIndirectCommand, instanceCount}-        type FieldIsArray "instanceCount" VkDrawIndexedIndirectCommand =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDrawIndexedIndirectCommand, instanceCount}--instance {-# OVERLAPPING #-}-         CanReadField "instanceCount" VkDrawIndexedIndirectCommand where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDrawIndexedIndirectCommand, instanceCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDrawIndexedIndirectCommand, instanceCount}--instance {-# OVERLAPPING #-}-         CanWriteField "instanceCount" VkDrawIndexedIndirectCommand where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDrawIndexedIndirectCommand, instanceCount}--instance {-# OVERLAPPING #-}-         HasField "firstIndex" VkDrawIndexedIndirectCommand where-        type FieldType "firstIndex" VkDrawIndexedIndirectCommand = Word32-        type FieldOptional "firstIndex" VkDrawIndexedIndirectCommand =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "firstIndex" VkDrawIndexedIndirectCommand =-             #{offset VkDrawIndexedIndirectCommand, firstIndex}-        type FieldIsArray "firstIndex" VkDrawIndexedIndirectCommand =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDrawIndexedIndirectCommand, firstIndex}--instance {-# OVERLAPPING #-}-         CanReadField "firstIndex" VkDrawIndexedIndirectCommand where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDrawIndexedIndirectCommand, firstIndex})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDrawIndexedIndirectCommand, firstIndex}--instance {-# OVERLAPPING #-}-         CanWriteField "firstIndex" VkDrawIndexedIndirectCommand where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDrawIndexedIndirectCommand, firstIndex}--instance {-# OVERLAPPING #-}-         HasField "vertexOffset" VkDrawIndexedIndirectCommand where-        type FieldType "vertexOffset" VkDrawIndexedIndirectCommand = Int32-        type FieldOptional "vertexOffset" VkDrawIndexedIndirectCommand =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "vertexOffset" VkDrawIndexedIndirectCommand =-             #{offset VkDrawIndexedIndirectCommand, vertexOffset}-        type FieldIsArray "vertexOffset" VkDrawIndexedIndirectCommand =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDrawIndexedIndirectCommand, vertexOffset}--instance {-# OVERLAPPING #-}-         CanReadField "vertexOffset" VkDrawIndexedIndirectCommand where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDrawIndexedIndirectCommand, vertexOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDrawIndexedIndirectCommand, vertexOffset}--instance {-# OVERLAPPING #-}-         CanWriteField "vertexOffset" VkDrawIndexedIndirectCommand where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDrawIndexedIndirectCommand, vertexOffset}--instance {-# OVERLAPPING #-}-         HasField "firstInstance" VkDrawIndexedIndirectCommand where-        type FieldType "firstInstance" VkDrawIndexedIndirectCommand =-             Word32-        type FieldOptional "firstInstance" VkDrawIndexedIndirectCommand =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "firstInstance" VkDrawIndexedIndirectCommand =-             #{offset VkDrawIndexedIndirectCommand, firstInstance}-        type FieldIsArray "firstInstance" VkDrawIndexedIndirectCommand =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDrawIndexedIndirectCommand, firstInstance}--instance {-# OVERLAPPING #-}-         CanReadField "firstInstance" VkDrawIndexedIndirectCommand where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDrawIndexedIndirectCommand, firstInstance})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDrawIndexedIndirectCommand, firstInstance}--instance {-# OVERLAPPING #-}-         CanWriteField "firstInstance" VkDrawIndexedIndirectCommand where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDrawIndexedIndirectCommand, firstInstance}--instance Show VkDrawIndexedIndirectCommand where-        showsPrec d x-          = showString "VkDrawIndexedIndirectCommand {" .-              showString "indexCount = " .-                showsPrec d (getField @"indexCount" x) .-                  showString ", " .-                    showString "instanceCount = " .-                      showsPrec d (getField @"instanceCount" x) .-                        showString ", " .-                          showString "firstIndex = " .-                            showsPrec d (getField @"firstIndex" x) .-                              showString ", " .-                                showString "vertexOffset = " .-                                  showsPrec d (getField @"vertexOffset" x) .-                                    showString ", " .-                                      showString "firstInstance = " .-                                        showsPrec d (getField @"firstInstance" x) . showChar '}'+    type StructRep VkDrawIndexedIndirectCommand =+         'StructMeta "VkDrawIndexedIndirectCommand" -- ' closing tick for hsc2hs+           VkDrawIndexedIndirectCommand+           #{size VkDrawIndexedIndirectCommand}+           #{alignment VkDrawIndexedIndirectCommand}+           '[('FieldMeta "indexCount" Word32 'False  -- ' closing tick for hsc2hs+                                                    #{offset VkDrawIndexedIndirectCommand, indexCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "instanceCount" Word32 'False +                                                       #{offset VkDrawIndexedIndirectCommand, instanceCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "firstIndex" Word32 'False +                                                    #{offset VkDrawIndexedIndirectCommand, firstIndex}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "vertexOffset" Int32 'False +                                                     #{offset VkDrawIndexedIndirectCommand, vertexOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "firstInstance" Word32 'False +                                                       #{offset VkDrawIndexedIndirectCommand, firstInstance}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | > typedef struct VkDrawIndirectCommand { --   >     uint32_t               vertexCount;@@ -261,180 +67,35 @@ --   > } VkDrawIndirectCommand; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDrawIndirectCommand VkDrawIndirectCommand registry at www.khronos.org>-type VkDrawIndirectCommand = VulkanStruct VkDrawIndirectCommand' -- ' closing tick for hsc2hs+type VkDrawIndirectCommand = VkStruct VkDrawIndirectCommand' -- ' closing tick for hsc2hs  data VkDrawIndirectCommand' -- ' closing tick for hsc2hs -instance Eq VkDrawIndirectCommand where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkDrawIndirectCommand where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkDrawIndirectCommand where-        sizeOf ~_ = #{size VkDrawIndirectCommand}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDrawIndirectCommand}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkDrawIndirectCommand where-        type StructFields VkDrawIndirectCommand =-             '["vertexCount", "instanceCount", "firstVertex", "firstInstance"] -- ' closing tick for hsc2hs-        type CUnionType VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDrawIndirectCommand = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "vertexCount" VkDrawIndirectCommand where-        type FieldType "vertexCount" VkDrawIndirectCommand = Word32-        type FieldOptional "vertexCount" VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs-        type FieldOffset "vertexCount" VkDrawIndirectCommand =-             #{offset VkDrawIndirectCommand, vertexCount}-        type FieldIsArray "vertexCount" VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDrawIndirectCommand, vertexCount}--instance {-# OVERLAPPING #-}-         CanReadField "vertexCount" VkDrawIndirectCommand where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDrawIndirectCommand, vertexCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDrawIndirectCommand, vertexCount}--instance {-# OVERLAPPING #-}-         CanWriteField "vertexCount" VkDrawIndirectCommand where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDrawIndirectCommand, vertexCount}--instance {-# OVERLAPPING #-}-         HasField "instanceCount" VkDrawIndirectCommand where-        type FieldType "instanceCount" VkDrawIndirectCommand = Word32-        type FieldOptional "instanceCount" VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs-        type FieldOffset "instanceCount" VkDrawIndirectCommand =-             #{offset VkDrawIndirectCommand, instanceCount}-        type FieldIsArray "instanceCount" VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDrawIndirectCommand, instanceCount}--instance {-# OVERLAPPING #-}-         CanReadField "instanceCount" VkDrawIndirectCommand where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDrawIndirectCommand, instanceCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDrawIndirectCommand, instanceCount}--instance {-# OVERLAPPING #-}-         CanWriteField "instanceCount" VkDrawIndirectCommand where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDrawIndirectCommand, instanceCount}--instance {-# OVERLAPPING #-}-         HasField "firstVertex" VkDrawIndirectCommand where-        type FieldType "firstVertex" VkDrawIndirectCommand = Word32-        type FieldOptional "firstVertex" VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs-        type FieldOffset "firstVertex" VkDrawIndirectCommand =-             #{offset VkDrawIndirectCommand, firstVertex}-        type FieldIsArray "firstVertex" VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDrawIndirectCommand, firstVertex}--instance {-# OVERLAPPING #-}-         CanReadField "firstVertex" VkDrawIndirectCommand where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDrawIndirectCommand, firstVertex})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDrawIndirectCommand, firstVertex}--instance {-# OVERLAPPING #-}-         CanWriteField "firstVertex" VkDrawIndirectCommand where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDrawIndirectCommand, firstVertex}--instance {-# OVERLAPPING #-}-         HasField "firstInstance" VkDrawIndirectCommand where-        type FieldType "firstInstance" VkDrawIndirectCommand = Word32-        type FieldOptional "firstInstance" VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs-        type FieldOffset "firstInstance" VkDrawIndirectCommand =-             #{offset VkDrawIndirectCommand, firstInstance}-        type FieldIsArray "firstInstance" VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDrawIndirectCommand, firstInstance}--instance {-# OVERLAPPING #-}-         CanReadField "firstInstance" VkDrawIndirectCommand where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDrawIndirectCommand, firstInstance})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkDrawIndirectCommand, firstInstance}--instance {-# OVERLAPPING #-}-         CanWriteField "firstInstance" VkDrawIndirectCommand where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkDrawIndirectCommand, firstInstance}--instance Show VkDrawIndirectCommand where-        showsPrec d x-          = showString "VkDrawIndirectCommand {" .-              showString "vertexCount = " .-                showsPrec d (getField @"vertexCount" x) .-                  showString ", " .-                    showString "instanceCount = " .-                      showsPrec d (getField @"instanceCount" x) .-                        showString ", " .-                          showString "firstVertex = " .-                            showsPrec d (getField @"firstVertex" x) .-                              showString ", " .-                                showString "firstInstance = " .-                                  showsPrec d (getField @"firstInstance" x) . showChar '}'+    type StructRep VkDrawIndirectCommand =+         'StructMeta "VkDrawIndirectCommand" VkDrawIndirectCommand  -- ' closing tick for hsc2hs+                                                                   #{size VkDrawIndirectCommand}+           #{alignment VkDrawIndirectCommand}+           '[('FieldMeta "vertexCount" Word32 'False  -- ' closing tick for hsc2hs+                                                     #{offset VkDrawIndirectCommand, vertexCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "instanceCount" Word32 'False +                                                       #{offset VkDrawIndirectCommand, instanceCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "firstVertex" Word32 'False +                                                     #{offset VkDrawIndirectCommand, firstVertex}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "firstInstance" Word32 'False +                                                       #{offset VkDrawIndirectCommand, firstInstance}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/EventCreateInfo.hsc view
@@ -2,19 +2,15 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.EventCreateInfo-       (VkEventCreateInfo, VkEventCreateInfo') where -- ' closing tick for hsc2hs-import Foreign.Storable                         (Storable (..))+       (VkEventCreateInfo) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Bitmasks           (VkEventCreateFlags) import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkEventCreateInfo { --   >     VkStructureType sType;@@ -23,141 +19,30 @@ --   > } VkEventCreateInfo; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkEventCreateInfo VkEventCreateInfo registry at www.khronos.org>-type VkEventCreateInfo = VulkanStruct VkEventCreateInfo' -- ' closing tick for hsc2hs+type VkEventCreateInfo = VkStruct VkEventCreateInfo' -- ' closing tick for hsc2hs  data VkEventCreateInfo' -- ' closing tick for hsc2hs -instance Eq VkEventCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkEventCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkEventCreateInfo where-        sizeOf ~_ = #{size VkEventCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkEventCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkEventCreateInfo where-        type StructFields VkEventCreateInfo = '["sType", "pNext", "flags"] -- ' closing tick for hsc2hs-        type CUnionType VkEventCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkEventCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkEventCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkEventCreateInfo-         where-        type FieldType "sType" VkEventCreateInfo = VkStructureType-        type FieldOptional "sType" VkEventCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkEventCreateInfo =-             #{offset VkEventCreateInfo, sType}-        type FieldIsArray "sType" VkEventCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkEventCreateInfo, sType}--instance {-# OVERLAPPING #-} CanReadField "sType" VkEventCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkEventCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkEventCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkEventCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkEventCreateInfo, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkEventCreateInfo-         where-        type FieldType "pNext" VkEventCreateInfo = Ptr Void-        type FieldOptional "pNext" VkEventCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkEventCreateInfo =-             #{offset VkEventCreateInfo, pNext}-        type FieldIsArray "pNext" VkEventCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkEventCreateInfo, pNext}--instance {-# OVERLAPPING #-} CanReadField "pNext" VkEventCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkEventCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkEventCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkEventCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkEventCreateInfo, pNext}--instance {-# OVERLAPPING #-} HasField "flags" VkEventCreateInfo-         where-        type FieldType "flags" VkEventCreateInfo = VkEventCreateFlags-        type FieldOptional "flags" VkEventCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkEventCreateInfo =-             #{offset VkEventCreateInfo, flags}-        type FieldIsArray "flags" VkEventCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkEventCreateInfo, flags}--instance {-# OVERLAPPING #-} CanReadField "flags" VkEventCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkEventCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkEventCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkEventCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkEventCreateInfo, flags}--instance Show VkEventCreateInfo where-        showsPrec d x-          = showString "VkEventCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) . showChar '}'+    type StructRep VkEventCreateInfo =+         'StructMeta "VkEventCreateInfo" VkEventCreateInfo  -- ' closing tick for hsc2hs+                                                           #{size VkEventCreateInfo}+           #{alignment VkEventCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkEventCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkEventCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkEventCreateFlags 'True +                                                          #{offset VkEventCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/Export.hsc view
@@ -2,20 +2,15 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.Export-       (VkExportFenceCreateInfo, VkExportFenceCreateInfo', -- ' closing tick for hsc2hs-        VkExportFenceCreateInfoKHR, VkExportMemoryAllocateInfo,-        VkExportMemoryAllocateInfo', VkExportMemoryAllocateInfoKHR, -- ' closing tick for hsc2hs-        VkExportMemoryAllocateInfoNV, VkExportMemoryAllocateInfoNV', -- ' closing tick for hsc2hs-        VkExportSemaphoreCreateInfo, VkExportSemaphoreCreateInfo', -- ' closing tick for hsc2hs+       (VkExportFenceCreateInfo, VkExportFenceCreateInfoKHR,+        VkExportMemoryAllocateInfo, VkExportMemoryAllocateInfoKHR,+        VkExportMemoryAllocateInfoNV, VkExportSemaphoreCreateInfo,         VkExportSemaphoreCreateInfoKHR)        where-import Foreign.Storable                         (Storable (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.External      (VkExternalFenceHandleTypeFlags,@@ -26,7 +21,6 @@ import Graphics.Vulkan.Types.Struct.Fence       (VkFenceCreateInfo) import Graphics.Vulkan.Types.Struct.Memory      (VkMemoryAllocateInfo) import Graphics.Vulkan.Types.Struct.Semaphore   (VkSemaphoreCreateInfo)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkExportFenceCreateInfo { --   >     VkStructureType sType;@@ -35,148 +29,33 @@ --   > } VkExportFenceCreateInfo; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExportFenceCreateInfo VkExportFenceCreateInfo registry at www.khronos.org>-type VkExportFenceCreateInfo =-     VulkanStruct VkExportFenceCreateInfo' -- ' closing tick for hsc2hs+type VkExportFenceCreateInfo = VkStruct VkExportFenceCreateInfo' -- ' closing tick for hsc2hs  data VkExportFenceCreateInfo' -- ' closing tick for hsc2hs -instance Eq VkExportFenceCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkExportFenceCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkExportFenceCreateInfo where-        sizeOf ~_ = #{size VkExportFenceCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkExportFenceCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkExportFenceCreateInfo where-        type StructFields VkExportFenceCreateInfo =-             '["sType", "pNext", "handleTypes"] -- ' closing tick for hsc2hs-        type CUnionType VkExportFenceCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExportFenceCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkExportFenceCreateInfo = '[VkFenceCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkExportFenceCreateInfo where-        type FieldType "sType" VkExportFenceCreateInfo = VkStructureType-        type FieldOptional "sType" VkExportFenceCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkExportFenceCreateInfo =-             #{offset VkExportFenceCreateInfo, sType}-        type FieldIsArray "sType" VkExportFenceCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkExportFenceCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkExportFenceCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportFenceCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportFenceCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkExportFenceCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportFenceCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkExportFenceCreateInfo where-        type FieldType "pNext" VkExportFenceCreateInfo = Ptr Void-        type FieldOptional "pNext" VkExportFenceCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkExportFenceCreateInfo =-             #{offset VkExportFenceCreateInfo, pNext}-        type FieldIsArray "pNext" VkExportFenceCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkExportFenceCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkExportFenceCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportFenceCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportFenceCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkExportFenceCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportFenceCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "handleTypes" VkExportFenceCreateInfo where-        type FieldType "handleTypes" VkExportFenceCreateInfo =-             VkExternalFenceHandleTypeFlags-        type FieldOptional "handleTypes" VkExportFenceCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "handleTypes" VkExportFenceCreateInfo =-             #{offset VkExportFenceCreateInfo, handleTypes}-        type FieldIsArray "handleTypes" VkExportFenceCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportFenceCreateInfo, handleTypes}--instance {-# OVERLAPPING #-}-         CanReadField "handleTypes" VkExportFenceCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportFenceCreateInfo, handleTypes})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportFenceCreateInfo, handleTypes}--instance {-# OVERLAPPING #-}-         CanWriteField "handleTypes" VkExportFenceCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportFenceCreateInfo, handleTypes}--instance Show VkExportFenceCreateInfo where-        showsPrec d x-          = showString "VkExportFenceCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "handleTypes = " .-                            showsPrec d (getField @"handleTypes" x) . showChar '}'+    type StructRep VkExportFenceCreateInfo =+         'StructMeta "VkExportFenceCreateInfo" VkExportFenceCreateInfo -- ' closing tick for hsc2hs+           #{size VkExportFenceCreateInfo}+           #{alignment VkExportFenceCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkExportFenceCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkExportFenceCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handleTypes" VkExternalFenceHandleTypeFlags 'True+                #{offset VkExportFenceCreateInfo, handleTypes}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkFenceCreateInfo] -- ' closing tick for hsc2hs  -- | Alias for `VkExportFenceCreateInfo` type VkExportFenceCreateInfoKHR = VkExportFenceCreateInfo@@ -189,150 +68,33 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExportMemoryAllocateInfo VkExportMemoryAllocateInfo registry at www.khronos.org> type VkExportMemoryAllocateInfo =-     VulkanStruct VkExportMemoryAllocateInfo' -- ' closing tick for hsc2hs+     VkStruct VkExportMemoryAllocateInfo' -- ' closing tick for hsc2hs  data VkExportMemoryAllocateInfo' -- ' closing tick for hsc2hs -instance Eq VkExportMemoryAllocateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkExportMemoryAllocateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkExportMemoryAllocateInfo where-        sizeOf ~_ = #{size VkExportMemoryAllocateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkExportMemoryAllocateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkExportMemoryAllocateInfo where-        type StructFields VkExportMemoryAllocateInfo =-             '["sType", "pNext", "handleTypes"] -- ' closing tick for hsc2hs-        type CUnionType VkExportMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExportMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkExportMemoryAllocateInfo =-             '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkExportMemoryAllocateInfo where-        type FieldType "sType" VkExportMemoryAllocateInfo = VkStructureType-        type FieldOptional "sType" VkExportMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkExportMemoryAllocateInfo =-             #{offset VkExportMemoryAllocateInfo, sType}-        type FieldIsArray "sType" VkExportMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportMemoryAllocateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkExportMemoryAllocateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryAllocateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportMemoryAllocateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkExportMemoryAllocateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportMemoryAllocateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkExportMemoryAllocateInfo where-        type FieldType "pNext" VkExportMemoryAllocateInfo = Ptr Void-        type FieldOptional "pNext" VkExportMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkExportMemoryAllocateInfo =-             #{offset VkExportMemoryAllocateInfo, pNext}-        type FieldIsArray "pNext" VkExportMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportMemoryAllocateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkExportMemoryAllocateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryAllocateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportMemoryAllocateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkExportMemoryAllocateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportMemoryAllocateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "handleTypes" VkExportMemoryAllocateInfo where-        type FieldType "handleTypes" VkExportMemoryAllocateInfo =-             VkExternalMemoryHandleTypeFlags-        type FieldOptional "handleTypes" VkExportMemoryAllocateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "handleTypes" VkExportMemoryAllocateInfo =-             #{offset VkExportMemoryAllocateInfo, handleTypes}-        type FieldIsArray "handleTypes" VkExportMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportMemoryAllocateInfo, handleTypes}--instance {-# OVERLAPPING #-}-         CanReadField "handleTypes" VkExportMemoryAllocateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryAllocateInfo, handleTypes})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportMemoryAllocateInfo, handleTypes}--instance {-# OVERLAPPING #-}-         CanWriteField "handleTypes" VkExportMemoryAllocateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportMemoryAllocateInfo, handleTypes}--instance Show VkExportMemoryAllocateInfo where-        showsPrec d x-          = showString "VkExportMemoryAllocateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "handleTypes = " .-                            showsPrec d (getField @"handleTypes" x) . showChar '}'+    type StructRep VkExportMemoryAllocateInfo =+         'StructMeta "VkExportMemoryAllocateInfo" VkExportMemoryAllocateInfo -- ' closing tick for hsc2hs+           #{size VkExportMemoryAllocateInfo}+           #{alignment VkExportMemoryAllocateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkExportMemoryAllocateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkExportMemoryAllocateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handleTypes" VkExternalMemoryHandleTypeFlags 'True+                #{offset VkExportMemoryAllocateInfo, handleTypes}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs  -- | Alias for `VkExportMemoryAllocateInfo` type VkExportMemoryAllocateInfoKHR = VkExportMemoryAllocateInfo@@ -345,154 +107,34 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExportMemoryAllocateInfoNV VkExportMemoryAllocateInfoNV registry at www.khronos.org> type VkExportMemoryAllocateInfoNV =-     VulkanStruct VkExportMemoryAllocateInfoNV' -- ' closing tick for hsc2hs+     VkStruct VkExportMemoryAllocateInfoNV' -- ' closing tick for hsc2hs  data VkExportMemoryAllocateInfoNV' -- ' closing tick for hsc2hs -instance Eq VkExportMemoryAllocateInfoNV where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkExportMemoryAllocateInfoNV where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkExportMemoryAllocateInfoNV where-        sizeOf ~_ = #{size VkExportMemoryAllocateInfoNV}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkExportMemoryAllocateInfoNV}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkExportMemoryAllocateInfoNV where-        type StructFields VkExportMemoryAllocateInfoNV =-             '["sType", "pNext", "handleTypes"] -- ' closing tick for hsc2hs-        type CUnionType VkExportMemoryAllocateInfoNV = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExportMemoryAllocateInfoNV = 'False -- ' closing tick for hsc2hs-        type StructExtends VkExportMemoryAllocateInfoNV =-             '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkExportMemoryAllocateInfoNV where-        type FieldType "sType" VkExportMemoryAllocateInfoNV =-             VkStructureType-        type FieldOptional "sType" VkExportMemoryAllocateInfoNV = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkExportMemoryAllocateInfoNV =-             #{offset VkExportMemoryAllocateInfoNV, sType}-        type FieldIsArray "sType" VkExportMemoryAllocateInfoNV = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportMemoryAllocateInfoNV, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkExportMemoryAllocateInfoNV where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryAllocateInfoNV, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportMemoryAllocateInfoNV, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkExportMemoryAllocateInfoNV where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportMemoryAllocateInfoNV, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkExportMemoryAllocateInfoNV where-        type FieldType "pNext" VkExportMemoryAllocateInfoNV = Ptr Void-        type FieldOptional "pNext" VkExportMemoryAllocateInfoNV = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkExportMemoryAllocateInfoNV =-             #{offset VkExportMemoryAllocateInfoNV, pNext}-        type FieldIsArray "pNext" VkExportMemoryAllocateInfoNV = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportMemoryAllocateInfoNV, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkExportMemoryAllocateInfoNV where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryAllocateInfoNV, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportMemoryAllocateInfoNV, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkExportMemoryAllocateInfoNV where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportMemoryAllocateInfoNV, pNext}--instance {-# OVERLAPPING #-}-         HasField "handleTypes" VkExportMemoryAllocateInfoNV where-        type FieldType "handleTypes" VkExportMemoryAllocateInfoNV =-             VkExternalMemoryHandleTypeFlagsNV-        type FieldOptional "handleTypes" VkExportMemoryAllocateInfoNV =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "handleTypes" VkExportMemoryAllocateInfoNV =-             #{offset VkExportMemoryAllocateInfoNV, handleTypes}-        type FieldIsArray "handleTypes" VkExportMemoryAllocateInfoNV =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportMemoryAllocateInfoNV, handleTypes}--instance {-# OVERLAPPING #-}-         CanReadField "handleTypes" VkExportMemoryAllocateInfoNV where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryAllocateInfoNV, handleTypes})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportMemoryAllocateInfoNV, handleTypes}--instance {-# OVERLAPPING #-}-         CanWriteField "handleTypes" VkExportMemoryAllocateInfoNV where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportMemoryAllocateInfoNV, handleTypes}--instance Show VkExportMemoryAllocateInfoNV where-        showsPrec d x-          = showString "VkExportMemoryAllocateInfoNV {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "handleTypes = " .-                            showsPrec d (getField @"handleTypes" x) . showChar '}'+    type StructRep VkExportMemoryAllocateInfoNV =+         'StructMeta "VkExportMemoryAllocateInfoNV" -- ' closing tick for hsc2hs+           VkExportMemoryAllocateInfoNV+           #{size VkExportMemoryAllocateInfoNV}+           #{alignment VkExportMemoryAllocateInfoNV}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkExportMemoryAllocateInfoNV, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkExportMemoryAllocateInfoNV, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handleTypes" VkExternalMemoryHandleTypeFlagsNV 'True+                #{offset VkExportMemoryAllocateInfoNV, handleTypes}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs  -- | > typedef struct VkExportSemaphoreCreateInfo { --   >     VkStructureType sType;@@ -502,153 +144,34 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfo registry at www.khronos.org> type VkExportSemaphoreCreateInfo =-     VulkanStruct VkExportSemaphoreCreateInfo' -- ' closing tick for hsc2hs+     VkStruct VkExportSemaphoreCreateInfo' -- ' closing tick for hsc2hs  data VkExportSemaphoreCreateInfo' -- ' closing tick for hsc2hs -instance Eq VkExportSemaphoreCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkExportSemaphoreCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkExportSemaphoreCreateInfo where-        sizeOf ~_ = #{size VkExportSemaphoreCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkExportSemaphoreCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkExportSemaphoreCreateInfo where-        type StructFields VkExportSemaphoreCreateInfo =-             '["sType", "pNext", "handleTypes"] -- ' closing tick for hsc2hs-        type CUnionType VkExportSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExportSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkExportSemaphoreCreateInfo =-             '[VkSemaphoreCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkExportSemaphoreCreateInfo where-        type FieldType "sType" VkExportSemaphoreCreateInfo =-             VkStructureType-        type FieldOptional "sType" VkExportSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkExportSemaphoreCreateInfo =-             #{offset VkExportSemaphoreCreateInfo, sType}-        type FieldIsArray "sType" VkExportSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportSemaphoreCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkExportSemaphoreCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportSemaphoreCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkExportSemaphoreCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportSemaphoreCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkExportSemaphoreCreateInfo where-        type FieldType "pNext" VkExportSemaphoreCreateInfo = Ptr Void-        type FieldOptional "pNext" VkExportSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkExportSemaphoreCreateInfo =-             #{offset VkExportSemaphoreCreateInfo, pNext}-        type FieldIsArray "pNext" VkExportSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportSemaphoreCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkExportSemaphoreCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportSemaphoreCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkExportSemaphoreCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportSemaphoreCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "handleTypes" VkExportSemaphoreCreateInfo where-        type FieldType "handleTypes" VkExportSemaphoreCreateInfo =-             VkExternalSemaphoreHandleTypeFlags-        type FieldOptional "handleTypes" VkExportSemaphoreCreateInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "handleTypes" VkExportSemaphoreCreateInfo =-             #{offset VkExportSemaphoreCreateInfo, handleTypes}-        type FieldIsArray "handleTypes" VkExportSemaphoreCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportSemaphoreCreateInfo, handleTypes}--instance {-# OVERLAPPING #-}-         CanReadField "handleTypes" VkExportSemaphoreCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreCreateInfo, handleTypes})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportSemaphoreCreateInfo, handleTypes}--instance {-# OVERLAPPING #-}-         CanWriteField "handleTypes" VkExportSemaphoreCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportSemaphoreCreateInfo, handleTypes}--instance Show VkExportSemaphoreCreateInfo where-        showsPrec d x-          = showString "VkExportSemaphoreCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "handleTypes = " .-                            showsPrec d (getField @"handleTypes" x) . showChar '}'+    type StructRep VkExportSemaphoreCreateInfo =+         'StructMeta "VkExportSemaphoreCreateInfo" -- ' closing tick for hsc2hs+           VkExportSemaphoreCreateInfo+           #{size VkExportSemaphoreCreateInfo}+           #{alignment VkExportSemaphoreCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkExportSemaphoreCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkExportSemaphoreCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handleTypes" VkExternalSemaphoreHandleTypeFlags 'True+                #{offset VkExportSemaphoreCreateInfo, handleTypes}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkSemaphoreCreateInfo] -- ' closing tick for hsc2hs  -- | Alias for `VkExportSemaphoreCreateInfo` type VkExportSemaphoreCreateInfoKHR = VkExportSemaphoreCreateInfo
src-gen/Graphics/Vulkan/Types/Struct/ExtensionProperties.hsc view
@@ -1,24 +1,15 @@ #include "vulkan/vulkan.h"  {-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleContexts      #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE PatternSynonyms       #-}-{-# LANGUAGE ScopedTypeVariables   #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-}-{-# LANGUAGE UndecidableInstances  #-} module Graphics.Vulkan.Types.Struct.ExtensionProperties-       (VkExtensionProperties, VkExtensionProperties') where -- ' closing tick for hsc2hs-import Foreign.Storable                 (Storable (..))-import Graphics.Vulkan.Constants        (VK_MAX_EXTENSION_NAME_SIZE,-                                         pattern VK_MAX_EXTENSION_NAME_SIZE)+       (VkExtensionProperties) where+import Graphics.Vulkan.Constants        (VK_MAX_EXTENSION_NAME_SIZE) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal-import System.IO.Unsafe                 (unsafeDupablePerformIO)  -- | > typedef struct VkExtensionProperties { --   >     char            extensionName[VK_MAX_EXTENSION_NAME_SIZE];@@ -26,134 +17,25 @@ --   > } VkExtensionProperties; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExtensionProperties VkExtensionProperties registry at www.khronos.org>-type VkExtensionProperties = VulkanStruct VkExtensionProperties' -- ' closing tick for hsc2hs+type VkExtensionProperties = VkStruct VkExtensionProperties' -- ' closing tick for hsc2hs  data VkExtensionProperties' -- ' closing tick for hsc2hs -instance Eq VkExtensionProperties where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkExtensionProperties where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkExtensionProperties where-        sizeOf ~_ = #{size VkExtensionProperties}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkExtensionProperties}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkExtensionProperties where-        type StructFields VkExtensionProperties =-             '["extensionName", "specVersion"] -- ' closing tick for hsc2hs-        type CUnionType VkExtensionProperties = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExtensionProperties = 'True -- ' closing tick for hsc2hs-        type StructExtends VkExtensionProperties = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "extensionName" VkExtensionProperties where-        type FieldType "extensionName" VkExtensionProperties = CChar-        type FieldOptional "extensionName" VkExtensionProperties = 'False -- ' closing tick for hsc2hs-        type FieldOffset "extensionName" VkExtensionProperties =-             #{offset VkExtensionProperties, extensionName}-        type FieldIsArray "extensionName" VkExtensionProperties = 'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExtensionProperties, extensionName}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "extensionName" VkExtensionProperties where-        type FieldArrayLength "extensionName" VkExtensionProperties =-             VK_MAX_EXTENSION_NAME_SIZE--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = VK_MAX_EXTENSION_NAME_SIZE--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkExtensionProperties, extensionName} +-                      sizeOf (undefined :: CChar) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkExtensionProperties, extensionName} +-                 sizeOf (undefined :: CChar) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "extensionName" VkExtensionProperties where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkExtensionProperties, extensionName} +-                 sizeOf (undefined :: CChar) * i)--instance {-# OVERLAPPING #-}-         HasField "specVersion" VkExtensionProperties where-        type FieldType "specVersion" VkExtensionProperties = Word32-        type FieldOptional "specVersion" VkExtensionProperties = 'False -- ' closing tick for hsc2hs-        type FieldOffset "specVersion" VkExtensionProperties =-             #{offset VkExtensionProperties, specVersion}-        type FieldIsArray "specVersion" VkExtensionProperties = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExtensionProperties, specVersion}--instance {-# OVERLAPPING #-}-         CanReadField "specVersion" VkExtensionProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExtensionProperties, specVersion})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExtensionProperties, specVersion}--instance {-# OVERLAPPING #-}-         CanWriteField "specVersion" VkExtensionProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExtensionProperties, specVersion}--instance Show VkExtensionProperties where-        showsPrec d x-          = showString "VkExtensionProperties {" .-              (showString "extensionName = [" .-                 showsPrec d-                   (let s = sizeOf-                              (undefined :: FieldType "extensionName" VkExtensionProperties)-                        o = fieldOffset @"extensionName" @VkExtensionProperties-                        f i-                          = peekByteOff (unsafePtr x) i ::-                              IO (FieldType "extensionName" VkExtensionProperties)-                      in-                      unsafeDupablePerformIO . mapM f $-                        map (\ i -> o + i * s) [0 .. VK_MAX_EXTENSION_NAME_SIZE - 1])-                   . showChar ']')-                .-                showString ", " .-                  showString "specVersion = " .-                    showsPrec d (getField @"specVersion" x) . showChar '}'+    type StructRep VkExtensionProperties =+         'StructMeta "VkExtensionProperties" VkExtensionProperties  -- ' closing tick for hsc2hs+                                                                   #{size VkExtensionProperties}+           #{alignment VkExtensionProperties}+           '[('FieldMeta "extensionName" CChar 'False  -- ' closing tick for hsc2hs+                                                      #{offset VkExtensionProperties, extensionName}+                VK_MAX_EXTENSION_NAME_SIZE+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "specVersion" Word32 'False +                                                     #{offset VkExtensionProperties, specVersion}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/Extent.hsc view
@@ -2,17 +2,13 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.Extent-       (VkExtent2D, VkExtent2D', VkExtent3D, VkExtent3D') where-import Foreign.Storable                 (Storable (..))+module Graphics.Vulkan.Types.Struct.Extent (VkExtent2D, VkExtent3D)+       where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal-import System.IO.Unsafe                 (unsafeDupablePerformIO)  -- | > typedef struct VkExtent2D { --   >     uint32_t        width;@@ -20,104 +16,28 @@ --   > } VkExtent2D; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExtent2D VkExtent2D registry at www.khronos.org>-type VkExtent2D = VulkanStruct VkExtent2D' -- ' closing tick for hsc2hs+type VkExtent2D = VkStruct VkExtent2D' -- ' closing tick for hsc2hs  data VkExtent2D' -- ' closing tick for hsc2hs -instance Eq VkExtent2D where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkExtent2D where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkExtent2D where-        sizeOf ~_ = #{size VkExtent2D}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkExtent2D}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkExtent2D where-        type StructFields VkExtent2D = '["width", "height"] -- ' closing tick for hsc2hs-        type CUnionType VkExtent2D = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExtent2D = 'False -- ' closing tick for hsc2hs-        type StructExtends VkExtent2D = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "width" VkExtent2D where-        type FieldType "width" VkExtent2D = Word32-        type FieldOptional "width" VkExtent2D = 'False -- ' closing tick for hsc2hs-        type FieldOffset "width" VkExtent2D =-             #{offset VkExtent2D, width}-        type FieldIsArray "width" VkExtent2D = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkExtent2D, width}--instance {-# OVERLAPPING #-} CanReadField "width" VkExtent2D where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExtent2D, width})--        {-# INLINE readField #-}-        readField p = peekByteOff p #{offset VkExtent2D, width}--instance {-# OVERLAPPING #-} CanWriteField "width" VkExtent2D where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExtent2D, width}--instance {-# OVERLAPPING #-} HasField "height" VkExtent2D where-        type FieldType "height" VkExtent2D = Word32-        type FieldOptional "height" VkExtent2D = 'False -- ' closing tick for hsc2hs-        type FieldOffset "height" VkExtent2D =-             #{offset VkExtent2D, height}-        type FieldIsArray "height" VkExtent2D = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkExtent2D, height}--instance {-# OVERLAPPING #-} CanReadField "height" VkExtent2D where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExtent2D, height})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExtent2D, height}--instance {-# OVERLAPPING #-} CanWriteField "height" VkExtent2D-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExtent2D, height}--instance Show VkExtent2D where-        showsPrec d x-          = showString "VkExtent2D {" .-              showString "width = " .-                showsPrec d (getField @"width" x) .-                  showString ", " .-                    showString "height = " .-                      showsPrec d (getField @"height" x) . showChar '}'+    type StructRep VkExtent2D =+         'StructMeta "VkExtent2D" VkExtent2D  -- ' closing tick for hsc2hs+                                             #{size VkExtent2D}+           #{alignment VkExtent2D}+           '[('FieldMeta "width" Word32 'False  -- ' closing tick for hsc2hs+                                               #{offset VkExtent2D, width}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "height" Word32 'False +                                                #{offset VkExtent2D, height}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | > typedef struct VkExtent3D { --   >     uint32_t        width;@@ -126,131 +46,30 @@ --   > } VkExtent3D; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExtent3D VkExtent3D registry at www.khronos.org>-type VkExtent3D = VulkanStruct VkExtent3D' -- ' closing tick for hsc2hs+type VkExtent3D = VkStruct VkExtent3D' -- ' closing tick for hsc2hs  data VkExtent3D' -- ' closing tick for hsc2hs -instance Eq VkExtent3D where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkExtent3D where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkExtent3D where-        sizeOf ~_ = #{size VkExtent3D}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkExtent3D}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkExtent3D where-        type StructFields VkExtent3D = '["width", "height", "depth"] -- ' closing tick for hsc2hs-        type CUnionType VkExtent3D = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExtent3D = 'False -- ' closing tick for hsc2hs-        type StructExtends VkExtent3D = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "width" VkExtent3D where-        type FieldType "width" VkExtent3D = Word32-        type FieldOptional "width" VkExtent3D = 'False -- ' closing tick for hsc2hs-        type FieldOffset "width" VkExtent3D =-             #{offset VkExtent3D, width}-        type FieldIsArray "width" VkExtent3D = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkExtent3D, width}--instance {-# OVERLAPPING #-} CanReadField "width" VkExtent3D where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExtent3D, width})--        {-# INLINE readField #-}-        readField p = peekByteOff p #{offset VkExtent3D, width}--instance {-# OVERLAPPING #-} CanWriteField "width" VkExtent3D where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExtent3D, width}--instance {-# OVERLAPPING #-} HasField "height" VkExtent3D where-        type FieldType "height" VkExtent3D = Word32-        type FieldOptional "height" VkExtent3D = 'False -- ' closing tick for hsc2hs-        type FieldOffset "height" VkExtent3D =-             #{offset VkExtent3D, height}-        type FieldIsArray "height" VkExtent3D = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkExtent3D, height}--instance {-# OVERLAPPING #-} CanReadField "height" VkExtent3D where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExtent3D, height})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExtent3D, height}--instance {-# OVERLAPPING #-} CanWriteField "height" VkExtent3D-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExtent3D, height}--instance {-# OVERLAPPING #-} HasField "depth" VkExtent3D where-        type FieldType "depth" VkExtent3D = Word32-        type FieldOptional "depth" VkExtent3D = 'False -- ' closing tick for hsc2hs-        type FieldOffset "depth" VkExtent3D =-             #{offset VkExtent3D, depth}-        type FieldIsArray "depth" VkExtent3D = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkExtent3D, depth}--instance {-# OVERLAPPING #-} CanReadField "depth" VkExtent3D where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExtent3D, depth})--        {-# INLINE readField #-}-        readField p = peekByteOff p #{offset VkExtent3D, depth}--instance {-# OVERLAPPING #-} CanWriteField "depth" VkExtent3D where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExtent3D, depth}--instance Show VkExtent3D where-        showsPrec d x-          = showString "VkExtent3D {" .-              showString "width = " .-                showsPrec d (getField @"width" x) .-                  showString ", " .-                    showString "height = " .-                      showsPrec d (getField @"height" x) .-                        showString ", " .-                          showString "depth = " .-                            showsPrec d (getField @"depth" x) . showChar '}'+    type StructRep VkExtent3D =+         'StructMeta "VkExtent3D" VkExtent3D  -- ' closing tick for hsc2hs+                                             #{size VkExtent3D}+           #{alignment VkExtent3D}+           '[('FieldMeta "width" Word32 'False  -- ' closing tick for hsc2hs+                                               #{offset VkExtent3D, width}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "height" Word32 'False +                                                #{offset VkExtent3D, height}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "depth" Word32 'False +                                               #{offset VkExtent3D, depth}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/External.hsc view
@@ -2,1815 +2,441 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.External-       (VkExternalBufferProperties, VkExternalBufferProperties', -- ' closing tick for hsc2hs-        VkExternalBufferPropertiesKHR, VkExternalFenceProperties,-        VkExternalFenceProperties', VkExternalFencePropertiesKHR, -- ' closing tick for hsc2hs-        VkExternalImageFormatProperties, VkExternalImageFormatProperties', -- ' closing tick for hsc2hs-        VkExternalImageFormatPropertiesKHR,-        VkExternalImageFormatPropertiesNV,-        VkExternalImageFormatPropertiesNV', -- ' closing tick for hsc2hs-        VkExternalMemoryBufferCreateInfo,-        VkExternalMemoryBufferCreateInfo', -- ' closing tick for hsc2hs-        VkExternalMemoryBufferCreateInfoKHR,-        VkExternalMemoryImageCreateInfo, VkExternalMemoryImageCreateInfo', -- ' closing tick for hsc2hs-        VkExternalMemoryImageCreateInfoKHR,-        VkExternalMemoryImageCreateInfoNV,-        VkExternalMemoryImageCreateInfoNV', VkExternalMemoryProperties, -- ' closing tick for hsc2hs-        VkExternalMemoryProperties', VkExternalMemoryPropertiesKHR, -- ' closing tick for hsc2hs-        VkExternalSemaphoreProperties, VkExternalSemaphoreProperties', -- ' closing tick for hsc2hs-        VkExternalSemaphorePropertiesKHR)-       where-import Foreign.Storable                         (Storable (..))-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Internal-import Graphics.Vulkan.Types.Enum.External      (VkExternalFenceFeatureFlags,-                                                 VkExternalFenceHandleTypeFlags,-                                                 VkExternalMemoryFeatureFlags,-                                                 VkExternalMemoryFeatureFlagsNV,-                                                 VkExternalMemoryHandleTypeFlags,-                                                 VkExternalMemoryHandleTypeFlagsNV,-                                                 VkExternalSemaphoreFeatureFlags,-                                                 VkExternalSemaphoreHandleTypeFlags)-import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)-import Graphics.Vulkan.Types.Struct.Buffer      (VkBufferCreateInfo)-import Graphics.Vulkan.Types.Struct.Image       (VkImageCreateInfo,-                                                 VkImageFormatProperties,-                                                 VkImageFormatProperties2)-import System.IO.Unsafe                         (unsafeDupablePerformIO)---- | > typedef struct VkExternalBufferProperties {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     VkExternalMemoryProperties    externalMemoryProperties;---   > } VkExternalBufferProperties;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalBufferProperties VkExternalBufferProperties registry at www.khronos.org>-type VkExternalBufferProperties =-     VulkanStruct VkExternalBufferProperties' -- ' closing tick for hsc2hs--data VkExternalBufferProperties' -- ' closing tick for hsc2hs--instance Eq VkExternalBufferProperties where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkExternalBufferProperties where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkExternalBufferProperties where-        sizeOf ~_ = #{size VkExternalBufferProperties}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkExternalBufferProperties}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkExternalBufferProperties where-        type StructFields VkExternalBufferProperties =-             '["sType", "pNext", "externalMemoryProperties"] -- ' closing tick for hsc2hs-        type CUnionType VkExternalBufferProperties = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExternalBufferProperties = 'True -- ' closing tick for hsc2hs-        type StructExtends VkExternalBufferProperties = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkExternalBufferProperties where-        type FieldType "sType" VkExternalBufferProperties = VkStructureType-        type FieldOptional "sType" VkExternalBufferProperties = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkExternalBufferProperties =-             #{offset VkExternalBufferProperties, sType}-        type FieldIsArray "sType" VkExternalBufferProperties = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalBufferProperties, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkExternalBufferProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalBufferProperties, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalBufferProperties, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkExternalBufferProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalBufferProperties, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkExternalBufferProperties where-        type FieldType "pNext" VkExternalBufferProperties = Ptr Void-        type FieldOptional "pNext" VkExternalBufferProperties = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkExternalBufferProperties =-             #{offset VkExternalBufferProperties, pNext}-        type FieldIsArray "pNext" VkExternalBufferProperties = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalBufferProperties, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkExternalBufferProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalBufferProperties, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalBufferProperties, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkExternalBufferProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalBufferProperties, pNext}--instance {-# OVERLAPPING #-}-         HasField "externalMemoryProperties" VkExternalBufferProperties-         where-        type FieldType "externalMemoryProperties"-               VkExternalBufferProperties-             = VkExternalMemoryProperties-        type FieldOptional "externalMemoryProperties"-               VkExternalBufferProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "externalMemoryProperties"-               VkExternalBufferProperties-             =-             #{offset VkExternalBufferProperties, externalMemoryProperties}-        type FieldIsArray "externalMemoryProperties"-               VkExternalBufferProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalBufferProperties, externalMemoryProperties}--instance {-# OVERLAPPING #-}-         CanReadField "externalMemoryProperties" VkExternalBufferProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalBufferProperties, externalMemoryProperties})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalBufferProperties, externalMemoryProperties}--instance {-# OVERLAPPING #-}-         CanWriteField "externalMemoryProperties" VkExternalBufferProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalBufferProperties, externalMemoryProperties}--instance Show VkExternalBufferProperties where-        showsPrec d x-          = showString "VkExternalBufferProperties {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "externalMemoryProperties = " .-                            showsPrec d (getField @"externalMemoryProperties" x) . showChar '}'---- | Alias for `VkExternalBufferProperties`-type VkExternalBufferPropertiesKHR = VkExternalBufferProperties---- | > typedef struct VkExternalFenceProperties {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;---   >     VkExternalFenceHandleTypeFlags compatibleHandleTypes;---   >     VkExternalFenceFeatureFlags externalFenceFeatures;---   > } VkExternalFenceProperties;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalFenceProperties VkExternalFenceProperties registry at www.khronos.org>-type VkExternalFenceProperties =-     VulkanStruct VkExternalFenceProperties' -- ' closing tick for hsc2hs--data VkExternalFenceProperties' -- ' closing tick for hsc2hs--instance Eq VkExternalFenceProperties where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkExternalFenceProperties where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkExternalFenceProperties where-        sizeOf ~_ = #{size VkExternalFenceProperties}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkExternalFenceProperties}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkExternalFenceProperties where-        type StructFields VkExternalFenceProperties =-             '["sType", "pNext", "exportFromImportedHandleTypes", -- ' closing tick for hsc2hs-               "compatibleHandleTypes", "externalFenceFeatures"]-        type CUnionType VkExternalFenceProperties = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExternalFenceProperties = 'True -- ' closing tick for hsc2hs-        type StructExtends VkExternalFenceProperties = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkExternalFenceProperties where-        type FieldType "sType" VkExternalFenceProperties = VkStructureType-        type FieldOptional "sType" VkExternalFenceProperties = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkExternalFenceProperties =-             #{offset VkExternalFenceProperties, sType}-        type FieldIsArray "sType" VkExternalFenceProperties = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalFenceProperties, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkExternalFenceProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalFenceProperties, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalFenceProperties, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkExternalFenceProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalFenceProperties, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkExternalFenceProperties where-        type FieldType "pNext" VkExternalFenceProperties = Ptr Void-        type FieldOptional "pNext" VkExternalFenceProperties = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkExternalFenceProperties =-             #{offset VkExternalFenceProperties, pNext}-        type FieldIsArray "pNext" VkExternalFenceProperties = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalFenceProperties, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkExternalFenceProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalFenceProperties, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalFenceProperties, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkExternalFenceProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalFenceProperties, pNext}--instance {-# OVERLAPPING #-}-         HasField "exportFromImportedHandleTypes" VkExternalFenceProperties-         where-        type FieldType "exportFromImportedHandleTypes"-               VkExternalFenceProperties-             = VkExternalFenceHandleTypeFlags-        type FieldOptional "exportFromImportedHandleTypes"-               VkExternalFenceProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "exportFromImportedHandleTypes"-               VkExternalFenceProperties-             =-             #{offset VkExternalFenceProperties, exportFromImportedHandleTypes}-        type FieldIsArray "exportFromImportedHandleTypes"-               VkExternalFenceProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalFenceProperties, exportFromImportedHandleTypes}--instance {-# OVERLAPPING #-}-         CanReadField "exportFromImportedHandleTypes"-           VkExternalFenceProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalFenceProperties, exportFromImportedHandleTypes})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalFenceProperties, exportFromImportedHandleTypes}--instance {-# OVERLAPPING #-}-         CanWriteField "exportFromImportedHandleTypes"-           VkExternalFenceProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalFenceProperties, exportFromImportedHandleTypes}--instance {-# OVERLAPPING #-}-         HasField "compatibleHandleTypes" VkExternalFenceProperties where-        type FieldType "compatibleHandleTypes" VkExternalFenceProperties =-             VkExternalFenceHandleTypeFlags-        type FieldOptional "compatibleHandleTypes"-               VkExternalFenceProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "compatibleHandleTypes" VkExternalFenceProperties-             =-             #{offset VkExternalFenceProperties, compatibleHandleTypes}-        type FieldIsArray "compatibleHandleTypes" VkExternalFenceProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalFenceProperties, compatibleHandleTypes}--instance {-# OVERLAPPING #-}-         CanReadField "compatibleHandleTypes" VkExternalFenceProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalFenceProperties, compatibleHandleTypes})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalFenceProperties, compatibleHandleTypes}--instance {-# OVERLAPPING #-}-         CanWriteField "compatibleHandleTypes" VkExternalFenceProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalFenceProperties, compatibleHandleTypes}--instance {-# OVERLAPPING #-}-         HasField "externalFenceFeatures" VkExternalFenceProperties where-        type FieldType "externalFenceFeatures" VkExternalFenceProperties =-             VkExternalFenceFeatureFlags-        type FieldOptional "externalFenceFeatures"-               VkExternalFenceProperties-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "externalFenceFeatures" VkExternalFenceProperties-             =-             #{offset VkExternalFenceProperties, externalFenceFeatures}-        type FieldIsArray "externalFenceFeatures" VkExternalFenceProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalFenceProperties, externalFenceFeatures}--instance {-# OVERLAPPING #-}-         CanReadField "externalFenceFeatures" VkExternalFenceProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalFenceProperties, externalFenceFeatures})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalFenceProperties, externalFenceFeatures}--instance {-# OVERLAPPING #-}-         CanWriteField "externalFenceFeatures" VkExternalFenceProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalFenceProperties, externalFenceFeatures}--instance Show VkExternalFenceProperties where-        showsPrec d x-          = showString "VkExternalFenceProperties {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "exportFromImportedHandleTypes = " .-                            showsPrec d (getField @"exportFromImportedHandleTypes" x) .-                              showString ", " .-                                showString "compatibleHandleTypes = " .-                                  showsPrec d (getField @"compatibleHandleTypes" x) .-                                    showString ", " .-                                      showString "externalFenceFeatures = " .-                                        showsPrec d (getField @"externalFenceFeatures" x) .-                                          showChar '}'---- | Alias for `VkExternalFenceProperties`-type VkExternalFencePropertiesKHR = VkExternalFenceProperties---- | > typedef struct VkExternalImageFormatProperties {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     VkExternalMemoryProperties externalMemoryProperties;---   > } VkExternalImageFormatProperties;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalImageFormatProperties VkExternalImageFormatProperties registry at www.khronos.org>-type VkExternalImageFormatProperties =-     VulkanStruct VkExternalImageFormatProperties' -- ' closing tick for hsc2hs--data VkExternalImageFormatProperties' -- ' closing tick for hsc2hs--instance Eq VkExternalImageFormatProperties where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkExternalImageFormatProperties where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkExternalImageFormatProperties where-        sizeOf ~_ = #{size VkExternalImageFormatProperties}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkExternalImageFormatProperties}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkExternalImageFormatProperties where-        type StructFields VkExternalImageFormatProperties =-             '["sType", "pNext", "externalMemoryProperties"] -- ' closing tick for hsc2hs-        type CUnionType VkExternalImageFormatProperties = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExternalImageFormatProperties = 'True -- ' closing tick for hsc2hs-        type StructExtends VkExternalImageFormatProperties =-             '[VkImageFormatProperties2] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkExternalImageFormatProperties where-        type FieldType "sType" VkExternalImageFormatProperties =-             VkStructureType-        type FieldOptional "sType" VkExternalImageFormatProperties = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkExternalImageFormatProperties =-             #{offset VkExternalImageFormatProperties, sType}-        type FieldIsArray "sType" VkExternalImageFormatProperties = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalImageFormatProperties, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkExternalImageFormatProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatProperties, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalImageFormatProperties, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkExternalImageFormatProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalImageFormatProperties, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkExternalImageFormatProperties where-        type FieldType "pNext" VkExternalImageFormatProperties = Ptr Void-        type FieldOptional "pNext" VkExternalImageFormatProperties = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkExternalImageFormatProperties =-             #{offset VkExternalImageFormatProperties, pNext}-        type FieldIsArray "pNext" VkExternalImageFormatProperties = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalImageFormatProperties, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkExternalImageFormatProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatProperties, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalImageFormatProperties, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkExternalImageFormatProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalImageFormatProperties, pNext}--instance {-# OVERLAPPING #-}-         HasField "externalMemoryProperties" VkExternalImageFormatProperties-         where-        type FieldType "externalMemoryProperties"-               VkExternalImageFormatProperties-             = VkExternalMemoryProperties-        type FieldOptional "externalMemoryProperties"-               VkExternalImageFormatProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "externalMemoryProperties"-               VkExternalImageFormatProperties-             =-             #{offset VkExternalImageFormatProperties, externalMemoryProperties}-        type FieldIsArray "externalMemoryProperties"-               VkExternalImageFormatProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalImageFormatProperties, externalMemoryProperties}--instance {-# OVERLAPPING #-}-         CanReadField "externalMemoryProperties"-           VkExternalImageFormatProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatProperties, externalMemoryProperties})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalImageFormatProperties, externalMemoryProperties}--instance {-# OVERLAPPING #-}-         CanWriteField "externalMemoryProperties"-           VkExternalImageFormatProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalImageFormatProperties, externalMemoryProperties}--instance Show VkExternalImageFormatProperties where-        showsPrec d x-          = showString "VkExternalImageFormatProperties {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "externalMemoryProperties = " .-                            showsPrec d (getField @"externalMemoryProperties" x) . showChar '}'---- | Alias for `VkExternalImageFormatProperties`-type VkExternalImageFormatPropertiesKHR =-     VkExternalImageFormatProperties---- | > typedef struct VkExternalImageFormatPropertiesNV {---   >     VkImageFormatProperties          imageFormatProperties;---   >     VkExternalMemoryFeatureFlagsNV   externalMemoryFeatures;---   >     VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;---   >     VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;---   > } VkExternalImageFormatPropertiesNV;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalImageFormatPropertiesNV VkExternalImageFormatPropertiesNV registry at www.khronos.org>-type VkExternalImageFormatPropertiesNV =-     VulkanStruct VkExternalImageFormatPropertiesNV' -- ' closing tick for hsc2hs--data VkExternalImageFormatPropertiesNV' -- ' closing tick for hsc2hs--instance Eq VkExternalImageFormatPropertiesNV where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkExternalImageFormatPropertiesNV where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkExternalImageFormatPropertiesNV where-        sizeOf ~_ = #{size VkExternalImageFormatPropertiesNV}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkExternalImageFormatPropertiesNV}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkExternalImageFormatPropertiesNV where-        type StructFields VkExternalImageFormatPropertiesNV =-             '["imageFormatProperties", "externalMemoryFeatures", -- ' closing tick for hsc2hs-               "exportFromImportedHandleTypes", "compatibleHandleTypes"]-        type CUnionType VkExternalImageFormatPropertiesNV = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExternalImageFormatPropertiesNV = 'True -- ' closing tick for hsc2hs-        type StructExtends VkExternalImageFormatPropertiesNV = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "imageFormatProperties" VkExternalImageFormatPropertiesNV-         where-        type FieldType "imageFormatProperties"-               VkExternalImageFormatPropertiesNV-             = VkImageFormatProperties-        type FieldOptional "imageFormatProperties"-               VkExternalImageFormatPropertiesNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "imageFormatProperties"-               VkExternalImageFormatPropertiesNV-             =-             #{offset VkExternalImageFormatPropertiesNV, imageFormatProperties}-        type FieldIsArray "imageFormatProperties"-               VkExternalImageFormatPropertiesNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalImageFormatPropertiesNV, imageFormatProperties}--instance {-# OVERLAPPING #-}-         CanReadField "imageFormatProperties"-           VkExternalImageFormatPropertiesNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatPropertiesNV, imageFormatProperties})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalImageFormatPropertiesNV, imageFormatProperties}--instance {-# OVERLAPPING #-}-         CanWriteField "imageFormatProperties"-           VkExternalImageFormatPropertiesNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalImageFormatPropertiesNV, imageFormatProperties}--instance {-# OVERLAPPING #-}-         HasField "externalMemoryFeatures" VkExternalImageFormatPropertiesNV-         where-        type FieldType "externalMemoryFeatures"-               VkExternalImageFormatPropertiesNV-             = VkExternalMemoryFeatureFlagsNV-        type FieldOptional "externalMemoryFeatures"-               VkExternalImageFormatPropertiesNV-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "externalMemoryFeatures"-               VkExternalImageFormatPropertiesNV-             =-             #{offset VkExternalImageFormatPropertiesNV, externalMemoryFeatures}-        type FieldIsArray "externalMemoryFeatures"-               VkExternalImageFormatPropertiesNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalImageFormatPropertiesNV, externalMemoryFeatures}--instance {-# OVERLAPPING #-}-         CanReadField "externalMemoryFeatures"-           VkExternalImageFormatPropertiesNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatPropertiesNV, externalMemoryFeatures})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalImageFormatPropertiesNV, externalMemoryFeatures}--instance {-# OVERLAPPING #-}-         CanWriteField "externalMemoryFeatures"-           VkExternalImageFormatPropertiesNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalImageFormatPropertiesNV, externalMemoryFeatures}--instance {-# OVERLAPPING #-}-         HasField "exportFromImportedHandleTypes"-           VkExternalImageFormatPropertiesNV-         where-        type FieldType "exportFromImportedHandleTypes"-               VkExternalImageFormatPropertiesNV-             = VkExternalMemoryHandleTypeFlagsNV-        type FieldOptional "exportFromImportedHandleTypes"-               VkExternalImageFormatPropertiesNV-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "exportFromImportedHandleTypes"-               VkExternalImageFormatPropertiesNV-             =-             #{offset VkExternalImageFormatPropertiesNV, exportFromImportedHandleTypes}-        type FieldIsArray "exportFromImportedHandleTypes"-               VkExternalImageFormatPropertiesNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalImageFormatPropertiesNV, exportFromImportedHandleTypes}--instance {-# OVERLAPPING #-}-         CanReadField "exportFromImportedHandleTypes"-           VkExternalImageFormatPropertiesNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatPropertiesNV, exportFromImportedHandleTypes})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalImageFormatPropertiesNV, exportFromImportedHandleTypes}--instance {-# OVERLAPPING #-}-         CanWriteField "exportFromImportedHandleTypes"-           VkExternalImageFormatPropertiesNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalImageFormatPropertiesNV, exportFromImportedHandleTypes}--instance {-# OVERLAPPING #-}-         HasField "compatibleHandleTypes" VkExternalImageFormatPropertiesNV-         where-        type FieldType "compatibleHandleTypes"-               VkExternalImageFormatPropertiesNV-             = VkExternalMemoryHandleTypeFlagsNV-        type FieldOptional "compatibleHandleTypes"-               VkExternalImageFormatPropertiesNV-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "compatibleHandleTypes"-               VkExternalImageFormatPropertiesNV-             =-             #{offset VkExternalImageFormatPropertiesNV, compatibleHandleTypes}-        type FieldIsArray "compatibleHandleTypes"-               VkExternalImageFormatPropertiesNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalImageFormatPropertiesNV, compatibleHandleTypes}--instance {-# OVERLAPPING #-}-         CanReadField "compatibleHandleTypes"-           VkExternalImageFormatPropertiesNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatPropertiesNV, compatibleHandleTypes})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalImageFormatPropertiesNV, compatibleHandleTypes}--instance {-# OVERLAPPING #-}-         CanWriteField "compatibleHandleTypes"-           VkExternalImageFormatPropertiesNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalImageFormatPropertiesNV, compatibleHandleTypes}--instance Show VkExternalImageFormatPropertiesNV where-        showsPrec d x-          = showString "VkExternalImageFormatPropertiesNV {" .-              showString "imageFormatProperties = " .-                showsPrec d (getField @"imageFormatProperties" x) .-                  showString ", " .-                    showString "externalMemoryFeatures = " .-                      showsPrec d (getField @"externalMemoryFeatures" x) .-                        showString ", " .-                          showString "exportFromImportedHandleTypes = " .-                            showsPrec d (getField @"exportFromImportedHandleTypes" x) .-                              showString ", " .-                                showString "compatibleHandleTypes = " .-                                  showsPrec d (getField @"compatibleHandleTypes" x) . showChar '}'---- | > typedef struct VkExternalMemoryBufferCreateInfo {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkExternalMemoryHandleTypeFlags handleTypes;---   > } VkExternalMemoryBufferCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfo registry at www.khronos.org>-type VkExternalMemoryBufferCreateInfo =-     VulkanStruct VkExternalMemoryBufferCreateInfo' -- ' closing tick for hsc2hs--data VkExternalMemoryBufferCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkExternalMemoryBufferCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkExternalMemoryBufferCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkExternalMemoryBufferCreateInfo where-        sizeOf ~_ = #{size VkExternalMemoryBufferCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkExternalMemoryBufferCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkExternalMemoryBufferCreateInfo where-        type StructFields VkExternalMemoryBufferCreateInfo =-             '["sType", "pNext", "handleTypes"] -- ' closing tick for hsc2hs-        type CUnionType VkExternalMemoryBufferCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExternalMemoryBufferCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkExternalMemoryBufferCreateInfo =-             '[VkBufferCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkExternalMemoryBufferCreateInfo where-        type FieldType "sType" VkExternalMemoryBufferCreateInfo =-             VkStructureType-        type FieldOptional "sType" VkExternalMemoryBufferCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkExternalMemoryBufferCreateInfo =-             #{offset VkExternalMemoryBufferCreateInfo, sType}-        type FieldIsArray "sType" VkExternalMemoryBufferCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalMemoryBufferCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkExternalMemoryBufferCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryBufferCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalMemoryBufferCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkExternalMemoryBufferCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalMemoryBufferCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkExternalMemoryBufferCreateInfo where-        type FieldType "pNext" VkExternalMemoryBufferCreateInfo = Ptr Void-        type FieldOptional "pNext" VkExternalMemoryBufferCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkExternalMemoryBufferCreateInfo =-             #{offset VkExternalMemoryBufferCreateInfo, pNext}-        type FieldIsArray "pNext" VkExternalMemoryBufferCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalMemoryBufferCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkExternalMemoryBufferCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryBufferCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalMemoryBufferCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkExternalMemoryBufferCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalMemoryBufferCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "handleTypes" VkExternalMemoryBufferCreateInfo where-        type FieldType "handleTypes" VkExternalMemoryBufferCreateInfo =-             VkExternalMemoryHandleTypeFlags-        type FieldOptional "handleTypes" VkExternalMemoryBufferCreateInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "handleTypes" VkExternalMemoryBufferCreateInfo =-             #{offset VkExternalMemoryBufferCreateInfo, handleTypes}-        type FieldIsArray "handleTypes" VkExternalMemoryBufferCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalMemoryBufferCreateInfo, handleTypes}--instance {-# OVERLAPPING #-}-         CanReadField "handleTypes" VkExternalMemoryBufferCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryBufferCreateInfo, handleTypes})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalMemoryBufferCreateInfo, handleTypes}--instance {-# OVERLAPPING #-}-         CanWriteField "handleTypes" VkExternalMemoryBufferCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalMemoryBufferCreateInfo, handleTypes}--instance Show VkExternalMemoryBufferCreateInfo where-        showsPrec d x-          = showString "VkExternalMemoryBufferCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "handleTypes = " .-                            showsPrec d (getField @"handleTypes" x) . showChar '}'---- | Alias for `VkExternalMemoryBufferCreateInfo`-type VkExternalMemoryBufferCreateInfoKHR =-     VkExternalMemoryBufferCreateInfo---- | > typedef struct VkExternalMemoryImageCreateInfo {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkExternalMemoryHandleTypeFlags handleTypes;---   > } VkExternalMemoryImageCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfo registry at www.khronos.org>-type VkExternalMemoryImageCreateInfo =-     VulkanStruct VkExternalMemoryImageCreateInfo' -- ' closing tick for hsc2hs--data VkExternalMemoryImageCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkExternalMemoryImageCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkExternalMemoryImageCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkExternalMemoryImageCreateInfo where-        sizeOf ~_ = #{size VkExternalMemoryImageCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkExternalMemoryImageCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkExternalMemoryImageCreateInfo where-        type StructFields VkExternalMemoryImageCreateInfo =-             '["sType", "pNext", "handleTypes"] -- ' closing tick for hsc2hs-        type CUnionType VkExternalMemoryImageCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExternalMemoryImageCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkExternalMemoryImageCreateInfo =-             '[VkImageCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkExternalMemoryImageCreateInfo where-        type FieldType "sType" VkExternalMemoryImageCreateInfo =-             VkStructureType-        type FieldOptional "sType" VkExternalMemoryImageCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkExternalMemoryImageCreateInfo =-             #{offset VkExternalMemoryImageCreateInfo, sType}-        type FieldIsArray "sType" VkExternalMemoryImageCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalMemoryImageCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkExternalMemoryImageCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryImageCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalMemoryImageCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkExternalMemoryImageCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalMemoryImageCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkExternalMemoryImageCreateInfo where-        type FieldType "pNext" VkExternalMemoryImageCreateInfo = Ptr Void-        type FieldOptional "pNext" VkExternalMemoryImageCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkExternalMemoryImageCreateInfo =-             #{offset VkExternalMemoryImageCreateInfo, pNext}-        type FieldIsArray "pNext" VkExternalMemoryImageCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalMemoryImageCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkExternalMemoryImageCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryImageCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalMemoryImageCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkExternalMemoryImageCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalMemoryImageCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "handleTypes" VkExternalMemoryImageCreateInfo where-        type FieldType "handleTypes" VkExternalMemoryImageCreateInfo =-             VkExternalMemoryHandleTypeFlags-        type FieldOptional "handleTypes" VkExternalMemoryImageCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "handleTypes" VkExternalMemoryImageCreateInfo =-             #{offset VkExternalMemoryImageCreateInfo, handleTypes}-        type FieldIsArray "handleTypes" VkExternalMemoryImageCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalMemoryImageCreateInfo, handleTypes}--instance {-# OVERLAPPING #-}-         CanReadField "handleTypes" VkExternalMemoryImageCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryImageCreateInfo, handleTypes})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalMemoryImageCreateInfo, handleTypes}--instance {-# OVERLAPPING #-}-         CanWriteField "handleTypes" VkExternalMemoryImageCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalMemoryImageCreateInfo, handleTypes}--instance Show VkExternalMemoryImageCreateInfo where-        showsPrec d x-          = showString "VkExternalMemoryImageCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "handleTypes = " .-                            showsPrec d (getField @"handleTypes" x) . showChar '}'---- | Alias for `VkExternalMemoryImageCreateInfo`-type VkExternalMemoryImageCreateInfoKHR =-     VkExternalMemoryImageCreateInfo---- | > typedef struct VkExternalMemoryImageCreateInfoNV {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkExternalMemoryHandleTypeFlagsNV handleTypes;---   > } VkExternalMemoryImageCreateInfoNV;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalMemoryImageCreateInfoNV VkExternalMemoryImageCreateInfoNV registry at www.khronos.org>-type VkExternalMemoryImageCreateInfoNV =-     VulkanStruct VkExternalMemoryImageCreateInfoNV' -- ' closing tick for hsc2hs--data VkExternalMemoryImageCreateInfoNV' -- ' closing tick for hsc2hs--instance Eq VkExternalMemoryImageCreateInfoNV where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkExternalMemoryImageCreateInfoNV where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkExternalMemoryImageCreateInfoNV where-        sizeOf ~_ = #{size VkExternalMemoryImageCreateInfoNV}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkExternalMemoryImageCreateInfoNV}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkExternalMemoryImageCreateInfoNV where-        type StructFields VkExternalMemoryImageCreateInfoNV =-             '["sType", "pNext", "handleTypes"] -- ' closing tick for hsc2hs-        type CUnionType VkExternalMemoryImageCreateInfoNV = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExternalMemoryImageCreateInfoNV = 'False -- ' closing tick for hsc2hs-        type StructExtends VkExternalMemoryImageCreateInfoNV =-             '[VkImageCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkExternalMemoryImageCreateInfoNV where-        type FieldType "sType" VkExternalMemoryImageCreateInfoNV =-             VkStructureType-        type FieldOptional "sType" VkExternalMemoryImageCreateInfoNV =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkExternalMemoryImageCreateInfoNV =-             #{offset VkExternalMemoryImageCreateInfoNV, sType}-        type FieldIsArray "sType" VkExternalMemoryImageCreateInfoNV =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalMemoryImageCreateInfoNV, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkExternalMemoryImageCreateInfoNV where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryImageCreateInfoNV, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalMemoryImageCreateInfoNV, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkExternalMemoryImageCreateInfoNV where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalMemoryImageCreateInfoNV, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkExternalMemoryImageCreateInfoNV where-        type FieldType "pNext" VkExternalMemoryImageCreateInfoNV = Ptr Void-        type FieldOptional "pNext" VkExternalMemoryImageCreateInfoNV =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkExternalMemoryImageCreateInfoNV =-             #{offset VkExternalMemoryImageCreateInfoNV, pNext}-        type FieldIsArray "pNext" VkExternalMemoryImageCreateInfoNV =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalMemoryImageCreateInfoNV, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkExternalMemoryImageCreateInfoNV where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryImageCreateInfoNV, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalMemoryImageCreateInfoNV, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkExternalMemoryImageCreateInfoNV where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalMemoryImageCreateInfoNV, pNext}--instance {-# OVERLAPPING #-}-         HasField "handleTypes" VkExternalMemoryImageCreateInfoNV where-        type FieldType "handleTypes" VkExternalMemoryImageCreateInfoNV =-             VkExternalMemoryHandleTypeFlagsNV-        type FieldOptional "handleTypes" VkExternalMemoryImageCreateInfoNV-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "handleTypes" VkExternalMemoryImageCreateInfoNV =-             #{offset VkExternalMemoryImageCreateInfoNV, handleTypes}-        type FieldIsArray "handleTypes" VkExternalMemoryImageCreateInfoNV =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalMemoryImageCreateInfoNV, handleTypes}--instance {-# OVERLAPPING #-}-         CanReadField "handleTypes" VkExternalMemoryImageCreateInfoNV where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryImageCreateInfoNV, handleTypes})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalMemoryImageCreateInfoNV, handleTypes}--instance {-# OVERLAPPING #-}-         CanWriteField "handleTypes" VkExternalMemoryImageCreateInfoNV where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalMemoryImageCreateInfoNV, handleTypes}--instance Show VkExternalMemoryImageCreateInfoNV where-        showsPrec d x-          = showString "VkExternalMemoryImageCreateInfoNV {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "handleTypes = " .-                            showsPrec d (getField @"handleTypes" x) . showChar '}'---- | > typedef struct VkExternalMemoryProperties {---   >     VkExternalMemoryFeatureFlags  externalMemoryFeatures;---   >     VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;---   >     VkExternalMemoryHandleTypeFlags compatibleHandleTypes;---   > } VkExternalMemoryProperties;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalMemoryProperties VkExternalMemoryProperties registry at www.khronos.org>-type VkExternalMemoryProperties =-     VulkanStruct VkExternalMemoryProperties' -- ' closing tick for hsc2hs--data VkExternalMemoryProperties' -- ' closing tick for hsc2hs--instance Eq VkExternalMemoryProperties where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkExternalMemoryProperties where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkExternalMemoryProperties where-        sizeOf ~_ = #{size VkExternalMemoryProperties}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkExternalMemoryProperties}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkExternalMemoryProperties where-        type StructFields VkExternalMemoryProperties =-             '["externalMemoryFeatures", "exportFromImportedHandleTypes", -- ' closing tick for hsc2hs-               "compatibleHandleTypes"]-        type CUnionType VkExternalMemoryProperties = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExternalMemoryProperties = 'True -- ' closing tick for hsc2hs-        type StructExtends VkExternalMemoryProperties = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "externalMemoryFeatures" VkExternalMemoryProperties where-        type FieldType "externalMemoryFeatures" VkExternalMemoryProperties-             = VkExternalMemoryFeatureFlags-        type FieldOptional "externalMemoryFeatures"-               VkExternalMemoryProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "externalMemoryFeatures"-               VkExternalMemoryProperties-             =-             #{offset VkExternalMemoryProperties, externalMemoryFeatures}-        type FieldIsArray "externalMemoryFeatures"-               VkExternalMemoryProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalMemoryProperties, externalMemoryFeatures}--instance {-# OVERLAPPING #-}-         CanReadField "externalMemoryFeatures" VkExternalMemoryProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryProperties, externalMemoryFeatures})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalMemoryProperties, externalMemoryFeatures}--instance {-# OVERLAPPING #-}-         CanWriteField "externalMemoryFeatures" VkExternalMemoryProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalMemoryProperties, externalMemoryFeatures}--instance {-# OVERLAPPING #-}-         HasField "exportFromImportedHandleTypes" VkExternalMemoryProperties-         where-        type FieldType "exportFromImportedHandleTypes"-               VkExternalMemoryProperties-             = VkExternalMemoryHandleTypeFlags-        type FieldOptional "exportFromImportedHandleTypes"-               VkExternalMemoryProperties-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "exportFromImportedHandleTypes"-               VkExternalMemoryProperties-             =-             #{offset VkExternalMemoryProperties, exportFromImportedHandleTypes}-        type FieldIsArray "exportFromImportedHandleTypes"-               VkExternalMemoryProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalMemoryProperties, exportFromImportedHandleTypes}--instance {-# OVERLAPPING #-}-         CanReadField "exportFromImportedHandleTypes"-           VkExternalMemoryProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryProperties, exportFromImportedHandleTypes})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalMemoryProperties, exportFromImportedHandleTypes}--instance {-# OVERLAPPING #-}-         CanWriteField "exportFromImportedHandleTypes"-           VkExternalMemoryProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalMemoryProperties, exportFromImportedHandleTypes}--instance {-# OVERLAPPING #-}-         HasField "compatibleHandleTypes" VkExternalMemoryProperties where-        type FieldType "compatibleHandleTypes" VkExternalMemoryProperties =-             VkExternalMemoryHandleTypeFlags-        type FieldOptional "compatibleHandleTypes"-               VkExternalMemoryProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "compatibleHandleTypes" VkExternalMemoryProperties-             =-             #{offset VkExternalMemoryProperties, compatibleHandleTypes}-        type FieldIsArray "compatibleHandleTypes"-               VkExternalMemoryProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalMemoryProperties, compatibleHandleTypes}--instance {-# OVERLAPPING #-}-         CanReadField "compatibleHandleTypes" VkExternalMemoryProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryProperties, compatibleHandleTypes})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalMemoryProperties, compatibleHandleTypes}--instance {-# OVERLAPPING #-}-         CanWriteField "compatibleHandleTypes" VkExternalMemoryProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalMemoryProperties, compatibleHandleTypes}--instance Show VkExternalMemoryProperties where-        showsPrec d x-          = showString "VkExternalMemoryProperties {" .-              showString "externalMemoryFeatures = " .-                showsPrec d (getField @"externalMemoryFeatures" x) .-                  showString ", " .-                    showString "exportFromImportedHandleTypes = " .-                      showsPrec d (getField @"exportFromImportedHandleTypes" x) .-                        showString ", " .-                          showString "compatibleHandleTypes = " .-                            showsPrec d (getField @"compatibleHandleTypes" x) . showChar '}'---- | Alias for `VkExternalMemoryProperties`-type VkExternalMemoryPropertiesKHR = VkExternalMemoryProperties---- | > typedef struct VkExternalSemaphoreProperties {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;---   >     VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;---   >     VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;---   > } VkExternalSemaphoreProperties;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalSemaphoreProperties VkExternalSemaphoreProperties registry at www.khronos.org>-type VkExternalSemaphoreProperties =-     VulkanStruct VkExternalSemaphoreProperties' -- ' closing tick for hsc2hs--data VkExternalSemaphoreProperties' -- ' closing tick for hsc2hs--instance Eq VkExternalSemaphoreProperties where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkExternalSemaphoreProperties where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkExternalSemaphoreProperties where-        sizeOf ~_ = #{size VkExternalSemaphoreProperties}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkExternalSemaphoreProperties}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkExternalSemaphoreProperties where-        type StructFields VkExternalSemaphoreProperties =-             '["sType", "pNext", "exportFromImportedHandleTypes", -- ' closing tick for hsc2hs-               "compatibleHandleTypes", "externalSemaphoreFeatures"]-        type CUnionType VkExternalSemaphoreProperties = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExternalSemaphoreProperties = 'True -- ' closing tick for hsc2hs-        type StructExtends VkExternalSemaphoreProperties = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkExternalSemaphoreProperties where-        type FieldType "sType" VkExternalSemaphoreProperties =-             VkStructureType-        type FieldOptional "sType" VkExternalSemaphoreProperties = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkExternalSemaphoreProperties =-             #{offset VkExternalSemaphoreProperties, sType}-        type FieldIsArray "sType" VkExternalSemaphoreProperties = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalSemaphoreProperties, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkExternalSemaphoreProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalSemaphoreProperties, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalSemaphoreProperties, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkExternalSemaphoreProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalSemaphoreProperties, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkExternalSemaphoreProperties where-        type FieldType "pNext" VkExternalSemaphoreProperties = Ptr Void-        type FieldOptional "pNext" VkExternalSemaphoreProperties = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkExternalSemaphoreProperties =-             #{offset VkExternalSemaphoreProperties, pNext}-        type FieldIsArray "pNext" VkExternalSemaphoreProperties = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalSemaphoreProperties, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkExternalSemaphoreProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalSemaphoreProperties, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalSemaphoreProperties, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkExternalSemaphoreProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalSemaphoreProperties, pNext}--instance {-# OVERLAPPING #-}-         HasField "exportFromImportedHandleTypes"-           VkExternalSemaphoreProperties-         where-        type FieldType "exportFromImportedHandleTypes"-               VkExternalSemaphoreProperties-             = VkExternalSemaphoreHandleTypeFlags-        type FieldOptional "exportFromImportedHandleTypes"-               VkExternalSemaphoreProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "exportFromImportedHandleTypes"-               VkExternalSemaphoreProperties-             =-             #{offset VkExternalSemaphoreProperties, exportFromImportedHandleTypes}-        type FieldIsArray "exportFromImportedHandleTypes"-               VkExternalSemaphoreProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalSemaphoreProperties, exportFromImportedHandleTypes}--instance {-# OVERLAPPING #-}-         CanReadField "exportFromImportedHandleTypes"-           VkExternalSemaphoreProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalSemaphoreProperties, exportFromImportedHandleTypes})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalSemaphoreProperties, exportFromImportedHandleTypes}--instance {-# OVERLAPPING #-}-         CanWriteField "exportFromImportedHandleTypes"-           VkExternalSemaphoreProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalSemaphoreProperties, exportFromImportedHandleTypes}--instance {-# OVERLAPPING #-}-         HasField "compatibleHandleTypes" VkExternalSemaphoreProperties-         where-        type FieldType "compatibleHandleTypes"-               VkExternalSemaphoreProperties-             = VkExternalSemaphoreHandleTypeFlags-        type FieldOptional "compatibleHandleTypes"-               VkExternalSemaphoreProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "compatibleHandleTypes"-               VkExternalSemaphoreProperties-             =-             #{offset VkExternalSemaphoreProperties, compatibleHandleTypes}-        type FieldIsArray "compatibleHandleTypes"-               VkExternalSemaphoreProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalSemaphoreProperties, compatibleHandleTypes}--instance {-# OVERLAPPING #-}-         CanReadField "compatibleHandleTypes" VkExternalSemaphoreProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalSemaphoreProperties, compatibleHandleTypes})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalSemaphoreProperties, compatibleHandleTypes}--instance {-# OVERLAPPING #-}-         CanWriteField "compatibleHandleTypes" VkExternalSemaphoreProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalSemaphoreProperties, compatibleHandleTypes}--instance {-# OVERLAPPING #-}-         HasField "externalSemaphoreFeatures" VkExternalSemaphoreProperties-         where-        type FieldType "externalSemaphoreFeatures"-               VkExternalSemaphoreProperties-             = VkExternalSemaphoreFeatureFlags-        type FieldOptional "externalSemaphoreFeatures"-               VkExternalSemaphoreProperties-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "externalSemaphoreFeatures"-               VkExternalSemaphoreProperties-             =-             #{offset VkExternalSemaphoreProperties, externalSemaphoreFeatures}-        type FieldIsArray "externalSemaphoreFeatures"-               VkExternalSemaphoreProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalSemaphoreProperties, externalSemaphoreFeatures}--instance {-# OVERLAPPING #-}-         CanReadField "externalSemaphoreFeatures"-           VkExternalSemaphoreProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalSemaphoreProperties, externalSemaphoreFeatures})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalSemaphoreProperties, externalSemaphoreFeatures}--instance {-# OVERLAPPING #-}-         CanWriteField "externalSemaphoreFeatures"-           VkExternalSemaphoreProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalSemaphoreProperties, externalSemaphoreFeatures}--instance Show VkExternalSemaphoreProperties where-        showsPrec d x-          = showString "VkExternalSemaphoreProperties {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "exportFromImportedHandleTypes = " .-                            showsPrec d (getField @"exportFromImportedHandleTypes" x) .-                              showString ", " .-                                showString "compatibleHandleTypes = " .-                                  showsPrec d (getField @"compatibleHandleTypes" x) .-                                    showString ", " .-                                      showString "externalSemaphoreFeatures = " .-                                        showsPrec d (getField @"externalSemaphoreFeatures" x) .-                                          showChar '}'+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.External+       (VkExternalBufferProperties, VkExternalBufferPropertiesKHR,+        VkExternalFenceProperties, VkExternalFencePropertiesKHR,+        VkExternalImageFormatProperties,+        VkExternalImageFormatPropertiesKHR,+        VkExternalImageFormatPropertiesNV,+        VkExternalMemoryBufferCreateInfo,+        VkExternalMemoryBufferCreateInfoKHR,+        VkExternalMemoryImageCreateInfo,+        VkExternalMemoryImageCreateInfoKHR,+        VkExternalMemoryImageCreateInfoNV, VkExternalMemoryProperties,+        VkExternalMemoryPropertiesKHR, VkExternalSemaphoreProperties,+        VkExternalSemaphorePropertiesKHR)+       where+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.External      (VkExternalFenceFeatureFlags,+                                                 VkExternalFenceHandleTypeFlags,+                                                 VkExternalMemoryFeatureFlags,+                                                 VkExternalMemoryFeatureFlagsNV,+                                                 VkExternalMemoryHandleTypeFlags,+                                                 VkExternalMemoryHandleTypeFlagsNV,+                                                 VkExternalSemaphoreFeatureFlags,+                                                 VkExternalSemaphoreHandleTypeFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Struct.Buffer      (VkBufferCreateInfo)+import Graphics.Vulkan.Types.Struct.Image       (VkImageCreateInfo,+                                                 VkImageFormatProperties,+                                                 VkImageFormatProperties2)++-- | > typedef struct VkExternalBufferProperties {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     VkExternalMemoryProperties    externalMemoryProperties;+--   > } VkExternalBufferProperties;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalBufferProperties VkExternalBufferProperties registry at www.khronos.org>+type VkExternalBufferProperties =+     VkStruct VkExternalBufferProperties' -- ' closing tick for hsc2hs++data VkExternalBufferProperties' -- ' closing tick for hsc2hs++instance VulkanMarshal VkExternalBufferProperties where+    type StructRep VkExternalBufferProperties =+         'StructMeta "VkExternalBufferProperties" VkExternalBufferProperties -- ' closing tick for hsc2hs+           #{size VkExternalBufferProperties}+           #{alignment VkExternalBufferProperties}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkExternalBufferProperties, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkExternalBufferProperties, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "externalMemoryProperties" VkExternalMemoryProperties -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkExternalBufferProperties, externalMemoryProperties}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | Alias for `VkExternalBufferProperties`+type VkExternalBufferPropertiesKHR = VkExternalBufferProperties++-- | > typedef struct VkExternalFenceProperties {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;+--   >     VkExternalFenceHandleTypeFlags compatibleHandleTypes;+--   >     VkExternalFenceFeatureFlags externalFenceFeatures;+--   > } VkExternalFenceProperties;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalFenceProperties VkExternalFenceProperties registry at www.khronos.org>+type VkExternalFenceProperties =+     VkStruct VkExternalFenceProperties' -- ' closing tick for hsc2hs++data VkExternalFenceProperties' -- ' closing tick for hsc2hs++instance VulkanMarshal VkExternalFenceProperties where+    type StructRep VkExternalFenceProperties =+         'StructMeta "VkExternalFenceProperties" VkExternalFenceProperties -- ' closing tick for hsc2hs+           #{size VkExternalFenceProperties}+           #{alignment VkExternalFenceProperties}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkExternalFenceProperties, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkExternalFenceProperties, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "exportFromImportedHandleTypes" -- ' closing tick for hsc2hs+                VkExternalFenceHandleTypeFlags+                'False -- ' closing tick for hsc2hs+                #{offset VkExternalFenceProperties, exportFromImportedHandleTypes}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "compatibleHandleTypes" VkExternalFenceHandleTypeFlags -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkExternalFenceProperties, compatibleHandleTypes}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "externalFenceFeatures" VkExternalFenceFeatureFlags -- ' closing tick for hsc2hs+                'True -- ' closing tick for hsc2hs+                #{offset VkExternalFenceProperties, externalFenceFeatures}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | Alias for `VkExternalFenceProperties`+type VkExternalFencePropertiesKHR = VkExternalFenceProperties++-- | > typedef struct VkExternalImageFormatProperties {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     VkExternalMemoryProperties externalMemoryProperties;+--   > } VkExternalImageFormatProperties;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalImageFormatProperties VkExternalImageFormatProperties registry at www.khronos.org>+type VkExternalImageFormatProperties =+     VkStruct VkExternalImageFormatProperties' -- ' closing tick for hsc2hs++data VkExternalImageFormatProperties' -- ' closing tick for hsc2hs++instance VulkanMarshal VkExternalImageFormatProperties where+    type StructRep VkExternalImageFormatProperties =+         'StructMeta "VkExternalImageFormatProperties" -- ' closing tick for hsc2hs+           VkExternalImageFormatProperties+           #{size VkExternalImageFormatProperties}+           #{alignment VkExternalImageFormatProperties}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkExternalImageFormatProperties, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkExternalImageFormatProperties, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "externalMemoryProperties" VkExternalMemoryProperties -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkExternalImageFormatProperties, externalMemoryProperties}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[VkImageFormatProperties2] -- ' closing tick for hsc2hs++-- | Alias for `VkExternalImageFormatProperties`+type VkExternalImageFormatPropertiesKHR =+     VkExternalImageFormatProperties++-- | > typedef struct VkExternalImageFormatPropertiesNV {+--   >     VkImageFormatProperties          imageFormatProperties;+--   >     VkExternalMemoryFeatureFlagsNV   externalMemoryFeatures;+--   >     VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;+--   >     VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;+--   > } VkExternalImageFormatPropertiesNV;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalImageFormatPropertiesNV VkExternalImageFormatPropertiesNV registry at www.khronos.org>+type VkExternalImageFormatPropertiesNV =+     VkStruct VkExternalImageFormatPropertiesNV' -- ' closing tick for hsc2hs++data VkExternalImageFormatPropertiesNV' -- ' closing tick for hsc2hs++instance VulkanMarshal VkExternalImageFormatPropertiesNV where+    type StructRep VkExternalImageFormatPropertiesNV =+         'StructMeta "VkExternalImageFormatPropertiesNV" -- ' closing tick for hsc2hs+           VkExternalImageFormatPropertiesNV+           #{size VkExternalImageFormatPropertiesNV}+           #{alignment VkExternalImageFormatPropertiesNV}+           '[('FieldMeta "imageFormatProperties" VkImageFormatProperties+                'False -- ' closing tick for hsc2hs+                #{offset VkExternalImageFormatPropertiesNV, imageFormatProperties}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "externalMemoryFeatures" VkExternalMemoryFeatureFlagsNV -- ' closing tick for hsc2hs+                'True -- ' closing tick for hsc2hs+                #{offset VkExternalImageFormatPropertiesNV, externalMemoryFeatures}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "exportFromImportedHandleTypes" -- ' closing tick for hsc2hs+                VkExternalMemoryHandleTypeFlagsNV+                'True -- ' closing tick for hsc2hs+                #{offset VkExternalImageFormatPropertiesNV, exportFromImportedHandleTypes}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "compatibleHandleTypes" -- ' closing tick for hsc2hs+                VkExternalMemoryHandleTypeFlagsNV+                'True -- ' closing tick for hsc2hs+                #{offset VkExternalImageFormatPropertiesNV, compatibleHandleTypes}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkExternalMemoryBufferCreateInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkExternalMemoryHandleTypeFlags handleTypes;+--   > } VkExternalMemoryBufferCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfo registry at www.khronos.org>+type VkExternalMemoryBufferCreateInfo =+     VkStruct VkExternalMemoryBufferCreateInfo' -- ' closing tick for hsc2hs++data VkExternalMemoryBufferCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkExternalMemoryBufferCreateInfo where+    type StructRep VkExternalMemoryBufferCreateInfo =+         'StructMeta "VkExternalMemoryBufferCreateInfo" -- ' closing tick for hsc2hs+           VkExternalMemoryBufferCreateInfo+           #{size VkExternalMemoryBufferCreateInfo}+           #{alignment VkExternalMemoryBufferCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkExternalMemoryBufferCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkExternalMemoryBufferCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handleTypes" VkExternalMemoryHandleTypeFlags 'True+                #{offset VkExternalMemoryBufferCreateInfo, handleTypes}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkBufferCreateInfo] -- ' closing tick for hsc2hs++-- | Alias for `VkExternalMemoryBufferCreateInfo`+type VkExternalMemoryBufferCreateInfoKHR =+     VkExternalMemoryBufferCreateInfo++-- | > typedef struct VkExternalMemoryImageCreateInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkExternalMemoryHandleTypeFlags handleTypes;+--   > } VkExternalMemoryImageCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfo registry at www.khronos.org>+type VkExternalMemoryImageCreateInfo =+     VkStruct VkExternalMemoryImageCreateInfo' -- ' closing tick for hsc2hs++data VkExternalMemoryImageCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkExternalMemoryImageCreateInfo where+    type StructRep VkExternalMemoryImageCreateInfo =+         'StructMeta "VkExternalMemoryImageCreateInfo" -- ' closing tick for hsc2hs+           VkExternalMemoryImageCreateInfo+           #{size VkExternalMemoryImageCreateInfo}+           #{alignment VkExternalMemoryImageCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkExternalMemoryImageCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkExternalMemoryImageCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handleTypes" VkExternalMemoryHandleTypeFlags 'False+                #{offset VkExternalMemoryImageCreateInfo, handleTypes}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkImageCreateInfo] -- ' closing tick for hsc2hs++-- | Alias for `VkExternalMemoryImageCreateInfo`+type VkExternalMemoryImageCreateInfoKHR =+     VkExternalMemoryImageCreateInfo++-- | > typedef struct VkExternalMemoryImageCreateInfoNV {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkExternalMemoryHandleTypeFlagsNV handleTypes;+--   > } VkExternalMemoryImageCreateInfoNV;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalMemoryImageCreateInfoNV VkExternalMemoryImageCreateInfoNV registry at www.khronos.org>+type VkExternalMemoryImageCreateInfoNV =+     VkStruct VkExternalMemoryImageCreateInfoNV' -- ' closing tick for hsc2hs++data VkExternalMemoryImageCreateInfoNV' -- ' closing tick for hsc2hs++instance VulkanMarshal VkExternalMemoryImageCreateInfoNV where+    type StructRep VkExternalMemoryImageCreateInfoNV =+         'StructMeta "VkExternalMemoryImageCreateInfoNV" -- ' closing tick for hsc2hs+           VkExternalMemoryImageCreateInfoNV+           #{size VkExternalMemoryImageCreateInfoNV}+           #{alignment VkExternalMemoryImageCreateInfoNV}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkExternalMemoryImageCreateInfoNV, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkExternalMemoryImageCreateInfoNV, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handleTypes" VkExternalMemoryHandleTypeFlagsNV 'True+                #{offset VkExternalMemoryImageCreateInfoNV, handleTypes}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkImageCreateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkExternalMemoryProperties {+--   >     VkExternalMemoryFeatureFlags  externalMemoryFeatures;+--   >     VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;+--   >     VkExternalMemoryHandleTypeFlags compatibleHandleTypes;+--   > } VkExternalMemoryProperties;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalMemoryProperties VkExternalMemoryProperties registry at www.khronos.org>+type VkExternalMemoryProperties =+     VkStruct VkExternalMemoryProperties' -- ' closing tick for hsc2hs++data VkExternalMemoryProperties' -- ' closing tick for hsc2hs++instance VulkanMarshal VkExternalMemoryProperties where+    type StructRep VkExternalMemoryProperties =+         'StructMeta "VkExternalMemoryProperties" VkExternalMemoryProperties -- ' closing tick for hsc2hs+           #{size VkExternalMemoryProperties}+           #{alignment VkExternalMemoryProperties}+           '[('FieldMeta "externalMemoryFeatures" VkExternalMemoryFeatureFlags+                'False -- ' closing tick for hsc2hs+                #{offset VkExternalMemoryProperties, externalMemoryFeatures}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "exportFromImportedHandleTypes" -- ' closing tick for hsc2hs+                VkExternalMemoryHandleTypeFlags+                'True -- ' closing tick for hsc2hs+                #{offset VkExternalMemoryProperties, exportFromImportedHandleTypes}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "compatibleHandleTypes" VkExternalMemoryHandleTypeFlags -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkExternalMemoryProperties, compatibleHandleTypes}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | Alias for `VkExternalMemoryProperties`+type VkExternalMemoryPropertiesKHR = VkExternalMemoryProperties++-- | > typedef struct VkExternalSemaphoreProperties {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;+--   >     VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;+--   >     VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;+--   > } VkExternalSemaphoreProperties;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalSemaphoreProperties VkExternalSemaphoreProperties registry at www.khronos.org>+type VkExternalSemaphoreProperties =+     VkStruct VkExternalSemaphoreProperties' -- ' closing tick for hsc2hs++data VkExternalSemaphoreProperties' -- ' closing tick for hsc2hs++instance VulkanMarshal VkExternalSemaphoreProperties where+    type StructRep VkExternalSemaphoreProperties =+         'StructMeta "VkExternalSemaphoreProperties" -- ' closing tick for hsc2hs+           VkExternalSemaphoreProperties+           #{size VkExternalSemaphoreProperties}+           #{alignment VkExternalSemaphoreProperties}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkExternalSemaphoreProperties, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkExternalSemaphoreProperties, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "exportFromImportedHandleTypes" -- ' closing tick for hsc2hs+                VkExternalSemaphoreHandleTypeFlags+                'False -- ' closing tick for hsc2hs+                #{offset VkExternalSemaphoreProperties, exportFromImportedHandleTypes}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "compatibleHandleTypes" -- ' closing tick for hsc2hs+                VkExternalSemaphoreHandleTypeFlags+                'False -- ' closing tick for hsc2hs+                #{offset VkExternalSemaphoreProperties, compatibleHandleTypes}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "externalSemaphoreFeatures" -- ' closing tick for hsc2hs+                VkExternalSemaphoreFeatureFlags+                'True -- ' closing tick for hsc2hs+                #{offset VkExternalSemaphoreProperties, externalSemaphoreFeatures}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | Alias for `VkExternalSemaphoreProperties` type VkExternalSemaphorePropertiesKHR =
src-gen/Graphics/Vulkan/Types/Struct/Fence.hsc view
@@ -2,23 +2,17 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.Fence-       (VkFenceCreateInfo, VkFenceCreateInfo', VkFenceGetFdInfoKHR, -- ' closing tick for hsc2hs-        VkFenceGetFdInfoKHR') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                         (Storable (..))+       (VkFenceCreateInfo, VkFenceGetFdInfoKHR) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.External      (VkExternalFenceHandleTypeFlagBits) import Graphics.Vulkan.Types.Enum.Fence         (VkFenceCreateFlags) import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType) import Graphics.Vulkan.Types.Handles            (VkFence)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkFenceCreateInfo { --   >     VkStructureType sType;@@ -27,144 +21,33 @@ --   > } VkFenceCreateInfo; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkFenceCreateInfo VkFenceCreateInfo registry at www.khronos.org>-type VkFenceCreateInfo = VulkanStruct VkFenceCreateInfo' -- ' closing tick for hsc2hs+type VkFenceCreateInfo = VkStruct VkFenceCreateInfo' -- ' closing tick for hsc2hs  data VkFenceCreateInfo' -- ' closing tick for hsc2hs -instance Eq VkFenceCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkFenceCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkFenceCreateInfo where-        sizeOf ~_ = #{size VkFenceCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkFenceCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkFenceCreateInfo where-        type StructFields VkFenceCreateInfo = '["sType", "pNext", "flags"] -- ' closing tick for hsc2hs-        type CUnionType VkFenceCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkFenceCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkFenceCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkFenceCreateInfo-         where-        type FieldType "sType" VkFenceCreateInfo = VkStructureType-        type FieldOptional "sType" VkFenceCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkFenceCreateInfo =-             #{offset VkFenceCreateInfo, sType}-        type FieldIsArray "sType" VkFenceCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkFenceCreateInfo, sType}--instance {-# OVERLAPPING #-} CanReadField "sType" VkFenceCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkFenceCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkFenceCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkFenceCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkFenceCreateInfo, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkFenceCreateInfo-         where-        type FieldType "pNext" VkFenceCreateInfo = Ptr Void-        type FieldOptional "pNext" VkFenceCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkFenceCreateInfo =-             #{offset VkFenceCreateInfo, pNext}-        type FieldIsArray "pNext" VkFenceCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkFenceCreateInfo, pNext}--instance {-# OVERLAPPING #-} CanReadField "pNext" VkFenceCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkFenceCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkFenceCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkFenceCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkFenceCreateInfo, pNext}--instance {-# OVERLAPPING #-} HasField "flags" VkFenceCreateInfo-         where-        type FieldType "flags" VkFenceCreateInfo = VkFenceCreateFlags-        type FieldOptional "flags" VkFenceCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkFenceCreateInfo =-             #{offset VkFenceCreateInfo, flags}-        type FieldIsArray "flags" VkFenceCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkFenceCreateInfo, flags}--instance {-# OVERLAPPING #-} CanReadField "flags" VkFenceCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkFenceCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkFenceCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkFenceCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkFenceCreateInfo, flags}--instance Show VkFenceCreateInfo where-        showsPrec d x-          = showString "VkFenceCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) . showChar '}'+    type StructRep VkFenceCreateInfo =+         'StructMeta "VkFenceCreateInfo" VkFenceCreateInfo  -- ' closing tick for hsc2hs+                                                           #{size VkFenceCreateInfo}+           #{alignment VkFenceCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkFenceCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkFenceCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkFenceCreateFlags 'True +                                                          #{offset VkFenceCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | > typedef struct VkFenceGetFdInfoKHR { --   >     VkStructureType sType;@@ -174,177 +57,35 @@ --   > } VkFenceGetFdInfoKHR; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkFenceGetFdInfoKHR VkFenceGetFdInfoKHR registry at www.khronos.org>-type VkFenceGetFdInfoKHR = VulkanStruct VkFenceGetFdInfoKHR' -- ' closing tick for hsc2hs+type VkFenceGetFdInfoKHR = VkStruct VkFenceGetFdInfoKHR' -- ' closing tick for hsc2hs  data VkFenceGetFdInfoKHR' -- ' closing tick for hsc2hs -instance Eq VkFenceGetFdInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkFenceGetFdInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkFenceGetFdInfoKHR where-        sizeOf ~_ = #{size VkFenceGetFdInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkFenceGetFdInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkFenceGetFdInfoKHR where-        type StructFields VkFenceGetFdInfoKHR =-             '["sType", "pNext", "fence", "handleType"] -- ' closing tick for hsc2hs-        type CUnionType VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkFenceGetFdInfoKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkFenceGetFdInfoKHR-         where-        type FieldType "sType" VkFenceGetFdInfoKHR = VkStructureType-        type FieldOptional "sType" VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkFenceGetFdInfoKHR =-             #{offset VkFenceGetFdInfoKHR, sType}-        type FieldIsArray "sType" VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkFenceGetFdInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkFenceGetFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkFenceGetFdInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkFenceGetFdInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkFenceGetFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkFenceGetFdInfoKHR, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkFenceGetFdInfoKHR-         where-        type FieldType "pNext" VkFenceGetFdInfoKHR = Ptr Void-        type FieldOptional "pNext" VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkFenceGetFdInfoKHR =-             #{offset VkFenceGetFdInfoKHR, pNext}-        type FieldIsArray "pNext" VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkFenceGetFdInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkFenceGetFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkFenceGetFdInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkFenceGetFdInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkFenceGetFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkFenceGetFdInfoKHR, pNext}--instance {-# OVERLAPPING #-} HasField "fence" VkFenceGetFdInfoKHR-         where-        type FieldType "fence" VkFenceGetFdInfoKHR = VkFence-        type FieldOptional "fence" VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "fence" VkFenceGetFdInfoKHR =-             #{offset VkFenceGetFdInfoKHR, fence}-        type FieldIsArray "fence" VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkFenceGetFdInfoKHR, fence}--instance {-# OVERLAPPING #-}-         CanReadField "fence" VkFenceGetFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkFenceGetFdInfoKHR, fence})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkFenceGetFdInfoKHR, fence}--instance {-# OVERLAPPING #-}-         CanWriteField "fence" VkFenceGetFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkFenceGetFdInfoKHR, fence}--instance {-# OVERLAPPING #-}-         HasField "handleType" VkFenceGetFdInfoKHR where-        type FieldType "handleType" VkFenceGetFdInfoKHR =-             VkExternalFenceHandleTypeFlagBits-        type FieldOptional "handleType" VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "handleType" VkFenceGetFdInfoKHR =-             #{offset VkFenceGetFdInfoKHR, handleType}-        type FieldIsArray "handleType" VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkFenceGetFdInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         CanReadField "handleType" VkFenceGetFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkFenceGetFdInfoKHR, handleType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkFenceGetFdInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         CanWriteField "handleType" VkFenceGetFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkFenceGetFdInfoKHR, handleType}--instance Show VkFenceGetFdInfoKHR where-        showsPrec d x-          = showString "VkFenceGetFdInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "fence = " .-                            showsPrec d (getField @"fence" x) .-                              showString ", " .-                                showString "handleType = " .-                                  showsPrec d (getField @"handleType" x) . showChar '}'+    type StructRep VkFenceGetFdInfoKHR =+         'StructMeta "VkFenceGetFdInfoKHR" VkFenceGetFdInfoKHR  -- ' closing tick for hsc2hs+                                                               #{size VkFenceGetFdInfoKHR}+           #{alignment VkFenceGetFdInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkFenceGetFdInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkFenceGetFdInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "fence" VkFence 'False +                                                #{offset VkFenceGetFdInfoKHR, fence}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handleType" VkExternalFenceHandleTypeFlagBits 'False+                #{offset VkFenceGetFdInfoKHR, handleType}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/FormatProperties.hsc view
@@ -2,21 +2,16 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.FormatProperties-       (VkFormatProperties, VkFormatProperties', VkFormatProperties2, -- ' closing tick for hsc2hs-        VkFormatProperties2', VkFormatProperties2KHR) -- ' closing tick for hsc2hs+       (VkFormatProperties, VkFormatProperties2, VkFormatProperties2KHR)        where-import Foreign.Storable                         (Storable (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.Format        (VkFormatFeatureFlags) import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkFormatProperties { --   >     VkFormatFeatureFlags   linearTilingFeatures;@@ -25,156 +20,33 @@ --   > } VkFormatProperties; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkFormatProperties VkFormatProperties registry at www.khronos.org>-type VkFormatProperties = VulkanStruct VkFormatProperties' -- ' closing tick for hsc2hs+type VkFormatProperties = VkStruct VkFormatProperties' -- ' closing tick for hsc2hs  data VkFormatProperties' -- ' closing tick for hsc2hs -instance Eq VkFormatProperties where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkFormatProperties where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkFormatProperties where-        sizeOf ~_ = #{size VkFormatProperties}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkFormatProperties}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkFormatProperties where-        type StructFields VkFormatProperties =-             '["linearTilingFeatures", "optimalTilingFeatures", -- ' closing tick for hsc2hs-               "bufferFeatures"]-        type CUnionType VkFormatProperties = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkFormatProperties = 'True -- ' closing tick for hsc2hs-        type StructExtends VkFormatProperties = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "linearTilingFeatures" VkFormatProperties where-        type FieldType "linearTilingFeatures" VkFormatProperties =-             VkFormatFeatureFlags-        type FieldOptional "linearTilingFeatures" VkFormatProperties =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "linearTilingFeatures" VkFormatProperties =-             #{offset VkFormatProperties, linearTilingFeatures}-        type FieldIsArray "linearTilingFeatures" VkFormatProperties =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkFormatProperties, linearTilingFeatures}--instance {-# OVERLAPPING #-}-         CanReadField "linearTilingFeatures" VkFormatProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkFormatProperties, linearTilingFeatures})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkFormatProperties, linearTilingFeatures}--instance {-# OVERLAPPING #-}-         CanWriteField "linearTilingFeatures" VkFormatProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkFormatProperties, linearTilingFeatures}--instance {-# OVERLAPPING #-}-         HasField "optimalTilingFeatures" VkFormatProperties where-        type FieldType "optimalTilingFeatures" VkFormatProperties =-             VkFormatFeatureFlags-        type FieldOptional "optimalTilingFeatures" VkFormatProperties =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "optimalTilingFeatures" VkFormatProperties =-             #{offset VkFormatProperties, optimalTilingFeatures}-        type FieldIsArray "optimalTilingFeatures" VkFormatProperties =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkFormatProperties, optimalTilingFeatures}--instance {-# OVERLAPPING #-}-         CanReadField "optimalTilingFeatures" VkFormatProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkFormatProperties, optimalTilingFeatures})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkFormatProperties, optimalTilingFeatures}--instance {-# OVERLAPPING #-}-         CanWriteField "optimalTilingFeatures" VkFormatProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkFormatProperties, optimalTilingFeatures}--instance {-# OVERLAPPING #-}-         HasField "bufferFeatures" VkFormatProperties where-        type FieldType "bufferFeatures" VkFormatProperties =-             VkFormatFeatureFlags-        type FieldOptional "bufferFeatures" VkFormatProperties = 'True -- ' closing tick for hsc2hs-        type FieldOffset "bufferFeatures" VkFormatProperties =-             #{offset VkFormatProperties, bufferFeatures}-        type FieldIsArray "bufferFeatures" VkFormatProperties = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkFormatProperties, bufferFeatures}--instance {-# OVERLAPPING #-}-         CanReadField "bufferFeatures" VkFormatProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkFormatProperties, bufferFeatures})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkFormatProperties, bufferFeatures}--instance {-# OVERLAPPING #-}-         CanWriteField "bufferFeatures" VkFormatProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkFormatProperties, bufferFeatures}--instance Show VkFormatProperties where-        showsPrec d x-          = showString "VkFormatProperties {" .-              showString "linearTilingFeatures = " .-                showsPrec d (getField @"linearTilingFeatures" x) .-                  showString ", " .-                    showString "optimalTilingFeatures = " .-                      showsPrec d (getField @"optimalTilingFeatures" x) .-                        showString ", " .-                          showString "bufferFeatures = " .-                            showsPrec d (getField @"bufferFeatures" x) . showChar '}'+    type StructRep VkFormatProperties =+         'StructMeta "VkFormatProperties" VkFormatProperties  -- ' closing tick for hsc2hs+                                                             #{size VkFormatProperties}+           #{alignment VkFormatProperties}+           '[('FieldMeta "linearTilingFeatures" VkFormatFeatureFlags 'True -- ' closing tick for hsc2hs+                #{offset VkFormatProperties, linearTilingFeatures}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "optimalTilingFeatures" VkFormatFeatureFlags 'True+                #{offset VkFormatProperties, optimalTilingFeatures}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "bufferFeatures" VkFormatFeatureFlags 'True +                                                                     #{offset VkFormatProperties, bufferFeatures}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | > typedef struct VkFormatProperties2 { --   >     VkStructureType sType;@@ -183,147 +55,33 @@ --   > } VkFormatProperties2; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkFormatProperties2 VkFormatProperties2 registry at www.khronos.org>-type VkFormatProperties2 = VulkanStruct VkFormatProperties2' -- ' closing tick for hsc2hs+type VkFormatProperties2 = VkStruct VkFormatProperties2' -- ' closing tick for hsc2hs  data VkFormatProperties2' -- ' closing tick for hsc2hs -instance Eq VkFormatProperties2 where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkFormatProperties2 where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkFormatProperties2 where-        sizeOf ~_ = #{size VkFormatProperties2}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkFormatProperties2}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkFormatProperties2 where-        type StructFields VkFormatProperties2 =-             '["sType", "pNext", "formatProperties"] -- ' closing tick for hsc2hs-        type CUnionType VkFormatProperties2 = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkFormatProperties2 = 'True -- ' closing tick for hsc2hs-        type StructExtends VkFormatProperties2 = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkFormatProperties2-         where-        type FieldType "sType" VkFormatProperties2 = VkStructureType-        type FieldOptional "sType" VkFormatProperties2 = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkFormatProperties2 =-             #{offset VkFormatProperties2, sType}-        type FieldIsArray "sType" VkFormatProperties2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkFormatProperties2, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkFormatProperties2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkFormatProperties2, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkFormatProperties2, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkFormatProperties2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkFormatProperties2, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkFormatProperties2-         where-        type FieldType "pNext" VkFormatProperties2 = Ptr Void-        type FieldOptional "pNext" VkFormatProperties2 = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkFormatProperties2 =-             #{offset VkFormatProperties2, pNext}-        type FieldIsArray "pNext" VkFormatProperties2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkFormatProperties2, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkFormatProperties2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkFormatProperties2, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkFormatProperties2, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkFormatProperties2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkFormatProperties2, pNext}--instance {-# OVERLAPPING #-}-         HasField "formatProperties" VkFormatProperties2 where-        type FieldType "formatProperties" VkFormatProperties2 =-             VkFormatProperties-        type FieldOptional "formatProperties" VkFormatProperties2 = 'False -- ' closing tick for hsc2hs-        type FieldOffset "formatProperties" VkFormatProperties2 =-             #{offset VkFormatProperties2, formatProperties}-        type FieldIsArray "formatProperties" VkFormatProperties2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkFormatProperties2, formatProperties}--instance {-# OVERLAPPING #-}-         CanReadField "formatProperties" VkFormatProperties2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkFormatProperties2, formatProperties})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkFormatProperties2, formatProperties}--instance {-# OVERLAPPING #-}-         CanWriteField "formatProperties" VkFormatProperties2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkFormatProperties2, formatProperties}--instance Show VkFormatProperties2 where-        showsPrec d x-          = showString "VkFormatProperties2 {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "formatProperties = " .-                            showsPrec d (getField @"formatProperties" x) . showChar '}'+    type StructRep VkFormatProperties2 =+         'StructMeta "VkFormatProperties2" VkFormatProperties2  -- ' closing tick for hsc2hs+                                                               #{size VkFormatProperties2}+           #{alignment VkFormatProperties2}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkFormatProperties2, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkFormatProperties2, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "formatProperties" VkFormatProperties 'False +                                                                      #{offset VkFormatProperties2, formatProperties}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | Alias for `VkFormatProperties2` type VkFormatProperties2KHR = VkFormatProperties2
src-gen/Graphics/Vulkan/Types/Struct/FramebufferCreateInfo.hsc view
@@ -2,20 +2,16 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.FramebufferCreateInfo-       (VkFramebufferCreateInfo, VkFramebufferCreateInfo') where -- ' closing tick for hsc2hs-import Foreign.Storable                         (Storable (..))+       (VkFramebufferCreateInfo) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Bitmasks           (VkFramebufferCreateFlags) import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType) import Graphics.Vulkan.Types.Handles            (VkImageView, VkRenderPass)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkFramebufferCreateInfo { --   >     VkStructureType sType;@@ -30,356 +26,60 @@ --   > } VkFramebufferCreateInfo; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkFramebufferCreateInfo VkFramebufferCreateInfo registry at www.khronos.org>-type VkFramebufferCreateInfo =-     VulkanStruct VkFramebufferCreateInfo' -- ' closing tick for hsc2hs+type VkFramebufferCreateInfo = VkStruct VkFramebufferCreateInfo' -- ' closing tick for hsc2hs  data VkFramebufferCreateInfo' -- ' closing tick for hsc2hs -instance Eq VkFramebufferCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkFramebufferCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkFramebufferCreateInfo where-        sizeOf ~_ = #{size VkFramebufferCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkFramebufferCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkFramebufferCreateInfo where-        type StructFields VkFramebufferCreateInfo =-             '["sType", "pNext", "flags", "renderPass", "attachmentCount", -- ' closing tick for hsc2hs-               "pAttachments", "width", "height", "layers"]-        type CUnionType VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkFramebufferCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkFramebufferCreateInfo where-        type FieldType "sType" VkFramebufferCreateInfo = VkStructureType-        type FieldOptional "sType" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkFramebufferCreateInfo =-             #{offset VkFramebufferCreateInfo, sType}-        type FieldIsArray "sType" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkFramebufferCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkFramebufferCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkFramebufferCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkFramebufferCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkFramebufferCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkFramebufferCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkFramebufferCreateInfo where-        type FieldType "pNext" VkFramebufferCreateInfo = Ptr Void-        type FieldOptional "pNext" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkFramebufferCreateInfo =-             #{offset VkFramebufferCreateInfo, pNext}-        type FieldIsArray "pNext" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkFramebufferCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkFramebufferCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkFramebufferCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkFramebufferCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkFramebufferCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkFramebufferCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkFramebufferCreateInfo where-        type FieldType "flags" VkFramebufferCreateInfo =-             VkFramebufferCreateFlags-        type FieldOptional "flags" VkFramebufferCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkFramebufferCreateInfo =-             #{offset VkFramebufferCreateInfo, flags}-        type FieldIsArray "flags" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkFramebufferCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkFramebufferCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkFramebufferCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkFramebufferCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkFramebufferCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkFramebufferCreateInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "renderPass" VkFramebufferCreateInfo where-        type FieldType "renderPass" VkFramebufferCreateInfo = VkRenderPass-        type FieldOptional "renderPass" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "renderPass" VkFramebufferCreateInfo =-             #{offset VkFramebufferCreateInfo, renderPass}-        type FieldIsArray "renderPass" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkFramebufferCreateInfo, renderPass}--instance {-# OVERLAPPING #-}-         CanReadField "renderPass" VkFramebufferCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkFramebufferCreateInfo, renderPass})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkFramebufferCreateInfo, renderPass}--instance {-# OVERLAPPING #-}-         CanWriteField "renderPass" VkFramebufferCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkFramebufferCreateInfo, renderPass}--instance {-# OVERLAPPING #-}-         HasField "attachmentCount" VkFramebufferCreateInfo where-        type FieldType "attachmentCount" VkFramebufferCreateInfo = Word32-        type FieldOptional "attachmentCount" VkFramebufferCreateInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "attachmentCount" VkFramebufferCreateInfo =-             #{offset VkFramebufferCreateInfo, attachmentCount}-        type FieldIsArray "attachmentCount" VkFramebufferCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkFramebufferCreateInfo, attachmentCount}--instance {-# OVERLAPPING #-}-         CanReadField "attachmentCount" VkFramebufferCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkFramebufferCreateInfo, attachmentCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkFramebufferCreateInfo, attachmentCount}--instance {-# OVERLAPPING #-}-         CanWriteField "attachmentCount" VkFramebufferCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkFramebufferCreateInfo, attachmentCount}--instance {-# OVERLAPPING #-}-         HasField "pAttachments" VkFramebufferCreateInfo where-        type FieldType "pAttachments" VkFramebufferCreateInfo =-             Ptr VkImageView-        type FieldOptional "pAttachments" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pAttachments" VkFramebufferCreateInfo =-             #{offset VkFramebufferCreateInfo, pAttachments}-        type FieldIsArray "pAttachments" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkFramebufferCreateInfo, pAttachments}--instance {-# OVERLAPPING #-}-         CanReadField "pAttachments" VkFramebufferCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkFramebufferCreateInfo, pAttachments})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkFramebufferCreateInfo, pAttachments}--instance {-# OVERLAPPING #-}-         CanWriteField "pAttachments" VkFramebufferCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkFramebufferCreateInfo, pAttachments}--instance {-# OVERLAPPING #-}-         HasField "width" VkFramebufferCreateInfo where-        type FieldType "width" VkFramebufferCreateInfo = Word32-        type FieldOptional "width" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "width" VkFramebufferCreateInfo =-             #{offset VkFramebufferCreateInfo, width}-        type FieldIsArray "width" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkFramebufferCreateInfo, width}--instance {-# OVERLAPPING #-}-         CanReadField "width" VkFramebufferCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkFramebufferCreateInfo, width})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkFramebufferCreateInfo, width}--instance {-# OVERLAPPING #-}-         CanWriteField "width" VkFramebufferCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkFramebufferCreateInfo, width}--instance {-# OVERLAPPING #-}-         HasField "height" VkFramebufferCreateInfo where-        type FieldType "height" VkFramebufferCreateInfo = Word32-        type FieldOptional "height" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "height" VkFramebufferCreateInfo =-             #{offset VkFramebufferCreateInfo, height}-        type FieldIsArray "height" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkFramebufferCreateInfo, height}--instance {-# OVERLAPPING #-}-         CanReadField "height" VkFramebufferCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkFramebufferCreateInfo, height})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkFramebufferCreateInfo, height}--instance {-# OVERLAPPING #-}-         CanWriteField "height" VkFramebufferCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkFramebufferCreateInfo, height}--instance {-# OVERLAPPING #-}-         HasField "layers" VkFramebufferCreateInfo where-        type FieldType "layers" VkFramebufferCreateInfo = Word32-        type FieldOptional "layers" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "layers" VkFramebufferCreateInfo =-             #{offset VkFramebufferCreateInfo, layers}-        type FieldIsArray "layers" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkFramebufferCreateInfo, layers}--instance {-# OVERLAPPING #-}-         CanReadField "layers" VkFramebufferCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkFramebufferCreateInfo, layers})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkFramebufferCreateInfo, layers}--instance {-# OVERLAPPING #-}-         CanWriteField "layers" VkFramebufferCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkFramebufferCreateInfo, layers}--instance Show VkFramebufferCreateInfo where-        showsPrec d x-          = showString "VkFramebufferCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "renderPass = " .-                                  showsPrec d (getField @"renderPass" x) .-                                    showString ", " .-                                      showString "attachmentCount = " .-                                        showsPrec d (getField @"attachmentCount" x) .-                                          showString ", " .-                                            showString "pAttachments = " .-                                              showsPrec d (getField @"pAttachments" x) .-                                                showString ", " .-                                                  showString "width = " .-                                                    showsPrec d (getField @"width" x) .-                                                      showString ", " .-                                                        showString "height = " .-                                                          showsPrec d (getField @"height" x) .-                                                            showString ", " .-                                                              showString "layers = " .-                                                                showsPrec d (getField @"layers" x) .-                                                                  showChar '}'+    type StructRep VkFramebufferCreateInfo =+         'StructMeta "VkFramebufferCreateInfo" VkFramebufferCreateInfo -- ' closing tick for hsc2hs+           #{size VkFramebufferCreateInfo}+           #{alignment VkFramebufferCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkFramebufferCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkFramebufferCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkFramebufferCreateFlags 'True +                                                                #{offset VkFramebufferCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "renderPass" VkRenderPass 'False +                                                          #{offset VkFramebufferCreateInfo, renderPass}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "attachmentCount" Word32 'True +                                                        #{offset VkFramebufferCreateInfo, attachmentCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pAttachments" (Ptr VkImageView) 'False +                                                                 #{offset VkFramebufferCreateInfo, pAttachments}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "width" Word32 'False +                                               #{offset VkFramebufferCreateInfo, width}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "height" Word32 'False +                                                #{offset VkFramebufferCreateInfo, height}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "layers" Word32 'False +                                                #{offset VkFramebufferCreateInfo, layers}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/HdrMetadataEXT.hsc view
@@ -2,19 +2,15 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.HdrMetadataEXT-       (VkHdrMetadataEXT, VkHdrMetadataEXT') where -- ' closing tick for hsc2hs-import Foreign.Storable                         (Storable (..))+       (VkHdrMetadataEXT) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType) import Graphics.Vulkan.Types.Struct.XYColorEXT  (VkXYColorEXT)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkHdrMetadataEXT { --   >     VkStructureType sType;@@ -30,403 +26,73 @@ --   > } VkHdrMetadataEXT; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkHdrMetadataEXT VkHdrMetadataEXT registry at www.khronos.org>-type VkHdrMetadataEXT = VulkanStruct VkHdrMetadataEXT' -- ' closing tick for hsc2hs+type VkHdrMetadataEXT = VkStruct VkHdrMetadataEXT' -- ' closing tick for hsc2hs  data VkHdrMetadataEXT' -- ' closing tick for hsc2hs -instance Eq VkHdrMetadataEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkHdrMetadataEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkHdrMetadataEXT where-        sizeOf ~_ = #{size VkHdrMetadataEXT}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkHdrMetadataEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkHdrMetadataEXT where-        type StructFields VkHdrMetadataEXT =-             '["sType", "pNext", "displayPrimaryRed", "displayPrimaryGreen", -- ' closing tick for hsc2hs-               "displayPrimaryBlue", "whitePoint", "maxLuminance", "minLuminance",-               "maxContentLightLevel", "maxFrameAverageLightLevel"]-        type CUnionType VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs-        type StructExtends VkHdrMetadataEXT = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkHdrMetadataEXT-         where-        type FieldType "sType" VkHdrMetadataEXT = VkStructureType-        type FieldOptional "sType" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkHdrMetadataEXT =-             #{offset VkHdrMetadataEXT, sType}-        type FieldIsArray "sType" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkHdrMetadataEXT, sType}--instance {-# OVERLAPPING #-} CanReadField "sType" VkHdrMetadataEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkHdrMetadataEXT, sType}--instance {-# OVERLAPPING #-} CanWriteField "sType" VkHdrMetadataEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkHdrMetadataEXT, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkHdrMetadataEXT-         where-        type FieldType "pNext" VkHdrMetadataEXT = Ptr Void-        type FieldOptional "pNext" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkHdrMetadataEXT =-             #{offset VkHdrMetadataEXT, pNext}-        type FieldIsArray "pNext" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkHdrMetadataEXT, pNext}--instance {-# OVERLAPPING #-} CanReadField "pNext" VkHdrMetadataEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkHdrMetadataEXT, pNext}--instance {-# OVERLAPPING #-} CanWriteField "pNext" VkHdrMetadataEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkHdrMetadataEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "displayPrimaryRed" VkHdrMetadataEXT where-        type FieldType "displayPrimaryRed" VkHdrMetadataEXT = VkXYColorEXT-        type FieldOptional "displayPrimaryRed" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "displayPrimaryRed" VkHdrMetadataEXT =-             #{offset VkHdrMetadataEXT, displayPrimaryRed}-        type FieldIsArray "displayPrimaryRed" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkHdrMetadataEXT, displayPrimaryRed}--instance {-# OVERLAPPING #-}-         CanReadField "displayPrimaryRed" VkHdrMetadataEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, displayPrimaryRed})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkHdrMetadataEXT, displayPrimaryRed}--instance {-# OVERLAPPING #-}-         CanWriteField "displayPrimaryRed" VkHdrMetadataEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkHdrMetadataEXT, displayPrimaryRed}--instance {-# OVERLAPPING #-}-         HasField "displayPrimaryGreen" VkHdrMetadataEXT where-        type FieldType "displayPrimaryGreen" VkHdrMetadataEXT =-             VkXYColorEXT-        type FieldOptional "displayPrimaryGreen" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "displayPrimaryGreen" VkHdrMetadataEXT =-             #{offset VkHdrMetadataEXT, displayPrimaryGreen}-        type FieldIsArray "displayPrimaryGreen" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkHdrMetadataEXT, displayPrimaryGreen}--instance {-# OVERLAPPING #-}-         CanReadField "displayPrimaryGreen" VkHdrMetadataEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, displayPrimaryGreen})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkHdrMetadataEXT, displayPrimaryGreen}--instance {-# OVERLAPPING #-}-         CanWriteField "displayPrimaryGreen" VkHdrMetadataEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkHdrMetadataEXT, displayPrimaryGreen}--instance {-# OVERLAPPING #-}-         HasField "displayPrimaryBlue" VkHdrMetadataEXT where-        type FieldType "displayPrimaryBlue" VkHdrMetadataEXT = VkXYColorEXT-        type FieldOptional "displayPrimaryBlue" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "displayPrimaryBlue" VkHdrMetadataEXT =-             #{offset VkHdrMetadataEXT, displayPrimaryBlue}-        type FieldIsArray "displayPrimaryBlue" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkHdrMetadataEXT, displayPrimaryBlue}--instance {-# OVERLAPPING #-}-         CanReadField "displayPrimaryBlue" VkHdrMetadataEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, displayPrimaryBlue})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkHdrMetadataEXT, displayPrimaryBlue}--instance {-# OVERLAPPING #-}-         CanWriteField "displayPrimaryBlue" VkHdrMetadataEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkHdrMetadataEXT, displayPrimaryBlue}--instance {-# OVERLAPPING #-} HasField "whitePoint" VkHdrMetadataEXT-         where-        type FieldType "whitePoint" VkHdrMetadataEXT = VkXYColorEXT-        type FieldOptional "whitePoint" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "whitePoint" VkHdrMetadataEXT =-             #{offset VkHdrMetadataEXT, whitePoint}-        type FieldIsArray "whitePoint" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkHdrMetadataEXT, whitePoint}--instance {-# OVERLAPPING #-}-         CanReadField "whitePoint" VkHdrMetadataEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, whitePoint})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkHdrMetadataEXT, whitePoint}--instance {-# OVERLAPPING #-}-         CanWriteField "whitePoint" VkHdrMetadataEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkHdrMetadataEXT, whitePoint}--instance {-# OVERLAPPING #-}-         HasField "maxLuminance" VkHdrMetadataEXT where-        type FieldType "maxLuminance" VkHdrMetadataEXT =-             #{type float}-        type FieldOptional "maxLuminance" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxLuminance" VkHdrMetadataEXT =-             #{offset VkHdrMetadataEXT, maxLuminance}-        type FieldIsArray "maxLuminance" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkHdrMetadataEXT, maxLuminance}--instance {-# OVERLAPPING #-}-         CanReadField "maxLuminance" VkHdrMetadataEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, maxLuminance})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkHdrMetadataEXT, maxLuminance}--instance {-# OVERLAPPING #-}-         CanWriteField "maxLuminance" VkHdrMetadataEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkHdrMetadataEXT, maxLuminance}--instance {-# OVERLAPPING #-}-         HasField "minLuminance" VkHdrMetadataEXT where-        type FieldType "minLuminance" VkHdrMetadataEXT =-             #{type float}-        type FieldOptional "minLuminance" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "minLuminance" VkHdrMetadataEXT =-             #{offset VkHdrMetadataEXT, minLuminance}-        type FieldIsArray "minLuminance" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkHdrMetadataEXT, minLuminance}--instance {-# OVERLAPPING #-}-         CanReadField "minLuminance" VkHdrMetadataEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, minLuminance})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkHdrMetadataEXT, minLuminance}--instance {-# OVERLAPPING #-}-         CanWriteField "minLuminance" VkHdrMetadataEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkHdrMetadataEXT, minLuminance}--instance {-# OVERLAPPING #-}-         HasField "maxContentLightLevel" VkHdrMetadataEXT where-        type FieldType "maxContentLightLevel" VkHdrMetadataEXT =-             #{type float}-        type FieldOptional "maxContentLightLevel" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxContentLightLevel" VkHdrMetadataEXT =-             #{offset VkHdrMetadataEXT, maxContentLightLevel}-        type FieldIsArray "maxContentLightLevel" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkHdrMetadataEXT, maxContentLightLevel}--instance {-# OVERLAPPING #-}-         CanReadField "maxContentLightLevel" VkHdrMetadataEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, maxContentLightLevel})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkHdrMetadataEXT, maxContentLightLevel}--instance {-# OVERLAPPING #-}-         CanWriteField "maxContentLightLevel" VkHdrMetadataEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkHdrMetadataEXT, maxContentLightLevel}--instance {-# OVERLAPPING #-}-         HasField "maxFrameAverageLightLevel" VkHdrMetadataEXT where-        type FieldType "maxFrameAverageLightLevel" VkHdrMetadataEXT =-             #{type float}-        type FieldOptional "maxFrameAverageLightLevel" VkHdrMetadataEXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxFrameAverageLightLevel" VkHdrMetadataEXT =-             #{offset VkHdrMetadataEXT, maxFrameAverageLightLevel}-        type FieldIsArray "maxFrameAverageLightLevel" VkHdrMetadataEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkHdrMetadataEXT, maxFrameAverageLightLevel}--instance {-# OVERLAPPING #-}-         CanReadField "maxFrameAverageLightLevel" VkHdrMetadataEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, maxFrameAverageLightLevel})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkHdrMetadataEXT, maxFrameAverageLightLevel}--instance {-# OVERLAPPING #-}-         CanWriteField "maxFrameAverageLightLevel" VkHdrMetadataEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkHdrMetadataEXT, maxFrameAverageLightLevel}--instance Show VkHdrMetadataEXT where-        showsPrec d x-          = showString "VkHdrMetadataEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "displayPrimaryRed = " .-                            showsPrec d (getField @"displayPrimaryRed" x) .-                              showString ", " .-                                showString "displayPrimaryGreen = " .-                                  showsPrec d (getField @"displayPrimaryGreen" x) .-                                    showString ", " .-                                      showString "displayPrimaryBlue = " .-                                        showsPrec d (getField @"displayPrimaryBlue" x) .-                                          showString ", " .-                                            showString "whitePoint = " .-                                              showsPrec d (getField @"whitePoint" x) .-                                                showString ", " .-                                                  showString "maxLuminance = " .-                                                    showsPrec d (getField @"maxLuminance" x) .-                                                      showString ", " .-                                                        showString "minLuminance = " .-                                                          showsPrec d (getField @"minLuminance" x) .-                                                            showString ", " .-                                                              showString "maxContentLightLevel = " .-                                                                showsPrec d-                                                                  (getField @"maxContentLightLevel"-                                                                     x)-                                                                  .-                                                                  showString ", " .-                                                                    showString-                                                                      "maxFrameAverageLightLevel = "-                                                                      .-                                                                      showsPrec d-                                                                        (getField-                                                                           @"maxFrameAverageLightLevel"-                                                                           x)-                                                                        . showChar '}'+    type StructRep VkHdrMetadataEXT =+         'StructMeta "VkHdrMetadataEXT" VkHdrMetadataEXT  -- ' closing tick for hsc2hs+                                                         #{size VkHdrMetadataEXT}+           #{alignment VkHdrMetadataEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkHdrMetadataEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkHdrMetadataEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "displayPrimaryRed" VkXYColorEXT 'False +                                                                 #{offset VkHdrMetadataEXT, displayPrimaryRed}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "displayPrimaryGreen" VkXYColorEXT 'False +                                                                   #{offset VkHdrMetadataEXT, displayPrimaryGreen}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "displayPrimaryBlue" VkXYColorEXT 'False +                                                                  #{offset VkHdrMetadataEXT, displayPrimaryBlue}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "whitePoint" VkXYColorEXT 'False +                                                          #{offset VkHdrMetadataEXT, whitePoint}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxLuminance" ( -- ' closing tick for hsc2hs+                                         #{type float}+                                         ) 'False -- ' closing tick for hsc2hs+                #{offset VkHdrMetadataEXT, maxLuminance}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minLuminance" ( -- ' closing tick for hsc2hs+                                         #{type float}+                                         ) 'False -- ' closing tick for hsc2hs+                #{offset VkHdrMetadataEXT, minLuminance}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxContentLightLevel" ( -- ' closing tick for hsc2hs+                                                 #{type float})+                'False -- ' closing tick for hsc2hs+                #{offset VkHdrMetadataEXT, maxContentLightLevel}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxFrameAverageLightLevel" ( -- ' closing tick for hsc2hs+                                                      #{type float})+                'False -- ' closing tick for hsc2hs+                #{offset VkHdrMetadataEXT, maxFrameAverageLightLevel}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/Image.hsc view
@@ -1,4027 +1,877 @@ #include "vulkan/vulkan.h"  {-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleContexts      #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE PatternSynonyms       #-}-{-# LANGUAGE ScopedTypeVariables   #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-}-{-# LANGUAGE TypeFamilies          #-}-{-# LANGUAGE UndecidableInstances  #-}-module Graphics.Vulkan.Types.Struct.Image-       (VkImageBlit, VkImageBlit', VkImageCopy, VkImageCopy',-        VkImageCreateInfo, VkImageCreateInfo', -- ' closing tick for hsc2hs-        VkImageFormatListCreateInfoKHR, VkImageFormatListCreateInfoKHR', -- ' closing tick for hsc2hs-        VkImageFormatProperties, VkImageFormatProperties', -- ' closing tick for hsc2hs-        VkImageFormatProperties2, VkImageFormatProperties2', -- ' closing tick for hsc2hs-        VkImageFormatProperties2KHR, VkImageMemoryBarrier,-        VkImageMemoryBarrier', VkImageMemoryRequirementsInfo2, -- ' closing tick for hsc2hs-        VkImageMemoryRequirementsInfo2', VkImageMemoryRequirementsInfo2KHR, -- ' closing tick for hsc2hs-        VkImagePlaneMemoryRequirementsInfo,-        VkImagePlaneMemoryRequirementsInfo', -- ' closing tick for hsc2hs-        VkImagePlaneMemoryRequirementsInfoKHR, VkImageResolve,-        VkImageResolve', VkImageSparseMemoryRequirementsInfo2, -- ' closing tick for hsc2hs-        VkImageSparseMemoryRequirementsInfo2', -- ' closing tick for hsc2hs-        VkImageSparseMemoryRequirementsInfo2KHR, VkImageSubresource,-        VkImageSubresource', VkImageSubresourceLayers, -- ' closing tick for hsc2hs-        VkImageSubresourceLayers', VkImageSubresourceRange, -- ' closing tick for hsc2hs-        VkImageSubresourceRange', VkImageSwapchainCreateInfoKHR, -- ' closing tick for hsc2hs-        VkImageSwapchainCreateInfoKHR', VkImageViewCreateInfo, -- ' closing tick for hsc2hs-        VkImageViewCreateInfo', VkImageViewUsageCreateInfo, -- ' closing tick for hsc2hs-        VkImageViewUsageCreateInfo', VkImageViewUsageCreateInfoKHR) -- ' closing tick for hsc2hs-       where-import Foreign.Storable                              (Storable (..))-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Internal-import Graphics.Vulkan.Types.BaseTypes               (VkDeviceSize)-import Graphics.Vulkan.Types.Bitmasks                (VkImageViewCreateFlags)-import Graphics.Vulkan.Types.Enum.AccessFlags        (VkAccessFlags)-import Graphics.Vulkan.Types.Enum.Format             (VkFormat)-import Graphics.Vulkan.Types.Enum.Image              (VkImageAspectFlagBits,-                                                      VkImageAspectFlags,-                                                      VkImageCreateFlags,-                                                      VkImageLayout,-                                                      VkImageTiling,-                                                      VkImageType,-                                                      VkImageUsageFlags,-                                                      VkImageViewType)-import Graphics.Vulkan.Types.Enum.SampleCountFlags   (VkSampleCountFlagBits,-                                                      VkSampleCountFlags)-import Graphics.Vulkan.Types.Enum.SharingMode        (VkSharingMode)-import Graphics.Vulkan.Types.Enum.StructureType      (VkStructureType)-import Graphics.Vulkan.Types.Handles                 (VkImage, VkSwapchainKHR)-import Graphics.Vulkan.Types.Struct.ComponentMapping (VkComponentMapping)-import Graphics.Vulkan.Types.Struct.Extent           (VkExtent3D)-import Graphics.Vulkan.Types.Struct.Offset           (VkOffset3D)-import System.IO.Unsafe                              (unsafeDupablePerformIO)---- | > typedef struct VkImageBlit {---   >     VkImageSubresourceLayers srcSubresource;---   >     VkOffset3D             srcOffsets[2];---   >     VkImageSubresourceLayers dstSubresource;---   >     VkOffset3D             dstOffsets[2];---   > } VkImageBlit;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageBlit VkImageBlit registry at www.khronos.org>-type VkImageBlit = VulkanStruct VkImageBlit' -- ' closing tick for hsc2hs--data VkImageBlit' -- ' closing tick for hsc2hs--instance Eq VkImageBlit where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkImageBlit where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkImageBlit where-        sizeOf ~_ = #{size VkImageBlit}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkImageBlit}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkImageBlit where-        type StructFields VkImageBlit =-             '["srcSubresource", "srcOffsets", "dstSubresource", "dstOffsets"] -- ' closing tick for hsc2hs-        type CUnionType VkImageBlit = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkImageBlit = 'False -- ' closing tick for hsc2hs-        type StructExtends VkImageBlit = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "srcSubresource" VkImageBlit-         where-        type FieldType "srcSubresource" VkImageBlit =-             VkImageSubresourceLayers-        type FieldOptional "srcSubresource" VkImageBlit = 'False -- ' closing tick for hsc2hs-        type FieldOffset "srcSubresource" VkImageBlit =-             #{offset VkImageBlit, srcSubresource}-        type FieldIsArray "srcSubresource" VkImageBlit = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageBlit, srcSubresource}--instance {-# OVERLAPPING #-}-         CanReadField "srcSubresource" VkImageBlit where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageBlit, srcSubresource})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageBlit, srcSubresource}--instance {-# OVERLAPPING #-}-         CanWriteField "srcSubresource" VkImageBlit where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageBlit, srcSubresource}--instance {-# OVERLAPPING #-} HasField "srcOffsets" VkImageBlit-         where-        type FieldType "srcOffsets" VkImageBlit = VkOffset3D-        type FieldOptional "srcOffsets" VkImageBlit = 'False -- ' closing tick for hsc2hs-        type FieldOffset "srcOffsets" VkImageBlit =-             #{offset VkImageBlit, srcOffsets}-        type FieldIsArray "srcOffsets" VkImageBlit = 'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageBlit, srcOffsets}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "srcOffsets" VkImageBlit where-        type FieldArrayLength "srcOffsets" VkImageBlit = 2--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = 2--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkImageBlit, srcOffsets} +-                      sizeOf (undefined :: VkOffset3D) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkImageBlit, srcOffsets} +-                 sizeOf (undefined :: VkOffset3D) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "srcOffsets" VkImageBlit where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkImageBlit, srcOffsets} +-                 sizeOf (undefined :: VkOffset3D) * i)--instance {-# OVERLAPPING #-} HasField "dstSubresource" VkImageBlit-         where-        type FieldType "dstSubresource" VkImageBlit =-             VkImageSubresourceLayers-        type FieldOptional "dstSubresource" VkImageBlit = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dstSubresource" VkImageBlit =-             #{offset VkImageBlit, dstSubresource}-        type FieldIsArray "dstSubresource" VkImageBlit = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageBlit, dstSubresource}--instance {-# OVERLAPPING #-}-         CanReadField "dstSubresource" VkImageBlit where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageBlit, dstSubresource})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageBlit, dstSubresource}--instance {-# OVERLAPPING #-}-         CanWriteField "dstSubresource" VkImageBlit where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageBlit, dstSubresource}--instance {-# OVERLAPPING #-} HasField "dstOffsets" VkImageBlit-         where-        type FieldType "dstOffsets" VkImageBlit = VkOffset3D-        type FieldOptional "dstOffsets" VkImageBlit = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dstOffsets" VkImageBlit =-             #{offset VkImageBlit, dstOffsets}-        type FieldIsArray "dstOffsets" VkImageBlit = 'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageBlit, dstOffsets}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "dstOffsets" VkImageBlit where-        type FieldArrayLength "dstOffsets" VkImageBlit = 2--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = 2--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkImageBlit, dstOffsets} +-                      sizeOf (undefined :: VkOffset3D) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkImageBlit, dstOffsets} +-                 sizeOf (undefined :: VkOffset3D) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "dstOffsets" VkImageBlit where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkImageBlit, dstOffsets} +-                 sizeOf (undefined :: VkOffset3D) * i)--instance Show VkImageBlit where-        showsPrec d x-          = showString "VkImageBlit {" .-              showString "srcSubresource = " .-                showsPrec d (getField @"srcSubresource" x) .-                  showString ", " .-                    (showString "srcOffsets = [" .-                       showsPrec d-                         (let s = sizeOf (undefined :: FieldType "srcOffsets" VkImageBlit)-                              o = fieldOffset @"srcOffsets" @VkImageBlit-                              f i-                                = peekByteOff (unsafePtr x) i ::-                                    IO (FieldType "srcOffsets" VkImageBlit)-                            in-                            unsafeDupablePerformIO . mapM f $-                              map (\ i -> o + i * s) [0 .. 2 - 1])-                         . showChar ']')-                      .-                      showString ", " .-                        showString "dstSubresource = " .-                          showsPrec d (getField @"dstSubresource" x) .-                            showString ", " .-                              (showString "dstOffsets = [" .-                                 showsPrec d-                                   (let s = sizeOf (undefined :: FieldType "dstOffsets" VkImageBlit)-                                        o = fieldOffset @"dstOffsets" @VkImageBlit-                                        f i-                                          = peekByteOff (unsafePtr x) i ::-                                              IO (FieldType "dstOffsets" VkImageBlit)-                                      in-                                      unsafeDupablePerformIO . mapM f $-                                        map (\ i -> o + i * s) [0 .. 2 - 1])-                                   . showChar ']')-                                . showChar '}'---- | > typedef struct VkImageCopy {---   >     VkImageSubresourceLayers srcSubresource;---   >     VkOffset3D             srcOffset;---   >     VkImageSubresourceLayers dstSubresource;---   >     VkOffset3D             dstOffset;---   >     VkExtent3D             extent;---   > } VkImageCopy;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageCopy VkImageCopy registry at www.khronos.org>-type VkImageCopy = VulkanStruct VkImageCopy' -- ' closing tick for hsc2hs--data VkImageCopy' -- ' closing tick for hsc2hs--instance Eq VkImageCopy where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkImageCopy where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkImageCopy where-        sizeOf ~_ = #{size VkImageCopy}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkImageCopy}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkImageCopy where-        type StructFields VkImageCopy =-             '["srcSubresource", "srcOffset", "dstSubresource", "dstOffset", -- ' closing tick for hsc2hs-               "extent"]-        type CUnionType VkImageCopy = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkImageCopy = 'False -- ' closing tick for hsc2hs-        type StructExtends VkImageCopy = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "srcSubresource" VkImageCopy-         where-        type FieldType "srcSubresource" VkImageCopy =-             VkImageSubresourceLayers-        type FieldOptional "srcSubresource" VkImageCopy = 'False -- ' closing tick for hsc2hs-        type FieldOffset "srcSubresource" VkImageCopy =-             #{offset VkImageCopy, srcSubresource}-        type FieldIsArray "srcSubresource" VkImageCopy = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageCopy, srcSubresource}--instance {-# OVERLAPPING #-}-         CanReadField "srcSubresource" VkImageCopy where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageCopy, srcSubresource})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageCopy, srcSubresource}--instance {-# OVERLAPPING #-}-         CanWriteField "srcSubresource" VkImageCopy where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageCopy, srcSubresource}--instance {-# OVERLAPPING #-} HasField "srcOffset" VkImageCopy where-        type FieldType "srcOffset" VkImageCopy = VkOffset3D-        type FieldOptional "srcOffset" VkImageCopy = 'False -- ' closing tick for hsc2hs-        type FieldOffset "srcOffset" VkImageCopy =-             #{offset VkImageCopy, srcOffset}-        type FieldIsArray "srcOffset" VkImageCopy = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageCopy, srcOffset}--instance {-# OVERLAPPING #-} CanReadField "srcOffset" VkImageCopy-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageCopy, srcOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageCopy, srcOffset}--instance {-# OVERLAPPING #-} CanWriteField "srcOffset" VkImageCopy-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageCopy, srcOffset}--instance {-# OVERLAPPING #-} HasField "dstSubresource" VkImageCopy-         where-        type FieldType "dstSubresource" VkImageCopy =-             VkImageSubresourceLayers-        type FieldOptional "dstSubresource" VkImageCopy = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dstSubresource" VkImageCopy =-             #{offset VkImageCopy, dstSubresource}-        type FieldIsArray "dstSubresource" VkImageCopy = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageCopy, dstSubresource}--instance {-# OVERLAPPING #-}-         CanReadField "dstSubresource" VkImageCopy where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageCopy, dstSubresource})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageCopy, dstSubresource}--instance {-# OVERLAPPING #-}-         CanWriteField "dstSubresource" VkImageCopy where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageCopy, dstSubresource}--instance {-# OVERLAPPING #-} HasField "dstOffset" VkImageCopy where-        type FieldType "dstOffset" VkImageCopy = VkOffset3D-        type FieldOptional "dstOffset" VkImageCopy = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dstOffset" VkImageCopy =-             #{offset VkImageCopy, dstOffset}-        type FieldIsArray "dstOffset" VkImageCopy = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageCopy, dstOffset}--instance {-# OVERLAPPING #-} CanReadField "dstOffset" VkImageCopy-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageCopy, dstOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageCopy, dstOffset}--instance {-# OVERLAPPING #-} CanWriteField "dstOffset" VkImageCopy-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageCopy, dstOffset}--instance {-# OVERLAPPING #-} HasField "extent" VkImageCopy where-        type FieldType "extent" VkImageCopy = VkExtent3D-        type FieldOptional "extent" VkImageCopy = 'False -- ' closing tick for hsc2hs-        type FieldOffset "extent" VkImageCopy =-             #{offset VkImageCopy, extent}-        type FieldIsArray "extent" VkImageCopy = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageCopy, extent}--instance {-# OVERLAPPING #-} CanReadField "extent" VkImageCopy-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageCopy, extent})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageCopy, extent}--instance {-# OVERLAPPING #-} CanWriteField "extent" VkImageCopy-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageCopy, extent}--instance Show VkImageCopy where-        showsPrec d x-          = showString "VkImageCopy {" .-              showString "srcSubresource = " .-                showsPrec d (getField @"srcSubresource" x) .-                  showString ", " .-                    showString "srcOffset = " .-                      showsPrec d (getField @"srcOffset" x) .-                        showString ", " .-                          showString "dstSubresource = " .-                            showsPrec d (getField @"dstSubresource" x) .-                              showString ", " .-                                showString "dstOffset = " .-                                  showsPrec d (getField @"dstOffset" x) .-                                    showString ", " .-                                      showString "extent = " .-                                        showsPrec d (getField @"extent" x) . showChar '}'---- | > typedef struct VkImageCreateInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkImageCreateFlags     flags;---   >     VkImageType            imageType;---   >     VkFormat               format;---   >     VkExtent3D             extent;---   >     uint32_t               mipLevels;---   >     uint32_t               arrayLayers;---   >     VkSampleCountFlagBits  samples;---   >     VkImageTiling          tiling;---   >     VkImageUsageFlags      usage;---   >     VkSharingMode          sharingMode;---   >     uint32_t               queueFamilyIndexCount;---   >     const uint32_t*        pQueueFamilyIndices;---   >     VkImageLayout          initialLayout;---   > } VkImageCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageCreateInfo VkImageCreateInfo registry at www.khronos.org>-type VkImageCreateInfo = VulkanStruct VkImageCreateInfo' -- ' closing tick for hsc2hs--data VkImageCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkImageCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkImageCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkImageCreateInfo where-        sizeOf ~_ = #{size VkImageCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkImageCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkImageCreateInfo where-        type StructFields VkImageCreateInfo =-             '["sType", "pNext", "flags", "imageType", "format", "extent", -- ' closing tick for hsc2hs-               "mipLevels", "arrayLayers", "samples", "tiling", "usage",-               "sharingMode", "queueFamilyIndexCount", "pQueueFamilyIndices",-               "initialLayout"]-        type CUnionType VkImageCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkImageCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkImageCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkImageCreateInfo-         where-        type FieldType "sType" VkImageCreateInfo = VkStructureType-        type FieldOptional "sType" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkImageCreateInfo =-             #{offset VkImageCreateInfo, sType}-        type FieldIsArray "sType" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageCreateInfo, sType}--instance {-# OVERLAPPING #-} CanReadField "sType" VkImageCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkImageCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageCreateInfo, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkImageCreateInfo-         where-        type FieldType "pNext" VkImageCreateInfo = Ptr Void-        type FieldOptional "pNext" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkImageCreateInfo =-             #{offset VkImageCreateInfo, pNext}-        type FieldIsArray "pNext" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageCreateInfo, pNext}--instance {-# OVERLAPPING #-} CanReadField "pNext" VkImageCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkImageCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageCreateInfo, pNext}--instance {-# OVERLAPPING #-} HasField "flags" VkImageCreateInfo-         where-        type FieldType "flags" VkImageCreateInfo = VkImageCreateFlags-        type FieldOptional "flags" VkImageCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkImageCreateInfo =-             #{offset VkImageCreateInfo, flags}-        type FieldIsArray "flags" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageCreateInfo, flags}--instance {-# OVERLAPPING #-} CanReadField "flags" VkImageCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkImageCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageCreateInfo, flags}--instance {-# OVERLAPPING #-} HasField "imageType" VkImageCreateInfo-         where-        type FieldType "imageType" VkImageCreateInfo = VkImageType-        type FieldOptional "imageType" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "imageType" VkImageCreateInfo =-             #{offset VkImageCreateInfo, imageType}-        type FieldIsArray "imageType" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageCreateInfo, imageType}--instance {-# OVERLAPPING #-}-         CanReadField "imageType" VkImageCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, imageType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageCreateInfo, imageType}--instance {-# OVERLAPPING #-}-         CanWriteField "imageType" VkImageCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageCreateInfo, imageType}--instance {-# OVERLAPPING #-} HasField "format" VkImageCreateInfo-         where-        type FieldType "format" VkImageCreateInfo = VkFormat-        type FieldOptional "format" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "format" VkImageCreateInfo =-             #{offset VkImageCreateInfo, format}-        type FieldIsArray "format" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageCreateInfo, format}--instance {-# OVERLAPPING #-}-         CanReadField "format" VkImageCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, format})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageCreateInfo, format}--instance {-# OVERLAPPING #-}-         CanWriteField "format" VkImageCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageCreateInfo, format}--instance {-# OVERLAPPING #-} HasField "extent" VkImageCreateInfo-         where-        type FieldType "extent" VkImageCreateInfo = VkExtent3D-        type FieldOptional "extent" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "extent" VkImageCreateInfo =-             #{offset VkImageCreateInfo, extent}-        type FieldIsArray "extent" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageCreateInfo, extent}--instance {-# OVERLAPPING #-}-         CanReadField "extent" VkImageCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, extent})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageCreateInfo, extent}--instance {-# OVERLAPPING #-}-         CanWriteField "extent" VkImageCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageCreateInfo, extent}--instance {-# OVERLAPPING #-} HasField "mipLevels" VkImageCreateInfo-         where-        type FieldType "mipLevels" VkImageCreateInfo = Word32-        type FieldOptional "mipLevels" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "mipLevels" VkImageCreateInfo =-             #{offset VkImageCreateInfo, mipLevels}-        type FieldIsArray "mipLevels" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageCreateInfo, mipLevels}--instance {-# OVERLAPPING #-}-         CanReadField "mipLevels" VkImageCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, mipLevels})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageCreateInfo, mipLevels}--instance {-# OVERLAPPING #-}-         CanWriteField "mipLevels" VkImageCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageCreateInfo, mipLevels}--instance {-# OVERLAPPING #-}-         HasField "arrayLayers" VkImageCreateInfo where-        type FieldType "arrayLayers" VkImageCreateInfo = Word32-        type FieldOptional "arrayLayers" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "arrayLayers" VkImageCreateInfo =-             #{offset VkImageCreateInfo, arrayLayers}-        type FieldIsArray "arrayLayers" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageCreateInfo, arrayLayers}--instance {-# OVERLAPPING #-}-         CanReadField "arrayLayers" VkImageCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, arrayLayers})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageCreateInfo, arrayLayers}--instance {-# OVERLAPPING #-}-         CanWriteField "arrayLayers" VkImageCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageCreateInfo, arrayLayers}--instance {-# OVERLAPPING #-} HasField "samples" VkImageCreateInfo-         where-        type FieldType "samples" VkImageCreateInfo = VkSampleCountFlagBits-        type FieldOptional "samples" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "samples" VkImageCreateInfo =-             #{offset VkImageCreateInfo, samples}-        type FieldIsArray "samples" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageCreateInfo, samples}--instance {-# OVERLAPPING #-}-         CanReadField "samples" VkImageCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, samples})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageCreateInfo, samples}--instance {-# OVERLAPPING #-}-         CanWriteField "samples" VkImageCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageCreateInfo, samples}--instance {-# OVERLAPPING #-} HasField "tiling" VkImageCreateInfo-         where-        type FieldType "tiling" VkImageCreateInfo = VkImageTiling-        type FieldOptional "tiling" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "tiling" VkImageCreateInfo =-             #{offset VkImageCreateInfo, tiling}-        type FieldIsArray "tiling" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageCreateInfo, tiling}--instance {-# OVERLAPPING #-}-         CanReadField "tiling" VkImageCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, tiling})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageCreateInfo, tiling}--instance {-# OVERLAPPING #-}-         CanWriteField "tiling" VkImageCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageCreateInfo, tiling}--instance {-# OVERLAPPING #-} HasField "usage" VkImageCreateInfo-         where-        type FieldType "usage" VkImageCreateInfo = VkImageUsageFlags-        type FieldOptional "usage" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "usage" VkImageCreateInfo =-             #{offset VkImageCreateInfo, usage}-        type FieldIsArray "usage" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageCreateInfo, usage}--instance {-# OVERLAPPING #-} CanReadField "usage" VkImageCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, usage})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageCreateInfo, usage}--instance {-# OVERLAPPING #-}-         CanWriteField "usage" VkImageCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageCreateInfo, usage}--instance {-# OVERLAPPING #-}-         HasField "sharingMode" VkImageCreateInfo where-        type FieldType "sharingMode" VkImageCreateInfo = VkSharingMode-        type FieldOptional "sharingMode" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sharingMode" VkImageCreateInfo =-             #{offset VkImageCreateInfo, sharingMode}-        type FieldIsArray "sharingMode" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageCreateInfo, sharingMode}--instance {-# OVERLAPPING #-}-         CanReadField "sharingMode" VkImageCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, sharingMode})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageCreateInfo, sharingMode}--instance {-# OVERLAPPING #-}-         CanWriteField "sharingMode" VkImageCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageCreateInfo, sharingMode}--instance {-# OVERLAPPING #-}-         HasField "queueFamilyIndexCount" VkImageCreateInfo where-        type FieldType "queueFamilyIndexCount" VkImageCreateInfo = Word32-        type FieldOptional "queueFamilyIndexCount" VkImageCreateInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "queueFamilyIndexCount" VkImageCreateInfo =-             #{offset VkImageCreateInfo, queueFamilyIndexCount}-        type FieldIsArray "queueFamilyIndexCount" VkImageCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageCreateInfo, queueFamilyIndexCount}--instance {-# OVERLAPPING #-}-         CanReadField "queueFamilyIndexCount" VkImageCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, queueFamilyIndexCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageCreateInfo, queueFamilyIndexCount}--instance {-# OVERLAPPING #-}-         CanWriteField "queueFamilyIndexCount" VkImageCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageCreateInfo, queueFamilyIndexCount}--instance {-# OVERLAPPING #-}-         HasField "pQueueFamilyIndices" VkImageCreateInfo where-        type FieldType "pQueueFamilyIndices" VkImageCreateInfo = Ptr Word32-        type FieldOptional "pQueueFamilyIndices" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pQueueFamilyIndices" VkImageCreateInfo =-             #{offset VkImageCreateInfo, pQueueFamilyIndices}-        type FieldIsArray "pQueueFamilyIndices" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageCreateInfo, pQueueFamilyIndices}--instance {-# OVERLAPPING #-}-         CanReadField "pQueueFamilyIndices" VkImageCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, pQueueFamilyIndices})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageCreateInfo, pQueueFamilyIndices}--instance {-# OVERLAPPING #-}-         CanWriteField "pQueueFamilyIndices" VkImageCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageCreateInfo, pQueueFamilyIndices}--instance {-# OVERLAPPING #-}-         HasField "initialLayout" VkImageCreateInfo where-        type FieldType "initialLayout" VkImageCreateInfo = VkImageLayout-        type FieldOptional "initialLayout" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "initialLayout" VkImageCreateInfo =-             #{offset VkImageCreateInfo, initialLayout}-        type FieldIsArray "initialLayout" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageCreateInfo, initialLayout}--instance {-# OVERLAPPING #-}-         CanReadField "initialLayout" VkImageCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, initialLayout})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageCreateInfo, initialLayout}--instance {-# OVERLAPPING #-}-         CanWriteField "initialLayout" VkImageCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageCreateInfo, initialLayout}--instance Show VkImageCreateInfo where-        showsPrec d x-          = showString "VkImageCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "imageType = " .-                                  showsPrec d (getField @"imageType" x) .-                                    showString ", " .-                                      showString "format = " .-                                        showsPrec d (getField @"format" x) .-                                          showString ", " .-                                            showString "extent = " .-                                              showsPrec d (getField @"extent" x) .-                                                showString ", " .-                                                  showString "mipLevels = " .-                                                    showsPrec d (getField @"mipLevels" x) .-                                                      showString ", " .-                                                        showString "arrayLayers = " .-                                                          showsPrec d (getField @"arrayLayers" x) .-                                                            showString ", " .-                                                              showString "samples = " .-                                                                showsPrec d (getField @"samples" x)-                                                                  .-                                                                  showString ", " .-                                                                    showString "tiling = " .-                                                                      showsPrec d-                                                                        (getField @"tiling" x)-                                                                        .-                                                                        showString ", " .-                                                                          showString "usage = " .-                                                                            showsPrec d-                                                                              (getField @"usage" x)-                                                                              .-                                                                              showString ", " .-                                                                                showString-                                                                                  "sharingMode = "-                                                                                  .-                                                                                  showsPrec d-                                                                                    (getField-                                                                                       @"sharingMode"-                                                                                       x)-                                                                                    .-                                                                                    showString ", "-                                                                                      .-                                                                                      showString-                                                                                        "queueFamilyIndexCount = "-                                                                                        .-                                                                                        showsPrec d-                                                                                          (getField-                                                                                             @"queueFamilyIndexCount"-                                                                                             x)-                                                                                          .-                                                                                          showString-                                                                                            ", "-                                                                                            .-                                                                                            showString-                                                                                              "pQueueFamilyIndices = "-                                                                                              .-                                                                                              showsPrec-                                                                                                d-                                                                                                (getField-                                                                                                   @"pQueueFamilyIndices"-                                                                                                   x)-                                                                                                .-                                                                                                showString-                                                                                                  ", "-                                                                                                  .-                                                                                                  showString-                                                                                                    "initialLayout = "-                                                                                                    .-                                                                                                    showsPrec-                                                                                                      d-                                                                                                      (getField-                                                                                                         @"initialLayout"-                                                                                                         x)-                                                                                                      .-                                                                                                      showChar-                                                                                                        '}'---- | > typedef struct VkImageFormatListCreateInfoKHR {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     uint32_t               viewFormatCount;---   >     const VkFormat*      pViewFormats;---   > } VkImageFormatListCreateInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageFormatListCreateInfoKHR VkImageFormatListCreateInfoKHR registry at www.khronos.org>-type VkImageFormatListCreateInfoKHR =-     VulkanStruct VkImageFormatListCreateInfoKHR' -- ' closing tick for hsc2hs--data VkImageFormatListCreateInfoKHR' -- ' closing tick for hsc2hs--instance Eq VkImageFormatListCreateInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkImageFormatListCreateInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkImageFormatListCreateInfoKHR where-        sizeOf ~_ = #{size VkImageFormatListCreateInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkImageFormatListCreateInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkImageFormatListCreateInfoKHR where-        type StructFields VkImageFormatListCreateInfoKHR =-             '["sType", "pNext", "viewFormatCount", "pViewFormats"] -- ' closing tick for hsc2hs-        type CUnionType VkImageFormatListCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkImageFormatListCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkImageFormatListCreateInfoKHR =-             '[VkImageCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkImageFormatListCreateInfoKHR where-        type FieldType "sType" VkImageFormatListCreateInfoKHR =-             VkStructureType-        type FieldOptional "sType" VkImageFormatListCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkImageFormatListCreateInfoKHR =-             #{offset VkImageFormatListCreateInfoKHR, sType}-        type FieldIsArray "sType" VkImageFormatListCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageFormatListCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkImageFormatListCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageFormatListCreateInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageFormatListCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkImageFormatListCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageFormatListCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkImageFormatListCreateInfoKHR where-        type FieldType "pNext" VkImageFormatListCreateInfoKHR = Ptr Void-        type FieldOptional "pNext" VkImageFormatListCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkImageFormatListCreateInfoKHR =-             #{offset VkImageFormatListCreateInfoKHR, pNext}-        type FieldIsArray "pNext" VkImageFormatListCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageFormatListCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkImageFormatListCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageFormatListCreateInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageFormatListCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkImageFormatListCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageFormatListCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "viewFormatCount" VkImageFormatListCreateInfoKHR where-        type FieldType "viewFormatCount" VkImageFormatListCreateInfoKHR =-             Word32-        type FieldOptional "viewFormatCount" VkImageFormatListCreateInfoKHR-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "viewFormatCount" VkImageFormatListCreateInfoKHR =-             #{offset VkImageFormatListCreateInfoKHR, viewFormatCount}-        type FieldIsArray "viewFormatCount" VkImageFormatListCreateInfoKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageFormatListCreateInfoKHR, viewFormatCount}--instance {-# OVERLAPPING #-}-         CanReadField "viewFormatCount" VkImageFormatListCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageFormatListCreateInfoKHR, viewFormatCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageFormatListCreateInfoKHR, viewFormatCount}--instance {-# OVERLAPPING #-}-         CanWriteField "viewFormatCount" VkImageFormatListCreateInfoKHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageFormatListCreateInfoKHR, viewFormatCount}--instance {-# OVERLAPPING #-}-         HasField "pViewFormats" VkImageFormatListCreateInfoKHR where-        type FieldType "pViewFormats" VkImageFormatListCreateInfoKHR =-             Ptr VkFormat-        type FieldOptional "pViewFormats" VkImageFormatListCreateInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pViewFormats" VkImageFormatListCreateInfoKHR =-             #{offset VkImageFormatListCreateInfoKHR, pViewFormats}-        type FieldIsArray "pViewFormats" VkImageFormatListCreateInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageFormatListCreateInfoKHR, pViewFormats}--instance {-# OVERLAPPING #-}-         CanReadField "pViewFormats" VkImageFormatListCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageFormatListCreateInfoKHR, pViewFormats})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageFormatListCreateInfoKHR, pViewFormats}--instance {-# OVERLAPPING #-}-         CanWriteField "pViewFormats" VkImageFormatListCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageFormatListCreateInfoKHR, pViewFormats}--instance Show VkImageFormatListCreateInfoKHR where-        showsPrec d x-          = showString "VkImageFormatListCreateInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "viewFormatCount = " .-                            showsPrec d (getField @"viewFormatCount" x) .-                              showString ", " .-                                showString "pViewFormats = " .-                                  showsPrec d (getField @"pViewFormats" x) . showChar '}'---- | > typedef struct VkImageFormatProperties {---   >     VkExtent3D             maxExtent;---   >     uint32_t               maxMipLevels;---   >     uint32_t               maxArrayLayers;---   >     VkSampleCountFlags     sampleCounts;---   >     VkDeviceSize           maxResourceSize;---   > } VkImageFormatProperties;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageFormatProperties VkImageFormatProperties registry at www.khronos.org>-type VkImageFormatProperties =-     VulkanStruct VkImageFormatProperties' -- ' closing tick for hsc2hs--data VkImageFormatProperties' -- ' closing tick for hsc2hs--instance Eq VkImageFormatProperties where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkImageFormatProperties where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkImageFormatProperties where-        sizeOf ~_ = #{size VkImageFormatProperties}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkImageFormatProperties}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkImageFormatProperties where-        type StructFields VkImageFormatProperties =-             '["maxExtent", "maxMipLevels", "maxArrayLayers", "sampleCounts", -- ' closing tick for hsc2hs-               "maxResourceSize"]-        type CUnionType VkImageFormatProperties = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkImageFormatProperties = 'True -- ' closing tick for hsc2hs-        type StructExtends VkImageFormatProperties = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "maxExtent" VkImageFormatProperties where-        type FieldType "maxExtent" VkImageFormatProperties = VkExtent3D-        type FieldOptional "maxExtent" VkImageFormatProperties = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxExtent" VkImageFormatProperties =-             #{offset VkImageFormatProperties, maxExtent}-        type FieldIsArray "maxExtent" VkImageFormatProperties = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageFormatProperties, maxExtent}--instance {-# OVERLAPPING #-}-         CanReadField "maxExtent" VkImageFormatProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageFormatProperties, maxExtent})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageFormatProperties, maxExtent}--instance {-# OVERLAPPING #-}-         CanWriteField "maxExtent" VkImageFormatProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageFormatProperties, maxExtent}--instance {-# OVERLAPPING #-}-         HasField "maxMipLevels" VkImageFormatProperties where-        type FieldType "maxMipLevels" VkImageFormatProperties = Word32-        type FieldOptional "maxMipLevels" VkImageFormatProperties = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxMipLevels" VkImageFormatProperties =-             #{offset VkImageFormatProperties, maxMipLevels}-        type FieldIsArray "maxMipLevels" VkImageFormatProperties = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageFormatProperties, maxMipLevels}--instance {-# OVERLAPPING #-}-         CanReadField "maxMipLevels" VkImageFormatProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageFormatProperties, maxMipLevels})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageFormatProperties, maxMipLevels}--instance {-# OVERLAPPING #-}-         CanWriteField "maxMipLevels" VkImageFormatProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageFormatProperties, maxMipLevels}--instance {-# OVERLAPPING #-}-         HasField "maxArrayLayers" VkImageFormatProperties where-        type FieldType "maxArrayLayers" VkImageFormatProperties = Word32-        type FieldOptional "maxArrayLayers" VkImageFormatProperties =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxArrayLayers" VkImageFormatProperties =-             #{offset VkImageFormatProperties, maxArrayLayers}-        type FieldIsArray "maxArrayLayers" VkImageFormatProperties = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageFormatProperties, maxArrayLayers}--instance {-# OVERLAPPING #-}-         CanReadField "maxArrayLayers" VkImageFormatProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageFormatProperties, maxArrayLayers})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageFormatProperties, maxArrayLayers}--instance {-# OVERLAPPING #-}-         CanWriteField "maxArrayLayers" VkImageFormatProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageFormatProperties, maxArrayLayers}--instance {-# OVERLAPPING #-}-         HasField "sampleCounts" VkImageFormatProperties where-        type FieldType "sampleCounts" VkImageFormatProperties =-             VkSampleCountFlags-        type FieldOptional "sampleCounts" VkImageFormatProperties = 'True -- ' closing tick for hsc2hs-        type FieldOffset "sampleCounts" VkImageFormatProperties =-             #{offset VkImageFormatProperties, sampleCounts}-        type FieldIsArray "sampleCounts" VkImageFormatProperties = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageFormatProperties, sampleCounts}--instance {-# OVERLAPPING #-}-         CanReadField "sampleCounts" VkImageFormatProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageFormatProperties, sampleCounts})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageFormatProperties, sampleCounts}--instance {-# OVERLAPPING #-}-         CanWriteField "sampleCounts" VkImageFormatProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageFormatProperties, sampleCounts}--instance {-# OVERLAPPING #-}-         HasField "maxResourceSize" VkImageFormatProperties where-        type FieldType "maxResourceSize" VkImageFormatProperties =-             VkDeviceSize-        type FieldOptional "maxResourceSize" VkImageFormatProperties =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxResourceSize" VkImageFormatProperties =-             #{offset VkImageFormatProperties, maxResourceSize}-        type FieldIsArray "maxResourceSize" VkImageFormatProperties =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageFormatProperties, maxResourceSize}--instance {-# OVERLAPPING #-}-         CanReadField "maxResourceSize" VkImageFormatProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageFormatProperties, maxResourceSize})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageFormatProperties, maxResourceSize}--instance {-# OVERLAPPING #-}-         CanWriteField "maxResourceSize" VkImageFormatProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageFormatProperties, maxResourceSize}--instance Show VkImageFormatProperties where-        showsPrec d x-          = showString "VkImageFormatProperties {" .-              showString "maxExtent = " .-                showsPrec d (getField @"maxExtent" x) .-                  showString ", " .-                    showString "maxMipLevels = " .-                      showsPrec d (getField @"maxMipLevels" x) .-                        showString ", " .-                          showString "maxArrayLayers = " .-                            showsPrec d (getField @"maxArrayLayers" x) .-                              showString ", " .-                                showString "sampleCounts = " .-                                  showsPrec d (getField @"sampleCounts" x) .-                                    showString ", " .-                                      showString "maxResourceSize = " .-                                        showsPrec d (getField @"maxResourceSize" x) . showChar '}'---- | > typedef struct VkImageFormatProperties2 {---   >     VkStructureType sType;---   >     void* pNext;---   >     VkImageFormatProperties          imageFormatProperties;---   > } VkImageFormatProperties2;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageFormatProperties2 VkImageFormatProperties2 registry at www.khronos.org>-type VkImageFormatProperties2 =-     VulkanStruct VkImageFormatProperties2' -- ' closing tick for hsc2hs--data VkImageFormatProperties2' -- ' closing tick for hsc2hs--instance Eq VkImageFormatProperties2 where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkImageFormatProperties2 where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkImageFormatProperties2 where-        sizeOf ~_ = #{size VkImageFormatProperties2}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkImageFormatProperties2}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkImageFormatProperties2 where-        type StructFields VkImageFormatProperties2 =-             '["sType", "pNext", "imageFormatProperties"] -- ' closing tick for hsc2hs-        type CUnionType VkImageFormatProperties2 = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkImageFormatProperties2 = 'True -- ' closing tick for hsc2hs-        type StructExtends VkImageFormatProperties2 = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkImageFormatProperties2 where-        type FieldType "sType" VkImageFormatProperties2 = VkStructureType-        type FieldOptional "sType" VkImageFormatProperties2 = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkImageFormatProperties2 =-             #{offset VkImageFormatProperties2, sType}-        type FieldIsArray "sType" VkImageFormatProperties2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageFormatProperties2, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkImageFormatProperties2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageFormatProperties2, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageFormatProperties2, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkImageFormatProperties2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageFormatProperties2, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkImageFormatProperties2 where-        type FieldType "pNext" VkImageFormatProperties2 = Ptr Void-        type FieldOptional "pNext" VkImageFormatProperties2 = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkImageFormatProperties2 =-             #{offset VkImageFormatProperties2, pNext}-        type FieldIsArray "pNext" VkImageFormatProperties2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageFormatProperties2, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkImageFormatProperties2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageFormatProperties2, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageFormatProperties2, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkImageFormatProperties2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageFormatProperties2, pNext}--instance {-# OVERLAPPING #-}-         HasField "imageFormatProperties" VkImageFormatProperties2 where-        type FieldType "imageFormatProperties" VkImageFormatProperties2 =-             VkImageFormatProperties-        type FieldOptional "imageFormatProperties" VkImageFormatProperties2-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "imageFormatProperties" VkImageFormatProperties2 =-             #{offset VkImageFormatProperties2, imageFormatProperties}-        type FieldIsArray "imageFormatProperties" VkImageFormatProperties2-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageFormatProperties2, imageFormatProperties}--instance {-# OVERLAPPING #-}-         CanReadField "imageFormatProperties" VkImageFormatProperties2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageFormatProperties2, imageFormatProperties})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageFormatProperties2, imageFormatProperties}--instance {-# OVERLAPPING #-}-         CanWriteField "imageFormatProperties" VkImageFormatProperties2-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageFormatProperties2, imageFormatProperties}--instance Show VkImageFormatProperties2 where-        showsPrec d x-          = showString "VkImageFormatProperties2 {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "imageFormatProperties = " .-                            showsPrec d (getField @"imageFormatProperties" x) . showChar '}'---- | Alias for `VkImageFormatProperties2`-type VkImageFormatProperties2KHR = VkImageFormatProperties2---- | > typedef struct VkImageMemoryBarrier {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkAccessFlags          srcAccessMask;---   >     VkAccessFlags          dstAccessMask;---   >     VkImageLayout          oldLayout;---   >     VkImageLayout          newLayout;---   >     uint32_t               srcQueueFamilyIndex;---   >     uint32_t               dstQueueFamilyIndex;---   >     VkImage                image;---   >     VkImageSubresourceRange subresourceRange;---   > } VkImageMemoryBarrier;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageMemoryBarrier VkImageMemoryBarrier registry at www.khronos.org>-type VkImageMemoryBarrier = VulkanStruct VkImageMemoryBarrier' -- ' closing tick for hsc2hs--data VkImageMemoryBarrier' -- ' closing tick for hsc2hs--instance Eq VkImageMemoryBarrier where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkImageMemoryBarrier where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkImageMemoryBarrier where-        sizeOf ~_ = #{size VkImageMemoryBarrier}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkImageMemoryBarrier}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkImageMemoryBarrier where-        type StructFields VkImageMemoryBarrier =-             '["sType", "pNext", "srcAccessMask", "dstAccessMask", "oldLayout", -- ' closing tick for hsc2hs-               "newLayout", "srcQueueFamilyIndex", "dstQueueFamilyIndex", "image",-               "subresourceRange"]-        type CUnionType VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs-        type StructExtends VkImageMemoryBarrier = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkImageMemoryBarrier-         where-        type FieldType "sType" VkImageMemoryBarrier = VkStructureType-        type FieldOptional "sType" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkImageMemoryBarrier =-             #{offset VkImageMemoryBarrier, sType}-        type FieldIsArray "sType" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageMemoryBarrier, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkImageMemoryBarrier where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageMemoryBarrier, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkImageMemoryBarrier where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageMemoryBarrier, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkImageMemoryBarrier-         where-        type FieldType "pNext" VkImageMemoryBarrier = Ptr Void-        type FieldOptional "pNext" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkImageMemoryBarrier =-             #{offset VkImageMemoryBarrier, pNext}-        type FieldIsArray "pNext" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageMemoryBarrier, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkImageMemoryBarrier where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageMemoryBarrier, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkImageMemoryBarrier where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageMemoryBarrier, pNext}--instance {-# OVERLAPPING #-}-         HasField "srcAccessMask" VkImageMemoryBarrier where-        type FieldType "srcAccessMask" VkImageMemoryBarrier = VkAccessFlags-        type FieldOptional "srcAccessMask" VkImageMemoryBarrier = 'True -- ' closing tick for hsc2hs-        type FieldOffset "srcAccessMask" VkImageMemoryBarrier =-             #{offset VkImageMemoryBarrier, srcAccessMask}-        type FieldIsArray "srcAccessMask" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageMemoryBarrier, srcAccessMask}--instance {-# OVERLAPPING #-}-         CanReadField "srcAccessMask" VkImageMemoryBarrier where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, srcAccessMask})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageMemoryBarrier, srcAccessMask}--instance {-# OVERLAPPING #-}-         CanWriteField "srcAccessMask" VkImageMemoryBarrier where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageMemoryBarrier, srcAccessMask}--instance {-# OVERLAPPING #-}-         HasField "dstAccessMask" VkImageMemoryBarrier where-        type FieldType "dstAccessMask" VkImageMemoryBarrier = VkAccessFlags-        type FieldOptional "dstAccessMask" VkImageMemoryBarrier = 'True -- ' closing tick for hsc2hs-        type FieldOffset "dstAccessMask" VkImageMemoryBarrier =-             #{offset VkImageMemoryBarrier, dstAccessMask}-        type FieldIsArray "dstAccessMask" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageMemoryBarrier, dstAccessMask}--instance {-# OVERLAPPING #-}-         CanReadField "dstAccessMask" VkImageMemoryBarrier where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, dstAccessMask})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageMemoryBarrier, dstAccessMask}--instance {-# OVERLAPPING #-}-         CanWriteField "dstAccessMask" VkImageMemoryBarrier where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageMemoryBarrier, dstAccessMask}--instance {-# OVERLAPPING #-}-         HasField "oldLayout" VkImageMemoryBarrier where-        type FieldType "oldLayout" VkImageMemoryBarrier = VkImageLayout-        type FieldOptional "oldLayout" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs-        type FieldOffset "oldLayout" VkImageMemoryBarrier =-             #{offset VkImageMemoryBarrier, oldLayout}-        type FieldIsArray "oldLayout" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageMemoryBarrier, oldLayout}--instance {-# OVERLAPPING #-}-         CanReadField "oldLayout" VkImageMemoryBarrier where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, oldLayout})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageMemoryBarrier, oldLayout}--instance {-# OVERLAPPING #-}-         CanWriteField "oldLayout" VkImageMemoryBarrier where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageMemoryBarrier, oldLayout}--instance {-# OVERLAPPING #-}-         HasField "newLayout" VkImageMemoryBarrier where-        type FieldType "newLayout" VkImageMemoryBarrier = VkImageLayout-        type FieldOptional "newLayout" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs-        type FieldOffset "newLayout" VkImageMemoryBarrier =-             #{offset VkImageMemoryBarrier, newLayout}-        type FieldIsArray "newLayout" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageMemoryBarrier, newLayout}--instance {-# OVERLAPPING #-}-         CanReadField "newLayout" VkImageMemoryBarrier where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, newLayout})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageMemoryBarrier, newLayout}--instance {-# OVERLAPPING #-}-         CanWriteField "newLayout" VkImageMemoryBarrier where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageMemoryBarrier, newLayout}--instance {-# OVERLAPPING #-}-         HasField "srcQueueFamilyIndex" VkImageMemoryBarrier where-        type FieldType "srcQueueFamilyIndex" VkImageMemoryBarrier = Word32-        type FieldOptional "srcQueueFamilyIndex" VkImageMemoryBarrier =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "srcQueueFamilyIndex" VkImageMemoryBarrier =-             #{offset VkImageMemoryBarrier, srcQueueFamilyIndex}-        type FieldIsArray "srcQueueFamilyIndex" VkImageMemoryBarrier =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageMemoryBarrier, srcQueueFamilyIndex}--instance {-# OVERLAPPING #-}-         CanReadField "srcQueueFamilyIndex" VkImageMemoryBarrier where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, srcQueueFamilyIndex})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageMemoryBarrier, srcQueueFamilyIndex}--instance {-# OVERLAPPING #-}-         CanWriteField "srcQueueFamilyIndex" VkImageMemoryBarrier where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageMemoryBarrier, srcQueueFamilyIndex}--instance {-# OVERLAPPING #-}-         HasField "dstQueueFamilyIndex" VkImageMemoryBarrier where-        type FieldType "dstQueueFamilyIndex" VkImageMemoryBarrier = Word32-        type FieldOptional "dstQueueFamilyIndex" VkImageMemoryBarrier =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "dstQueueFamilyIndex" VkImageMemoryBarrier =-             #{offset VkImageMemoryBarrier, dstQueueFamilyIndex}-        type FieldIsArray "dstQueueFamilyIndex" VkImageMemoryBarrier =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageMemoryBarrier, dstQueueFamilyIndex}--instance {-# OVERLAPPING #-}-         CanReadField "dstQueueFamilyIndex" VkImageMemoryBarrier where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, dstQueueFamilyIndex})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageMemoryBarrier, dstQueueFamilyIndex}--instance {-# OVERLAPPING #-}-         CanWriteField "dstQueueFamilyIndex" VkImageMemoryBarrier where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageMemoryBarrier, dstQueueFamilyIndex}--instance {-# OVERLAPPING #-} HasField "image" VkImageMemoryBarrier-         where-        type FieldType "image" VkImageMemoryBarrier = VkImage-        type FieldOptional "image" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs-        type FieldOffset "image" VkImageMemoryBarrier =-             #{offset VkImageMemoryBarrier, image}-        type FieldIsArray "image" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageMemoryBarrier, image}--instance {-# OVERLAPPING #-}-         CanReadField "image" VkImageMemoryBarrier where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, image})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageMemoryBarrier, image}--instance {-# OVERLAPPING #-}-         CanWriteField "image" VkImageMemoryBarrier where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageMemoryBarrier, image}--instance {-# OVERLAPPING #-}-         HasField "subresourceRange" VkImageMemoryBarrier where-        type FieldType "subresourceRange" VkImageMemoryBarrier =-             VkImageSubresourceRange-        type FieldOptional "subresourceRange" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs-        type FieldOffset "subresourceRange" VkImageMemoryBarrier =-             #{offset VkImageMemoryBarrier, subresourceRange}-        type FieldIsArray "subresourceRange" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageMemoryBarrier, subresourceRange}--instance {-# OVERLAPPING #-}-         CanReadField "subresourceRange" VkImageMemoryBarrier where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, subresourceRange})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageMemoryBarrier, subresourceRange}--instance {-# OVERLAPPING #-}-         CanWriteField "subresourceRange" VkImageMemoryBarrier where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageMemoryBarrier, subresourceRange}--instance Show VkImageMemoryBarrier where-        showsPrec d x-          = showString "VkImageMemoryBarrier {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "srcAccessMask = " .-                            showsPrec d (getField @"srcAccessMask" x) .-                              showString ", " .-                                showString "dstAccessMask = " .-                                  showsPrec d (getField @"dstAccessMask" x) .-                                    showString ", " .-                                      showString "oldLayout = " .-                                        showsPrec d (getField @"oldLayout" x) .-                                          showString ", " .-                                            showString "newLayout = " .-                                              showsPrec d (getField @"newLayout" x) .-                                                showString ", " .-                                                  showString "srcQueueFamilyIndex = " .-                                                    showsPrec d (getField @"srcQueueFamilyIndex" x)-                                                      .-                                                      showString ", " .-                                                        showString "dstQueueFamilyIndex = " .-                                                          showsPrec d-                                                            (getField @"dstQueueFamilyIndex" x)-                                                            .-                                                            showString ", " .-                                                              showString "image = " .-                                                                showsPrec d (getField @"image" x) .-                                                                  showString ", " .-                                                                    showString "subresourceRange = "-                                                                      .-                                                                      showsPrec d-                                                                        (getField-                                                                           @"subresourceRange"-                                                                           x)-                                                                        . showChar '}'---- | > typedef struct VkImageMemoryRequirementsInfo2 {---   >     VkStructureType sType;---   >     const void*                                                          pNext;---   >     VkImage                                                              image;---   > } VkImageMemoryRequirementsInfo2;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2 registry at www.khronos.org>-type VkImageMemoryRequirementsInfo2 =-     VulkanStruct VkImageMemoryRequirementsInfo2' -- ' closing tick for hsc2hs--data VkImageMemoryRequirementsInfo2' -- ' closing tick for hsc2hs--instance Eq VkImageMemoryRequirementsInfo2 where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkImageMemoryRequirementsInfo2 where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkImageMemoryRequirementsInfo2 where-        sizeOf ~_ = #{size VkImageMemoryRequirementsInfo2}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkImageMemoryRequirementsInfo2}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkImageMemoryRequirementsInfo2 where-        type StructFields VkImageMemoryRequirementsInfo2 =-             '["sType", "pNext", "image"] -- ' closing tick for hsc2hs-        type CUnionType VkImageMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkImageMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs-        type StructExtends VkImageMemoryRequirementsInfo2 = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkImageMemoryRequirementsInfo2 where-        type FieldType "sType" VkImageMemoryRequirementsInfo2 =-             VkStructureType-        type FieldOptional "sType" VkImageMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkImageMemoryRequirementsInfo2 =-             #{offset VkImageMemoryRequirementsInfo2, sType}-        type FieldIsArray "sType" VkImageMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageMemoryRequirementsInfo2, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkImageMemoryRequirementsInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageMemoryRequirementsInfo2, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageMemoryRequirementsInfo2, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkImageMemoryRequirementsInfo2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageMemoryRequirementsInfo2, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkImageMemoryRequirementsInfo2 where-        type FieldType "pNext" VkImageMemoryRequirementsInfo2 = Ptr Void-        type FieldOptional "pNext" VkImageMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkImageMemoryRequirementsInfo2 =-             #{offset VkImageMemoryRequirementsInfo2, pNext}-        type FieldIsArray "pNext" VkImageMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageMemoryRequirementsInfo2, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkImageMemoryRequirementsInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageMemoryRequirementsInfo2, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageMemoryRequirementsInfo2, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkImageMemoryRequirementsInfo2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageMemoryRequirementsInfo2, pNext}--instance {-# OVERLAPPING #-}-         HasField "image" VkImageMemoryRequirementsInfo2 where-        type FieldType "image" VkImageMemoryRequirementsInfo2 = VkImage-        type FieldOptional "image" VkImageMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs-        type FieldOffset "image" VkImageMemoryRequirementsInfo2 =-             #{offset VkImageMemoryRequirementsInfo2, image}-        type FieldIsArray "image" VkImageMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageMemoryRequirementsInfo2, image}--instance {-# OVERLAPPING #-}-         CanReadField "image" VkImageMemoryRequirementsInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageMemoryRequirementsInfo2, image})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageMemoryRequirementsInfo2, image}--instance {-# OVERLAPPING #-}-         CanWriteField "image" VkImageMemoryRequirementsInfo2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageMemoryRequirementsInfo2, image}--instance Show VkImageMemoryRequirementsInfo2 where-        showsPrec d x-          = showString "VkImageMemoryRequirementsInfo2 {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "image = " .-                            showsPrec d (getField @"image" x) . showChar '}'---- | Alias for `VkImageMemoryRequirementsInfo2`-type VkImageMemoryRequirementsInfo2KHR =-     VkImageMemoryRequirementsInfo2---- | > typedef struct VkImagePlaneMemoryRequirementsInfo {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkImageAspectFlagBits            planeAspect;---   > } VkImagePlaneMemoryRequirementsInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfo registry at www.khronos.org>-type VkImagePlaneMemoryRequirementsInfo =-     VulkanStruct VkImagePlaneMemoryRequirementsInfo' -- ' closing tick for hsc2hs--data VkImagePlaneMemoryRequirementsInfo' -- ' closing tick for hsc2hs--instance Eq VkImagePlaneMemoryRequirementsInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkImagePlaneMemoryRequirementsInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkImagePlaneMemoryRequirementsInfo where-        sizeOf ~_ = #{size VkImagePlaneMemoryRequirementsInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkImagePlaneMemoryRequirementsInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkImagePlaneMemoryRequirementsInfo where-        type StructFields VkImagePlaneMemoryRequirementsInfo =-             '["sType", "pNext", "planeAspect"] -- ' closing tick for hsc2hs-        type CUnionType VkImagePlaneMemoryRequirementsInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkImagePlaneMemoryRequirementsInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkImagePlaneMemoryRequirementsInfo =-             '[VkImageMemoryRequirementsInfo2] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkImagePlaneMemoryRequirementsInfo where-        type FieldType "sType" VkImagePlaneMemoryRequirementsInfo =-             VkStructureType-        type FieldOptional "sType" VkImagePlaneMemoryRequirementsInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkImagePlaneMemoryRequirementsInfo =-             #{offset VkImagePlaneMemoryRequirementsInfo, sType}-        type FieldIsArray "sType" VkImagePlaneMemoryRequirementsInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImagePlaneMemoryRequirementsInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkImagePlaneMemoryRequirementsInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImagePlaneMemoryRequirementsInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImagePlaneMemoryRequirementsInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkImagePlaneMemoryRequirementsInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImagePlaneMemoryRequirementsInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkImagePlaneMemoryRequirementsInfo where-        type FieldType "pNext" VkImagePlaneMemoryRequirementsInfo =-             Ptr Void-        type FieldOptional "pNext" VkImagePlaneMemoryRequirementsInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkImagePlaneMemoryRequirementsInfo =-             #{offset VkImagePlaneMemoryRequirementsInfo, pNext}-        type FieldIsArray "pNext" VkImagePlaneMemoryRequirementsInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImagePlaneMemoryRequirementsInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkImagePlaneMemoryRequirementsInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImagePlaneMemoryRequirementsInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImagePlaneMemoryRequirementsInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkImagePlaneMemoryRequirementsInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImagePlaneMemoryRequirementsInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "planeAspect" VkImagePlaneMemoryRequirementsInfo where-        type FieldType "planeAspect" VkImagePlaneMemoryRequirementsInfo =-             VkImageAspectFlagBits-        type FieldOptional "planeAspect" VkImagePlaneMemoryRequirementsInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "planeAspect" VkImagePlaneMemoryRequirementsInfo =-             #{offset VkImagePlaneMemoryRequirementsInfo, planeAspect}-        type FieldIsArray "planeAspect" VkImagePlaneMemoryRequirementsInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImagePlaneMemoryRequirementsInfo, planeAspect}--instance {-# OVERLAPPING #-}-         CanReadField "planeAspect" VkImagePlaneMemoryRequirementsInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImagePlaneMemoryRequirementsInfo, planeAspect})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImagePlaneMemoryRequirementsInfo, planeAspect}--instance {-# OVERLAPPING #-}-         CanWriteField "planeAspect" VkImagePlaneMemoryRequirementsInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImagePlaneMemoryRequirementsInfo, planeAspect}--instance Show VkImagePlaneMemoryRequirementsInfo where-        showsPrec d x-          = showString "VkImagePlaneMemoryRequirementsInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "planeAspect = " .-                            showsPrec d (getField @"planeAspect" x) . showChar '}'---- | Alias for `VkImagePlaneMemoryRequirementsInfo`-type VkImagePlaneMemoryRequirementsInfoKHR =-     VkImagePlaneMemoryRequirementsInfo---- | > typedef struct VkImageResolve {---   >     VkImageSubresourceLayers srcSubresource;---   >     VkOffset3D             srcOffset;---   >     VkImageSubresourceLayers dstSubresource;---   >     VkOffset3D             dstOffset;---   >     VkExtent3D             extent;---   > } VkImageResolve;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageResolve VkImageResolve registry at www.khronos.org>-type VkImageResolve = VulkanStruct VkImageResolve' -- ' closing tick for hsc2hs--data VkImageResolve' -- ' closing tick for hsc2hs--instance Eq VkImageResolve where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkImageResolve where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkImageResolve where-        sizeOf ~_ = #{size VkImageResolve}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkImageResolve}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkImageResolve where-        type StructFields VkImageResolve =-             '["srcSubresource", "srcOffset", "dstSubresource", "dstOffset", -- ' closing tick for hsc2hs-               "extent"]-        type CUnionType VkImageResolve = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkImageResolve = 'False -- ' closing tick for hsc2hs-        type StructExtends VkImageResolve = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "srcSubresource" VkImageResolve where-        type FieldType "srcSubresource" VkImageResolve =-             VkImageSubresourceLayers-        type FieldOptional "srcSubresource" VkImageResolve = 'False -- ' closing tick for hsc2hs-        type FieldOffset "srcSubresource" VkImageResolve =-             #{offset VkImageResolve, srcSubresource}-        type FieldIsArray "srcSubresource" VkImageResolve = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageResolve, srcSubresource}--instance {-# OVERLAPPING #-}-         CanReadField "srcSubresource" VkImageResolve where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageResolve, srcSubresource})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageResolve, srcSubresource}--instance {-# OVERLAPPING #-}-         CanWriteField "srcSubresource" VkImageResolve where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageResolve, srcSubresource}--instance {-# OVERLAPPING #-} HasField "srcOffset" VkImageResolve-         where-        type FieldType "srcOffset" VkImageResolve = VkOffset3D-        type FieldOptional "srcOffset" VkImageResolve = 'False -- ' closing tick for hsc2hs-        type FieldOffset "srcOffset" VkImageResolve =-             #{offset VkImageResolve, srcOffset}-        type FieldIsArray "srcOffset" VkImageResolve = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageResolve, srcOffset}--instance {-# OVERLAPPING #-}-         CanReadField "srcOffset" VkImageResolve where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageResolve, srcOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageResolve, srcOffset}--instance {-# OVERLAPPING #-}-         CanWriteField "srcOffset" VkImageResolve where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageResolve, srcOffset}--instance {-# OVERLAPPING #-}-         HasField "dstSubresource" VkImageResolve where-        type FieldType "dstSubresource" VkImageResolve =-             VkImageSubresourceLayers-        type FieldOptional "dstSubresource" VkImageResolve = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dstSubresource" VkImageResolve =-             #{offset VkImageResolve, dstSubresource}-        type FieldIsArray "dstSubresource" VkImageResolve = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageResolve, dstSubresource}--instance {-# OVERLAPPING #-}-         CanReadField "dstSubresource" VkImageResolve where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageResolve, dstSubresource})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageResolve, dstSubresource}--instance {-# OVERLAPPING #-}-         CanWriteField "dstSubresource" VkImageResolve where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageResolve, dstSubresource}--instance {-# OVERLAPPING #-} HasField "dstOffset" VkImageResolve-         where-        type FieldType "dstOffset" VkImageResolve = VkOffset3D-        type FieldOptional "dstOffset" VkImageResolve = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dstOffset" VkImageResolve =-             #{offset VkImageResolve, dstOffset}-        type FieldIsArray "dstOffset" VkImageResolve = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageResolve, dstOffset}--instance {-# OVERLAPPING #-}-         CanReadField "dstOffset" VkImageResolve where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageResolve, dstOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageResolve, dstOffset}--instance {-# OVERLAPPING #-}-         CanWriteField "dstOffset" VkImageResolve where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageResolve, dstOffset}--instance {-# OVERLAPPING #-} HasField "extent" VkImageResolve where-        type FieldType "extent" VkImageResolve = VkExtent3D-        type FieldOptional "extent" VkImageResolve = 'False -- ' closing tick for hsc2hs-        type FieldOffset "extent" VkImageResolve =-             #{offset VkImageResolve, extent}-        type FieldIsArray "extent" VkImageResolve = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageResolve, extent}--instance {-# OVERLAPPING #-} CanReadField "extent" VkImageResolve-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageResolve, extent})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageResolve, extent}--instance {-# OVERLAPPING #-} CanWriteField "extent" VkImageResolve-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageResolve, extent}--instance Show VkImageResolve where-        showsPrec d x-          = showString "VkImageResolve {" .-              showString "srcSubresource = " .-                showsPrec d (getField @"srcSubresource" x) .-                  showString ", " .-                    showString "srcOffset = " .-                      showsPrec d (getField @"srcOffset" x) .-                        showString ", " .-                          showString "dstSubresource = " .-                            showsPrec d (getField @"dstSubresource" x) .-                              showString ", " .-                                showString "dstOffset = " .-                                  showsPrec d (getField @"dstOffset" x) .-                                    showString ", " .-                                      showString "extent = " .-                                        showsPrec d (getField @"extent" x) . showChar '}'---- | > typedef struct VkImageSparseMemoryRequirementsInfo2 {---   >     VkStructureType sType;---   >     const void*                                                          pNext;---   >     VkImage                                                              image;---   > } VkImageSparseMemoryRequirementsInfo2;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2 registry at www.khronos.org>-type VkImageSparseMemoryRequirementsInfo2 =-     VulkanStruct VkImageSparseMemoryRequirementsInfo2' -- ' closing tick for hsc2hs--data VkImageSparseMemoryRequirementsInfo2' -- ' closing tick for hsc2hs--instance Eq VkImageSparseMemoryRequirementsInfo2 where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkImageSparseMemoryRequirementsInfo2 where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkImageSparseMemoryRequirementsInfo2 where-        sizeOf ~_-          = #{size VkImageSparseMemoryRequirementsInfo2}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkImageSparseMemoryRequirementsInfo2}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkImageSparseMemoryRequirementsInfo2 where-        type StructFields VkImageSparseMemoryRequirementsInfo2 =-             '["sType", "pNext", "image"] -- ' closing tick for hsc2hs-        type CUnionType VkImageSparseMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkImageSparseMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs-        type StructExtends VkImageSparseMemoryRequirementsInfo2 = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkImageSparseMemoryRequirementsInfo2 where-        type FieldType "sType" VkImageSparseMemoryRequirementsInfo2 =-             VkStructureType-        type FieldOptional "sType" VkImageSparseMemoryRequirementsInfo2 =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkImageSparseMemoryRequirementsInfo2 =-             #{offset VkImageSparseMemoryRequirementsInfo2, sType}-        type FieldIsArray "sType" VkImageSparseMemoryRequirementsInfo2 =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageSparseMemoryRequirementsInfo2, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkImageSparseMemoryRequirementsInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageSparseMemoryRequirementsInfo2, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageSparseMemoryRequirementsInfo2, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkImageSparseMemoryRequirementsInfo2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageSparseMemoryRequirementsInfo2, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkImageSparseMemoryRequirementsInfo2 where-        type FieldType "pNext" VkImageSparseMemoryRequirementsInfo2 =-             Ptr Void-        type FieldOptional "pNext" VkImageSparseMemoryRequirementsInfo2 =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkImageSparseMemoryRequirementsInfo2 =-             #{offset VkImageSparseMemoryRequirementsInfo2, pNext}-        type FieldIsArray "pNext" VkImageSparseMemoryRequirementsInfo2 =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageSparseMemoryRequirementsInfo2, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkImageSparseMemoryRequirementsInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageSparseMemoryRequirementsInfo2, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageSparseMemoryRequirementsInfo2, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkImageSparseMemoryRequirementsInfo2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageSparseMemoryRequirementsInfo2, pNext}--instance {-# OVERLAPPING #-}-         HasField "image" VkImageSparseMemoryRequirementsInfo2 where-        type FieldType "image" VkImageSparseMemoryRequirementsInfo2 =-             VkImage-        type FieldOptional "image" VkImageSparseMemoryRequirementsInfo2 =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "image" VkImageSparseMemoryRequirementsInfo2 =-             #{offset VkImageSparseMemoryRequirementsInfo2, image}-        type FieldIsArray "image" VkImageSparseMemoryRequirementsInfo2 =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageSparseMemoryRequirementsInfo2, image}--instance {-# OVERLAPPING #-}-         CanReadField "image" VkImageSparseMemoryRequirementsInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageSparseMemoryRequirementsInfo2, image})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageSparseMemoryRequirementsInfo2, image}--instance {-# OVERLAPPING #-}-         CanWriteField "image" VkImageSparseMemoryRequirementsInfo2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageSparseMemoryRequirementsInfo2, image}--instance Show VkImageSparseMemoryRequirementsInfo2 where-        showsPrec d x-          = showString "VkImageSparseMemoryRequirementsInfo2 {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "image = " .-                            showsPrec d (getField @"image" x) . showChar '}'---- | Alias for `VkImageSparseMemoryRequirementsInfo2`-type VkImageSparseMemoryRequirementsInfo2KHR =-     VkImageSparseMemoryRequirementsInfo2---- | > typedef struct VkImageSubresource {---   >     VkImageAspectFlags     aspectMask;---   >     uint32_t               mipLevel;---   >     uint32_t               arrayLayer;---   > } VkImageSubresource;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageSubresource VkImageSubresource registry at www.khronos.org>-type VkImageSubresource = VulkanStruct VkImageSubresource' -- ' closing tick for hsc2hs--data VkImageSubresource' -- ' closing tick for hsc2hs--instance Eq VkImageSubresource where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkImageSubresource where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkImageSubresource where-        sizeOf ~_ = #{size VkImageSubresource}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkImageSubresource}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkImageSubresource where-        type StructFields VkImageSubresource =-             '["aspectMask", "mipLevel", "arrayLayer"] -- ' closing tick for hsc2hs-        type CUnionType VkImageSubresource = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkImageSubresource = 'False -- ' closing tick for hsc2hs-        type StructExtends VkImageSubresource = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "aspectMask" VkImageSubresource where-        type FieldType "aspectMask" VkImageSubresource = VkImageAspectFlags-        type FieldOptional "aspectMask" VkImageSubresource = 'False -- ' closing tick for hsc2hs-        type FieldOffset "aspectMask" VkImageSubresource =-             #{offset VkImageSubresource, aspectMask}-        type FieldIsArray "aspectMask" VkImageSubresource = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageSubresource, aspectMask}--instance {-# OVERLAPPING #-}-         CanReadField "aspectMask" VkImageSubresource where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageSubresource, aspectMask})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageSubresource, aspectMask}--instance {-# OVERLAPPING #-}-         CanWriteField "aspectMask" VkImageSubresource where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageSubresource, aspectMask}--instance {-# OVERLAPPING #-} HasField "mipLevel" VkImageSubresource-         where-        type FieldType "mipLevel" VkImageSubresource = Word32-        type FieldOptional "mipLevel" VkImageSubresource = 'False -- ' closing tick for hsc2hs-        type FieldOffset "mipLevel" VkImageSubresource =-             #{offset VkImageSubresource, mipLevel}-        type FieldIsArray "mipLevel" VkImageSubresource = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageSubresource, mipLevel}--instance {-# OVERLAPPING #-}-         CanReadField "mipLevel" VkImageSubresource where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageSubresource, mipLevel})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageSubresource, mipLevel}--instance {-# OVERLAPPING #-}-         CanWriteField "mipLevel" VkImageSubresource where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageSubresource, mipLevel}--instance {-# OVERLAPPING #-}-         HasField "arrayLayer" VkImageSubresource where-        type FieldType "arrayLayer" VkImageSubresource = Word32-        type FieldOptional "arrayLayer" VkImageSubresource = 'False -- ' closing tick for hsc2hs-        type FieldOffset "arrayLayer" VkImageSubresource =-             #{offset VkImageSubresource, arrayLayer}-        type FieldIsArray "arrayLayer" VkImageSubresource = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageSubresource, arrayLayer}--instance {-# OVERLAPPING #-}-         CanReadField "arrayLayer" VkImageSubresource where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageSubresource, arrayLayer})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageSubresource, arrayLayer}--instance {-# OVERLAPPING #-}-         CanWriteField "arrayLayer" VkImageSubresource where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageSubresource, arrayLayer}--instance Show VkImageSubresource where-        showsPrec d x-          = showString "VkImageSubresource {" .-              showString "aspectMask = " .-                showsPrec d (getField @"aspectMask" x) .-                  showString ", " .-                    showString "mipLevel = " .-                      showsPrec d (getField @"mipLevel" x) .-                        showString ", " .-                          showString "arrayLayer = " .-                            showsPrec d (getField @"arrayLayer" x) . showChar '}'---- | > typedef struct VkImageSubresourceLayers {---   >     VkImageAspectFlags     aspectMask;---   >     uint32_t               mipLevel;---   >     uint32_t               baseArrayLayer;---   >     uint32_t               layerCount;---   > } VkImageSubresourceLayers;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageSubresourceLayers VkImageSubresourceLayers registry at www.khronos.org>-type VkImageSubresourceLayers =-     VulkanStruct VkImageSubresourceLayers' -- ' closing tick for hsc2hs--data VkImageSubresourceLayers' -- ' closing tick for hsc2hs--instance Eq VkImageSubresourceLayers where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkImageSubresourceLayers where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkImageSubresourceLayers where-        sizeOf ~_ = #{size VkImageSubresourceLayers}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkImageSubresourceLayers}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkImageSubresourceLayers where-        type StructFields VkImageSubresourceLayers =-             '["aspectMask", "mipLevel", "baseArrayLayer", "layerCount"] -- ' closing tick for hsc2hs-        type CUnionType VkImageSubresourceLayers = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkImageSubresourceLayers = 'False -- ' closing tick for hsc2hs-        type StructExtends VkImageSubresourceLayers = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "aspectMask" VkImageSubresourceLayers where-        type FieldType "aspectMask" VkImageSubresourceLayers =-             VkImageAspectFlags-        type FieldOptional "aspectMask" VkImageSubresourceLayers = 'False -- ' closing tick for hsc2hs-        type FieldOffset "aspectMask" VkImageSubresourceLayers =-             #{offset VkImageSubresourceLayers, aspectMask}-        type FieldIsArray "aspectMask" VkImageSubresourceLayers = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageSubresourceLayers, aspectMask}--instance {-# OVERLAPPING #-}-         CanReadField "aspectMask" VkImageSubresourceLayers where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageSubresourceLayers, aspectMask})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageSubresourceLayers, aspectMask}--instance {-# OVERLAPPING #-}-         CanWriteField "aspectMask" VkImageSubresourceLayers where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageSubresourceLayers, aspectMask}--instance {-# OVERLAPPING #-}-         HasField "mipLevel" VkImageSubresourceLayers where-        type FieldType "mipLevel" VkImageSubresourceLayers = Word32-        type FieldOptional "mipLevel" VkImageSubresourceLayers = 'False -- ' closing tick for hsc2hs-        type FieldOffset "mipLevel" VkImageSubresourceLayers =-             #{offset VkImageSubresourceLayers, mipLevel}-        type FieldIsArray "mipLevel" VkImageSubresourceLayers = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageSubresourceLayers, mipLevel}--instance {-# OVERLAPPING #-}-         CanReadField "mipLevel" VkImageSubresourceLayers where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageSubresourceLayers, mipLevel})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageSubresourceLayers, mipLevel}--instance {-# OVERLAPPING #-}-         CanWriteField "mipLevel" VkImageSubresourceLayers where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageSubresourceLayers, mipLevel}--instance {-# OVERLAPPING #-}-         HasField "baseArrayLayer" VkImageSubresourceLayers where-        type FieldType "baseArrayLayer" VkImageSubresourceLayers = Word32-        type FieldOptional "baseArrayLayer" VkImageSubresourceLayers =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "baseArrayLayer" VkImageSubresourceLayers =-             #{offset VkImageSubresourceLayers, baseArrayLayer}-        type FieldIsArray "baseArrayLayer" VkImageSubresourceLayers =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageSubresourceLayers, baseArrayLayer}--instance {-# OVERLAPPING #-}-         CanReadField "baseArrayLayer" VkImageSubresourceLayers where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageSubresourceLayers, baseArrayLayer})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageSubresourceLayers, baseArrayLayer}--instance {-# OVERLAPPING #-}-         CanWriteField "baseArrayLayer" VkImageSubresourceLayers where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageSubresourceLayers, baseArrayLayer}--instance {-# OVERLAPPING #-}-         HasField "layerCount" VkImageSubresourceLayers where-        type FieldType "layerCount" VkImageSubresourceLayers = Word32-        type FieldOptional "layerCount" VkImageSubresourceLayers = 'False -- ' closing tick for hsc2hs-        type FieldOffset "layerCount" VkImageSubresourceLayers =-             #{offset VkImageSubresourceLayers, layerCount}-        type FieldIsArray "layerCount" VkImageSubresourceLayers = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageSubresourceLayers, layerCount}--instance {-# OVERLAPPING #-}-         CanReadField "layerCount" VkImageSubresourceLayers where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageSubresourceLayers, layerCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageSubresourceLayers, layerCount}--instance {-# OVERLAPPING #-}-         CanWriteField "layerCount" VkImageSubresourceLayers where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageSubresourceLayers, layerCount}--instance Show VkImageSubresourceLayers where-        showsPrec d x-          = showString "VkImageSubresourceLayers {" .-              showString "aspectMask = " .-                showsPrec d (getField @"aspectMask" x) .-                  showString ", " .-                    showString "mipLevel = " .-                      showsPrec d (getField @"mipLevel" x) .-                        showString ", " .-                          showString "baseArrayLayer = " .-                            showsPrec d (getField @"baseArrayLayer" x) .-                              showString ", " .-                                showString "layerCount = " .-                                  showsPrec d (getField @"layerCount" x) . showChar '}'---- | > typedef struct VkImageSubresourceRange {---   >     VkImageAspectFlags     aspectMask;---   >     uint32_t               baseMipLevel;---   >     uint32_t               levelCount;---   >     uint32_t               baseArrayLayer;---   >     uint32_t               layerCount;---   > } VkImageSubresourceRange;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageSubresourceRange VkImageSubresourceRange registry at www.khronos.org>-type VkImageSubresourceRange =-     VulkanStruct VkImageSubresourceRange' -- ' closing tick for hsc2hs--data VkImageSubresourceRange' -- ' closing tick for hsc2hs--instance Eq VkImageSubresourceRange where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkImageSubresourceRange where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkImageSubresourceRange where-        sizeOf ~_ = #{size VkImageSubresourceRange}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkImageSubresourceRange}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkImageSubresourceRange where-        type StructFields VkImageSubresourceRange =-             '["aspectMask", "baseMipLevel", "levelCount", "baseArrayLayer", -- ' closing tick for hsc2hs-               "layerCount"]-        type CUnionType VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs-        type StructExtends VkImageSubresourceRange = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "aspectMask" VkImageSubresourceRange where-        type FieldType "aspectMask" VkImageSubresourceRange =-             VkImageAspectFlags-        type FieldOptional "aspectMask" VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs-        type FieldOffset "aspectMask" VkImageSubresourceRange =-             #{offset VkImageSubresourceRange, aspectMask}-        type FieldIsArray "aspectMask" VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageSubresourceRange, aspectMask}--instance {-# OVERLAPPING #-}-         CanReadField "aspectMask" VkImageSubresourceRange where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageSubresourceRange, aspectMask})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageSubresourceRange, aspectMask}--instance {-# OVERLAPPING #-}-         CanWriteField "aspectMask" VkImageSubresourceRange where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageSubresourceRange, aspectMask}--instance {-# OVERLAPPING #-}-         HasField "baseMipLevel" VkImageSubresourceRange where-        type FieldType "baseMipLevel" VkImageSubresourceRange = Word32-        type FieldOptional "baseMipLevel" VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs-        type FieldOffset "baseMipLevel" VkImageSubresourceRange =-             #{offset VkImageSubresourceRange, baseMipLevel}-        type FieldIsArray "baseMipLevel" VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageSubresourceRange, baseMipLevel}--instance {-# OVERLAPPING #-}-         CanReadField "baseMipLevel" VkImageSubresourceRange where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageSubresourceRange, baseMipLevel})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageSubresourceRange, baseMipLevel}--instance {-# OVERLAPPING #-}-         CanWriteField "baseMipLevel" VkImageSubresourceRange where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageSubresourceRange, baseMipLevel}--instance {-# OVERLAPPING #-}-         HasField "levelCount" VkImageSubresourceRange where-        type FieldType "levelCount" VkImageSubresourceRange = Word32-        type FieldOptional "levelCount" VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs-        type FieldOffset "levelCount" VkImageSubresourceRange =-             #{offset VkImageSubresourceRange, levelCount}-        type FieldIsArray "levelCount" VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageSubresourceRange, levelCount}--instance {-# OVERLAPPING #-}-         CanReadField "levelCount" VkImageSubresourceRange where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageSubresourceRange, levelCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageSubresourceRange, levelCount}--instance {-# OVERLAPPING #-}-         CanWriteField "levelCount" VkImageSubresourceRange where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageSubresourceRange, levelCount}--instance {-# OVERLAPPING #-}-         HasField "baseArrayLayer" VkImageSubresourceRange where-        type FieldType "baseArrayLayer" VkImageSubresourceRange = Word32-        type FieldOptional "baseArrayLayer" VkImageSubresourceRange =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "baseArrayLayer" VkImageSubresourceRange =-             #{offset VkImageSubresourceRange, baseArrayLayer}-        type FieldIsArray "baseArrayLayer" VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageSubresourceRange, baseArrayLayer}--instance {-# OVERLAPPING #-}-         CanReadField "baseArrayLayer" VkImageSubresourceRange where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageSubresourceRange, baseArrayLayer})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageSubresourceRange, baseArrayLayer}--instance {-# OVERLAPPING #-}-         CanWriteField "baseArrayLayer" VkImageSubresourceRange where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageSubresourceRange, baseArrayLayer}--instance {-# OVERLAPPING #-}-         HasField "layerCount" VkImageSubresourceRange where-        type FieldType "layerCount" VkImageSubresourceRange = Word32-        type FieldOptional "layerCount" VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs-        type FieldOffset "layerCount" VkImageSubresourceRange =-             #{offset VkImageSubresourceRange, layerCount}-        type FieldIsArray "layerCount" VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageSubresourceRange, layerCount}--instance {-# OVERLAPPING #-}-         CanReadField "layerCount" VkImageSubresourceRange where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageSubresourceRange, layerCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageSubresourceRange, layerCount}--instance {-# OVERLAPPING #-}-         CanWriteField "layerCount" VkImageSubresourceRange where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageSubresourceRange, layerCount}--instance Show VkImageSubresourceRange where-        showsPrec d x-          = showString "VkImageSubresourceRange {" .-              showString "aspectMask = " .-                showsPrec d (getField @"aspectMask" x) .-                  showString ", " .-                    showString "baseMipLevel = " .-                      showsPrec d (getField @"baseMipLevel" x) .-                        showString ", " .-                          showString "levelCount = " .-                            showsPrec d (getField @"levelCount" x) .-                              showString ", " .-                                showString "baseArrayLayer = " .-                                  showsPrec d (getField @"baseArrayLayer" x) .-                                    showString ", " .-                                      showString "layerCount = " .-                                        showsPrec d (getField @"layerCount" x) . showChar '}'---- | > typedef struct VkImageSwapchainCreateInfoKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkSwapchainKHR   swapchain;---   > } VkImageSwapchainCreateInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageSwapchainCreateInfoKHR VkImageSwapchainCreateInfoKHR registry at www.khronos.org>-type VkImageSwapchainCreateInfoKHR =-     VulkanStruct VkImageSwapchainCreateInfoKHR' -- ' closing tick for hsc2hs--data VkImageSwapchainCreateInfoKHR' -- ' closing tick for hsc2hs--instance Eq VkImageSwapchainCreateInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkImageSwapchainCreateInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkImageSwapchainCreateInfoKHR where-        sizeOf ~_ = #{size VkImageSwapchainCreateInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkImageSwapchainCreateInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkImageSwapchainCreateInfoKHR where-        type StructFields VkImageSwapchainCreateInfoKHR =-             '["sType", "pNext", "swapchain"] -- ' closing tick for hsc2hs-        type CUnionType VkImageSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkImageSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkImageSwapchainCreateInfoKHR =-             '[VkImageCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkImageSwapchainCreateInfoKHR where-        type FieldType "sType" VkImageSwapchainCreateInfoKHR =-             VkStructureType-        type FieldOptional "sType" VkImageSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkImageSwapchainCreateInfoKHR =-             #{offset VkImageSwapchainCreateInfoKHR, sType}-        type FieldIsArray "sType" VkImageSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageSwapchainCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkImageSwapchainCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageSwapchainCreateInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageSwapchainCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkImageSwapchainCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageSwapchainCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkImageSwapchainCreateInfoKHR where-        type FieldType "pNext" VkImageSwapchainCreateInfoKHR = Ptr Void-        type FieldOptional "pNext" VkImageSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkImageSwapchainCreateInfoKHR =-             #{offset VkImageSwapchainCreateInfoKHR, pNext}-        type FieldIsArray "pNext" VkImageSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageSwapchainCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkImageSwapchainCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageSwapchainCreateInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageSwapchainCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkImageSwapchainCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageSwapchainCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "swapchain" VkImageSwapchainCreateInfoKHR where-        type FieldType "swapchain" VkImageSwapchainCreateInfoKHR =-             VkSwapchainKHR-        type FieldOptional "swapchain" VkImageSwapchainCreateInfoKHR =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "swapchain" VkImageSwapchainCreateInfoKHR =-             #{offset VkImageSwapchainCreateInfoKHR, swapchain}-        type FieldIsArray "swapchain" VkImageSwapchainCreateInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageSwapchainCreateInfoKHR, swapchain}--instance {-# OVERLAPPING #-}-         CanReadField "swapchain" VkImageSwapchainCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageSwapchainCreateInfoKHR, swapchain})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageSwapchainCreateInfoKHR, swapchain}--instance {-# OVERLAPPING #-}-         CanWriteField "swapchain" VkImageSwapchainCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageSwapchainCreateInfoKHR, swapchain}--instance Show VkImageSwapchainCreateInfoKHR where-        showsPrec d x-          = showString "VkImageSwapchainCreateInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "swapchain = " .-                            showsPrec d (getField @"swapchain" x) . showChar '}'---- | > typedef struct VkImageViewCreateInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkImageViewCreateFlags flags;---   >     VkImage                image;---   >     VkImageViewType        viewType;---   >     VkFormat               format;---   >     VkComponentMapping     components;---   >     VkImageSubresourceRange subresourceRange;---   > } VkImageViewCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageViewCreateInfo VkImageViewCreateInfo registry at www.khronos.org>-type VkImageViewCreateInfo = VulkanStruct VkImageViewCreateInfo' -- ' closing tick for hsc2hs--data VkImageViewCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkImageViewCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkImageViewCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkImageViewCreateInfo where-        sizeOf ~_ = #{size VkImageViewCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkImageViewCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkImageViewCreateInfo where-        type StructFields VkImageViewCreateInfo =-             '["sType", "pNext", "flags", "image", "viewType", "format", -- ' closing tick for hsc2hs-               "components", "subresourceRange"]-        type CUnionType VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkImageViewCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkImageViewCreateInfo-         where-        type FieldType "sType" VkImageViewCreateInfo = VkStructureType-        type FieldOptional "sType" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkImageViewCreateInfo =-             #{offset VkImageViewCreateInfo, sType}-        type FieldIsArray "sType" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageViewCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkImageViewCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageViewCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageViewCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkImageViewCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageViewCreateInfo, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkImageViewCreateInfo-         where-        type FieldType "pNext" VkImageViewCreateInfo = Ptr Void-        type FieldOptional "pNext" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkImageViewCreateInfo =-             #{offset VkImageViewCreateInfo, pNext}-        type FieldIsArray "pNext" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageViewCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkImageViewCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageViewCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageViewCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkImageViewCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageViewCreateInfo, pNext}--instance {-# OVERLAPPING #-} HasField "flags" VkImageViewCreateInfo-         where-        type FieldType "flags" VkImageViewCreateInfo =-             VkImageViewCreateFlags-        type FieldOptional "flags" VkImageViewCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkImageViewCreateInfo =-             #{offset VkImageViewCreateInfo, flags}-        type FieldIsArray "flags" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageViewCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkImageViewCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageViewCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageViewCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkImageViewCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageViewCreateInfo, flags}--instance {-# OVERLAPPING #-} HasField "image" VkImageViewCreateInfo-         where-        type FieldType "image" VkImageViewCreateInfo = VkImage-        type FieldOptional "image" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "image" VkImageViewCreateInfo =-             #{offset VkImageViewCreateInfo, image}-        type FieldIsArray "image" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageViewCreateInfo, image}--instance {-# OVERLAPPING #-}-         CanReadField "image" VkImageViewCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageViewCreateInfo, image})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageViewCreateInfo, image}--instance {-# OVERLAPPING #-}-         CanWriteField "image" VkImageViewCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageViewCreateInfo, image}--instance {-# OVERLAPPING #-}-         HasField "viewType" VkImageViewCreateInfo where-        type FieldType "viewType" VkImageViewCreateInfo = VkImageViewType-        type FieldOptional "viewType" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "viewType" VkImageViewCreateInfo =-             #{offset VkImageViewCreateInfo, viewType}-        type FieldIsArray "viewType" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageViewCreateInfo, viewType}--instance {-# OVERLAPPING #-}-         CanReadField "viewType" VkImageViewCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageViewCreateInfo, viewType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageViewCreateInfo, viewType}--instance {-# OVERLAPPING #-}-         CanWriteField "viewType" VkImageViewCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageViewCreateInfo, viewType}--instance {-# OVERLAPPING #-}-         HasField "format" VkImageViewCreateInfo where-        type FieldType "format" VkImageViewCreateInfo = VkFormat-        type FieldOptional "format" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "format" VkImageViewCreateInfo =-             #{offset VkImageViewCreateInfo, format}-        type FieldIsArray "format" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImageViewCreateInfo, format}--instance {-# OVERLAPPING #-}-         CanReadField "format" VkImageViewCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageViewCreateInfo, format})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageViewCreateInfo, format}--instance {-# OVERLAPPING #-}-         CanWriteField "format" VkImageViewCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageViewCreateInfo, format}--instance {-# OVERLAPPING #-}-         HasField "components" VkImageViewCreateInfo where-        type FieldType "components" VkImageViewCreateInfo =-             VkComponentMapping-        type FieldOptional "components" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "components" VkImageViewCreateInfo =-             #{offset VkImageViewCreateInfo, components}-        type FieldIsArray "components" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageViewCreateInfo, components}--instance {-# OVERLAPPING #-}-         CanReadField "components" VkImageViewCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageViewCreateInfo, components})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageViewCreateInfo, components}--instance {-# OVERLAPPING #-}-         CanWriteField "components" VkImageViewCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageViewCreateInfo, components}--instance {-# OVERLAPPING #-}-         HasField "subresourceRange" VkImageViewCreateInfo where-        type FieldType "subresourceRange" VkImageViewCreateInfo =-             VkImageSubresourceRange-        type FieldOptional "subresourceRange" VkImageViewCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "subresourceRange" VkImageViewCreateInfo =-             #{offset VkImageViewCreateInfo, subresourceRange}-        type FieldIsArray "subresourceRange" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageViewCreateInfo, subresourceRange}--instance {-# OVERLAPPING #-}-         CanReadField "subresourceRange" VkImageViewCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageViewCreateInfo, subresourceRange})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageViewCreateInfo, subresourceRange}--instance {-# OVERLAPPING #-}-         CanWriteField "subresourceRange" VkImageViewCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageViewCreateInfo, subresourceRange}--instance Show VkImageViewCreateInfo where-        showsPrec d x-          = showString "VkImageViewCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "image = " .-                                  showsPrec d (getField @"image" x) .-                                    showString ", " .-                                      showString "viewType = " .-                                        showsPrec d (getField @"viewType" x) .-                                          showString ", " .-                                            showString "format = " .-                                              showsPrec d (getField @"format" x) .-                                                showString ", " .-                                                  showString "components = " .-                                                    showsPrec d (getField @"components" x) .-                                                      showString ", " .-                                                        showString "subresourceRange = " .-                                                          showsPrec d-                                                            (getField @"subresourceRange" x)-                                                            . showChar '}'---- | > typedef struct VkImageViewUsageCreateInfo {---   >     VkStructureType sType;---   >     const void* pNext;---   >     VkImageUsageFlags usage;---   > } VkImageViewUsageCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageViewUsageCreateInfo VkImageViewUsageCreateInfo registry at www.khronos.org>-type VkImageViewUsageCreateInfo =-     VulkanStruct VkImageViewUsageCreateInfo' -- ' closing tick for hsc2hs--data VkImageViewUsageCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkImageViewUsageCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkImageViewUsageCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkImageViewUsageCreateInfo where-        sizeOf ~_ = #{size VkImageViewUsageCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkImageViewUsageCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkImageViewUsageCreateInfo where-        type StructFields VkImageViewUsageCreateInfo =-             '["sType", "pNext", "usage"] -- ' closing tick for hsc2hs-        type CUnionType VkImageViewUsageCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkImageViewUsageCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkImageViewUsageCreateInfo =-             '[VkImageViewCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkImageViewUsageCreateInfo where-        type FieldType "sType" VkImageViewUsageCreateInfo = VkStructureType-        type FieldOptional "sType" VkImageViewUsageCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkImageViewUsageCreateInfo =-             #{offset VkImageViewUsageCreateInfo, sType}-        type FieldIsArray "sType" VkImageViewUsageCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageViewUsageCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkImageViewUsageCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageViewUsageCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageViewUsageCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkImageViewUsageCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageViewUsageCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkImageViewUsageCreateInfo where-        type FieldType "pNext" VkImageViewUsageCreateInfo = Ptr Void-        type FieldOptional "pNext" VkImageViewUsageCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkImageViewUsageCreateInfo =-             #{offset VkImageViewUsageCreateInfo, pNext}-        type FieldIsArray "pNext" VkImageViewUsageCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageViewUsageCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkImageViewUsageCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageViewUsageCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageViewUsageCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkImageViewUsageCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageViewUsageCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "usage" VkImageViewUsageCreateInfo where-        type FieldType "usage" VkImageViewUsageCreateInfo =-             VkImageUsageFlags-        type FieldOptional "usage" VkImageViewUsageCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "usage" VkImageViewUsageCreateInfo =-             #{offset VkImageViewUsageCreateInfo, usage}-        type FieldIsArray "usage" VkImageViewUsageCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImageViewUsageCreateInfo, usage}--instance {-# OVERLAPPING #-}-         CanReadField "usage" VkImageViewUsageCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImageViewUsageCreateInfo, usage})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImageViewUsageCreateInfo, usage}--instance {-# OVERLAPPING #-}-         CanWriteField "usage" VkImageViewUsageCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImageViewUsageCreateInfo, usage}--instance Show VkImageViewUsageCreateInfo where-        showsPrec d x-          = showString "VkImageViewUsageCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "usage = " .-                            showsPrec d (getField @"usage" x) . showChar '}'+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.Image+       (VkImageBlit, VkImageCopy, VkImageCreateInfo,+        VkImageFormatListCreateInfoKHR, VkImageFormatProperties,+        VkImageFormatProperties2, VkImageFormatProperties2KHR,+        VkImageMemoryBarrier, VkImageMemoryRequirementsInfo2,+        VkImageMemoryRequirementsInfo2KHR,+        VkImagePlaneMemoryRequirementsInfo,+        VkImagePlaneMemoryRequirementsInfoKHR, VkImageResolve,+        VkImageSparseMemoryRequirementsInfo2,+        VkImageSparseMemoryRequirementsInfo2KHR, VkImageSubresource,+        VkImageSubresourceLayers, VkImageSubresourceRange,+        VkImageSwapchainCreateInfoKHR, VkImageViewCreateInfo,+        VkImageViewUsageCreateInfo, VkImageViewUsageCreateInfoKHR)+       where+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes               (VkDeviceSize)+import Graphics.Vulkan.Types.Bitmasks                (VkImageViewCreateFlags)+import Graphics.Vulkan.Types.Enum.AccessFlags        (VkAccessFlags)+import Graphics.Vulkan.Types.Enum.Format             (VkFormat)+import Graphics.Vulkan.Types.Enum.Image              (VkImageAspectFlagBits,+                                                      VkImageAspectFlags,+                                                      VkImageCreateFlags,+                                                      VkImageLayout,+                                                      VkImageTiling,+                                                      VkImageType,+                                                      VkImageUsageFlags,+                                                      VkImageViewType)+import Graphics.Vulkan.Types.Enum.SampleCountFlags   (VkSampleCountFlagBits,+                                                      VkSampleCountFlags)+import Graphics.Vulkan.Types.Enum.SharingMode        (VkSharingMode)+import Graphics.Vulkan.Types.Enum.StructureType      (VkStructureType)+import Graphics.Vulkan.Types.Handles                 (VkImage, VkSwapchainKHR)+import Graphics.Vulkan.Types.Struct.ComponentMapping (VkComponentMapping)+import Graphics.Vulkan.Types.Struct.Extent           (VkExtent3D)+import Graphics.Vulkan.Types.Struct.Offset           (VkOffset3D)++-- | > typedef struct VkImageBlit {+--   >     VkImageSubresourceLayers srcSubresource;+--   >     VkOffset3D             srcOffsets[2];+--   >     VkImageSubresourceLayers dstSubresource;+--   >     VkOffset3D             dstOffsets[2];+--   > } VkImageBlit;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageBlit VkImageBlit registry at www.khronos.org>+type VkImageBlit = VkStruct VkImageBlit' -- ' closing tick for hsc2hs++data VkImageBlit' -- ' closing tick for hsc2hs++instance VulkanMarshal VkImageBlit where+    type StructRep VkImageBlit =+         'StructMeta "VkImageBlit" VkImageBlit  -- ' closing tick for hsc2hs+                                               #{size VkImageBlit}+           #{alignment VkImageBlit}+           '[('FieldMeta "srcSubresource" VkImageSubresourceLayers 'False -- ' closing tick for hsc2hs+                #{offset VkImageBlit, srcSubresource}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "srcOffsets" VkOffset3D 'False +                                                        #{offset VkImageBlit, srcOffsets}+                2+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dstSubresource" VkImageSubresourceLayers 'False+                #{offset VkImageBlit, dstSubresource}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dstOffsets" VkOffset3D 'False +                                                        #{offset VkImageBlit, dstOffsets}+                2+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkImageCopy {+--   >     VkImageSubresourceLayers srcSubresource;+--   >     VkOffset3D             srcOffset;+--   >     VkImageSubresourceLayers dstSubresource;+--   >     VkOffset3D             dstOffset;+--   >     VkExtent3D             extent;+--   > } VkImageCopy;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageCopy VkImageCopy registry at www.khronos.org>+type VkImageCopy = VkStruct VkImageCopy' -- ' closing tick for hsc2hs++data VkImageCopy' -- ' closing tick for hsc2hs++instance VulkanMarshal VkImageCopy where+    type StructRep VkImageCopy =+         'StructMeta "VkImageCopy" VkImageCopy  -- ' closing tick for hsc2hs+                                               #{size VkImageCopy}+           #{alignment VkImageCopy}+           '[('FieldMeta "srcSubresource" VkImageSubresourceLayers 'False -- ' closing tick for hsc2hs+                #{offset VkImageCopy, srcSubresource}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "srcOffset" VkOffset3D 'False +                                                       #{offset VkImageCopy, srcOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dstSubresource" VkImageSubresourceLayers 'False+                #{offset VkImageCopy, dstSubresource}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dstOffset" VkOffset3D 'False +                                                       #{offset VkImageCopy, dstOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "extent" VkExtent3D 'False +                                                    #{offset VkImageCopy, extent}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkImageCreateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkImageCreateFlags     flags;+--   >     VkImageType            imageType;+--   >     VkFormat               format;+--   >     VkExtent3D             extent;+--   >     uint32_t               mipLevels;+--   >     uint32_t               arrayLayers;+--   >     VkSampleCountFlagBits  samples;+--   >     VkImageTiling          tiling;+--   >     VkImageUsageFlags      usage;+--   >     VkSharingMode          sharingMode;+--   >     uint32_t               queueFamilyIndexCount;+--   >     const uint32_t*        pQueueFamilyIndices;+--   >     VkImageLayout          initialLayout;+--   > } VkImageCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageCreateInfo VkImageCreateInfo registry at www.khronos.org>+type VkImageCreateInfo = VkStruct VkImageCreateInfo' -- ' closing tick for hsc2hs++data VkImageCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkImageCreateInfo where+    type StructRep VkImageCreateInfo =+         'StructMeta "VkImageCreateInfo" VkImageCreateInfo  -- ' closing tick for hsc2hs+                                                           #{size VkImageCreateInfo}+           #{alignment VkImageCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkImageCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkImageCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkImageCreateFlags 'True +                                                          #{offset VkImageCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "imageType" VkImageType 'False +                                                        #{offset VkImageCreateInfo, imageType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "format" VkFormat 'False +                                                  #{offset VkImageCreateInfo, format}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "extent" VkExtent3D 'False +                                                    #{offset VkImageCreateInfo, extent}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "mipLevels" Word32 'False +                                                   #{offset VkImageCreateInfo, mipLevels}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "arrayLayers" Word32 'False +                                                     #{offset VkImageCreateInfo, arrayLayers}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "samples" VkSampleCountFlagBits 'False +                                                                #{offset VkImageCreateInfo, samples}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "tiling" VkImageTiling 'False +                                                       #{offset VkImageCreateInfo, tiling}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "usage" VkImageUsageFlags 'False +                                                          #{offset VkImageCreateInfo, usage}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sharingMode" VkSharingMode 'False +                                                            #{offset VkImageCreateInfo, sharingMode}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "queueFamilyIndexCount" Word32 'True +                                                              #{offset VkImageCreateInfo, queueFamilyIndexCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pQueueFamilyIndices" (Ptr Word32) 'False +                                                                   #{offset VkImageCreateInfo, pQueueFamilyIndices}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "initialLayout" VkImageLayout 'False +                                                              #{offset VkImageCreateInfo, initialLayout}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkImageFormatListCreateInfoKHR {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     uint32_t               viewFormatCount;+--   >     const VkFormat*      pViewFormats;+--   > } VkImageFormatListCreateInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageFormatListCreateInfoKHR VkImageFormatListCreateInfoKHR registry at www.khronos.org>+type VkImageFormatListCreateInfoKHR =+     VkStruct VkImageFormatListCreateInfoKHR' -- ' closing tick for hsc2hs++data VkImageFormatListCreateInfoKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkImageFormatListCreateInfoKHR where+    type StructRep VkImageFormatListCreateInfoKHR =+         'StructMeta "VkImageFormatListCreateInfoKHR" -- ' closing tick for hsc2hs+           VkImageFormatListCreateInfoKHR+           #{size VkImageFormatListCreateInfoKHR}+           #{alignment VkImageFormatListCreateInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkImageFormatListCreateInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkImageFormatListCreateInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "viewFormatCount" Word32 'True +                                                        #{offset VkImageFormatListCreateInfoKHR, viewFormatCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pViewFormats" (Ptr VkFormat) 'False +                                                              #{offset VkImageFormatListCreateInfoKHR, pViewFormats}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkImageCreateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkImageFormatProperties {+--   >     VkExtent3D             maxExtent;+--   >     uint32_t               maxMipLevels;+--   >     uint32_t               maxArrayLayers;+--   >     VkSampleCountFlags     sampleCounts;+--   >     VkDeviceSize           maxResourceSize;+--   > } VkImageFormatProperties;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageFormatProperties VkImageFormatProperties registry at www.khronos.org>+type VkImageFormatProperties = VkStruct VkImageFormatProperties' -- ' closing tick for hsc2hs++data VkImageFormatProperties' -- ' closing tick for hsc2hs++instance VulkanMarshal VkImageFormatProperties where+    type StructRep VkImageFormatProperties =+         'StructMeta "VkImageFormatProperties" VkImageFormatProperties -- ' closing tick for hsc2hs+           #{size VkImageFormatProperties}+           #{alignment VkImageFormatProperties}+           '[('FieldMeta "maxExtent" VkExtent3D 'False  -- ' closing tick for hsc2hs+                                                       #{offset VkImageFormatProperties, maxExtent}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxMipLevels" Word32 'False +                                                      #{offset VkImageFormatProperties, maxMipLevels}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxArrayLayers" Word32 'False +                                                        #{offset VkImageFormatProperties, maxArrayLayers}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sampleCounts" VkSampleCountFlags 'True +                                                                 #{offset VkImageFormatProperties, sampleCounts}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxResourceSize" VkDeviceSize 'False +                                                               #{offset VkImageFormatProperties, maxResourceSize}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkImageFormatProperties2 {+--   >     VkStructureType sType;+--   >     void* pNext;+--   >     VkImageFormatProperties          imageFormatProperties;+--   > } VkImageFormatProperties2;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageFormatProperties2 VkImageFormatProperties2 registry at www.khronos.org>+type VkImageFormatProperties2 = VkStruct VkImageFormatProperties2' -- ' closing tick for hsc2hs++data VkImageFormatProperties2' -- ' closing tick for hsc2hs++instance VulkanMarshal VkImageFormatProperties2 where+    type StructRep VkImageFormatProperties2 =+         'StructMeta "VkImageFormatProperties2" VkImageFormatProperties2 -- ' closing tick for hsc2hs+           #{size VkImageFormatProperties2}+           #{alignment VkImageFormatProperties2}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkImageFormatProperties2, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkImageFormatProperties2, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "imageFormatProperties" VkImageFormatProperties 'False+                #{offset VkImageFormatProperties2, imageFormatProperties}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | Alias for `VkImageFormatProperties2`+type VkImageFormatProperties2KHR = VkImageFormatProperties2++-- | > typedef struct VkImageMemoryBarrier {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkAccessFlags          srcAccessMask;+--   >     VkAccessFlags          dstAccessMask;+--   >     VkImageLayout          oldLayout;+--   >     VkImageLayout          newLayout;+--   >     uint32_t               srcQueueFamilyIndex;+--   >     uint32_t               dstQueueFamilyIndex;+--   >     VkImage                image;+--   >     VkImageSubresourceRange subresourceRange;+--   > } VkImageMemoryBarrier;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageMemoryBarrier VkImageMemoryBarrier registry at www.khronos.org>+type VkImageMemoryBarrier = VkStruct VkImageMemoryBarrier' -- ' closing tick for hsc2hs++data VkImageMemoryBarrier' -- ' closing tick for hsc2hs++instance VulkanMarshal VkImageMemoryBarrier where+    type StructRep VkImageMemoryBarrier =+         'StructMeta "VkImageMemoryBarrier" VkImageMemoryBarrier  -- ' closing tick for hsc2hs+                                                                 #{size VkImageMemoryBarrier}+           #{alignment VkImageMemoryBarrier}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkImageMemoryBarrier, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkImageMemoryBarrier, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "srcAccessMask" VkAccessFlags 'True +                                                             #{offset VkImageMemoryBarrier, srcAccessMask}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dstAccessMask" VkAccessFlags 'True +                                                             #{offset VkImageMemoryBarrier, dstAccessMask}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "oldLayout" VkImageLayout 'False +                                                          #{offset VkImageMemoryBarrier, oldLayout}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "newLayout" VkImageLayout 'False +                                                          #{offset VkImageMemoryBarrier, newLayout}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "srcQueueFamilyIndex" Word32 'False +                                                             #{offset VkImageMemoryBarrier, srcQueueFamilyIndex}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dstQueueFamilyIndex" Word32 'False +                                                             #{offset VkImageMemoryBarrier, dstQueueFamilyIndex}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "image" VkImage 'False +                                                #{offset VkImageMemoryBarrier, image}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "subresourceRange" VkImageSubresourceRange 'False+                #{offset VkImageMemoryBarrier, subresourceRange}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkImageMemoryRequirementsInfo2 {+--   >     VkStructureType sType;+--   >     const void*                                                          pNext;+--   >     VkImage                                                              image;+--   > } VkImageMemoryRequirementsInfo2;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2 registry at www.khronos.org>+type VkImageMemoryRequirementsInfo2 =+     VkStruct VkImageMemoryRequirementsInfo2' -- ' closing tick for hsc2hs++data VkImageMemoryRequirementsInfo2' -- ' closing tick for hsc2hs++instance VulkanMarshal VkImageMemoryRequirementsInfo2 where+    type StructRep VkImageMemoryRequirementsInfo2 =+         'StructMeta "VkImageMemoryRequirementsInfo2" -- ' closing tick for hsc2hs+           VkImageMemoryRequirementsInfo2+           #{size VkImageMemoryRequirementsInfo2}+           #{alignment VkImageMemoryRequirementsInfo2}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkImageMemoryRequirementsInfo2, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkImageMemoryRequirementsInfo2, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "image" VkImage 'False +                                                #{offset VkImageMemoryRequirementsInfo2, image}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | Alias for `VkImageMemoryRequirementsInfo2`+type VkImageMemoryRequirementsInfo2KHR =+     VkImageMemoryRequirementsInfo2++-- | > typedef struct VkImagePlaneMemoryRequirementsInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkImageAspectFlagBits            planeAspect;+--   > } VkImagePlaneMemoryRequirementsInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfo registry at www.khronos.org>+type VkImagePlaneMemoryRequirementsInfo =+     VkStruct VkImagePlaneMemoryRequirementsInfo' -- ' closing tick for hsc2hs++data VkImagePlaneMemoryRequirementsInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkImagePlaneMemoryRequirementsInfo where+    type StructRep VkImagePlaneMemoryRequirementsInfo =+         'StructMeta "VkImagePlaneMemoryRequirementsInfo" -- ' closing tick for hsc2hs+           VkImagePlaneMemoryRequirementsInfo+           #{size VkImagePlaneMemoryRequirementsInfo}+           #{alignment VkImagePlaneMemoryRequirementsInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkImagePlaneMemoryRequirementsInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkImagePlaneMemoryRequirementsInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "planeAspect" VkImageAspectFlagBits 'False +                                                                    #{offset VkImagePlaneMemoryRequirementsInfo, planeAspect}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkImageMemoryRequirementsInfo2] -- ' closing tick for hsc2hs++-- | Alias for `VkImagePlaneMemoryRequirementsInfo`+type VkImagePlaneMemoryRequirementsInfoKHR =+     VkImagePlaneMemoryRequirementsInfo++-- | > typedef struct VkImageResolve {+--   >     VkImageSubresourceLayers srcSubresource;+--   >     VkOffset3D             srcOffset;+--   >     VkImageSubresourceLayers dstSubresource;+--   >     VkOffset3D             dstOffset;+--   >     VkExtent3D             extent;+--   > } VkImageResolve;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageResolve VkImageResolve registry at www.khronos.org>+type VkImageResolve = VkStruct VkImageResolve' -- ' closing tick for hsc2hs++data VkImageResolve' -- ' closing tick for hsc2hs++instance VulkanMarshal VkImageResolve where+    type StructRep VkImageResolve =+         'StructMeta "VkImageResolve" VkImageResolve  -- ' closing tick for hsc2hs+                                                     #{size VkImageResolve}+           #{alignment VkImageResolve}+           '[('FieldMeta "srcSubresource" VkImageSubresourceLayers 'False -- ' closing tick for hsc2hs+                #{offset VkImageResolve, srcSubresource}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "srcOffset" VkOffset3D 'False +                                                       #{offset VkImageResolve, srcOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dstSubresource" VkImageSubresourceLayers 'False+                #{offset VkImageResolve, dstSubresource}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dstOffset" VkOffset3D 'False +                                                       #{offset VkImageResolve, dstOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "extent" VkExtent3D 'False +                                                    #{offset VkImageResolve, extent}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkImageSparseMemoryRequirementsInfo2 {+--   >     VkStructureType sType;+--   >     const void*                                                          pNext;+--   >     VkImage                                                              image;+--   > } VkImageSparseMemoryRequirementsInfo2;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2 registry at www.khronos.org>+type VkImageSparseMemoryRequirementsInfo2 =+     VkStruct VkImageSparseMemoryRequirementsInfo2' -- ' closing tick for hsc2hs++data VkImageSparseMemoryRequirementsInfo2' -- ' closing tick for hsc2hs++instance VulkanMarshal VkImageSparseMemoryRequirementsInfo2 where+    type StructRep VkImageSparseMemoryRequirementsInfo2 =+         'StructMeta "VkImageSparseMemoryRequirementsInfo2" -- ' closing tick for hsc2hs+           VkImageSparseMemoryRequirementsInfo2+           #{size VkImageSparseMemoryRequirementsInfo2}+           #{alignment VkImageSparseMemoryRequirementsInfo2}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkImageSparseMemoryRequirementsInfo2, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkImageSparseMemoryRequirementsInfo2, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "image" VkImage 'False +                                                #{offset VkImageSparseMemoryRequirementsInfo2, image}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | Alias for `VkImageSparseMemoryRequirementsInfo2`+type VkImageSparseMemoryRequirementsInfo2KHR =+     VkImageSparseMemoryRequirementsInfo2++-- | > typedef struct VkImageSubresource {+--   >     VkImageAspectFlags     aspectMask;+--   >     uint32_t               mipLevel;+--   >     uint32_t               arrayLayer;+--   > } VkImageSubresource;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageSubresource VkImageSubresource registry at www.khronos.org>+type VkImageSubresource = VkStruct VkImageSubresource' -- ' closing tick for hsc2hs++data VkImageSubresource' -- ' closing tick for hsc2hs++instance VulkanMarshal VkImageSubresource where+    type StructRep VkImageSubresource =+         'StructMeta "VkImageSubresource" VkImageSubresource  -- ' closing tick for hsc2hs+                                                             #{size VkImageSubresource}+           #{alignment VkImageSubresource}+           '[('FieldMeta "aspectMask" VkImageAspectFlags 'False  -- ' closing tick for hsc2hs+                                                                #{offset VkImageSubresource, aspectMask}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "mipLevel" Word32 'False +                                                  #{offset VkImageSubresource, mipLevel}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "arrayLayer" Word32 'False +                                                    #{offset VkImageSubresource, arrayLayer}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkImageSubresourceLayers {+--   >     VkImageAspectFlags     aspectMask;+--   >     uint32_t               mipLevel;+--   >     uint32_t               baseArrayLayer;+--   >     uint32_t               layerCount;+--   > } VkImageSubresourceLayers;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageSubresourceLayers VkImageSubresourceLayers registry at www.khronos.org>+type VkImageSubresourceLayers = VkStruct VkImageSubresourceLayers' -- ' closing tick for hsc2hs++data VkImageSubresourceLayers' -- ' closing tick for hsc2hs++instance VulkanMarshal VkImageSubresourceLayers where+    type StructRep VkImageSubresourceLayers =+         'StructMeta "VkImageSubresourceLayers" VkImageSubresourceLayers -- ' closing tick for hsc2hs+           #{size VkImageSubresourceLayers}+           #{alignment VkImageSubresourceLayers}+           '[('FieldMeta "aspectMask" VkImageAspectFlags 'False  -- ' closing tick for hsc2hs+                                                                #{offset VkImageSubresourceLayers, aspectMask}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "mipLevel" Word32 'False +                                                  #{offset VkImageSubresourceLayers, mipLevel}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "baseArrayLayer" Word32 'False +                                                        #{offset VkImageSubresourceLayers, baseArrayLayer}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "layerCount" Word32 'False +                                                    #{offset VkImageSubresourceLayers, layerCount}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkImageSubresourceRange {+--   >     VkImageAspectFlags     aspectMask;+--   >     uint32_t               baseMipLevel;+--   >     uint32_t               levelCount;+--   >     uint32_t               baseArrayLayer;+--   >     uint32_t               layerCount;+--   > } VkImageSubresourceRange;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageSubresourceRange VkImageSubresourceRange registry at www.khronos.org>+type VkImageSubresourceRange = VkStruct VkImageSubresourceRange' -- ' closing tick for hsc2hs++data VkImageSubresourceRange' -- ' closing tick for hsc2hs++instance VulkanMarshal VkImageSubresourceRange where+    type StructRep VkImageSubresourceRange =+         'StructMeta "VkImageSubresourceRange" VkImageSubresourceRange -- ' closing tick for hsc2hs+           #{size VkImageSubresourceRange}+           #{alignment VkImageSubresourceRange}+           '[('FieldMeta "aspectMask" VkImageAspectFlags 'False  -- ' closing tick for hsc2hs+                                                                #{offset VkImageSubresourceRange, aspectMask}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "baseMipLevel" Word32 'False +                                                      #{offset VkImageSubresourceRange, baseMipLevel}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "levelCount" Word32 'False +                                                    #{offset VkImageSubresourceRange, levelCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "baseArrayLayer" Word32 'False +                                                        #{offset VkImageSubresourceRange, baseArrayLayer}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "layerCount" Word32 'False +                                                    #{offset VkImageSubresourceRange, layerCount}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkImageSwapchainCreateInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkSwapchainKHR   swapchain;+--   > } VkImageSwapchainCreateInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageSwapchainCreateInfoKHR VkImageSwapchainCreateInfoKHR registry at www.khronos.org>+type VkImageSwapchainCreateInfoKHR =+     VkStruct VkImageSwapchainCreateInfoKHR' -- ' closing tick for hsc2hs++data VkImageSwapchainCreateInfoKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkImageSwapchainCreateInfoKHR where+    type StructRep VkImageSwapchainCreateInfoKHR =+         'StructMeta "VkImageSwapchainCreateInfoKHR" -- ' closing tick for hsc2hs+           VkImageSwapchainCreateInfoKHR+           #{size VkImageSwapchainCreateInfoKHR}+           #{alignment VkImageSwapchainCreateInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkImageSwapchainCreateInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkImageSwapchainCreateInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "swapchain" VkSwapchainKHR 'True +                                                          #{offset VkImageSwapchainCreateInfoKHR, swapchain}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkImageCreateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkImageViewCreateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkImageViewCreateFlags flags;+--   >     VkImage                image;+--   >     VkImageViewType        viewType;+--   >     VkFormat               format;+--   >     VkComponentMapping     components;+--   >     VkImageSubresourceRange subresourceRange;+--   > } VkImageViewCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageViewCreateInfo VkImageViewCreateInfo registry at www.khronos.org>+type VkImageViewCreateInfo = VkStruct VkImageViewCreateInfo' -- ' closing tick for hsc2hs++data VkImageViewCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkImageViewCreateInfo where+    type StructRep VkImageViewCreateInfo =+         'StructMeta "VkImageViewCreateInfo" VkImageViewCreateInfo  -- ' closing tick for hsc2hs+                                                                   #{size VkImageViewCreateInfo}+           #{alignment VkImageViewCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkImageViewCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkImageViewCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkImageViewCreateFlags 'True +                                                              #{offset VkImageViewCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "image" VkImage 'False +                                                #{offset VkImageViewCreateInfo, image}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "viewType" VkImageViewType 'False +                                                           #{offset VkImageViewCreateInfo, viewType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "format" VkFormat 'False +                                                  #{offset VkImageViewCreateInfo, format}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "components" VkComponentMapping 'False +                                                                #{offset VkImageViewCreateInfo, components}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "subresourceRange" VkImageSubresourceRange 'False+                #{offset VkImageViewCreateInfo, subresourceRange}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkImageViewUsageCreateInfo {+--   >     VkStructureType sType;+--   >     const void* pNext;+--   >     VkImageUsageFlags usage;+--   > } VkImageViewUsageCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageViewUsageCreateInfo VkImageViewUsageCreateInfo registry at www.khronos.org>+type VkImageViewUsageCreateInfo =+     VkStruct VkImageViewUsageCreateInfo' -- ' closing tick for hsc2hs++data VkImageViewUsageCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkImageViewUsageCreateInfo where+    type StructRep VkImageViewUsageCreateInfo =+         'StructMeta "VkImageViewUsageCreateInfo" VkImageViewUsageCreateInfo -- ' closing tick for hsc2hs+           #{size VkImageViewUsageCreateInfo}+           #{alignment VkImageViewUsageCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkImageViewUsageCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkImageViewUsageCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "usage" VkImageUsageFlags 'False +                                                          #{offset VkImageViewUsageCreateInfo, usage}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkImageViewCreateInfo] -- ' closing tick for hsc2hs  -- | Alias for `VkImageViewUsageCreateInfo` type VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfo
src-gen/Graphics/Vulkan/Types/Struct/Import.hsc view
@@ -2,19 +2,13 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.Import-       (VkImportFenceFdInfoKHR, VkImportFenceFdInfoKHR', -- ' closing tick for hsc2hs-        VkImportMemoryFdInfoKHR, VkImportMemoryFdInfoKHR', -- ' closing tick for hsc2hs-        VkImportMemoryHostPointerInfoEXT,-        VkImportMemoryHostPointerInfoEXT', VkImportSemaphoreFdInfoKHR, -- ' closing tick for hsc2hs-        VkImportSemaphoreFdInfoKHR') -- ' closing tick for hsc2hs+       (VkImportFenceFdInfoKHR, VkImportMemoryFdInfoKHR,+        VkImportMemoryHostPointerInfoEXT, VkImportSemaphoreFdInfoKHR)        where-import Foreign.Storable                               (Storable (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.External            (VkExternalFenceHandleTypeFlagBits,@@ -25,7 +19,6 @@ import Graphics.Vulkan.Types.Enum.StructureType       (VkStructureType) import Graphics.Vulkan.Types.Handles                  (VkFence, VkSemaphore) import Graphics.Vulkan.Types.Struct.Memory            (VkMemoryAllocateInfo)-import System.IO.Unsafe                               (unsafeDupablePerformIO)  -- | > typedef struct VkImportFenceFdInfoKHR { --   >     VkStructureType sType;@@ -37,249 +30,48 @@ --   > } VkImportFenceFdInfoKHR; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImportFenceFdInfoKHR VkImportFenceFdInfoKHR registry at www.khronos.org>-type VkImportFenceFdInfoKHR = VulkanStruct VkImportFenceFdInfoKHR' -- ' closing tick for hsc2hs+type VkImportFenceFdInfoKHR = VkStruct VkImportFenceFdInfoKHR' -- ' closing tick for hsc2hs  data VkImportFenceFdInfoKHR' -- ' closing tick for hsc2hs -instance Eq VkImportFenceFdInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkImportFenceFdInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkImportFenceFdInfoKHR where-        sizeOf ~_ = #{size VkImportFenceFdInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkImportFenceFdInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkImportFenceFdInfoKHR where-        type StructFields VkImportFenceFdInfoKHR =-             '["sType", "pNext", "fence", "flags", "handleType", "fd"] -- ' closing tick for hsc2hs-        type CUnionType VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkImportFenceFdInfoKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkImportFenceFdInfoKHR where-        type FieldType "sType" VkImportFenceFdInfoKHR = VkStructureType-        type FieldOptional "sType" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkImportFenceFdInfoKHR =-             #{offset VkImportFenceFdInfoKHR, sType}-        type FieldIsArray "sType" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImportFenceFdInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkImportFenceFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportFenceFdInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportFenceFdInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkImportFenceFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportFenceFdInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkImportFenceFdInfoKHR where-        type FieldType "pNext" VkImportFenceFdInfoKHR = Ptr Void-        type FieldOptional "pNext" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkImportFenceFdInfoKHR =-             #{offset VkImportFenceFdInfoKHR, pNext}-        type FieldIsArray "pNext" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImportFenceFdInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkImportFenceFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportFenceFdInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportFenceFdInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkImportFenceFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportFenceFdInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "fence" VkImportFenceFdInfoKHR where-        type FieldType "fence" VkImportFenceFdInfoKHR = VkFence-        type FieldOptional "fence" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "fence" VkImportFenceFdInfoKHR =-             #{offset VkImportFenceFdInfoKHR, fence}-        type FieldIsArray "fence" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImportFenceFdInfoKHR, fence}--instance {-# OVERLAPPING #-}-         CanReadField "fence" VkImportFenceFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportFenceFdInfoKHR, fence})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportFenceFdInfoKHR, fence}--instance {-# OVERLAPPING #-}-         CanWriteField "fence" VkImportFenceFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportFenceFdInfoKHR, fence}--instance {-# OVERLAPPING #-}-         HasField "flags" VkImportFenceFdInfoKHR where-        type FieldType "flags" VkImportFenceFdInfoKHR = VkFenceImportFlags-        type FieldOptional "flags" VkImportFenceFdInfoKHR = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkImportFenceFdInfoKHR =-             #{offset VkImportFenceFdInfoKHR, flags}-        type FieldIsArray "flags" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImportFenceFdInfoKHR, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkImportFenceFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportFenceFdInfoKHR, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportFenceFdInfoKHR, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkImportFenceFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportFenceFdInfoKHR, flags}--instance {-# OVERLAPPING #-}-         HasField "handleType" VkImportFenceFdInfoKHR where-        type FieldType "handleType" VkImportFenceFdInfoKHR =-             VkExternalFenceHandleTypeFlagBits-        type FieldOptional "handleType" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "handleType" VkImportFenceFdInfoKHR =-             #{offset VkImportFenceFdInfoKHR, handleType}-        type FieldIsArray "handleType" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportFenceFdInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         CanReadField "handleType" VkImportFenceFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportFenceFdInfoKHR, handleType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportFenceFdInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         CanWriteField "handleType" VkImportFenceFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportFenceFdInfoKHR, handleType}--instance {-# OVERLAPPING #-} HasField "fd" VkImportFenceFdInfoKHR-         where-        type FieldType "fd" VkImportFenceFdInfoKHR = CInt-        type FieldOptional "fd" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "fd" VkImportFenceFdInfoKHR =-             #{offset VkImportFenceFdInfoKHR, fd}-        type FieldIsArray "fd" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImportFenceFdInfoKHR, fd}--instance {-# OVERLAPPING #-}-         CanReadField "fd" VkImportFenceFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportFenceFdInfoKHR, fd})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportFenceFdInfoKHR, fd}--instance {-# OVERLAPPING #-}-         CanWriteField "fd" VkImportFenceFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportFenceFdInfoKHR, fd}--instance Show VkImportFenceFdInfoKHR where-        showsPrec d x-          = showString "VkImportFenceFdInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "fence = " .-                            showsPrec d (getField @"fence" x) .-                              showString ", " .-                                showString "flags = " .-                                  showsPrec d (getField @"flags" x) .-                                    showString ", " .-                                      showString "handleType = " .-                                        showsPrec d (getField @"handleType" x) .-                                          showString ", " .-                                            showString "fd = " .-                                              showsPrec d (getField @"fd" x) . showChar '}'+    type StructRep VkImportFenceFdInfoKHR =+         'StructMeta "VkImportFenceFdInfoKHR" VkImportFenceFdInfoKHR -- ' closing tick for hsc2hs+           #{size VkImportFenceFdInfoKHR}+           #{alignment VkImportFenceFdInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkImportFenceFdInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkImportFenceFdInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "fence" VkFence 'False +                                                #{offset VkImportFenceFdInfoKHR, fence}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkFenceImportFlags 'True +                                                          #{offset VkImportFenceFdInfoKHR, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handleType" VkExternalFenceHandleTypeFlagBits 'False+                #{offset VkImportFenceFdInfoKHR, handleType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "fd" CInt 'False +                                          #{offset VkImportFenceFdInfoKHR, fd}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | > typedef struct VkImportMemoryFdInfoKHR { --   >     VkStructureType sType;@@ -289,182 +81,38 @@ --   > } VkImportMemoryFdInfoKHR; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImportMemoryFdInfoKHR VkImportMemoryFdInfoKHR registry at www.khronos.org>-type VkImportMemoryFdInfoKHR =-     VulkanStruct VkImportMemoryFdInfoKHR' -- ' closing tick for hsc2hs+type VkImportMemoryFdInfoKHR = VkStruct VkImportMemoryFdInfoKHR' -- ' closing tick for hsc2hs  data VkImportMemoryFdInfoKHR' -- ' closing tick for hsc2hs -instance Eq VkImportMemoryFdInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkImportMemoryFdInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkImportMemoryFdInfoKHR where-        sizeOf ~_ = #{size VkImportMemoryFdInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkImportMemoryFdInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkImportMemoryFdInfoKHR where-        type StructFields VkImportMemoryFdInfoKHR =-             '["sType", "pNext", "handleType", "fd"] -- ' closing tick for hsc2hs-        type CUnionType VkImportMemoryFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkImportMemoryFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkImportMemoryFdInfoKHR =-             '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkImportMemoryFdInfoKHR where-        type FieldType "sType" VkImportMemoryFdInfoKHR = VkStructureType-        type FieldOptional "sType" VkImportMemoryFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkImportMemoryFdInfoKHR =-             #{offset VkImportMemoryFdInfoKHR, sType}-        type FieldIsArray "sType" VkImportMemoryFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImportMemoryFdInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkImportMemoryFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportMemoryFdInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportMemoryFdInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkImportMemoryFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportMemoryFdInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkImportMemoryFdInfoKHR where-        type FieldType "pNext" VkImportMemoryFdInfoKHR = Ptr Void-        type FieldOptional "pNext" VkImportMemoryFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkImportMemoryFdInfoKHR =-             #{offset VkImportMemoryFdInfoKHR, pNext}-        type FieldIsArray "pNext" VkImportMemoryFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImportMemoryFdInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkImportMemoryFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportMemoryFdInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportMemoryFdInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkImportMemoryFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportMemoryFdInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "handleType" VkImportMemoryFdInfoKHR where-        type FieldType "handleType" VkImportMemoryFdInfoKHR =-             VkExternalMemoryHandleTypeFlagBits-        type FieldOptional "handleType" VkImportMemoryFdInfoKHR = 'True -- ' closing tick for hsc2hs-        type FieldOffset "handleType" VkImportMemoryFdInfoKHR =-             #{offset VkImportMemoryFdInfoKHR, handleType}-        type FieldIsArray "handleType" VkImportMemoryFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportMemoryFdInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         CanReadField "handleType" VkImportMemoryFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportMemoryFdInfoKHR, handleType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportMemoryFdInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         CanWriteField "handleType" VkImportMemoryFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportMemoryFdInfoKHR, handleType}--instance {-# OVERLAPPING #-} HasField "fd" VkImportMemoryFdInfoKHR-         where-        type FieldType "fd" VkImportMemoryFdInfoKHR = CInt-        type FieldOptional "fd" VkImportMemoryFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "fd" VkImportMemoryFdInfoKHR =-             #{offset VkImportMemoryFdInfoKHR, fd}-        type FieldIsArray "fd" VkImportMemoryFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImportMemoryFdInfoKHR, fd}--instance {-# OVERLAPPING #-}-         CanReadField "fd" VkImportMemoryFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportMemoryFdInfoKHR, fd})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportMemoryFdInfoKHR, fd}--instance {-# OVERLAPPING #-}-         CanWriteField "fd" VkImportMemoryFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportMemoryFdInfoKHR, fd}--instance Show VkImportMemoryFdInfoKHR where-        showsPrec d x-          = showString "VkImportMemoryFdInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "handleType = " .-                            showsPrec d (getField @"handleType" x) .-                              showString ", " .-                                showString "fd = " . showsPrec d (getField @"fd" x) . showChar '}'+    type StructRep VkImportMemoryFdInfoKHR =+         'StructMeta "VkImportMemoryFdInfoKHR" VkImportMemoryFdInfoKHR -- ' closing tick for hsc2hs+           #{size VkImportMemoryFdInfoKHR}+           #{alignment VkImportMemoryFdInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkImportMemoryFdInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkImportMemoryFdInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handleType" VkExternalMemoryHandleTypeFlagBits 'True+                #{offset VkImportMemoryFdInfoKHR, handleType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "fd" CInt 'False +                                          #{offset VkImportMemoryFdInfoKHR, fd}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs  -- | > typedef struct VkImportMemoryHostPointerInfoEXT { --   >     VkStructureType sType;@@ -475,194 +123,39 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImportMemoryHostPointerInfoEXT VkImportMemoryHostPointerInfoEXT registry at www.khronos.org> type VkImportMemoryHostPointerInfoEXT =-     VulkanStruct VkImportMemoryHostPointerInfoEXT' -- ' closing tick for hsc2hs+     VkStruct VkImportMemoryHostPointerInfoEXT' -- ' closing tick for hsc2hs  data VkImportMemoryHostPointerInfoEXT' -- ' closing tick for hsc2hs -instance Eq VkImportMemoryHostPointerInfoEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkImportMemoryHostPointerInfoEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkImportMemoryHostPointerInfoEXT where-        sizeOf ~_ = #{size VkImportMemoryHostPointerInfoEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkImportMemoryHostPointerInfoEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkImportMemoryHostPointerInfoEXT where-        type StructFields VkImportMemoryHostPointerInfoEXT =-             '["sType", "pNext", "handleType", "pHostPointer"] -- ' closing tick for hsc2hs-        type CUnionType VkImportMemoryHostPointerInfoEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkImportMemoryHostPointerInfoEXT = 'False -- ' closing tick for hsc2hs-        type StructExtends VkImportMemoryHostPointerInfoEXT =-             '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkImportMemoryHostPointerInfoEXT where-        type FieldType "sType" VkImportMemoryHostPointerInfoEXT =-             VkStructureType-        type FieldOptional "sType" VkImportMemoryHostPointerInfoEXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkImportMemoryHostPointerInfoEXT =-             #{offset VkImportMemoryHostPointerInfoEXT, sType}-        type FieldIsArray "sType" VkImportMemoryHostPointerInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportMemoryHostPointerInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkImportMemoryHostPointerInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportMemoryHostPointerInfoEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportMemoryHostPointerInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkImportMemoryHostPointerInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportMemoryHostPointerInfoEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkImportMemoryHostPointerInfoEXT where-        type FieldType "pNext" VkImportMemoryHostPointerInfoEXT = Ptr Void-        type FieldOptional "pNext" VkImportMemoryHostPointerInfoEXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkImportMemoryHostPointerInfoEXT =-             #{offset VkImportMemoryHostPointerInfoEXT, pNext}-        type FieldIsArray "pNext" VkImportMemoryHostPointerInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportMemoryHostPointerInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkImportMemoryHostPointerInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportMemoryHostPointerInfoEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportMemoryHostPointerInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkImportMemoryHostPointerInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportMemoryHostPointerInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "handleType" VkImportMemoryHostPointerInfoEXT where-        type FieldType "handleType" VkImportMemoryHostPointerInfoEXT =-             VkExternalMemoryHandleTypeFlagBits-        type FieldOptional "handleType" VkImportMemoryHostPointerInfoEXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "handleType" VkImportMemoryHostPointerInfoEXT =-             #{offset VkImportMemoryHostPointerInfoEXT, handleType}-        type FieldIsArray "handleType" VkImportMemoryHostPointerInfoEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportMemoryHostPointerInfoEXT, handleType}--instance {-# OVERLAPPING #-}-         CanReadField "handleType" VkImportMemoryHostPointerInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportMemoryHostPointerInfoEXT, handleType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportMemoryHostPointerInfoEXT, handleType}--instance {-# OVERLAPPING #-}-         CanWriteField "handleType" VkImportMemoryHostPointerInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportMemoryHostPointerInfoEXT, handleType}--instance {-# OVERLAPPING #-}-         HasField "pHostPointer" VkImportMemoryHostPointerInfoEXT where-        type FieldType "pHostPointer" VkImportMemoryHostPointerInfoEXT =-             Ptr Void-        type FieldOptional "pHostPointer" VkImportMemoryHostPointerInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pHostPointer" VkImportMemoryHostPointerInfoEXT =-             #{offset VkImportMemoryHostPointerInfoEXT, pHostPointer}-        type FieldIsArray "pHostPointer" VkImportMemoryHostPointerInfoEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportMemoryHostPointerInfoEXT, pHostPointer}--instance {-# OVERLAPPING #-}-         CanReadField "pHostPointer" VkImportMemoryHostPointerInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportMemoryHostPointerInfoEXT, pHostPointer})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportMemoryHostPointerInfoEXT, pHostPointer}--instance {-# OVERLAPPING #-}-         CanWriteField "pHostPointer" VkImportMemoryHostPointerInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportMemoryHostPointerInfoEXT, pHostPointer}--instance Show VkImportMemoryHostPointerInfoEXT where-        showsPrec d x-          = showString "VkImportMemoryHostPointerInfoEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "handleType = " .-                            showsPrec d (getField @"handleType" x) .-                              showString ", " .-                                showString "pHostPointer = " .-                                  showsPrec d (getField @"pHostPointer" x) . showChar '}'+    type StructRep VkImportMemoryHostPointerInfoEXT =+         'StructMeta "VkImportMemoryHostPointerInfoEXT" -- ' closing tick for hsc2hs+           VkImportMemoryHostPointerInfoEXT+           #{size VkImportMemoryHostPointerInfoEXT}+           #{alignment VkImportMemoryHostPointerInfoEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkImportMemoryHostPointerInfoEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkImportMemoryHostPointerInfoEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handleType" VkExternalMemoryHandleTypeFlagBits 'False+                #{offset VkImportMemoryHostPointerInfoEXT, handleType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pHostPointer" (Ptr Void) 'False +                                                          #{offset VkImportMemoryHostPointerInfoEXT, pHostPointer}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs  -- | > typedef struct VkImportSemaphoreFdInfoKHR { --   >     VkStructureType sType;@@ -675,251 +168,46 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImportSemaphoreFdInfoKHR VkImportSemaphoreFdInfoKHR registry at www.khronos.org> type VkImportSemaphoreFdInfoKHR =-     VulkanStruct VkImportSemaphoreFdInfoKHR' -- ' closing tick for hsc2hs+     VkStruct VkImportSemaphoreFdInfoKHR' -- ' closing tick for hsc2hs  data VkImportSemaphoreFdInfoKHR' -- ' closing tick for hsc2hs -instance Eq VkImportSemaphoreFdInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkImportSemaphoreFdInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkImportSemaphoreFdInfoKHR where-        sizeOf ~_ = #{size VkImportSemaphoreFdInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkImportSemaphoreFdInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkImportSemaphoreFdInfoKHR where-        type StructFields VkImportSemaphoreFdInfoKHR =-             '["sType", "pNext", "semaphore", "flags", "handleType", "fd"] -- ' closing tick for hsc2hs-        type CUnionType VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkImportSemaphoreFdInfoKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkImportSemaphoreFdInfoKHR where-        type FieldType "sType" VkImportSemaphoreFdInfoKHR = VkStructureType-        type FieldOptional "sType" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkImportSemaphoreFdInfoKHR =-             #{offset VkImportSemaphoreFdInfoKHR, sType}-        type FieldIsArray "sType" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportSemaphoreFdInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkImportSemaphoreFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreFdInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportSemaphoreFdInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkImportSemaphoreFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportSemaphoreFdInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkImportSemaphoreFdInfoKHR where-        type FieldType "pNext" VkImportSemaphoreFdInfoKHR = Ptr Void-        type FieldOptional "pNext" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkImportSemaphoreFdInfoKHR =-             #{offset VkImportSemaphoreFdInfoKHR, pNext}-        type FieldIsArray "pNext" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportSemaphoreFdInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkImportSemaphoreFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreFdInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportSemaphoreFdInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkImportSemaphoreFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportSemaphoreFdInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "semaphore" VkImportSemaphoreFdInfoKHR where-        type FieldType "semaphore" VkImportSemaphoreFdInfoKHR = VkSemaphore-        type FieldOptional "semaphore" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "semaphore" VkImportSemaphoreFdInfoKHR =-             #{offset VkImportSemaphoreFdInfoKHR, semaphore}-        type FieldIsArray "semaphore" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportSemaphoreFdInfoKHR, semaphore}--instance {-# OVERLAPPING #-}-         CanReadField "semaphore" VkImportSemaphoreFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreFdInfoKHR, semaphore})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportSemaphoreFdInfoKHR, semaphore}--instance {-# OVERLAPPING #-}-         CanWriteField "semaphore" VkImportSemaphoreFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportSemaphoreFdInfoKHR, semaphore}--instance {-# OVERLAPPING #-}-         HasField "flags" VkImportSemaphoreFdInfoKHR where-        type FieldType "flags" VkImportSemaphoreFdInfoKHR =-             VkSemaphoreImportFlags-        type FieldOptional "flags" VkImportSemaphoreFdInfoKHR = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkImportSemaphoreFdInfoKHR =-             #{offset VkImportSemaphoreFdInfoKHR, flags}-        type FieldIsArray "flags" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportSemaphoreFdInfoKHR, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkImportSemaphoreFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreFdInfoKHR, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportSemaphoreFdInfoKHR, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkImportSemaphoreFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportSemaphoreFdInfoKHR, flags}--instance {-# OVERLAPPING #-}-         HasField "handleType" VkImportSemaphoreFdInfoKHR where-        type FieldType "handleType" VkImportSemaphoreFdInfoKHR =-             VkExternalSemaphoreHandleTypeFlagBits-        type FieldOptional "handleType" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "handleType" VkImportSemaphoreFdInfoKHR =-             #{offset VkImportSemaphoreFdInfoKHR, handleType}-        type FieldIsArray "handleType" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportSemaphoreFdInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         CanReadField "handleType" VkImportSemaphoreFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreFdInfoKHR, handleType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportSemaphoreFdInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         CanWriteField "handleType" VkImportSemaphoreFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportSemaphoreFdInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         HasField "fd" VkImportSemaphoreFdInfoKHR where-        type FieldType "fd" VkImportSemaphoreFdInfoKHR = CInt-        type FieldOptional "fd" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "fd" VkImportSemaphoreFdInfoKHR =-             #{offset VkImportSemaphoreFdInfoKHR, fd}-        type FieldIsArray "fd" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkImportSemaphoreFdInfoKHR, fd}--instance {-# OVERLAPPING #-}-         CanReadField "fd" VkImportSemaphoreFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreFdInfoKHR, fd})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportSemaphoreFdInfoKHR, fd}--instance {-# OVERLAPPING #-}-         CanWriteField "fd" VkImportSemaphoreFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportSemaphoreFdInfoKHR, fd}--instance Show VkImportSemaphoreFdInfoKHR where-        showsPrec d x-          = showString "VkImportSemaphoreFdInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "semaphore = " .-                            showsPrec d (getField @"semaphore" x) .-                              showString ", " .-                                showString "flags = " .-                                  showsPrec d (getField @"flags" x) .-                                    showString ", " .-                                      showString "handleType = " .-                                        showsPrec d (getField @"handleType" x) .-                                          showString ", " .-                                            showString "fd = " .-                                              showsPrec d (getField @"fd" x) . showChar '}'+    type StructRep VkImportSemaphoreFdInfoKHR =+         'StructMeta "VkImportSemaphoreFdInfoKHR" VkImportSemaphoreFdInfoKHR -- ' closing tick for hsc2hs+           #{size VkImportSemaphoreFdInfoKHR}+           #{alignment VkImportSemaphoreFdInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkImportSemaphoreFdInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkImportSemaphoreFdInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "semaphore" VkSemaphore 'False +                                                        #{offset VkImportSemaphoreFdInfoKHR, semaphore}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkSemaphoreImportFlags 'True +                                                              #{offset VkImportSemaphoreFdInfoKHR, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handleType" VkExternalSemaphoreHandleTypeFlagBits -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkImportSemaphoreFdInfoKHR, handleType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "fd" CInt 'False +                                          #{offset VkImportSemaphoreFdInfoKHR, fd}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc view
@@ -2,19 +2,13 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.IndirectCommands        (VkIndirectCommandsLayoutCreateInfoNVX,-        VkIndirectCommandsLayoutCreateInfoNVX', -- ' closing tick for hsc2hs-        VkIndirectCommandsLayoutTokenNVX,-        VkIndirectCommandsLayoutTokenNVX', VkIndirectCommandsTokenNVX, -- ' closing tick for hsc2hs-        VkIndirectCommandsTokenNVX') -- ' closing tick for hsc2hs+        VkIndirectCommandsLayoutTokenNVX, VkIndirectCommandsTokenNVX)        where-import Foreign.Storable                            (Storable (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.BaseTypes             (VkDeviceSize)@@ -23,7 +17,6 @@ import Graphics.Vulkan.Types.Enum.Pipeline         (VkPipelineBindPoint) import Graphics.Vulkan.Types.Enum.StructureType    (VkStructureType) import Graphics.Vulkan.Types.Handles               (VkBuffer)-import System.IO.Unsafe                            (unsafeDupablePerformIO)  -- | > typedef struct VkIndirectCommandsLayoutCreateInfoNVX { --   >     VkStructureType sType;@@ -36,289 +29,49 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkIndirectCommandsLayoutCreateInfoNVX VkIndirectCommandsLayoutCreateInfoNVX registry at www.khronos.org> type VkIndirectCommandsLayoutCreateInfoNVX =-     VulkanStruct VkIndirectCommandsLayoutCreateInfoNVX' -- ' closing tick for hsc2hs+     VkStruct VkIndirectCommandsLayoutCreateInfoNVX' -- ' closing tick for hsc2hs  data VkIndirectCommandsLayoutCreateInfoNVX' -- ' closing tick for hsc2hs -instance Eq VkIndirectCommandsLayoutCreateInfoNVX where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkIndirectCommandsLayoutCreateInfoNVX where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkIndirectCommandsLayoutCreateInfoNVX where-        sizeOf ~_-          = #{size VkIndirectCommandsLayoutCreateInfoNVX}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkIndirectCommandsLayoutCreateInfoNVX}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkIndirectCommandsLayoutCreateInfoNVX where-        type StructFields VkIndirectCommandsLayoutCreateInfoNVX =-             '["sType", "pNext", "pipelineBindPoint", "flags", "tokenCount", -- ' closing tick for hsc2hs-               "pTokens"]-        type CUnionType VkIndirectCommandsLayoutCreateInfoNVX = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkIndirectCommandsLayoutCreateInfoNVX = 'False -- ' closing tick for hsc2hs-        type StructExtends VkIndirectCommandsLayoutCreateInfoNVX = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkIndirectCommandsLayoutCreateInfoNVX where-        type FieldType "sType" VkIndirectCommandsLayoutCreateInfoNVX =-             VkStructureType-        type FieldOptional "sType" VkIndirectCommandsLayoutCreateInfoNVX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkIndirectCommandsLayoutCreateInfoNVX =-             #{offset VkIndirectCommandsLayoutCreateInfoNVX, sType}-        type FieldIsArray "sType" VkIndirectCommandsLayoutCreateInfoNVX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkIndirectCommandsLayoutCreateInfoNVX, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkIndirectCommandsLayoutCreateInfoNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutCreateInfoNVX, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkIndirectCommandsLayoutCreateInfoNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkIndirectCommandsLayoutCreateInfoNVX where-        type FieldType "pNext" VkIndirectCommandsLayoutCreateInfoNVX =-             Ptr Void-        type FieldOptional "pNext" VkIndirectCommandsLayoutCreateInfoNVX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkIndirectCommandsLayoutCreateInfoNVX =-             #{offset VkIndirectCommandsLayoutCreateInfoNVX, pNext}-        type FieldIsArray "pNext" VkIndirectCommandsLayoutCreateInfoNVX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkIndirectCommandsLayoutCreateInfoNVX, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkIndirectCommandsLayoutCreateInfoNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutCreateInfoNVX, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkIndirectCommandsLayoutCreateInfoNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, pNext}--instance {-# OVERLAPPING #-}-         HasField "pipelineBindPoint" VkIndirectCommandsLayoutCreateInfoNVX-         where-        type FieldType "pipelineBindPoint"-               VkIndirectCommandsLayoutCreateInfoNVX-             = VkPipelineBindPoint-        type FieldOptional "pipelineBindPoint"-               VkIndirectCommandsLayoutCreateInfoNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pipelineBindPoint"-               VkIndirectCommandsLayoutCreateInfoNVX-             =-             #{offset VkIndirectCommandsLayoutCreateInfoNVX, pipelineBindPoint}-        type FieldIsArray "pipelineBindPoint"-               VkIndirectCommandsLayoutCreateInfoNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkIndirectCommandsLayoutCreateInfoNVX, pipelineBindPoint}--instance {-# OVERLAPPING #-}-         CanReadField "pipelineBindPoint"-           VkIndirectCommandsLayoutCreateInfoNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutCreateInfoNVX, pipelineBindPoint})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, pipelineBindPoint}--instance {-# OVERLAPPING #-}-         CanWriteField "pipelineBindPoint"+    type StructRep VkIndirectCommandsLayoutCreateInfoNVX =+         'StructMeta "VkIndirectCommandsLayoutCreateInfoNVX" -- ' closing tick for hsc2hs            VkIndirectCommandsLayoutCreateInfoNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, pipelineBindPoint}--instance {-# OVERLAPPING #-}-         HasField "flags" VkIndirectCommandsLayoutCreateInfoNVX where-        type FieldType "flags" VkIndirectCommandsLayoutCreateInfoNVX =-             VkIndirectCommandsLayoutUsageFlagsNVX-        type FieldOptional "flags" VkIndirectCommandsLayoutCreateInfoNVX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkIndirectCommandsLayoutCreateInfoNVX =-             #{offset VkIndirectCommandsLayoutCreateInfoNVX, flags}-        type FieldIsArray "flags" VkIndirectCommandsLayoutCreateInfoNVX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkIndirectCommandsLayoutCreateInfoNVX, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkIndirectCommandsLayoutCreateInfoNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutCreateInfoNVX, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkIndirectCommandsLayoutCreateInfoNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, flags}--instance {-# OVERLAPPING #-}-         HasField "tokenCount" VkIndirectCommandsLayoutCreateInfoNVX where-        type FieldType "tokenCount" VkIndirectCommandsLayoutCreateInfoNVX =-             Word32-        type FieldOptional "tokenCount"-               VkIndirectCommandsLayoutCreateInfoNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "tokenCount" VkIndirectCommandsLayoutCreateInfoNVX-             =-             #{offset VkIndirectCommandsLayoutCreateInfoNVX, tokenCount}-        type FieldIsArray "tokenCount"-               VkIndirectCommandsLayoutCreateInfoNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkIndirectCommandsLayoutCreateInfoNVX, tokenCount}--instance {-# OVERLAPPING #-}-         CanReadField "tokenCount" VkIndirectCommandsLayoutCreateInfoNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutCreateInfoNVX, tokenCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, tokenCount}--instance {-# OVERLAPPING #-}-         CanWriteField "tokenCount" VkIndirectCommandsLayoutCreateInfoNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, tokenCount}--instance {-# OVERLAPPING #-}-         HasField "pTokens" VkIndirectCommandsLayoutCreateInfoNVX where-        type FieldType "pTokens" VkIndirectCommandsLayoutCreateInfoNVX =-             Ptr VkIndirectCommandsLayoutTokenNVX-        type FieldOptional "pTokens" VkIndirectCommandsLayoutCreateInfoNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pTokens" VkIndirectCommandsLayoutCreateInfoNVX =-             #{offset VkIndirectCommandsLayoutCreateInfoNVX, pTokens}-        type FieldIsArray "pTokens" VkIndirectCommandsLayoutCreateInfoNVX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkIndirectCommandsLayoutCreateInfoNVX, pTokens}--instance {-# OVERLAPPING #-}-         CanReadField "pTokens" VkIndirectCommandsLayoutCreateInfoNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutCreateInfoNVX, pTokens})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, pTokens}--instance {-# OVERLAPPING #-}-         CanWriteField "pTokens" VkIndirectCommandsLayoutCreateInfoNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, pTokens}--instance Show VkIndirectCommandsLayoutCreateInfoNVX where-        showsPrec d x-          = showString "VkIndirectCommandsLayoutCreateInfoNVX {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "pipelineBindPoint = " .-                            showsPrec d (getField @"pipelineBindPoint" x) .-                              showString ", " .-                                showString "flags = " .-                                  showsPrec d (getField @"flags" x) .-                                    showString ", " .-                                      showString "tokenCount = " .-                                        showsPrec d (getField @"tokenCount" x) .-                                          showString ", " .-                                            showString "pTokens = " .-                                              showsPrec d (getField @"pTokens" x) . showChar '}'+           #{size VkIndirectCommandsLayoutCreateInfoNVX}+           #{alignment VkIndirectCommandsLayoutCreateInfoNVX}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkIndirectCommandsLayoutCreateInfoNVX, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkIndirectCommandsLayoutCreateInfoNVX, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pipelineBindPoint" VkPipelineBindPoint 'False+                #{offset VkIndirectCommandsLayoutCreateInfoNVX, pipelineBindPoint}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkIndirectCommandsLayoutUsageFlagsNVX 'False+                #{offset VkIndirectCommandsLayoutCreateInfoNVX, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "tokenCount" Word32 'False +                                                    #{offset VkIndirectCommandsLayoutCreateInfoNVX, tokenCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pTokens" (Ptr VkIndirectCommandsLayoutTokenNVX) 'False+                #{offset VkIndirectCommandsLayoutCreateInfoNVX, pTokens}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | > typedef struct VkIndirectCommandsLayoutTokenNVX { --   >     VkIndirectCommandsTokenTypeNVX      tokenType;@@ -329,195 +82,39 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkIndirectCommandsLayoutTokenNVX VkIndirectCommandsLayoutTokenNVX registry at www.khronos.org> type VkIndirectCommandsLayoutTokenNVX =-     VulkanStruct VkIndirectCommandsLayoutTokenNVX' -- ' closing tick for hsc2hs+     VkStruct VkIndirectCommandsLayoutTokenNVX' -- ' closing tick for hsc2hs  data VkIndirectCommandsLayoutTokenNVX' -- ' closing tick for hsc2hs -instance Eq VkIndirectCommandsLayoutTokenNVX where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkIndirectCommandsLayoutTokenNVX where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkIndirectCommandsLayoutTokenNVX where-        sizeOf ~_ = #{size VkIndirectCommandsLayoutTokenNVX}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkIndirectCommandsLayoutTokenNVX}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkIndirectCommandsLayoutTokenNVX where-        type StructFields VkIndirectCommandsLayoutTokenNVX =-             '["tokenType", "bindingUnit", "dynamicCount", "divisor"] -- ' closing tick for hsc2hs-        type CUnionType VkIndirectCommandsLayoutTokenNVX = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkIndirectCommandsLayoutTokenNVX = 'False -- ' closing tick for hsc2hs-        type StructExtends VkIndirectCommandsLayoutTokenNVX = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "tokenType" VkIndirectCommandsLayoutTokenNVX where-        type FieldType "tokenType" VkIndirectCommandsLayoutTokenNVX =-             VkIndirectCommandsTokenTypeNVX-        type FieldOptional "tokenType" VkIndirectCommandsLayoutTokenNVX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "tokenType" VkIndirectCommandsLayoutTokenNVX =-             #{offset VkIndirectCommandsLayoutTokenNVX, tokenType}-        type FieldIsArray "tokenType" VkIndirectCommandsLayoutTokenNVX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkIndirectCommandsLayoutTokenNVX, tokenType}--instance {-# OVERLAPPING #-}-         CanReadField "tokenType" VkIndirectCommandsLayoutTokenNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutTokenNVX, tokenType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkIndirectCommandsLayoutTokenNVX, tokenType}--instance {-# OVERLAPPING #-}-         CanWriteField "tokenType" VkIndirectCommandsLayoutTokenNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkIndirectCommandsLayoutTokenNVX, tokenType}--instance {-# OVERLAPPING #-}-         HasField "bindingUnit" VkIndirectCommandsLayoutTokenNVX where-        type FieldType "bindingUnit" VkIndirectCommandsLayoutTokenNVX =-             Word32-        type FieldOptional "bindingUnit" VkIndirectCommandsLayoutTokenNVX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "bindingUnit" VkIndirectCommandsLayoutTokenNVX =-             #{offset VkIndirectCommandsLayoutTokenNVX, bindingUnit}-        type FieldIsArray "bindingUnit" VkIndirectCommandsLayoutTokenNVX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkIndirectCommandsLayoutTokenNVX, bindingUnit}--instance {-# OVERLAPPING #-}-         CanReadField "bindingUnit" VkIndirectCommandsLayoutTokenNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutTokenNVX, bindingUnit})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkIndirectCommandsLayoutTokenNVX, bindingUnit}--instance {-# OVERLAPPING #-}-         CanWriteField "bindingUnit" VkIndirectCommandsLayoutTokenNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkIndirectCommandsLayoutTokenNVX, bindingUnit}--instance {-# OVERLAPPING #-}-         HasField "dynamicCount" VkIndirectCommandsLayoutTokenNVX where-        type FieldType "dynamicCount" VkIndirectCommandsLayoutTokenNVX =-             Word32-        type FieldOptional "dynamicCount" VkIndirectCommandsLayoutTokenNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dynamicCount" VkIndirectCommandsLayoutTokenNVX =-             #{offset VkIndirectCommandsLayoutTokenNVX, dynamicCount}-        type FieldIsArray "dynamicCount" VkIndirectCommandsLayoutTokenNVX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkIndirectCommandsLayoutTokenNVX, dynamicCount}--instance {-# OVERLAPPING #-}-         CanReadField "dynamicCount" VkIndirectCommandsLayoutTokenNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutTokenNVX, dynamicCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkIndirectCommandsLayoutTokenNVX, dynamicCount}--instance {-# OVERLAPPING #-}-         CanWriteField "dynamicCount" VkIndirectCommandsLayoutTokenNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkIndirectCommandsLayoutTokenNVX, dynamicCount}--instance {-# OVERLAPPING #-}-         HasField "divisor" VkIndirectCommandsLayoutTokenNVX where-        type FieldType "divisor" VkIndirectCommandsLayoutTokenNVX = Word32-        type FieldOptional "divisor" VkIndirectCommandsLayoutTokenNVX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "divisor" VkIndirectCommandsLayoutTokenNVX =-             #{offset VkIndirectCommandsLayoutTokenNVX, divisor}-        type FieldIsArray "divisor" VkIndirectCommandsLayoutTokenNVX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkIndirectCommandsLayoutTokenNVX, divisor}--instance {-# OVERLAPPING #-}-         CanReadField "divisor" VkIndirectCommandsLayoutTokenNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutTokenNVX, divisor})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkIndirectCommandsLayoutTokenNVX, divisor}--instance {-# OVERLAPPING #-}-         CanWriteField "divisor" VkIndirectCommandsLayoutTokenNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkIndirectCommandsLayoutTokenNVX, divisor}--instance Show VkIndirectCommandsLayoutTokenNVX where-        showsPrec d x-          = showString "VkIndirectCommandsLayoutTokenNVX {" .-              showString "tokenType = " .-                showsPrec d (getField @"tokenType" x) .-                  showString ", " .-                    showString "bindingUnit = " .-                      showsPrec d (getField @"bindingUnit" x) .-                        showString ", " .-                          showString "dynamicCount = " .-                            showsPrec d (getField @"dynamicCount" x) .-                              showString ", " .-                                showString "divisor = " .-                                  showsPrec d (getField @"divisor" x) . showChar '}'+    type StructRep VkIndirectCommandsLayoutTokenNVX =+         'StructMeta "VkIndirectCommandsLayoutTokenNVX" -- ' closing tick for hsc2hs+           VkIndirectCommandsLayoutTokenNVX+           #{size VkIndirectCommandsLayoutTokenNVX}+           #{alignment VkIndirectCommandsLayoutTokenNVX}+           '[('FieldMeta "tokenType" VkIndirectCommandsTokenTypeNVX 'False -- ' closing tick for hsc2hs+                #{offset VkIndirectCommandsLayoutTokenNVX, tokenType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "bindingUnit" Word32 'False +                                                     #{offset VkIndirectCommandsLayoutTokenNVX, bindingUnit}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dynamicCount" Word32 'False +                                                      #{offset VkIndirectCommandsLayoutTokenNVX, dynamicCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "divisor" Word32 'False +                                                 #{offset VkIndirectCommandsLayoutTokenNVX, divisor}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | > typedef struct VkIndirectCommandsTokenNVX { --   >     VkIndirectCommandsTokenTypeNVX      tokenType;@@ -527,146 +124,30 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkIndirectCommandsTokenNVX VkIndirectCommandsTokenNVX registry at www.khronos.org> type VkIndirectCommandsTokenNVX =-     VulkanStruct VkIndirectCommandsTokenNVX' -- ' closing tick for hsc2hs+     VkStruct VkIndirectCommandsTokenNVX' -- ' closing tick for hsc2hs  data VkIndirectCommandsTokenNVX' -- ' closing tick for hsc2hs -instance Eq VkIndirectCommandsTokenNVX where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkIndirectCommandsTokenNVX where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkIndirectCommandsTokenNVX where-        sizeOf ~_ = #{size VkIndirectCommandsTokenNVX}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkIndirectCommandsTokenNVX}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkIndirectCommandsTokenNVX where-        type StructFields VkIndirectCommandsTokenNVX =-             '["tokenType", "buffer", "offset"] -- ' closing tick for hsc2hs-        type CUnionType VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs-        type StructExtends VkIndirectCommandsTokenNVX = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "tokenType" VkIndirectCommandsTokenNVX where-        type FieldType "tokenType" VkIndirectCommandsTokenNVX =-             VkIndirectCommandsTokenTypeNVX-        type FieldOptional "tokenType" VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs-        type FieldOffset "tokenType" VkIndirectCommandsTokenNVX =-             #{offset VkIndirectCommandsTokenNVX, tokenType}-        type FieldIsArray "tokenType" VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkIndirectCommandsTokenNVX, tokenType}--instance {-# OVERLAPPING #-}-         CanReadField "tokenType" VkIndirectCommandsTokenNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsTokenNVX, tokenType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkIndirectCommandsTokenNVX, tokenType}--instance {-# OVERLAPPING #-}-         CanWriteField "tokenType" VkIndirectCommandsTokenNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkIndirectCommandsTokenNVX, tokenType}--instance {-# OVERLAPPING #-}-         HasField "buffer" VkIndirectCommandsTokenNVX where-        type FieldType "buffer" VkIndirectCommandsTokenNVX = VkBuffer-        type FieldOptional "buffer" VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs-        type FieldOffset "buffer" VkIndirectCommandsTokenNVX =-             #{offset VkIndirectCommandsTokenNVX, buffer}-        type FieldIsArray "buffer" VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkIndirectCommandsTokenNVX, buffer}--instance {-# OVERLAPPING #-}-         CanReadField "buffer" VkIndirectCommandsTokenNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsTokenNVX, buffer})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkIndirectCommandsTokenNVX, buffer}--instance {-# OVERLAPPING #-}-         CanWriteField "buffer" VkIndirectCommandsTokenNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkIndirectCommandsTokenNVX, buffer}--instance {-# OVERLAPPING #-}-         HasField "offset" VkIndirectCommandsTokenNVX where-        type FieldType "offset" VkIndirectCommandsTokenNVX = VkDeviceSize-        type FieldOptional "offset" VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs-        type FieldOffset "offset" VkIndirectCommandsTokenNVX =-             #{offset VkIndirectCommandsTokenNVX, offset}-        type FieldIsArray "offset" VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkIndirectCommandsTokenNVX, offset}--instance {-# OVERLAPPING #-}-         CanReadField "offset" VkIndirectCommandsTokenNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsTokenNVX, offset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkIndirectCommandsTokenNVX, offset}--instance {-# OVERLAPPING #-}-         CanWriteField "offset" VkIndirectCommandsTokenNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkIndirectCommandsTokenNVX, offset}--instance Show VkIndirectCommandsTokenNVX where-        showsPrec d x-          = showString "VkIndirectCommandsTokenNVX {" .-              showString "tokenType = " .-                showsPrec d (getField @"tokenType" x) .-                  showString ", " .-                    showString "buffer = " .-                      showsPrec d (getField @"buffer" x) .-                        showString ", " .-                          showString "offset = " .-                            showsPrec d (getField @"offset" x) . showChar '}'+    type StructRep VkIndirectCommandsTokenNVX =+         'StructMeta "VkIndirectCommandsTokenNVX" VkIndirectCommandsTokenNVX -- ' closing tick for hsc2hs+           #{size VkIndirectCommandsTokenNVX}+           #{alignment VkIndirectCommandsTokenNVX}+           '[('FieldMeta "tokenType" VkIndirectCommandsTokenTypeNVX 'False -- ' closing tick for hsc2hs+                #{offset VkIndirectCommandsTokenNVX, tokenType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "buffer" VkBuffer 'False +                                                  #{offset VkIndirectCommandsTokenNVX, buffer}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "offset" VkDeviceSize 'False +                                                      #{offset VkIndirectCommandsTokenNVX, offset}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/InputAttachmentAspectReference.hsc view
@@ -2,21 +2,16 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.InputAttachmentAspectReference        (VkInputAttachmentAspectReference,-        VkInputAttachmentAspectReference', -- ' closing tick for hsc2hs         VkInputAttachmentAspectReferenceKHR)        where-import Foreign.Storable                 (Storable (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.Image (VkImageAspectFlags)-import System.IO.Unsafe                 (unsafeDupablePerformIO)  -- | > typedef struct VkInputAttachmentAspectReference { --   >     uint32_t                        subpass;@@ -26,167 +21,34 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkInputAttachmentAspectReference VkInputAttachmentAspectReference registry at www.khronos.org> type VkInputAttachmentAspectReference =-     VulkanStruct VkInputAttachmentAspectReference' -- ' closing tick for hsc2hs+     VkStruct VkInputAttachmentAspectReference' -- ' closing tick for hsc2hs  data VkInputAttachmentAspectReference' -- ' closing tick for hsc2hs -instance Eq VkInputAttachmentAspectReference where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkInputAttachmentAspectReference where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkInputAttachmentAspectReference where-        sizeOf ~_ = #{size VkInputAttachmentAspectReference}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkInputAttachmentAspectReference}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkInputAttachmentAspectReference where-        type StructFields VkInputAttachmentAspectReference =-             '["subpass", "inputAttachmentIndex", "aspectMask"] -- ' closing tick for hsc2hs-        type CUnionType VkInputAttachmentAspectReference = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkInputAttachmentAspectReference = 'False -- ' closing tick for hsc2hs-        type StructExtends VkInputAttachmentAspectReference = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "subpass" VkInputAttachmentAspectReference where-        type FieldType "subpass" VkInputAttachmentAspectReference = Word32-        type FieldOptional "subpass" VkInputAttachmentAspectReference =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "subpass" VkInputAttachmentAspectReference =-             #{offset VkInputAttachmentAspectReference, subpass}-        type FieldIsArray "subpass" VkInputAttachmentAspectReference =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkInputAttachmentAspectReference, subpass}--instance {-# OVERLAPPING #-}-         CanReadField "subpass" VkInputAttachmentAspectReference where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkInputAttachmentAspectReference, subpass})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkInputAttachmentAspectReference, subpass}--instance {-# OVERLAPPING #-}-         CanWriteField "subpass" VkInputAttachmentAspectReference where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkInputAttachmentAspectReference, subpass}--instance {-# OVERLAPPING #-}-         HasField "inputAttachmentIndex" VkInputAttachmentAspectReference-         where-        type FieldType "inputAttachmentIndex"-               VkInputAttachmentAspectReference-             = Word32-        type FieldOptional "inputAttachmentIndex"-               VkInputAttachmentAspectReference-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "inputAttachmentIndex"-               VkInputAttachmentAspectReference-             =-             #{offset VkInputAttachmentAspectReference, inputAttachmentIndex}-        type FieldIsArray "inputAttachmentIndex"-               VkInputAttachmentAspectReference-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkInputAttachmentAspectReference, inputAttachmentIndex}--instance {-# OVERLAPPING #-}-         CanReadField "inputAttachmentIndex"-           VkInputAttachmentAspectReference-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkInputAttachmentAspectReference, inputAttachmentIndex})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkInputAttachmentAspectReference, inputAttachmentIndex}--instance {-# OVERLAPPING #-}-         CanWriteField "inputAttachmentIndex"+    type StructRep VkInputAttachmentAspectReference =+         'StructMeta "VkInputAttachmentAspectReference" -- ' closing tick for hsc2hs            VkInputAttachmentAspectReference-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkInputAttachmentAspectReference, inputAttachmentIndex}--instance {-# OVERLAPPING #-}-         HasField "aspectMask" VkInputAttachmentAspectReference where-        type FieldType "aspectMask" VkInputAttachmentAspectReference =-             VkImageAspectFlags-        type FieldOptional "aspectMask" VkInputAttachmentAspectReference =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "aspectMask" VkInputAttachmentAspectReference =-             #{offset VkInputAttachmentAspectReference, aspectMask}-        type FieldIsArray "aspectMask" VkInputAttachmentAspectReference =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkInputAttachmentAspectReference, aspectMask}--instance {-# OVERLAPPING #-}-         CanReadField "aspectMask" VkInputAttachmentAspectReference where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkInputAttachmentAspectReference, aspectMask})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkInputAttachmentAspectReference, aspectMask}--instance {-# OVERLAPPING #-}-         CanWriteField "aspectMask" VkInputAttachmentAspectReference where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkInputAttachmentAspectReference, aspectMask}--instance Show VkInputAttachmentAspectReference where-        showsPrec d x-          = showString "VkInputAttachmentAspectReference {" .-              showString "subpass = " .-                showsPrec d (getField @"subpass" x) .-                  showString ", " .-                    showString "inputAttachmentIndex = " .-                      showsPrec d (getField @"inputAttachmentIndex" x) .-                        showString ", " .-                          showString "aspectMask = " .-                            showsPrec d (getField @"aspectMask" x) . showChar '}'+           #{size VkInputAttachmentAspectReference}+           #{alignment VkInputAttachmentAspectReference}+           '[('FieldMeta "subpass" Word32 'False  -- ' closing tick for hsc2hs+                                                 #{offset VkInputAttachmentAspectReference, subpass}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "inputAttachmentIndex" Word32 'False +                                                              #{offset VkInputAttachmentAspectReference, inputAttachmentIndex}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "aspectMask" VkImageAspectFlags 'False +                                                                #{offset VkInputAttachmentAspectReference, aspectMask}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | Alias for `VkInputAttachmentAspectReference` type VkInputAttachmentAspectReferenceKHR =
src-gen/Graphics/Vulkan/Types/Struct/InstanceCreateInfo.hsc view
@@ -2,20 +2,16 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.InstanceCreateInfo-       (VkInstanceCreateInfo, VkInstanceCreateInfo') where -- ' closing tick for hsc2hs-import Foreign.Storable                             (Storable (..))+       (VkInstanceCreateInfo) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Bitmasks               (VkInstanceCreateFlags) import Graphics.Vulkan.Types.Enum.StructureType     (VkStructureType) import Graphics.Vulkan.Types.Struct.ApplicationInfo (VkApplicationInfo)-import System.IO.Unsafe                             (unsafeDupablePerformIO)  -- | > typedef struct VkInstanceCreateInfo { --   >     VkStructureType sType;@@ -29,333 +25,55 @@ --   > } VkInstanceCreateInfo; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkInstanceCreateInfo VkInstanceCreateInfo registry at www.khronos.org>-type VkInstanceCreateInfo = VulkanStruct VkInstanceCreateInfo' -- ' closing tick for hsc2hs+type VkInstanceCreateInfo = VkStruct VkInstanceCreateInfo' -- ' closing tick for hsc2hs  data VkInstanceCreateInfo' -- ' closing tick for hsc2hs -instance Eq VkInstanceCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkInstanceCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkInstanceCreateInfo where-        sizeOf ~_ = #{size VkInstanceCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkInstanceCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkInstanceCreateInfo where-        type StructFields VkInstanceCreateInfo =-             '["sType", "pNext", "flags", "pApplicationInfo", -- ' closing tick for hsc2hs-               "enabledLayerCount", "ppEnabledLayerNames",-               "enabledExtensionCount", "ppEnabledExtensionNames"]-        type CUnionType VkInstanceCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkInstanceCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkInstanceCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkInstanceCreateInfo-         where-        type FieldType "sType" VkInstanceCreateInfo = VkStructureType-        type FieldOptional "sType" VkInstanceCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkInstanceCreateInfo =-             #{offset VkInstanceCreateInfo, sType}-        type FieldIsArray "sType" VkInstanceCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkInstanceCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkInstanceCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkInstanceCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkInstanceCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkInstanceCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkInstanceCreateInfo, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkInstanceCreateInfo-         where-        type FieldType "pNext" VkInstanceCreateInfo = Ptr Void-        type FieldOptional "pNext" VkInstanceCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkInstanceCreateInfo =-             #{offset VkInstanceCreateInfo, pNext}-        type FieldIsArray "pNext" VkInstanceCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkInstanceCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkInstanceCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkInstanceCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkInstanceCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkInstanceCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkInstanceCreateInfo, pNext}--instance {-# OVERLAPPING #-} HasField "flags" VkInstanceCreateInfo-         where-        type FieldType "flags" VkInstanceCreateInfo = VkInstanceCreateFlags-        type FieldOptional "flags" VkInstanceCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkInstanceCreateInfo =-             #{offset VkInstanceCreateInfo, flags}-        type FieldIsArray "flags" VkInstanceCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkInstanceCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkInstanceCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkInstanceCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkInstanceCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkInstanceCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkInstanceCreateInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "pApplicationInfo" VkInstanceCreateInfo where-        type FieldType "pApplicationInfo" VkInstanceCreateInfo =-             Ptr VkApplicationInfo-        type FieldOptional "pApplicationInfo" VkInstanceCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pApplicationInfo" VkInstanceCreateInfo =-             #{offset VkInstanceCreateInfo, pApplicationInfo}-        type FieldIsArray "pApplicationInfo" VkInstanceCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkInstanceCreateInfo, pApplicationInfo}--instance {-# OVERLAPPING #-}-         CanReadField "pApplicationInfo" VkInstanceCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkInstanceCreateInfo, pApplicationInfo})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkInstanceCreateInfo, pApplicationInfo}--instance {-# OVERLAPPING #-}-         CanWriteField "pApplicationInfo" VkInstanceCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkInstanceCreateInfo, pApplicationInfo}--instance {-# OVERLAPPING #-}-         HasField "enabledLayerCount" VkInstanceCreateInfo where-        type FieldType "enabledLayerCount" VkInstanceCreateInfo = Word32-        type FieldOptional "enabledLayerCount" VkInstanceCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "enabledLayerCount" VkInstanceCreateInfo =-             #{offset VkInstanceCreateInfo, enabledLayerCount}-        type FieldIsArray "enabledLayerCount" VkInstanceCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkInstanceCreateInfo, enabledLayerCount}--instance {-# OVERLAPPING #-}-         CanReadField "enabledLayerCount" VkInstanceCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkInstanceCreateInfo, enabledLayerCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkInstanceCreateInfo, enabledLayerCount}--instance {-# OVERLAPPING #-}-         CanWriteField "enabledLayerCount" VkInstanceCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkInstanceCreateInfo, enabledLayerCount}--instance {-# OVERLAPPING #-}-         HasField "ppEnabledLayerNames" VkInstanceCreateInfo where-        type FieldType "ppEnabledLayerNames" VkInstanceCreateInfo =-             Ptr CString-        type FieldOptional "ppEnabledLayerNames" VkInstanceCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "ppEnabledLayerNames" VkInstanceCreateInfo =-             #{offset VkInstanceCreateInfo, ppEnabledLayerNames}-        type FieldIsArray "ppEnabledLayerNames" VkInstanceCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkInstanceCreateInfo, ppEnabledLayerNames}--instance {-# OVERLAPPING #-}-         CanReadField "ppEnabledLayerNames" VkInstanceCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkInstanceCreateInfo, ppEnabledLayerNames})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkInstanceCreateInfo, ppEnabledLayerNames}--instance {-# OVERLAPPING #-}-         CanWriteField "ppEnabledLayerNames" VkInstanceCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkInstanceCreateInfo, ppEnabledLayerNames}--instance {-# OVERLAPPING #-}-         HasField "enabledExtensionCount" VkInstanceCreateInfo where-        type FieldType "enabledExtensionCount" VkInstanceCreateInfo =-             Word32-        type FieldOptional "enabledExtensionCount" VkInstanceCreateInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "enabledExtensionCount" VkInstanceCreateInfo =-             #{offset VkInstanceCreateInfo, enabledExtensionCount}-        type FieldIsArray "enabledExtensionCount" VkInstanceCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkInstanceCreateInfo, enabledExtensionCount}--instance {-# OVERLAPPING #-}-         CanReadField "enabledExtensionCount" VkInstanceCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkInstanceCreateInfo, enabledExtensionCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkInstanceCreateInfo, enabledExtensionCount}--instance {-# OVERLAPPING #-}-         CanWriteField "enabledExtensionCount" VkInstanceCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkInstanceCreateInfo, enabledExtensionCount}--instance {-# OVERLAPPING #-}-         HasField "ppEnabledExtensionNames" VkInstanceCreateInfo where-        type FieldType "ppEnabledExtensionNames" VkInstanceCreateInfo =-             Ptr CString-        type FieldOptional "ppEnabledExtensionNames" VkInstanceCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "ppEnabledExtensionNames" VkInstanceCreateInfo =-             #{offset VkInstanceCreateInfo, ppEnabledExtensionNames}-        type FieldIsArray "ppEnabledExtensionNames" VkInstanceCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkInstanceCreateInfo, ppEnabledExtensionNames}--instance {-# OVERLAPPING #-}-         CanReadField "ppEnabledExtensionNames" VkInstanceCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkInstanceCreateInfo, ppEnabledExtensionNames})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkInstanceCreateInfo, ppEnabledExtensionNames}--instance {-# OVERLAPPING #-}-         CanWriteField "ppEnabledExtensionNames" VkInstanceCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkInstanceCreateInfo, ppEnabledExtensionNames}--instance Show VkInstanceCreateInfo where-        showsPrec d x-          = showString "VkInstanceCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "pApplicationInfo = " .-                                  showsPrec d (getField @"pApplicationInfo" x) .-                                    showString ", " .-                                      showString "enabledLayerCount = " .-                                        showsPrec d (getField @"enabledLayerCount" x) .-                                          showString ", " .-                                            showString "ppEnabledLayerNames = " .-                                              showsPrec d (getField @"ppEnabledLayerNames" x) .-                                                showString ", " .-                                                  showString "enabledExtensionCount = " .-                                                    showsPrec d-                                                      (getField @"enabledExtensionCount" x)-                                                      .-                                                      showString ", " .-                                                        showString "ppEnabledExtensionNames = " .-                                                          showsPrec d-                                                            (getField @"ppEnabledExtensionNames" x)-                                                            . showChar '}'+    type StructRep VkInstanceCreateInfo =+         'StructMeta "VkInstanceCreateInfo" VkInstanceCreateInfo  -- ' closing tick for hsc2hs+                                                                 #{size VkInstanceCreateInfo}+           #{alignment VkInstanceCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkInstanceCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkInstanceCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkInstanceCreateFlags 'True +                                                             #{offset VkInstanceCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pApplicationInfo" (Ptr VkApplicationInfo) 'True+                #{offset VkInstanceCreateInfo, pApplicationInfo}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "enabledLayerCount" Word32 'True +                                                          #{offset VkInstanceCreateInfo, enabledLayerCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "ppEnabledLayerNames" (Ptr CString) 'False +                                                                    #{offset VkInstanceCreateInfo, ppEnabledLayerNames}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "enabledExtensionCount" Word32 'True +                                                              #{offset VkInstanceCreateInfo, enabledExtensionCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "ppEnabledExtensionNames" (Ptr CString) 'False+                #{offset VkInstanceCreateInfo, ppEnabledExtensionNames}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/LayerProperties.hsc view
@@ -1,26 +1,16 @@ #include "vulkan/vulkan.h"  {-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleContexts      #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE PatternSynonyms       #-}-{-# LANGUAGE ScopedTypeVariables   #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-}-{-# LANGUAGE UndecidableInstances  #-} module Graphics.Vulkan.Types.Struct.LayerProperties-       (VkLayerProperties, VkLayerProperties') where -- ' closing tick for hsc2hs-import Foreign.Storable                 (Storable (..))+       (VkLayerProperties) where import Graphics.Vulkan.Constants        (VK_MAX_DESCRIPTION_SIZE,-                                         pattern VK_MAX_DESCRIPTION_SIZE,-                                         VK_MAX_EXTENSION_NAME_SIZE,-                                         pattern VK_MAX_EXTENSION_NAME_SIZE)+                                         VK_MAX_EXTENSION_NAME_SIZE) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal-import System.IO.Unsafe                 (unsafeDupablePerformIO)  -- | > typedef struct VkLayerProperties { --   >     char            layerName[VK_MAX_EXTENSION_NAME_SIZE];@@ -30,229 +20,35 @@ --   > } VkLayerProperties; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkLayerProperties VkLayerProperties registry at www.khronos.org>-type VkLayerProperties = VulkanStruct VkLayerProperties' -- ' closing tick for hsc2hs+type VkLayerProperties = VkStruct VkLayerProperties' -- ' closing tick for hsc2hs  data VkLayerProperties' -- ' closing tick for hsc2hs -instance Eq VkLayerProperties where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkLayerProperties where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkLayerProperties where-        sizeOf ~_ = #{size VkLayerProperties}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkLayerProperties}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkLayerProperties where-        type StructFields VkLayerProperties =-             '["layerName", "specVersion", "implementationVersion", -- ' closing tick for hsc2hs-               "description"]-        type CUnionType VkLayerProperties = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkLayerProperties = 'True -- ' closing tick for hsc2hs-        type StructExtends VkLayerProperties = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "layerName" VkLayerProperties-         where-        type FieldType "layerName" VkLayerProperties = CChar-        type FieldOptional "layerName" VkLayerProperties = 'False -- ' closing tick for hsc2hs-        type FieldOffset "layerName" VkLayerProperties =-             #{offset VkLayerProperties, layerName}-        type FieldIsArray "layerName" VkLayerProperties = 'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkLayerProperties, layerName}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "layerName" VkLayerProperties where-        type FieldArrayLength "layerName" VkLayerProperties =-             VK_MAX_EXTENSION_NAME_SIZE--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = VK_MAX_EXTENSION_NAME_SIZE--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkLayerProperties, layerName} +-                      sizeOf (undefined :: CChar) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkLayerProperties, layerName} +-                 sizeOf (undefined :: CChar) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "layerName" VkLayerProperties where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkLayerProperties, layerName} +-                 sizeOf (undefined :: CChar) * i)--instance {-# OVERLAPPING #-}-         HasField "specVersion" VkLayerProperties where-        type FieldType "specVersion" VkLayerProperties = Word32-        type FieldOptional "specVersion" VkLayerProperties = 'False -- ' closing tick for hsc2hs-        type FieldOffset "specVersion" VkLayerProperties =-             #{offset VkLayerProperties, specVersion}-        type FieldIsArray "specVersion" VkLayerProperties = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkLayerProperties, specVersion}--instance {-# OVERLAPPING #-}-         CanReadField "specVersion" VkLayerProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkLayerProperties, specVersion})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkLayerProperties, specVersion}--instance {-# OVERLAPPING #-}-         CanWriteField "specVersion" VkLayerProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkLayerProperties, specVersion}--instance {-# OVERLAPPING #-}-         HasField "implementationVersion" VkLayerProperties where-        type FieldType "implementationVersion" VkLayerProperties = Word32-        type FieldOptional "implementationVersion" VkLayerProperties =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "implementationVersion" VkLayerProperties =-             #{offset VkLayerProperties, implementationVersion}-        type FieldIsArray "implementationVersion" VkLayerProperties =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkLayerProperties, implementationVersion}--instance {-# OVERLAPPING #-}-         CanReadField "implementationVersion" VkLayerProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkLayerProperties, implementationVersion})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkLayerProperties, implementationVersion}--instance {-# OVERLAPPING #-}-         CanWriteField "implementationVersion" VkLayerProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkLayerProperties, implementationVersion}--instance {-# OVERLAPPING #-}-         HasField "description" VkLayerProperties where-        type FieldType "description" VkLayerProperties = CChar-        type FieldOptional "description" VkLayerProperties = 'False -- ' closing tick for hsc2hs-        type FieldOffset "description" VkLayerProperties =-             #{offset VkLayerProperties, description}-        type FieldIsArray "description" VkLayerProperties = 'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkLayerProperties, description}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "description" VkLayerProperties where-        type FieldArrayLength "description" VkLayerProperties =-             VK_MAX_DESCRIPTION_SIZE--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = VK_MAX_DESCRIPTION_SIZE--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkLayerProperties, description} +-                      sizeOf (undefined :: CChar) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkLayerProperties, description} +-                 sizeOf (undefined :: CChar) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "description" VkLayerProperties where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkLayerProperties, description} +-                 sizeOf (undefined :: CChar) * i)--instance Show VkLayerProperties where-        showsPrec d x-          = showString "VkLayerProperties {" .-              (showString "layerName = [" .-                 showsPrec d-                   (let s = sizeOf-                              (undefined :: FieldType "layerName" VkLayerProperties)-                        o = fieldOffset @"layerName" @VkLayerProperties-                        f i-                          = peekByteOff (unsafePtr x) i ::-                              IO (FieldType "layerName" VkLayerProperties)-                      in-                      unsafeDupablePerformIO . mapM f $-                        map (\ i -> o + i * s) [0 .. VK_MAX_EXTENSION_NAME_SIZE - 1])-                   . showChar ']')-                .-                showString ", " .-                  showString "specVersion = " .-                    showsPrec d (getField @"specVersion" x) .-                      showString ", " .-                        showString "implementationVersion = " .-                          showsPrec d (getField @"implementationVersion" x) .-                            showString ", " .-                              (showString "description = [" .-                                 showsPrec d-                                   (let s = sizeOf-                                              (undefined ::-                                                 FieldType "description" VkLayerProperties)-                                        o = fieldOffset @"description" @VkLayerProperties-                                        f i-                                          = peekByteOff (unsafePtr x) i ::-                                              IO (FieldType "description" VkLayerProperties)-                                      in-                                      unsafeDupablePerformIO . mapM f $-                                        map (\ i -> o + i * s) [0 .. VK_MAX_DESCRIPTION_SIZE - 1])-                                   . showChar ']')-                                . showChar '}'+    type StructRep VkLayerProperties =+         'StructMeta "VkLayerProperties" VkLayerProperties  -- ' closing tick for hsc2hs+                                                           #{size VkLayerProperties}+           #{alignment VkLayerProperties}+           '[('FieldMeta "layerName" CChar 'False  -- ' closing tick for hsc2hs+                                                  #{offset VkLayerProperties, layerName}+                VK_MAX_EXTENSION_NAME_SIZE+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "specVersion" Word32 'False +                                                     #{offset VkLayerProperties, specVersion}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "implementationVersion" Word32 'False +                                                               #{offset VkLayerProperties, implementationVersion}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "description" CChar 'False +                                                    #{offset VkLayerProperties, description}+                VK_MAX_DESCRIPTION_SIZE+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/MappedMemoryRange.hsc view
@@ -2,20 +2,16 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.MappedMemoryRange-       (VkMappedMemoryRange, VkMappedMemoryRange') where -- ' closing tick for hsc2hs-import Foreign.Storable                         (Storable (..))+       (VkMappedMemoryRange) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.BaseTypes          (VkDeviceSize) import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType) import Graphics.Vulkan.Types.Handles            (VkDeviceMemory)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkMappedMemoryRange { --   >     VkStructureType sType;@@ -26,210 +22,40 @@ --   > } VkMappedMemoryRange; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMappedMemoryRange VkMappedMemoryRange registry at www.khronos.org>-type VkMappedMemoryRange = VulkanStruct VkMappedMemoryRange' -- ' closing tick for hsc2hs+type VkMappedMemoryRange = VkStruct VkMappedMemoryRange' -- ' closing tick for hsc2hs  data VkMappedMemoryRange' -- ' closing tick for hsc2hs -instance Eq VkMappedMemoryRange where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkMappedMemoryRange where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkMappedMemoryRange where-        sizeOf ~_ = #{size VkMappedMemoryRange}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkMappedMemoryRange}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkMappedMemoryRange where-        type StructFields VkMappedMemoryRange =-             '["sType", "pNext", "memory", "offset", "size"] -- ' closing tick for hsc2hs-        type CUnionType VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs-        type StructExtends VkMappedMemoryRange = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkMappedMemoryRange-         where-        type FieldType "sType" VkMappedMemoryRange = VkStructureType-        type FieldOptional "sType" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkMappedMemoryRange =-             #{offset VkMappedMemoryRange, sType}-        type FieldIsArray "sType" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkMappedMemoryRange, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkMappedMemoryRange where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMappedMemoryRange, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMappedMemoryRange, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkMappedMemoryRange where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMappedMemoryRange, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkMappedMemoryRange-         where-        type FieldType "pNext" VkMappedMemoryRange = Ptr Void-        type FieldOptional "pNext" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkMappedMemoryRange =-             #{offset VkMappedMemoryRange, pNext}-        type FieldIsArray "pNext" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkMappedMemoryRange, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkMappedMemoryRange where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMappedMemoryRange, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMappedMemoryRange, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkMappedMemoryRange where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMappedMemoryRange, pNext}--instance {-# OVERLAPPING #-} HasField "memory" VkMappedMemoryRange-         where-        type FieldType "memory" VkMappedMemoryRange = VkDeviceMemory-        type FieldOptional "memory" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs-        type FieldOffset "memory" VkMappedMemoryRange =-             #{offset VkMappedMemoryRange, memory}-        type FieldIsArray "memory" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkMappedMemoryRange, memory}--instance {-# OVERLAPPING #-}-         CanReadField "memory" VkMappedMemoryRange where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMappedMemoryRange, memory})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMappedMemoryRange, memory}--instance {-# OVERLAPPING #-}-         CanWriteField "memory" VkMappedMemoryRange where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMappedMemoryRange, memory}--instance {-# OVERLAPPING #-} HasField "offset" VkMappedMemoryRange-         where-        type FieldType "offset" VkMappedMemoryRange = VkDeviceSize-        type FieldOptional "offset" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs-        type FieldOffset "offset" VkMappedMemoryRange =-             #{offset VkMappedMemoryRange, offset}-        type FieldIsArray "offset" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkMappedMemoryRange, offset}--instance {-# OVERLAPPING #-}-         CanReadField "offset" VkMappedMemoryRange where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMappedMemoryRange, offset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMappedMemoryRange, offset}--instance {-# OVERLAPPING #-}-         CanWriteField "offset" VkMappedMemoryRange where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMappedMemoryRange, offset}--instance {-# OVERLAPPING #-} HasField "size" VkMappedMemoryRange-         where-        type FieldType "size" VkMappedMemoryRange = VkDeviceSize-        type FieldOptional "size" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs-        type FieldOffset "size" VkMappedMemoryRange =-             #{offset VkMappedMemoryRange, size}-        type FieldIsArray "size" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkMappedMemoryRange, size}--instance {-# OVERLAPPING #-}-         CanReadField "size" VkMappedMemoryRange where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMappedMemoryRange, size})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMappedMemoryRange, size}--instance {-# OVERLAPPING #-}-         CanWriteField "size" VkMappedMemoryRange where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMappedMemoryRange, size}--instance Show VkMappedMemoryRange where-        showsPrec d x-          = showString "VkMappedMemoryRange {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "memory = " .-                            showsPrec d (getField @"memory" x) .-                              showString ", " .-                                showString "offset = " .-                                  showsPrec d (getField @"offset" x) .-                                    showString ", " .-                                      showString "size = " .-                                        showsPrec d (getField @"size" x) . showChar '}'+    type StructRep VkMappedMemoryRange =+         'StructMeta "VkMappedMemoryRange" VkMappedMemoryRange  -- ' closing tick for hsc2hs+                                                               #{size VkMappedMemoryRange}+           #{alignment VkMappedMemoryRange}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkMappedMemoryRange, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkMappedMemoryRange, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "memory" VkDeviceMemory 'False +                                                        #{offset VkMappedMemoryRange, memory}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "offset" VkDeviceSize 'False +                                                      #{offset VkMappedMemoryRange, offset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "size" VkDeviceSize 'False +                                                    #{offset VkMappedMemoryRange, size}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/Memory.hsc view
@@ -2,2026 +2,491 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.Memory-       (VkMemoryAllocateFlagsInfo, VkMemoryAllocateFlagsInfo', -- ' closing tick for hsc2hs-        VkMemoryAllocateFlagsInfoKHR, VkMemoryAllocateInfo,-        VkMemoryAllocateInfo', VkMemoryBarrier, VkMemoryBarrier',-        VkMemoryDedicatedAllocateInfo, VkMemoryDedicatedAllocateInfo', -- ' closing tick for hsc2hs-        VkMemoryDedicatedAllocateInfoKHR, VkMemoryDedicatedRequirements,-        VkMemoryDedicatedRequirements', VkMemoryDedicatedRequirementsKHR, -- ' closing tick for hsc2hs-        VkMemoryFdPropertiesKHR, VkMemoryFdPropertiesKHR', -- ' closing tick for hsc2hs-        VkMemoryGetFdInfoKHR, VkMemoryGetFdInfoKHR', VkMemoryHeap, -- ' closing tick for hsc2hs-        VkMemoryHeap', VkMemoryHostPointerPropertiesEXT, -- ' closing tick for hsc2hs-        VkMemoryHostPointerPropertiesEXT', VkMemoryRequirements, -- ' closing tick for hsc2hs-        VkMemoryRequirements', VkMemoryRequirements2, -- ' closing tick for hsc2hs-        VkMemoryRequirements2', VkMemoryRequirements2KHR, VkMemoryType, -- ' closing tick for hsc2hs-        VkMemoryType') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                         (Storable (..))-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Internal-import Graphics.Vulkan.Types.BaseTypes          (VkBool32, VkDeviceSize)-import Graphics.Vulkan.Types.Enum.AccessFlags   (VkAccessFlags)-import Graphics.Vulkan.Types.Enum.External      (VkExternalMemoryHandleTypeFlagBits)-import Graphics.Vulkan.Types.Enum.Memory        (VkMemoryAllocateFlags,-                                                 VkMemoryHeapFlags,-                                                 VkMemoryPropertyFlags)-import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)-import Graphics.Vulkan.Types.Handles            (VkBuffer, VkDeviceMemory,-                                                 VkImage)-import System.IO.Unsafe                         (unsafeDupablePerformIO)---- | > typedef struct VkMemoryAllocateFlagsInfo {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkMemoryAllocateFlags flags;---   >     uint32_t                         deviceMask;---   > } VkMemoryAllocateFlagsInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfo registry at www.khronos.org>-type VkMemoryAllocateFlagsInfo =-     VulkanStruct VkMemoryAllocateFlagsInfo' -- ' closing tick for hsc2hs--data VkMemoryAllocateFlagsInfo' -- ' closing tick for hsc2hs--instance Eq VkMemoryAllocateFlagsInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkMemoryAllocateFlagsInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkMemoryAllocateFlagsInfo where-        sizeOf ~_ = #{size VkMemoryAllocateFlagsInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkMemoryAllocateFlagsInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkMemoryAllocateFlagsInfo where-        type StructFields VkMemoryAllocateFlagsInfo =-             '["sType", "pNext", "flags", "deviceMask"] -- ' closing tick for hsc2hs-        type CUnionType VkMemoryAllocateFlagsInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkMemoryAllocateFlagsInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkMemoryAllocateFlagsInfo =-             '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkMemoryAllocateFlagsInfo where-        type FieldType "sType" VkMemoryAllocateFlagsInfo = VkStructureType-        type FieldOptional "sType" VkMemoryAllocateFlagsInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkMemoryAllocateFlagsInfo =-             #{offset VkMemoryAllocateFlagsInfo, sType}-        type FieldIsArray "sType" VkMemoryAllocateFlagsInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryAllocateFlagsInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkMemoryAllocateFlagsInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryAllocateFlagsInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryAllocateFlagsInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkMemoryAllocateFlagsInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryAllocateFlagsInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkMemoryAllocateFlagsInfo where-        type FieldType "pNext" VkMemoryAllocateFlagsInfo = Ptr Void-        type FieldOptional "pNext" VkMemoryAllocateFlagsInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkMemoryAllocateFlagsInfo =-             #{offset VkMemoryAllocateFlagsInfo, pNext}-        type FieldIsArray "pNext" VkMemoryAllocateFlagsInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryAllocateFlagsInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkMemoryAllocateFlagsInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryAllocateFlagsInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryAllocateFlagsInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkMemoryAllocateFlagsInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryAllocateFlagsInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkMemoryAllocateFlagsInfo where-        type FieldType "flags" VkMemoryAllocateFlagsInfo =-             VkMemoryAllocateFlags-        type FieldOptional "flags" VkMemoryAllocateFlagsInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkMemoryAllocateFlagsInfo =-             #{offset VkMemoryAllocateFlagsInfo, flags}-        type FieldIsArray "flags" VkMemoryAllocateFlagsInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryAllocateFlagsInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkMemoryAllocateFlagsInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryAllocateFlagsInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryAllocateFlagsInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkMemoryAllocateFlagsInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryAllocateFlagsInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "deviceMask" VkMemoryAllocateFlagsInfo where-        type FieldType "deviceMask" VkMemoryAllocateFlagsInfo = Word32-        type FieldOptional "deviceMask" VkMemoryAllocateFlagsInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "deviceMask" VkMemoryAllocateFlagsInfo =-             #{offset VkMemoryAllocateFlagsInfo, deviceMask}-        type FieldIsArray "deviceMask" VkMemoryAllocateFlagsInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryAllocateFlagsInfo, deviceMask}--instance {-# OVERLAPPING #-}-         CanReadField "deviceMask" VkMemoryAllocateFlagsInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryAllocateFlagsInfo, deviceMask})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryAllocateFlagsInfo, deviceMask}--instance {-# OVERLAPPING #-}-         CanWriteField "deviceMask" VkMemoryAllocateFlagsInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryAllocateFlagsInfo, deviceMask}--instance Show VkMemoryAllocateFlagsInfo where-        showsPrec d x-          = showString "VkMemoryAllocateFlagsInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "deviceMask = " .-                                  showsPrec d (getField @"deviceMask" x) . showChar '}'---- | Alias for `VkMemoryAllocateFlagsInfo`-type VkMemoryAllocateFlagsInfoKHR = VkMemoryAllocateFlagsInfo---- | > typedef struct VkMemoryAllocateInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkDeviceSize           allocationSize;---   >     uint32_t               memoryTypeIndex;---   > } VkMemoryAllocateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryAllocateInfo VkMemoryAllocateInfo registry at www.khronos.org>-type VkMemoryAllocateInfo = VulkanStruct VkMemoryAllocateInfo' -- ' closing tick for hsc2hs--data VkMemoryAllocateInfo' -- ' closing tick for hsc2hs--instance Eq VkMemoryAllocateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkMemoryAllocateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkMemoryAllocateInfo where-        sizeOf ~_ = #{size VkMemoryAllocateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkMemoryAllocateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkMemoryAllocateInfo where-        type StructFields VkMemoryAllocateInfo =-             '["sType", "pNext", "allocationSize", "memoryTypeIndex"] -- ' closing tick for hsc2hs-        type CUnionType VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkMemoryAllocateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkMemoryAllocateInfo-         where-        type FieldType "sType" VkMemoryAllocateInfo = VkStructureType-        type FieldOptional "sType" VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkMemoryAllocateInfo =-             #{offset VkMemoryAllocateInfo, sType}-        type FieldIsArray "sType" VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkMemoryAllocateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkMemoryAllocateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryAllocateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryAllocateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkMemoryAllocateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryAllocateInfo, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkMemoryAllocateInfo-         where-        type FieldType "pNext" VkMemoryAllocateInfo = Ptr Void-        type FieldOptional "pNext" VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkMemoryAllocateInfo =-             #{offset VkMemoryAllocateInfo, pNext}-        type FieldIsArray "pNext" VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkMemoryAllocateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkMemoryAllocateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryAllocateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryAllocateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkMemoryAllocateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryAllocateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "allocationSize" VkMemoryAllocateInfo where-        type FieldType "allocationSize" VkMemoryAllocateInfo = VkDeviceSize-        type FieldOptional "allocationSize" VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "allocationSize" VkMemoryAllocateInfo =-             #{offset VkMemoryAllocateInfo, allocationSize}-        type FieldIsArray "allocationSize" VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryAllocateInfo, allocationSize}--instance {-# OVERLAPPING #-}-         CanReadField "allocationSize" VkMemoryAllocateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryAllocateInfo, allocationSize})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryAllocateInfo, allocationSize}--instance {-# OVERLAPPING #-}-         CanWriteField "allocationSize" VkMemoryAllocateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryAllocateInfo, allocationSize}--instance {-# OVERLAPPING #-}-         HasField "memoryTypeIndex" VkMemoryAllocateInfo where-        type FieldType "memoryTypeIndex" VkMemoryAllocateInfo = Word32-        type FieldOptional "memoryTypeIndex" VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "memoryTypeIndex" VkMemoryAllocateInfo =-             #{offset VkMemoryAllocateInfo, memoryTypeIndex}-        type FieldIsArray "memoryTypeIndex" VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryAllocateInfo, memoryTypeIndex}--instance {-# OVERLAPPING #-}-         CanReadField "memoryTypeIndex" VkMemoryAllocateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryAllocateInfo, memoryTypeIndex})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryAllocateInfo, memoryTypeIndex}--instance {-# OVERLAPPING #-}-         CanWriteField "memoryTypeIndex" VkMemoryAllocateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryAllocateInfo, memoryTypeIndex}--instance Show VkMemoryAllocateInfo where-        showsPrec d x-          = showString "VkMemoryAllocateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "allocationSize = " .-                            showsPrec d (getField @"allocationSize" x) .-                              showString ", " .-                                showString "memoryTypeIndex = " .-                                  showsPrec d (getField @"memoryTypeIndex" x) . showChar '}'---- | > typedef struct VkMemoryBarrier {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkAccessFlags          srcAccessMask;---   >     VkAccessFlags          dstAccessMask;---   > } VkMemoryBarrier;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryBarrier VkMemoryBarrier registry at www.khronos.org>-type VkMemoryBarrier = VulkanStruct VkMemoryBarrier' -- ' closing tick for hsc2hs--data VkMemoryBarrier' -- ' closing tick for hsc2hs--instance Eq VkMemoryBarrier where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkMemoryBarrier where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkMemoryBarrier where-        sizeOf ~_ = #{size VkMemoryBarrier}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkMemoryBarrier}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkMemoryBarrier where-        type StructFields VkMemoryBarrier =-             '["sType", "pNext", "srcAccessMask", "dstAccessMask"] -- ' closing tick for hsc2hs-        type CUnionType VkMemoryBarrier = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkMemoryBarrier = 'False -- ' closing tick for hsc2hs-        type StructExtends VkMemoryBarrier = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkMemoryBarrier where-        type FieldType "sType" VkMemoryBarrier = VkStructureType-        type FieldOptional "sType" VkMemoryBarrier = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkMemoryBarrier =-             #{offset VkMemoryBarrier, sType}-        type FieldIsArray "sType" VkMemoryBarrier = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkMemoryBarrier, sType}--instance {-# OVERLAPPING #-} CanReadField "sType" VkMemoryBarrier-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryBarrier, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryBarrier, sType}--instance {-# OVERLAPPING #-} CanWriteField "sType" VkMemoryBarrier-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryBarrier, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkMemoryBarrier where-        type FieldType "pNext" VkMemoryBarrier = Ptr Void-        type FieldOptional "pNext" VkMemoryBarrier = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkMemoryBarrier =-             #{offset VkMemoryBarrier, pNext}-        type FieldIsArray "pNext" VkMemoryBarrier = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkMemoryBarrier, pNext}--instance {-# OVERLAPPING #-} CanReadField "pNext" VkMemoryBarrier-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryBarrier, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryBarrier, pNext}--instance {-# OVERLAPPING #-} CanWriteField "pNext" VkMemoryBarrier-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryBarrier, pNext}--instance {-# OVERLAPPING #-}-         HasField "srcAccessMask" VkMemoryBarrier where-        type FieldType "srcAccessMask" VkMemoryBarrier = VkAccessFlags-        type FieldOptional "srcAccessMask" VkMemoryBarrier = 'True -- ' closing tick for hsc2hs-        type FieldOffset "srcAccessMask" VkMemoryBarrier =-             #{offset VkMemoryBarrier, srcAccessMask}-        type FieldIsArray "srcAccessMask" VkMemoryBarrier = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkMemoryBarrier, srcAccessMask}--instance {-# OVERLAPPING #-}-         CanReadField "srcAccessMask" VkMemoryBarrier where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryBarrier, srcAccessMask})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryBarrier, srcAccessMask}--instance {-# OVERLAPPING #-}-         CanWriteField "srcAccessMask" VkMemoryBarrier where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryBarrier, srcAccessMask}--instance {-# OVERLAPPING #-}-         HasField "dstAccessMask" VkMemoryBarrier where-        type FieldType "dstAccessMask" VkMemoryBarrier = VkAccessFlags-        type FieldOptional "dstAccessMask" VkMemoryBarrier = 'True -- ' closing tick for hsc2hs-        type FieldOffset "dstAccessMask" VkMemoryBarrier =-             #{offset VkMemoryBarrier, dstAccessMask}-        type FieldIsArray "dstAccessMask" VkMemoryBarrier = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkMemoryBarrier, dstAccessMask}--instance {-# OVERLAPPING #-}-         CanReadField "dstAccessMask" VkMemoryBarrier where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryBarrier, dstAccessMask})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryBarrier, dstAccessMask}--instance {-# OVERLAPPING #-}-         CanWriteField "dstAccessMask" VkMemoryBarrier where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryBarrier, dstAccessMask}--instance Show VkMemoryBarrier where-        showsPrec d x-          = showString "VkMemoryBarrier {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "srcAccessMask = " .-                            showsPrec d (getField @"srcAccessMask" x) .-                              showString ", " .-                                showString "dstAccessMask = " .-                                  showsPrec d (getField @"dstAccessMask" x) . showChar '}'---- | > typedef struct VkMemoryDedicatedAllocateInfo {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkImage          image;---   >     VkBuffer         buffer;---   > } VkMemoryDedicatedAllocateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfo registry at www.khronos.org>-type VkMemoryDedicatedAllocateInfo =-     VulkanStruct VkMemoryDedicatedAllocateInfo' -- ' closing tick for hsc2hs--data VkMemoryDedicatedAllocateInfo' -- ' closing tick for hsc2hs--instance Eq VkMemoryDedicatedAllocateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkMemoryDedicatedAllocateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkMemoryDedicatedAllocateInfo where-        sizeOf ~_ = #{size VkMemoryDedicatedAllocateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkMemoryDedicatedAllocateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkMemoryDedicatedAllocateInfo where-        type StructFields VkMemoryDedicatedAllocateInfo =-             '["sType", "pNext", "image", "buffer"] -- ' closing tick for hsc2hs-        type CUnionType VkMemoryDedicatedAllocateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkMemoryDedicatedAllocateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkMemoryDedicatedAllocateInfo =-             '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkMemoryDedicatedAllocateInfo where-        type FieldType "sType" VkMemoryDedicatedAllocateInfo =-             VkStructureType-        type FieldOptional "sType" VkMemoryDedicatedAllocateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkMemoryDedicatedAllocateInfo =-             #{offset VkMemoryDedicatedAllocateInfo, sType}-        type FieldIsArray "sType" VkMemoryDedicatedAllocateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryDedicatedAllocateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkMemoryDedicatedAllocateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryDedicatedAllocateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryDedicatedAllocateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkMemoryDedicatedAllocateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryDedicatedAllocateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkMemoryDedicatedAllocateInfo where-        type FieldType "pNext" VkMemoryDedicatedAllocateInfo = Ptr Void-        type FieldOptional "pNext" VkMemoryDedicatedAllocateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkMemoryDedicatedAllocateInfo =-             #{offset VkMemoryDedicatedAllocateInfo, pNext}-        type FieldIsArray "pNext" VkMemoryDedicatedAllocateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryDedicatedAllocateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkMemoryDedicatedAllocateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryDedicatedAllocateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryDedicatedAllocateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkMemoryDedicatedAllocateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryDedicatedAllocateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "image" VkMemoryDedicatedAllocateInfo where-        type FieldType "image" VkMemoryDedicatedAllocateInfo = VkImage-        type FieldOptional "image" VkMemoryDedicatedAllocateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "image" VkMemoryDedicatedAllocateInfo =-             #{offset VkMemoryDedicatedAllocateInfo, image}-        type FieldIsArray "image" VkMemoryDedicatedAllocateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryDedicatedAllocateInfo, image}--instance {-# OVERLAPPING #-}-         CanReadField "image" VkMemoryDedicatedAllocateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryDedicatedAllocateInfo, image})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryDedicatedAllocateInfo, image}--instance {-# OVERLAPPING #-}-         CanWriteField "image" VkMemoryDedicatedAllocateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryDedicatedAllocateInfo, image}--instance {-# OVERLAPPING #-}-         HasField "buffer" VkMemoryDedicatedAllocateInfo where-        type FieldType "buffer" VkMemoryDedicatedAllocateInfo = VkBuffer-        type FieldOptional "buffer" VkMemoryDedicatedAllocateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "buffer" VkMemoryDedicatedAllocateInfo =-             #{offset VkMemoryDedicatedAllocateInfo, buffer}-        type FieldIsArray "buffer" VkMemoryDedicatedAllocateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryDedicatedAllocateInfo, buffer}--instance {-# OVERLAPPING #-}-         CanReadField "buffer" VkMemoryDedicatedAllocateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryDedicatedAllocateInfo, buffer})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryDedicatedAllocateInfo, buffer}--instance {-# OVERLAPPING #-}-         CanWriteField "buffer" VkMemoryDedicatedAllocateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryDedicatedAllocateInfo, buffer}--instance Show VkMemoryDedicatedAllocateInfo where-        showsPrec d x-          = showString "VkMemoryDedicatedAllocateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "image = " .-                            showsPrec d (getField @"image" x) .-                              showString ", " .-                                showString "buffer = " .-                                  showsPrec d (getField @"buffer" x) . showChar '}'---- | Alias for `VkMemoryDedicatedAllocateInfo`-type VkMemoryDedicatedAllocateInfoKHR =-     VkMemoryDedicatedAllocateInfo---- | > typedef struct VkMemoryDedicatedRequirements {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     VkBool32                         prefersDedicatedAllocation;---   >     VkBool32                         requiresDedicatedAllocation;---   > } VkMemoryDedicatedRequirements;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryDedicatedRequirements VkMemoryDedicatedRequirements registry at www.khronos.org>-type VkMemoryDedicatedRequirements =-     VulkanStruct VkMemoryDedicatedRequirements' -- ' closing tick for hsc2hs--data VkMemoryDedicatedRequirements' -- ' closing tick for hsc2hs--instance Eq VkMemoryDedicatedRequirements where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkMemoryDedicatedRequirements where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkMemoryDedicatedRequirements where-        sizeOf ~_ = #{size VkMemoryDedicatedRequirements}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkMemoryDedicatedRequirements}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkMemoryDedicatedRequirements where-        type StructFields VkMemoryDedicatedRequirements =-             '["sType", "pNext", "prefersDedicatedAllocation", -- ' closing tick for hsc2hs-               "requiresDedicatedAllocation"]-        type CUnionType VkMemoryDedicatedRequirements = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkMemoryDedicatedRequirements = 'True -- ' closing tick for hsc2hs-        type StructExtends VkMemoryDedicatedRequirements =-             '[VkMemoryRequirements2] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkMemoryDedicatedRequirements where-        type FieldType "sType" VkMemoryDedicatedRequirements =-             VkStructureType-        type FieldOptional "sType" VkMemoryDedicatedRequirements = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkMemoryDedicatedRequirements =-             #{offset VkMemoryDedicatedRequirements, sType}-        type FieldIsArray "sType" VkMemoryDedicatedRequirements = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryDedicatedRequirements, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkMemoryDedicatedRequirements where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryDedicatedRequirements, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryDedicatedRequirements, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkMemoryDedicatedRequirements where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryDedicatedRequirements, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkMemoryDedicatedRequirements where-        type FieldType "pNext" VkMemoryDedicatedRequirements = Ptr Void-        type FieldOptional "pNext" VkMemoryDedicatedRequirements = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkMemoryDedicatedRequirements =-             #{offset VkMemoryDedicatedRequirements, pNext}-        type FieldIsArray "pNext" VkMemoryDedicatedRequirements = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryDedicatedRequirements, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkMemoryDedicatedRequirements where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryDedicatedRequirements, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryDedicatedRequirements, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkMemoryDedicatedRequirements where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryDedicatedRequirements, pNext}--instance {-# OVERLAPPING #-}-         HasField "prefersDedicatedAllocation" VkMemoryDedicatedRequirements-         where-        type FieldType "prefersDedicatedAllocation"-               VkMemoryDedicatedRequirements-             = VkBool32-        type FieldOptional "prefersDedicatedAllocation"-               VkMemoryDedicatedRequirements-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "prefersDedicatedAllocation"-               VkMemoryDedicatedRequirements-             =-             #{offset VkMemoryDedicatedRequirements, prefersDedicatedAllocation}-        type FieldIsArray "prefersDedicatedAllocation"-               VkMemoryDedicatedRequirements-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryDedicatedRequirements, prefersDedicatedAllocation}--instance {-# OVERLAPPING #-}-         CanReadField "prefersDedicatedAllocation"-           VkMemoryDedicatedRequirements-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryDedicatedRequirements, prefersDedicatedAllocation})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryDedicatedRequirements, prefersDedicatedAllocation}--instance {-# OVERLAPPING #-}-         CanWriteField "prefersDedicatedAllocation"-           VkMemoryDedicatedRequirements-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryDedicatedRequirements, prefersDedicatedAllocation}--instance {-# OVERLAPPING #-}-         HasField "requiresDedicatedAllocation"-           VkMemoryDedicatedRequirements-         where-        type FieldType "requiresDedicatedAllocation"-               VkMemoryDedicatedRequirements-             = VkBool32-        type FieldOptional "requiresDedicatedAllocation"-               VkMemoryDedicatedRequirements-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "requiresDedicatedAllocation"-               VkMemoryDedicatedRequirements-             =-             #{offset VkMemoryDedicatedRequirements, requiresDedicatedAllocation}-        type FieldIsArray "requiresDedicatedAllocation"-               VkMemoryDedicatedRequirements-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryDedicatedRequirements, requiresDedicatedAllocation}--instance {-# OVERLAPPING #-}-         CanReadField "requiresDedicatedAllocation"-           VkMemoryDedicatedRequirements-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryDedicatedRequirements, requiresDedicatedAllocation})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryDedicatedRequirements, requiresDedicatedAllocation}--instance {-# OVERLAPPING #-}-         CanWriteField "requiresDedicatedAllocation"-           VkMemoryDedicatedRequirements-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryDedicatedRequirements, requiresDedicatedAllocation}--instance Show VkMemoryDedicatedRequirements where-        showsPrec d x-          = showString "VkMemoryDedicatedRequirements {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "prefersDedicatedAllocation = " .-                            showsPrec d (getField @"prefersDedicatedAllocation" x) .-                              showString ", " .-                                showString "requiresDedicatedAllocation = " .-                                  showsPrec d (getField @"requiresDedicatedAllocation" x) .-                                    showChar '}'---- | Alias for `VkMemoryDedicatedRequirements`-type VkMemoryDedicatedRequirementsKHR =-     VkMemoryDedicatedRequirements---- | > typedef struct VkMemoryFdPropertiesKHR {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     uint32_t                         memoryTypeBits;---   > } VkMemoryFdPropertiesKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryFdPropertiesKHR VkMemoryFdPropertiesKHR registry at www.khronos.org>-type VkMemoryFdPropertiesKHR =-     VulkanStruct VkMemoryFdPropertiesKHR' -- ' closing tick for hsc2hs--data VkMemoryFdPropertiesKHR' -- ' closing tick for hsc2hs--instance Eq VkMemoryFdPropertiesKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkMemoryFdPropertiesKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkMemoryFdPropertiesKHR where-        sizeOf ~_ = #{size VkMemoryFdPropertiesKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkMemoryFdPropertiesKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkMemoryFdPropertiesKHR where-        type StructFields VkMemoryFdPropertiesKHR =-             '["sType", "pNext", "memoryTypeBits"] -- ' closing tick for hsc2hs-        type CUnionType VkMemoryFdPropertiesKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkMemoryFdPropertiesKHR = 'True -- ' closing tick for hsc2hs-        type StructExtends VkMemoryFdPropertiesKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkMemoryFdPropertiesKHR where-        type FieldType "sType" VkMemoryFdPropertiesKHR = VkStructureType-        type FieldOptional "sType" VkMemoryFdPropertiesKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkMemoryFdPropertiesKHR =-             #{offset VkMemoryFdPropertiesKHR, sType}-        type FieldIsArray "sType" VkMemoryFdPropertiesKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkMemoryFdPropertiesKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkMemoryFdPropertiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryFdPropertiesKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryFdPropertiesKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkMemoryFdPropertiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryFdPropertiesKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkMemoryFdPropertiesKHR where-        type FieldType "pNext" VkMemoryFdPropertiesKHR = Ptr Void-        type FieldOptional "pNext" VkMemoryFdPropertiesKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkMemoryFdPropertiesKHR =-             #{offset VkMemoryFdPropertiesKHR, pNext}-        type FieldIsArray "pNext" VkMemoryFdPropertiesKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkMemoryFdPropertiesKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkMemoryFdPropertiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryFdPropertiesKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryFdPropertiesKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkMemoryFdPropertiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryFdPropertiesKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "memoryTypeBits" VkMemoryFdPropertiesKHR where-        type FieldType "memoryTypeBits" VkMemoryFdPropertiesKHR = Word32-        type FieldOptional "memoryTypeBits" VkMemoryFdPropertiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "memoryTypeBits" VkMemoryFdPropertiesKHR =-             #{offset VkMemoryFdPropertiesKHR, memoryTypeBits}-        type FieldIsArray "memoryTypeBits" VkMemoryFdPropertiesKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryFdPropertiesKHR, memoryTypeBits}--instance {-# OVERLAPPING #-}-         CanReadField "memoryTypeBits" VkMemoryFdPropertiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryFdPropertiesKHR, memoryTypeBits})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryFdPropertiesKHR, memoryTypeBits}--instance {-# OVERLAPPING #-}-         CanWriteField "memoryTypeBits" VkMemoryFdPropertiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryFdPropertiesKHR, memoryTypeBits}--instance Show VkMemoryFdPropertiesKHR where-        showsPrec d x-          = showString "VkMemoryFdPropertiesKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "memoryTypeBits = " .-                            showsPrec d (getField @"memoryTypeBits" x) . showChar '}'---- | > typedef struct VkMemoryGetFdInfoKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkDeviceMemory                   memory;---   >     VkExternalMemoryHandleTypeFlagBits handleType;---   > } VkMemoryGetFdInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryGetFdInfoKHR VkMemoryGetFdInfoKHR registry at www.khronos.org>-type VkMemoryGetFdInfoKHR = VulkanStruct VkMemoryGetFdInfoKHR' -- ' closing tick for hsc2hs--data VkMemoryGetFdInfoKHR' -- ' closing tick for hsc2hs--instance Eq VkMemoryGetFdInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkMemoryGetFdInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkMemoryGetFdInfoKHR where-        sizeOf ~_ = #{size VkMemoryGetFdInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkMemoryGetFdInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkMemoryGetFdInfoKHR where-        type StructFields VkMemoryGetFdInfoKHR =-             '["sType", "pNext", "memory", "handleType"] -- ' closing tick for hsc2hs-        type CUnionType VkMemoryGetFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkMemoryGetFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkMemoryGetFdInfoKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkMemoryGetFdInfoKHR-         where-        type FieldType "sType" VkMemoryGetFdInfoKHR = VkStructureType-        type FieldOptional "sType" VkMemoryGetFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkMemoryGetFdInfoKHR =-             #{offset VkMemoryGetFdInfoKHR, sType}-        type FieldIsArray "sType" VkMemoryGetFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkMemoryGetFdInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkMemoryGetFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryGetFdInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryGetFdInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkMemoryGetFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryGetFdInfoKHR, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkMemoryGetFdInfoKHR-         where-        type FieldType "pNext" VkMemoryGetFdInfoKHR = Ptr Void-        type FieldOptional "pNext" VkMemoryGetFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkMemoryGetFdInfoKHR =-             #{offset VkMemoryGetFdInfoKHR, pNext}-        type FieldIsArray "pNext" VkMemoryGetFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkMemoryGetFdInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkMemoryGetFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryGetFdInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryGetFdInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkMemoryGetFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryGetFdInfoKHR, pNext}--instance {-# OVERLAPPING #-} HasField "memory" VkMemoryGetFdInfoKHR-         where-        type FieldType "memory" VkMemoryGetFdInfoKHR = VkDeviceMemory-        type FieldOptional "memory" VkMemoryGetFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "memory" VkMemoryGetFdInfoKHR =-             #{offset VkMemoryGetFdInfoKHR, memory}-        type FieldIsArray "memory" VkMemoryGetFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkMemoryGetFdInfoKHR, memory}--instance {-# OVERLAPPING #-}-         CanReadField "memory" VkMemoryGetFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryGetFdInfoKHR, memory})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryGetFdInfoKHR, memory}--instance {-# OVERLAPPING #-}-         CanWriteField "memory" VkMemoryGetFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryGetFdInfoKHR, memory}--instance {-# OVERLAPPING #-}-         HasField "handleType" VkMemoryGetFdInfoKHR where-        type FieldType "handleType" VkMemoryGetFdInfoKHR =-             VkExternalMemoryHandleTypeFlagBits-        type FieldOptional "handleType" VkMemoryGetFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "handleType" VkMemoryGetFdInfoKHR =-             #{offset VkMemoryGetFdInfoKHR, handleType}-        type FieldIsArray "handleType" VkMemoryGetFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryGetFdInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         CanReadField "handleType" VkMemoryGetFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryGetFdInfoKHR, handleType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryGetFdInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         CanWriteField "handleType" VkMemoryGetFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryGetFdInfoKHR, handleType}--instance Show VkMemoryGetFdInfoKHR where-        showsPrec d x-          = showString "VkMemoryGetFdInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "memory = " .-                            showsPrec d (getField @"memory" x) .-                              showString ", " .-                                showString "handleType = " .-                                  showsPrec d (getField @"handleType" x) . showChar '}'---- | > typedef struct VkMemoryHeap {---   >     VkDeviceSize           size;---   >     VkMemoryHeapFlags      flags;---   > } VkMemoryHeap;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryHeap VkMemoryHeap registry at www.khronos.org>-type VkMemoryHeap = VulkanStruct VkMemoryHeap' -- ' closing tick for hsc2hs--data VkMemoryHeap' -- ' closing tick for hsc2hs--instance Eq VkMemoryHeap where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkMemoryHeap where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkMemoryHeap where-        sizeOf ~_ = #{size VkMemoryHeap}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkMemoryHeap}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkMemoryHeap where-        type StructFields VkMemoryHeap = '["size", "flags"] -- ' closing tick for hsc2hs-        type CUnionType VkMemoryHeap = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkMemoryHeap = 'True -- ' closing tick for hsc2hs-        type StructExtends VkMemoryHeap = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "size" VkMemoryHeap where-        type FieldType "size" VkMemoryHeap = VkDeviceSize-        type FieldOptional "size" VkMemoryHeap = 'False -- ' closing tick for hsc2hs-        type FieldOffset "size" VkMemoryHeap =-             #{offset VkMemoryHeap, size}-        type FieldIsArray "size" VkMemoryHeap = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkMemoryHeap, size}--instance {-# OVERLAPPING #-} CanReadField "size" VkMemoryHeap where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryHeap, size})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryHeap, size}--instance {-# OVERLAPPING #-} CanWriteField "size" VkMemoryHeap-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryHeap, size}--instance {-# OVERLAPPING #-} HasField "flags" VkMemoryHeap where-        type FieldType "flags" VkMemoryHeap = VkMemoryHeapFlags-        type FieldOptional "flags" VkMemoryHeap = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkMemoryHeap =-             #{offset VkMemoryHeap, flags}-        type FieldIsArray "flags" VkMemoryHeap = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkMemoryHeap, flags}--instance {-# OVERLAPPING #-} CanReadField "flags" VkMemoryHeap-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryHeap, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryHeap, flags}--instance {-# OVERLAPPING #-} CanWriteField "flags" VkMemoryHeap-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryHeap, flags}--instance Show VkMemoryHeap where-        showsPrec d x-          = showString "VkMemoryHeap {" .-              showString "size = " .-                showsPrec d (getField @"size" x) .-                  showString ", " .-                    showString "flags = " .-                      showsPrec d (getField @"flags" x) . showChar '}'---- | > typedef struct VkMemoryHostPointerPropertiesEXT {---   >     VkStructureType sType;---   >     void* pNext;---   >     uint32_t memoryTypeBits;---   > } VkMemoryHostPointerPropertiesEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryHostPointerPropertiesEXT VkMemoryHostPointerPropertiesEXT registry at www.khronos.org>-type VkMemoryHostPointerPropertiesEXT =-     VulkanStruct VkMemoryHostPointerPropertiesEXT' -- ' closing tick for hsc2hs--data VkMemoryHostPointerPropertiesEXT' -- ' closing tick for hsc2hs--instance Eq VkMemoryHostPointerPropertiesEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkMemoryHostPointerPropertiesEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkMemoryHostPointerPropertiesEXT where-        sizeOf ~_ = #{size VkMemoryHostPointerPropertiesEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkMemoryHostPointerPropertiesEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkMemoryHostPointerPropertiesEXT where-        type StructFields VkMemoryHostPointerPropertiesEXT =-             '["sType", "pNext", "memoryTypeBits"] -- ' closing tick for hsc2hs-        type CUnionType VkMemoryHostPointerPropertiesEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkMemoryHostPointerPropertiesEXT = 'False -- ' closing tick for hsc2hs-        type StructExtends VkMemoryHostPointerPropertiesEXT = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkMemoryHostPointerPropertiesEXT where-        type FieldType "sType" VkMemoryHostPointerPropertiesEXT =-             VkStructureType-        type FieldOptional "sType" VkMemoryHostPointerPropertiesEXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkMemoryHostPointerPropertiesEXT =-             #{offset VkMemoryHostPointerPropertiesEXT, sType}-        type FieldIsArray "sType" VkMemoryHostPointerPropertiesEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryHostPointerPropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkMemoryHostPointerPropertiesEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryHostPointerPropertiesEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryHostPointerPropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkMemoryHostPointerPropertiesEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryHostPointerPropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkMemoryHostPointerPropertiesEXT where-        type FieldType "pNext" VkMemoryHostPointerPropertiesEXT = Ptr Void-        type FieldOptional "pNext" VkMemoryHostPointerPropertiesEXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkMemoryHostPointerPropertiesEXT =-             #{offset VkMemoryHostPointerPropertiesEXT, pNext}-        type FieldIsArray "pNext" VkMemoryHostPointerPropertiesEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryHostPointerPropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkMemoryHostPointerPropertiesEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryHostPointerPropertiesEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryHostPointerPropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkMemoryHostPointerPropertiesEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryHostPointerPropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "memoryTypeBits" VkMemoryHostPointerPropertiesEXT where-        type FieldType "memoryTypeBits" VkMemoryHostPointerPropertiesEXT =-             Word32-        type FieldOptional "memoryTypeBits"-               VkMemoryHostPointerPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "memoryTypeBits" VkMemoryHostPointerPropertiesEXT-             =-             #{offset VkMemoryHostPointerPropertiesEXT, memoryTypeBits}-        type FieldIsArray "memoryTypeBits" VkMemoryHostPointerPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryHostPointerPropertiesEXT, memoryTypeBits}--instance {-# OVERLAPPING #-}-         CanReadField "memoryTypeBits" VkMemoryHostPointerPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryHostPointerPropertiesEXT, memoryTypeBits})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryHostPointerPropertiesEXT, memoryTypeBits}--instance {-# OVERLAPPING #-}-         CanWriteField "memoryTypeBits" VkMemoryHostPointerPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryHostPointerPropertiesEXT, memoryTypeBits}--instance Show VkMemoryHostPointerPropertiesEXT where-        showsPrec d x-          = showString "VkMemoryHostPointerPropertiesEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "memoryTypeBits = " .-                            showsPrec d (getField @"memoryTypeBits" x) . showChar '}'---- | > typedef struct VkMemoryRequirements {---   >     VkDeviceSize           size;---   >     VkDeviceSize           alignment;---   >     uint32_t               memoryTypeBits;---   > } VkMemoryRequirements;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryRequirements VkMemoryRequirements registry at www.khronos.org>-type VkMemoryRequirements = VulkanStruct VkMemoryRequirements' -- ' closing tick for hsc2hs--data VkMemoryRequirements' -- ' closing tick for hsc2hs--instance Eq VkMemoryRequirements where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkMemoryRequirements where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkMemoryRequirements where-        sizeOf ~_ = #{size VkMemoryRequirements}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkMemoryRequirements}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkMemoryRequirements where-        type StructFields VkMemoryRequirements =-             '["size", "alignment", "memoryTypeBits"] -- ' closing tick for hsc2hs-        type CUnionType VkMemoryRequirements = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkMemoryRequirements = 'True -- ' closing tick for hsc2hs-        type StructExtends VkMemoryRequirements = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "size" VkMemoryRequirements-         where-        type FieldType "size" VkMemoryRequirements = VkDeviceSize-        type FieldOptional "size" VkMemoryRequirements = 'False -- ' closing tick for hsc2hs-        type FieldOffset "size" VkMemoryRequirements =-             #{offset VkMemoryRequirements, size}-        type FieldIsArray "size" VkMemoryRequirements = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkMemoryRequirements, size}--instance {-# OVERLAPPING #-}-         CanReadField "size" VkMemoryRequirements where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryRequirements, size})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryRequirements, size}--instance {-# OVERLAPPING #-}-         CanWriteField "size" VkMemoryRequirements where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryRequirements, size}--instance {-# OVERLAPPING #-}-         HasField "alignment" VkMemoryRequirements where-        type FieldType "alignment" VkMemoryRequirements = VkDeviceSize-        type FieldOptional "alignment" VkMemoryRequirements = 'False -- ' closing tick for hsc2hs-        type FieldOffset "alignment" VkMemoryRequirements =-             #{offset VkMemoryRequirements, alignment}-        type FieldIsArray "alignment" VkMemoryRequirements = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkMemoryRequirements, alignment}--instance {-# OVERLAPPING #-}-         CanReadField "alignment" VkMemoryRequirements where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryRequirements, alignment})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryRequirements, alignment}--instance {-# OVERLAPPING #-}-         CanWriteField "alignment" VkMemoryRequirements where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryRequirements, alignment}--instance {-# OVERLAPPING #-}-         HasField "memoryTypeBits" VkMemoryRequirements where-        type FieldType "memoryTypeBits" VkMemoryRequirements = Word32-        type FieldOptional "memoryTypeBits" VkMemoryRequirements = 'False -- ' closing tick for hsc2hs-        type FieldOffset "memoryTypeBits" VkMemoryRequirements =-             #{offset VkMemoryRequirements, memoryTypeBits}-        type FieldIsArray "memoryTypeBits" VkMemoryRequirements = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryRequirements, memoryTypeBits}--instance {-# OVERLAPPING #-}-         CanReadField "memoryTypeBits" VkMemoryRequirements where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryRequirements, memoryTypeBits})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryRequirements, memoryTypeBits}--instance {-# OVERLAPPING #-}-         CanWriteField "memoryTypeBits" VkMemoryRequirements where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryRequirements, memoryTypeBits}--instance Show VkMemoryRequirements where-        showsPrec d x-          = showString "VkMemoryRequirements {" .-              showString "size = " .-                showsPrec d (getField @"size" x) .-                  showString ", " .-                    showString "alignment = " .-                      showsPrec d (getField @"alignment" x) .-                        showString ", " .-                          showString "memoryTypeBits = " .-                            showsPrec d (getField @"memoryTypeBits" x) . showChar '}'---- | > typedef struct VkMemoryRequirements2 {---   >     VkStructureType sType;---   >     void* pNext;---   >     VkMemoryRequirements                                                 memoryRequirements;---   > } VkMemoryRequirements2;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryRequirements2 VkMemoryRequirements2 registry at www.khronos.org>-type VkMemoryRequirements2 = VulkanStruct VkMemoryRequirements2' -- ' closing tick for hsc2hs--data VkMemoryRequirements2' -- ' closing tick for hsc2hs--instance Eq VkMemoryRequirements2 where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkMemoryRequirements2 where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkMemoryRequirements2 where-        sizeOf ~_ = #{size VkMemoryRequirements2}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkMemoryRequirements2}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkMemoryRequirements2 where-        type StructFields VkMemoryRequirements2 =-             '["sType", "pNext", "memoryRequirements"] -- ' closing tick for hsc2hs-        type CUnionType VkMemoryRequirements2 = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkMemoryRequirements2 = 'True -- ' closing tick for hsc2hs-        type StructExtends VkMemoryRequirements2 = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkMemoryRequirements2-         where-        type FieldType "sType" VkMemoryRequirements2 = VkStructureType-        type FieldOptional "sType" VkMemoryRequirements2 = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkMemoryRequirements2 =-             #{offset VkMemoryRequirements2, sType}-        type FieldIsArray "sType" VkMemoryRequirements2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkMemoryRequirements2, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkMemoryRequirements2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryRequirements2, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryRequirements2, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkMemoryRequirements2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryRequirements2, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkMemoryRequirements2-         where-        type FieldType "pNext" VkMemoryRequirements2 = Ptr Void-        type FieldOptional "pNext" VkMemoryRequirements2 = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkMemoryRequirements2 =-             #{offset VkMemoryRequirements2, pNext}-        type FieldIsArray "pNext" VkMemoryRequirements2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkMemoryRequirements2, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkMemoryRequirements2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryRequirements2, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryRequirements2, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkMemoryRequirements2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryRequirements2, pNext}--instance {-# OVERLAPPING #-}-         HasField "memoryRequirements" VkMemoryRequirements2 where-        type FieldType "memoryRequirements" VkMemoryRequirements2 =-             VkMemoryRequirements-        type FieldOptional "memoryRequirements" VkMemoryRequirements2 =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "memoryRequirements" VkMemoryRequirements2 =-             #{offset VkMemoryRequirements2, memoryRequirements}-        type FieldIsArray "memoryRequirements" VkMemoryRequirements2 =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryRequirements2, memoryRequirements}--instance {-# OVERLAPPING #-}-         CanReadField "memoryRequirements" VkMemoryRequirements2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryRequirements2, memoryRequirements})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryRequirements2, memoryRequirements}--instance {-# OVERLAPPING #-}-         CanWriteField "memoryRequirements" VkMemoryRequirements2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryRequirements2, memoryRequirements}--instance Show VkMemoryRequirements2 where-        showsPrec d x-          = showString "VkMemoryRequirements2 {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "memoryRequirements = " .-                            showsPrec d (getField @"memoryRequirements" x) . showChar '}'---- | Alias for `VkMemoryRequirements2`-type VkMemoryRequirements2KHR = VkMemoryRequirements2---- | > typedef struct VkMemoryType {---   >     VkMemoryPropertyFlags  propertyFlags;---   >     uint32_t               heapIndex;---   > } VkMemoryType;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryType VkMemoryType registry at www.khronos.org>-type VkMemoryType = VulkanStruct VkMemoryType' -- ' closing tick for hsc2hs--data VkMemoryType' -- ' closing tick for hsc2hs--instance Eq VkMemoryType where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkMemoryType where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkMemoryType where-        sizeOf ~_ = #{size VkMemoryType}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkMemoryType}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkMemoryType where-        type StructFields VkMemoryType = '["propertyFlags", "heapIndex"] -- ' closing tick for hsc2hs-        type CUnionType VkMemoryType = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkMemoryType = 'True -- ' closing tick for hsc2hs-        type StructExtends VkMemoryType = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "propertyFlags" VkMemoryType-         where-        type FieldType "propertyFlags" VkMemoryType = VkMemoryPropertyFlags-        type FieldOptional "propertyFlags" VkMemoryType = 'True -- ' closing tick for hsc2hs-        type FieldOffset "propertyFlags" VkMemoryType =-             #{offset VkMemoryType, propertyFlags}-        type FieldIsArray "propertyFlags" VkMemoryType = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkMemoryType, propertyFlags}--instance {-# OVERLAPPING #-}-         CanReadField "propertyFlags" VkMemoryType where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryType, propertyFlags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryType, propertyFlags}--instance {-# OVERLAPPING #-}-         CanWriteField "propertyFlags" VkMemoryType where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryType, propertyFlags}--instance {-# OVERLAPPING #-} HasField "heapIndex" VkMemoryType-         where-        type FieldType "heapIndex" VkMemoryType = Word32-        type FieldOptional "heapIndex" VkMemoryType = 'False -- ' closing tick for hsc2hs-        type FieldOffset "heapIndex" VkMemoryType =-             #{offset VkMemoryType, heapIndex}-        type FieldIsArray "heapIndex" VkMemoryType = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkMemoryType, heapIndex}--instance {-# OVERLAPPING #-} CanReadField "heapIndex" VkMemoryType-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryType, heapIndex})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryType, heapIndex}--instance {-# OVERLAPPING #-} CanWriteField "heapIndex" VkMemoryType-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryType, heapIndex}--instance Show VkMemoryType where-        showsPrec d x-          = showString "VkMemoryType {" .-              showString "propertyFlags = " .-                showsPrec d (getField @"propertyFlags" x) .-                  showString ", " .-                    showString "heapIndex = " .-                      showsPrec d (getField @"heapIndex" x) . showChar '}'+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.Memory+       (VkMemoryAllocateFlagsInfo, VkMemoryAllocateFlagsInfoKHR,+        VkMemoryAllocateInfo, VkMemoryBarrier,+        VkMemoryDedicatedAllocateInfo, VkMemoryDedicatedAllocateInfoKHR,+        VkMemoryDedicatedRequirements, VkMemoryDedicatedRequirementsKHR,+        VkMemoryFdPropertiesKHR, VkMemoryGetFdInfoKHR, VkMemoryHeap,+        VkMemoryHostPointerPropertiesEXT, VkMemoryRequirements,+        VkMemoryRequirements2, VkMemoryRequirements2KHR, VkMemoryType)+       where+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes          (VkBool32, VkDeviceSize)+import Graphics.Vulkan.Types.Enum.AccessFlags   (VkAccessFlags)+import Graphics.Vulkan.Types.Enum.External      (VkExternalMemoryHandleTypeFlagBits)+import Graphics.Vulkan.Types.Enum.Memory        (VkMemoryAllocateFlags,+                                                 VkMemoryHeapFlags,+                                                 VkMemoryPropertyFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles            (VkBuffer, VkDeviceMemory,+                                                 VkImage)++-- | > typedef struct VkMemoryAllocateFlagsInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkMemoryAllocateFlags flags;+--   >     uint32_t                         deviceMask;+--   > } VkMemoryAllocateFlagsInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfo registry at www.khronos.org>+type VkMemoryAllocateFlagsInfo =+     VkStruct VkMemoryAllocateFlagsInfo' -- ' closing tick for hsc2hs++data VkMemoryAllocateFlagsInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkMemoryAllocateFlagsInfo where+    type StructRep VkMemoryAllocateFlagsInfo =+         'StructMeta "VkMemoryAllocateFlagsInfo" VkMemoryAllocateFlagsInfo -- ' closing tick for hsc2hs+           #{size VkMemoryAllocateFlagsInfo}+           #{alignment VkMemoryAllocateFlagsInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkMemoryAllocateFlagsInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkMemoryAllocateFlagsInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkMemoryAllocateFlags 'True +                                                             #{offset VkMemoryAllocateFlagsInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "deviceMask" Word32 'False +                                                    #{offset VkMemoryAllocateFlagsInfo, deviceMask}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs++-- | Alias for `VkMemoryAllocateFlagsInfo`+type VkMemoryAllocateFlagsInfoKHR = VkMemoryAllocateFlagsInfo++-- | > typedef struct VkMemoryAllocateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkDeviceSize           allocationSize;+--   >     uint32_t               memoryTypeIndex;+--   > } VkMemoryAllocateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryAllocateInfo VkMemoryAllocateInfo registry at www.khronos.org>+type VkMemoryAllocateInfo = VkStruct VkMemoryAllocateInfo' -- ' closing tick for hsc2hs++data VkMemoryAllocateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkMemoryAllocateInfo where+    type StructRep VkMemoryAllocateInfo =+         'StructMeta "VkMemoryAllocateInfo" VkMemoryAllocateInfo  -- ' closing tick for hsc2hs+                                                                 #{size VkMemoryAllocateInfo}+           #{alignment VkMemoryAllocateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkMemoryAllocateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkMemoryAllocateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "allocationSize" VkDeviceSize 'False +                                                              #{offset VkMemoryAllocateInfo, allocationSize}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "memoryTypeIndex" Word32 'False +                                                         #{offset VkMemoryAllocateInfo, memoryTypeIndex}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkMemoryBarrier {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkAccessFlags          srcAccessMask;+--   >     VkAccessFlags          dstAccessMask;+--   > } VkMemoryBarrier;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryBarrier VkMemoryBarrier registry at www.khronos.org>+type VkMemoryBarrier = VkStruct VkMemoryBarrier' -- ' closing tick for hsc2hs++data VkMemoryBarrier' -- ' closing tick for hsc2hs++instance VulkanMarshal VkMemoryBarrier where+    type StructRep VkMemoryBarrier =+         'StructMeta "VkMemoryBarrier" VkMemoryBarrier  -- ' closing tick for hsc2hs+                                                       #{size VkMemoryBarrier}+           #{alignment VkMemoryBarrier}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkMemoryBarrier, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkMemoryBarrier, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "srcAccessMask" VkAccessFlags 'True +                                                             #{offset VkMemoryBarrier, srcAccessMask}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dstAccessMask" VkAccessFlags 'True +                                                             #{offset VkMemoryBarrier, dstAccessMask}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkMemoryDedicatedAllocateInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkImage          image;+--   >     VkBuffer         buffer;+--   > } VkMemoryDedicatedAllocateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfo registry at www.khronos.org>+type VkMemoryDedicatedAllocateInfo =+     VkStruct VkMemoryDedicatedAllocateInfo' -- ' closing tick for hsc2hs++data VkMemoryDedicatedAllocateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkMemoryDedicatedAllocateInfo where+    type StructRep VkMemoryDedicatedAllocateInfo =+         'StructMeta "VkMemoryDedicatedAllocateInfo" -- ' closing tick for hsc2hs+           VkMemoryDedicatedAllocateInfo+           #{size VkMemoryDedicatedAllocateInfo}+           #{alignment VkMemoryDedicatedAllocateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkMemoryDedicatedAllocateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkMemoryDedicatedAllocateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "image" VkImage 'True +                                               #{offset VkMemoryDedicatedAllocateInfo, image}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "buffer" VkBuffer 'True +                                                 #{offset VkMemoryDedicatedAllocateInfo, buffer}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs++-- | Alias for `VkMemoryDedicatedAllocateInfo`+type VkMemoryDedicatedAllocateInfoKHR =+     VkMemoryDedicatedAllocateInfo++-- | > typedef struct VkMemoryDedicatedRequirements {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     VkBool32                         prefersDedicatedAllocation;+--   >     VkBool32                         requiresDedicatedAllocation;+--   > } VkMemoryDedicatedRequirements;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryDedicatedRequirements VkMemoryDedicatedRequirements registry at www.khronos.org>+type VkMemoryDedicatedRequirements =+     VkStruct VkMemoryDedicatedRequirements' -- ' closing tick for hsc2hs++data VkMemoryDedicatedRequirements' -- ' closing tick for hsc2hs++instance VulkanMarshal VkMemoryDedicatedRequirements where+    type StructRep VkMemoryDedicatedRequirements =+         'StructMeta "VkMemoryDedicatedRequirements" -- ' closing tick for hsc2hs+           VkMemoryDedicatedRequirements+           #{size VkMemoryDedicatedRequirements}+           #{alignment VkMemoryDedicatedRequirements}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkMemoryDedicatedRequirements, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkMemoryDedicatedRequirements, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "prefersDedicatedAllocation" VkBool32 'False +                                                                      #{offset VkMemoryDedicatedRequirements, prefersDedicatedAllocation}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "requiresDedicatedAllocation" VkBool32 'False +                                                                       #{offset VkMemoryDedicatedRequirements, requiresDedicatedAllocation}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[VkMemoryRequirements2] -- ' closing tick for hsc2hs++-- | Alias for `VkMemoryDedicatedRequirements`+type VkMemoryDedicatedRequirementsKHR =+     VkMemoryDedicatedRequirements++-- | > typedef struct VkMemoryFdPropertiesKHR {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     uint32_t                         memoryTypeBits;+--   > } VkMemoryFdPropertiesKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryFdPropertiesKHR VkMemoryFdPropertiesKHR registry at www.khronos.org>+type VkMemoryFdPropertiesKHR = VkStruct VkMemoryFdPropertiesKHR' -- ' closing tick for hsc2hs++data VkMemoryFdPropertiesKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkMemoryFdPropertiesKHR where+    type StructRep VkMemoryFdPropertiesKHR =+         'StructMeta "VkMemoryFdPropertiesKHR" VkMemoryFdPropertiesKHR -- ' closing tick for hsc2hs+           #{size VkMemoryFdPropertiesKHR}+           #{alignment VkMemoryFdPropertiesKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkMemoryFdPropertiesKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkMemoryFdPropertiesKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "memoryTypeBits" Word32 'False +                                                        #{offset VkMemoryFdPropertiesKHR, memoryTypeBits}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkMemoryGetFdInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkDeviceMemory                   memory;+--   >     VkExternalMemoryHandleTypeFlagBits handleType;+--   > } VkMemoryGetFdInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryGetFdInfoKHR VkMemoryGetFdInfoKHR registry at www.khronos.org>+type VkMemoryGetFdInfoKHR = VkStruct VkMemoryGetFdInfoKHR' -- ' closing tick for hsc2hs++data VkMemoryGetFdInfoKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkMemoryGetFdInfoKHR where+    type StructRep VkMemoryGetFdInfoKHR =+         'StructMeta "VkMemoryGetFdInfoKHR" VkMemoryGetFdInfoKHR  -- ' closing tick for hsc2hs+                                                                 #{size VkMemoryGetFdInfoKHR}+           #{alignment VkMemoryGetFdInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkMemoryGetFdInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkMemoryGetFdInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "memory" VkDeviceMemory 'False +                                                        #{offset VkMemoryGetFdInfoKHR, memory}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handleType" VkExternalMemoryHandleTypeFlagBits 'False+                #{offset VkMemoryGetFdInfoKHR, handleType}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkMemoryHeap {+--   >     VkDeviceSize           size;+--   >     VkMemoryHeapFlags      flags;+--   > } VkMemoryHeap;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryHeap VkMemoryHeap registry at www.khronos.org>+type VkMemoryHeap = VkStruct VkMemoryHeap' -- ' closing tick for hsc2hs++data VkMemoryHeap' -- ' closing tick for hsc2hs++instance VulkanMarshal VkMemoryHeap where+    type StructRep VkMemoryHeap =+         'StructMeta "VkMemoryHeap" VkMemoryHeap  -- ' closing tick for hsc2hs+                                                 #{size VkMemoryHeap}+           #{alignment VkMemoryHeap}+           '[('FieldMeta "size" VkDeviceSize 'False  -- ' closing tick for hsc2hs+                                                    #{offset VkMemoryHeap, size}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkMemoryHeapFlags 'True +                                                         #{offset VkMemoryHeap, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkMemoryHostPointerPropertiesEXT {+--   >     VkStructureType sType;+--   >     void* pNext;+--   >     uint32_t memoryTypeBits;+--   > } VkMemoryHostPointerPropertiesEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryHostPointerPropertiesEXT VkMemoryHostPointerPropertiesEXT registry at www.khronos.org>+type VkMemoryHostPointerPropertiesEXT =+     VkStruct VkMemoryHostPointerPropertiesEXT' -- ' closing tick for hsc2hs++data VkMemoryHostPointerPropertiesEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal VkMemoryHostPointerPropertiesEXT where+    type StructRep VkMemoryHostPointerPropertiesEXT =+         'StructMeta "VkMemoryHostPointerPropertiesEXT" -- ' closing tick for hsc2hs+           VkMemoryHostPointerPropertiesEXT+           #{size VkMemoryHostPointerPropertiesEXT}+           #{alignment VkMemoryHostPointerPropertiesEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkMemoryHostPointerPropertiesEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkMemoryHostPointerPropertiesEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "memoryTypeBits" Word32 'False +                                                        #{offset VkMemoryHostPointerPropertiesEXT, memoryTypeBits}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkMemoryRequirements {+--   >     VkDeviceSize           size;+--   >     VkDeviceSize           alignment;+--   >     uint32_t               memoryTypeBits;+--   > } VkMemoryRequirements;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryRequirements VkMemoryRequirements registry at www.khronos.org>+type VkMemoryRequirements = VkStruct VkMemoryRequirements' -- ' closing tick for hsc2hs++data VkMemoryRequirements' -- ' closing tick for hsc2hs++instance VulkanMarshal VkMemoryRequirements where+    type StructRep VkMemoryRequirements =+         'StructMeta "VkMemoryRequirements" VkMemoryRequirements  -- ' closing tick for hsc2hs+                                                                 #{size VkMemoryRequirements}+           #{alignment VkMemoryRequirements}+           '[('FieldMeta "size" VkDeviceSize 'False  -- ' closing tick for hsc2hs+                                                    #{offset VkMemoryRequirements, size}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "alignment" VkDeviceSize 'False +                                                         #{offset VkMemoryRequirements, alignment}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "memoryTypeBits" Word32 'False +                                                        #{offset VkMemoryRequirements, memoryTypeBits}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkMemoryRequirements2 {+--   >     VkStructureType sType;+--   >     void* pNext;+--   >     VkMemoryRequirements                                                 memoryRequirements;+--   > } VkMemoryRequirements2;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryRequirements2 VkMemoryRequirements2 registry at www.khronos.org>+type VkMemoryRequirements2 = VkStruct VkMemoryRequirements2' -- ' closing tick for hsc2hs++data VkMemoryRequirements2' -- ' closing tick for hsc2hs++instance VulkanMarshal VkMemoryRequirements2 where+    type StructRep VkMemoryRequirements2 =+         'StructMeta "VkMemoryRequirements2" VkMemoryRequirements2  -- ' closing tick for hsc2hs+                                                                   #{size VkMemoryRequirements2}+           #{alignment VkMemoryRequirements2}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkMemoryRequirements2, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkMemoryRequirements2, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "memoryRequirements" VkMemoryRequirements 'False+                #{offset VkMemoryRequirements2, memoryRequirements}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | Alias for `VkMemoryRequirements2`+type VkMemoryRequirements2KHR = VkMemoryRequirements2++-- | > typedef struct VkMemoryType {+--   >     VkMemoryPropertyFlags  propertyFlags;+--   >     uint32_t               heapIndex;+--   > } VkMemoryType;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryType VkMemoryType registry at www.khronos.org>+type VkMemoryType = VkStruct VkMemoryType' -- ' closing tick for hsc2hs++data VkMemoryType' -- ' closing tick for hsc2hs++instance VulkanMarshal VkMemoryType where+    type StructRep VkMemoryType =+         'StructMeta "VkMemoryType" VkMemoryType  -- ' closing tick for hsc2hs+                                                 #{size VkMemoryType}+           #{alignment VkMemoryType}+           '[('FieldMeta "propertyFlags" VkMemoryPropertyFlags 'True  -- ' closing tick for hsc2hs+                                                                     #{offset VkMemoryType, propertyFlags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "heapIndex" Word32 'False +                                                   #{offset VkMemoryType, heapIndex}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/MultisamplePropertiesEXT.hsc view
@@ -2,19 +2,15 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.MultisamplePropertiesEXT-       (VkMultisamplePropertiesEXT, VkMultisamplePropertiesEXT') where -- ' closing tick for hsc2hs-import Foreign.Storable                         (Storable (..))+       (VkMultisamplePropertiesEXT) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType) import Graphics.Vulkan.Types.Struct.Extent      (VkExtent2D)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkMultisamplePropertiesEXT { --   >     VkStructureType sType;@@ -24,158 +20,30 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMultisamplePropertiesEXT VkMultisamplePropertiesEXT registry at www.khronos.org> type VkMultisamplePropertiesEXT =-     VulkanStruct VkMultisamplePropertiesEXT' -- ' closing tick for hsc2hs+     VkStruct VkMultisamplePropertiesEXT' -- ' closing tick for hsc2hs  data VkMultisamplePropertiesEXT' -- ' closing tick for hsc2hs -instance Eq VkMultisamplePropertiesEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkMultisamplePropertiesEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkMultisamplePropertiesEXT where-        sizeOf ~_ = #{size VkMultisamplePropertiesEXT}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkMultisamplePropertiesEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkMultisamplePropertiesEXT where-        type StructFields VkMultisamplePropertiesEXT =-             '["sType", "pNext", "maxSampleLocationGridSize"] -- ' closing tick for hsc2hs-        type CUnionType VkMultisamplePropertiesEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkMultisamplePropertiesEXT = 'True -- ' closing tick for hsc2hs-        type StructExtends VkMultisamplePropertiesEXT = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkMultisamplePropertiesEXT where-        type FieldType "sType" VkMultisamplePropertiesEXT = VkStructureType-        type FieldOptional "sType" VkMultisamplePropertiesEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkMultisamplePropertiesEXT =-             #{offset VkMultisamplePropertiesEXT, sType}-        type FieldIsArray "sType" VkMultisamplePropertiesEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMultisamplePropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkMultisamplePropertiesEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMultisamplePropertiesEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMultisamplePropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkMultisamplePropertiesEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMultisamplePropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkMultisamplePropertiesEXT where-        type FieldType "pNext" VkMultisamplePropertiesEXT = Ptr Void-        type FieldOptional "pNext" VkMultisamplePropertiesEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkMultisamplePropertiesEXT =-             #{offset VkMultisamplePropertiesEXT, pNext}-        type FieldIsArray "pNext" VkMultisamplePropertiesEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMultisamplePropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkMultisamplePropertiesEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMultisamplePropertiesEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMultisamplePropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkMultisamplePropertiesEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMultisamplePropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "maxSampleLocationGridSize" VkMultisamplePropertiesEXT-         where-        type FieldType "maxSampleLocationGridSize"-               VkMultisamplePropertiesEXT-             = VkExtent2D-        type FieldOptional "maxSampleLocationGridSize"-               VkMultisamplePropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxSampleLocationGridSize"-               VkMultisamplePropertiesEXT-             =-             #{offset VkMultisamplePropertiesEXT, maxSampleLocationGridSize}-        type FieldIsArray "maxSampleLocationGridSize"-               VkMultisamplePropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMultisamplePropertiesEXT, maxSampleLocationGridSize}--instance {-# OVERLAPPING #-}-         CanReadField "maxSampleLocationGridSize" VkMultisamplePropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMultisamplePropertiesEXT, maxSampleLocationGridSize})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMultisamplePropertiesEXT, maxSampleLocationGridSize}--instance {-# OVERLAPPING #-}-         CanWriteField "maxSampleLocationGridSize"-           VkMultisamplePropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMultisamplePropertiesEXT, maxSampleLocationGridSize}--instance Show VkMultisamplePropertiesEXT where-        showsPrec d x-          = showString "VkMultisamplePropertiesEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "maxSampleLocationGridSize = " .-                            showsPrec d (getField @"maxSampleLocationGridSize" x) .-                              showChar '}'+    type StructRep VkMultisamplePropertiesEXT =+         'StructMeta "VkMultisamplePropertiesEXT" VkMultisamplePropertiesEXT -- ' closing tick for hsc2hs+           #{size VkMultisamplePropertiesEXT}+           #{alignment VkMultisamplePropertiesEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkMultisamplePropertiesEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkMultisamplePropertiesEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxSampleLocationGridSize" VkExtent2D 'False +                                                                       #{offset VkMultisamplePropertiesEXT, maxSampleLocationGridSize}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc view
@@ -2,1611 +2,339 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.ObjectTable-       (VkObjectTableCreateInfoNVX, VkObjectTableCreateInfoNVX', -- ' closing tick for hsc2hs-        VkObjectTableDescriptorSetEntryNVX,-        VkObjectTableDescriptorSetEntryNVX', VkObjectTableEntryNVX, -- ' closing tick for hsc2hs-        VkObjectTableEntryNVX', VkObjectTableIndexBufferEntryNVX, -- ' closing tick for hsc2hs-        VkObjectTableIndexBufferEntryNVX', VkObjectTablePipelineEntryNVX, -- ' closing tick for hsc2hs-        VkObjectTablePipelineEntryNVX', VkObjectTablePushConstantEntryNVX, -- ' closing tick for hsc2hs-        VkObjectTablePushConstantEntryNVX', -- ' closing tick for hsc2hs-        VkObjectTableVertexBufferEntryNVX,-        VkObjectTableVertexBufferEntryNVX') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                         (Storable (..))-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Internal-import Graphics.Vulkan.Types.Enum.IndexType     (VkIndexType)-import Graphics.Vulkan.Types.Enum.Object        (VkObjectEntryTypeNVX,-                                                 VkObjectEntryUsageFlagsNVX)-import Graphics.Vulkan.Types.Enum.Shader        (VkShaderStageFlags)-import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)-import Graphics.Vulkan.Types.Handles            (VkBuffer, VkDescriptorSet,-                                                 VkPipeline, VkPipelineLayout)-import System.IO.Unsafe                         (unsafeDupablePerformIO)---- | > typedef struct VkObjectTableCreateInfoNVX {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     uint32_t                                          objectCount;---   >     const VkObjectEntryTypeNVX*       pObjectEntryTypes;---   >     const uint32_t*                   pObjectEntryCounts;---   >     const VkObjectEntryUsageFlagsNVX* pObjectEntryUsageFlags;---   >     uint32_t maxUniformBuffersPerDescriptor;---   >     uint32_t maxStorageBuffersPerDescriptor;---   >     uint32_t maxStorageImagesPerDescriptor;---   >     uint32_t maxSampledImagesPerDescriptor;---   >     uint32_t maxPipelineLayouts;---   > } VkObjectTableCreateInfoNVX;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTableCreateInfoNVX VkObjectTableCreateInfoNVX registry at www.khronos.org>-type VkObjectTableCreateInfoNVX =-     VulkanStruct VkObjectTableCreateInfoNVX' -- ' closing tick for hsc2hs--data VkObjectTableCreateInfoNVX' -- ' closing tick for hsc2hs--instance Eq VkObjectTableCreateInfoNVX where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkObjectTableCreateInfoNVX where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkObjectTableCreateInfoNVX where-        sizeOf ~_ = #{size VkObjectTableCreateInfoNVX}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkObjectTableCreateInfoNVX}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkObjectTableCreateInfoNVX where-        type StructFields VkObjectTableCreateInfoNVX =-             '["sType", "pNext", "objectCount", "pObjectEntryTypes", -- ' closing tick for hsc2hs-               "pObjectEntryCounts", "pObjectEntryUsageFlags",-               "maxUniformBuffersPerDescriptor", "maxStorageBuffersPerDescriptor",-               "maxStorageImagesPerDescriptor", "maxSampledImagesPerDescriptor",-               "maxPipelineLayouts"]-        type CUnionType VkObjectTableCreateInfoNVX = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkObjectTableCreateInfoNVX = 'False -- ' closing tick for hsc2hs-        type StructExtends VkObjectTableCreateInfoNVX = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkObjectTableCreateInfoNVX where-        type FieldType "sType" VkObjectTableCreateInfoNVX = VkStructureType-        type FieldOptional "sType" VkObjectTableCreateInfoNVX = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkObjectTableCreateInfoNVX =-             #{offset VkObjectTableCreateInfoNVX, sType}-        type FieldIsArray "sType" VkObjectTableCreateInfoNVX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTableCreateInfoNVX, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkObjectTableCreateInfoNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTableCreateInfoNVX, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTableCreateInfoNVX, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkObjectTableCreateInfoNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTableCreateInfoNVX, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkObjectTableCreateInfoNVX where-        type FieldType "pNext" VkObjectTableCreateInfoNVX = Ptr Void-        type FieldOptional "pNext" VkObjectTableCreateInfoNVX = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkObjectTableCreateInfoNVX =-             #{offset VkObjectTableCreateInfoNVX, pNext}-        type FieldIsArray "pNext" VkObjectTableCreateInfoNVX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTableCreateInfoNVX, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkObjectTableCreateInfoNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTableCreateInfoNVX, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTableCreateInfoNVX, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkObjectTableCreateInfoNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTableCreateInfoNVX, pNext}--instance {-# OVERLAPPING #-}-         HasField "objectCount" VkObjectTableCreateInfoNVX where-        type FieldType "objectCount" VkObjectTableCreateInfoNVX = Word32-        type FieldOptional "objectCount" VkObjectTableCreateInfoNVX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "objectCount" VkObjectTableCreateInfoNVX =-             #{offset VkObjectTableCreateInfoNVX, objectCount}-        type FieldIsArray "objectCount" VkObjectTableCreateInfoNVX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTableCreateInfoNVX, objectCount}--instance {-# OVERLAPPING #-}-         CanReadField "objectCount" VkObjectTableCreateInfoNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTableCreateInfoNVX, objectCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTableCreateInfoNVX, objectCount}--instance {-# OVERLAPPING #-}-         CanWriteField "objectCount" VkObjectTableCreateInfoNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTableCreateInfoNVX, objectCount}--instance {-# OVERLAPPING #-}-         HasField "pObjectEntryTypes" VkObjectTableCreateInfoNVX where-        type FieldType "pObjectEntryTypes" VkObjectTableCreateInfoNVX =-             Ptr VkObjectEntryTypeNVX-        type FieldOptional "pObjectEntryTypes" VkObjectTableCreateInfoNVX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pObjectEntryTypes" VkObjectTableCreateInfoNVX =-             #{offset VkObjectTableCreateInfoNVX, pObjectEntryTypes}-        type FieldIsArray "pObjectEntryTypes" VkObjectTableCreateInfoNVX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTableCreateInfoNVX, pObjectEntryTypes}--instance {-# OVERLAPPING #-}-         CanReadField "pObjectEntryTypes" VkObjectTableCreateInfoNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTableCreateInfoNVX, pObjectEntryTypes})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTableCreateInfoNVX, pObjectEntryTypes}--instance {-# OVERLAPPING #-}-         CanWriteField "pObjectEntryTypes" VkObjectTableCreateInfoNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTableCreateInfoNVX, pObjectEntryTypes}--instance {-# OVERLAPPING #-}-         HasField "pObjectEntryCounts" VkObjectTableCreateInfoNVX where-        type FieldType "pObjectEntryCounts" VkObjectTableCreateInfoNVX =-             Ptr Word32-        type FieldOptional "pObjectEntryCounts" VkObjectTableCreateInfoNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pObjectEntryCounts" VkObjectTableCreateInfoNVX =-             #{offset VkObjectTableCreateInfoNVX, pObjectEntryCounts}-        type FieldIsArray "pObjectEntryCounts" VkObjectTableCreateInfoNVX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTableCreateInfoNVX, pObjectEntryCounts}--instance {-# OVERLAPPING #-}-         CanReadField "pObjectEntryCounts" VkObjectTableCreateInfoNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTableCreateInfoNVX, pObjectEntryCounts})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTableCreateInfoNVX, pObjectEntryCounts}--instance {-# OVERLAPPING #-}-         CanWriteField "pObjectEntryCounts" VkObjectTableCreateInfoNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTableCreateInfoNVX, pObjectEntryCounts}--instance {-# OVERLAPPING #-}-         HasField "pObjectEntryUsageFlags" VkObjectTableCreateInfoNVX where-        type FieldType "pObjectEntryUsageFlags" VkObjectTableCreateInfoNVX-             = Ptr VkObjectEntryUsageFlagsNVX-        type FieldOptional "pObjectEntryUsageFlags"-               VkObjectTableCreateInfoNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pObjectEntryUsageFlags"-               VkObjectTableCreateInfoNVX-             =-             #{offset VkObjectTableCreateInfoNVX, pObjectEntryUsageFlags}-        type FieldIsArray "pObjectEntryUsageFlags"-               VkObjectTableCreateInfoNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTableCreateInfoNVX, pObjectEntryUsageFlags}--instance {-# OVERLAPPING #-}-         CanReadField "pObjectEntryUsageFlags" VkObjectTableCreateInfoNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTableCreateInfoNVX, pObjectEntryUsageFlags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTableCreateInfoNVX, pObjectEntryUsageFlags}--instance {-# OVERLAPPING #-}-         CanWriteField "pObjectEntryUsageFlags" VkObjectTableCreateInfoNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTableCreateInfoNVX, pObjectEntryUsageFlags}--instance {-# OVERLAPPING #-}-         HasField "maxUniformBuffersPerDescriptor"-           VkObjectTableCreateInfoNVX-         where-        type FieldType "maxUniformBuffersPerDescriptor"-               VkObjectTableCreateInfoNVX-             = Word32-        type FieldOptional "maxUniformBuffersPerDescriptor"-               VkObjectTableCreateInfoNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxUniformBuffersPerDescriptor"-               VkObjectTableCreateInfoNVX-             =-             #{offset VkObjectTableCreateInfoNVX, maxUniformBuffersPerDescriptor}-        type FieldIsArray "maxUniformBuffersPerDescriptor"-               VkObjectTableCreateInfoNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTableCreateInfoNVX, maxUniformBuffersPerDescriptor}--instance {-# OVERLAPPING #-}-         CanReadField "maxUniformBuffersPerDescriptor"-           VkObjectTableCreateInfoNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTableCreateInfoNVX, maxUniformBuffersPerDescriptor})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTableCreateInfoNVX, maxUniformBuffersPerDescriptor}--instance {-# OVERLAPPING #-}-         CanWriteField "maxUniformBuffersPerDescriptor"-           VkObjectTableCreateInfoNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTableCreateInfoNVX, maxUniformBuffersPerDescriptor}--instance {-# OVERLAPPING #-}-         HasField "maxStorageBuffersPerDescriptor"-           VkObjectTableCreateInfoNVX-         where-        type FieldType "maxStorageBuffersPerDescriptor"-               VkObjectTableCreateInfoNVX-             = Word32-        type FieldOptional "maxStorageBuffersPerDescriptor"-               VkObjectTableCreateInfoNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxStorageBuffersPerDescriptor"-               VkObjectTableCreateInfoNVX-             =-             #{offset VkObjectTableCreateInfoNVX, maxStorageBuffersPerDescriptor}-        type FieldIsArray "maxStorageBuffersPerDescriptor"-               VkObjectTableCreateInfoNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTableCreateInfoNVX, maxStorageBuffersPerDescriptor}--instance {-# OVERLAPPING #-}-         CanReadField "maxStorageBuffersPerDescriptor"-           VkObjectTableCreateInfoNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTableCreateInfoNVX, maxStorageBuffersPerDescriptor})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTableCreateInfoNVX, maxStorageBuffersPerDescriptor}--instance {-# OVERLAPPING #-}-         CanWriteField "maxStorageBuffersPerDescriptor"-           VkObjectTableCreateInfoNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTableCreateInfoNVX, maxStorageBuffersPerDescriptor}--instance {-# OVERLAPPING #-}-         HasField "maxStorageImagesPerDescriptor" VkObjectTableCreateInfoNVX-         where-        type FieldType "maxStorageImagesPerDescriptor"-               VkObjectTableCreateInfoNVX-             = Word32-        type FieldOptional "maxStorageImagesPerDescriptor"-               VkObjectTableCreateInfoNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxStorageImagesPerDescriptor"-               VkObjectTableCreateInfoNVX-             =-             #{offset VkObjectTableCreateInfoNVX, maxStorageImagesPerDescriptor}-        type FieldIsArray "maxStorageImagesPerDescriptor"-               VkObjectTableCreateInfoNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTableCreateInfoNVX, maxStorageImagesPerDescriptor}--instance {-# OVERLAPPING #-}-         CanReadField "maxStorageImagesPerDescriptor"-           VkObjectTableCreateInfoNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTableCreateInfoNVX, maxStorageImagesPerDescriptor})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTableCreateInfoNVX, maxStorageImagesPerDescriptor}--instance {-# OVERLAPPING #-}-         CanWriteField "maxStorageImagesPerDescriptor"-           VkObjectTableCreateInfoNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTableCreateInfoNVX, maxStorageImagesPerDescriptor}--instance {-# OVERLAPPING #-}-         HasField "maxSampledImagesPerDescriptor" VkObjectTableCreateInfoNVX-         where-        type FieldType "maxSampledImagesPerDescriptor"-               VkObjectTableCreateInfoNVX-             = Word32-        type FieldOptional "maxSampledImagesPerDescriptor"-               VkObjectTableCreateInfoNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxSampledImagesPerDescriptor"-               VkObjectTableCreateInfoNVX-             =-             #{offset VkObjectTableCreateInfoNVX, maxSampledImagesPerDescriptor}-        type FieldIsArray "maxSampledImagesPerDescriptor"-               VkObjectTableCreateInfoNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTableCreateInfoNVX, maxSampledImagesPerDescriptor}--instance {-# OVERLAPPING #-}-         CanReadField "maxSampledImagesPerDescriptor"-           VkObjectTableCreateInfoNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTableCreateInfoNVX, maxSampledImagesPerDescriptor})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTableCreateInfoNVX, maxSampledImagesPerDescriptor}--instance {-# OVERLAPPING #-}-         CanWriteField "maxSampledImagesPerDescriptor"-           VkObjectTableCreateInfoNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTableCreateInfoNVX, maxSampledImagesPerDescriptor}--instance {-# OVERLAPPING #-}-         HasField "maxPipelineLayouts" VkObjectTableCreateInfoNVX where-        type FieldType "maxPipelineLayouts" VkObjectTableCreateInfoNVX =-             Word32-        type FieldOptional "maxPipelineLayouts" VkObjectTableCreateInfoNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxPipelineLayouts" VkObjectTableCreateInfoNVX =-             #{offset VkObjectTableCreateInfoNVX, maxPipelineLayouts}-        type FieldIsArray "maxPipelineLayouts" VkObjectTableCreateInfoNVX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTableCreateInfoNVX, maxPipelineLayouts}--instance {-# OVERLAPPING #-}-         CanReadField "maxPipelineLayouts" VkObjectTableCreateInfoNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTableCreateInfoNVX, maxPipelineLayouts})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTableCreateInfoNVX, maxPipelineLayouts}--instance {-# OVERLAPPING #-}-         CanWriteField "maxPipelineLayouts" VkObjectTableCreateInfoNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTableCreateInfoNVX, maxPipelineLayouts}--instance Show VkObjectTableCreateInfoNVX where-        showsPrec d x-          = showString "VkObjectTableCreateInfoNVX {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "objectCount = " .-                            showsPrec d (getField @"objectCount" x) .-                              showString ", " .-                                showString "pObjectEntryTypes = " .-                                  showsPrec d (getField @"pObjectEntryTypes" x) .-                                    showString ", " .-                                      showString "pObjectEntryCounts = " .-                                        showsPrec d (getField @"pObjectEntryCounts" x) .-                                          showString ", " .-                                            showString "pObjectEntryUsageFlags = " .-                                              showsPrec d (getField @"pObjectEntryUsageFlags" x) .-                                                showString ", " .-                                                  showString "maxUniformBuffersPerDescriptor = " .-                                                    showsPrec d-                                                      (getField @"maxUniformBuffersPerDescriptor" x)-                                                      .-                                                      showString ", " .-                                                        showString-                                                          "maxStorageBuffersPerDescriptor = "-                                                          .-                                                          showsPrec d-                                                            (getField-                                                               @"maxStorageBuffersPerDescriptor"-                                                               x)-                                                            .-                                                            showString ", " .-                                                              showString-                                                                "maxStorageImagesPerDescriptor = "-                                                                .-                                                                showsPrec d-                                                                  (getField-                                                                     @"maxStorageImagesPerDescriptor"-                                                                     x)-                                                                  .-                                                                  showString ", " .-                                                                    showString-                                                                      "maxSampledImagesPerDescriptor = "-                                                                      .-                                                                      showsPrec d-                                                                        (getField-                                                                           @"maxSampledImagesPerDescriptor"-                                                                           x)-                                                                        .-                                                                        showString ", " .-                                                                          showString-                                                                            "maxPipelineLayouts = "-                                                                            .-                                                                            showsPrec d-                                                                              (getField-                                                                                 @"maxPipelineLayouts"-                                                                                 x)-                                                                              . showChar '}'---- | > typedef struct VkObjectTableDescriptorSetEntryNVX {---   >     VkObjectEntryTypeNVX         type;---   >     VkObjectEntryUsageFlagsNVX   flags;---   >     VkPipelineLayout             pipelineLayout;---   >     VkDescriptorSet              descriptorSet;---   > } VkObjectTableDescriptorSetEntryNVX;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTableDescriptorSetEntryNVX VkObjectTableDescriptorSetEntryNVX registry at www.khronos.org>-type VkObjectTableDescriptorSetEntryNVX =-     VulkanStruct VkObjectTableDescriptorSetEntryNVX' -- ' closing tick for hsc2hs--data VkObjectTableDescriptorSetEntryNVX' -- ' closing tick for hsc2hs--instance Eq VkObjectTableDescriptorSetEntryNVX where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkObjectTableDescriptorSetEntryNVX where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkObjectTableDescriptorSetEntryNVX where-        sizeOf ~_ = #{size VkObjectTableDescriptorSetEntryNVX}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkObjectTableDescriptorSetEntryNVX}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkObjectTableDescriptorSetEntryNVX where-        type StructFields VkObjectTableDescriptorSetEntryNVX =-             '["type", "flags", "pipelineLayout", "descriptorSet"] -- ' closing tick for hsc2hs-        type CUnionType VkObjectTableDescriptorSetEntryNVX = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkObjectTableDescriptorSetEntryNVX = 'False -- ' closing tick for hsc2hs-        type StructExtends VkObjectTableDescriptorSetEntryNVX = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "type" VkObjectTableDescriptorSetEntryNVX where-        type FieldType "type" VkObjectTableDescriptorSetEntryNVX =-             VkObjectEntryTypeNVX-        type FieldOptional "type" VkObjectTableDescriptorSetEntryNVX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "type" VkObjectTableDescriptorSetEntryNVX =-             #{offset VkObjectTableDescriptorSetEntryNVX, type}-        type FieldIsArray "type" VkObjectTableDescriptorSetEntryNVX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTableDescriptorSetEntryNVX, type}--instance {-# OVERLAPPING #-}-         CanReadField "type" VkObjectTableDescriptorSetEntryNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTableDescriptorSetEntryNVX, type})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTableDescriptorSetEntryNVX, type}--instance {-# OVERLAPPING #-}-         CanWriteField "type" VkObjectTableDescriptorSetEntryNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTableDescriptorSetEntryNVX, type}--instance {-# OVERLAPPING #-}-         HasField "flags" VkObjectTableDescriptorSetEntryNVX where-        type FieldType "flags" VkObjectTableDescriptorSetEntryNVX =-             VkObjectEntryUsageFlagsNVX-        type FieldOptional "flags" VkObjectTableDescriptorSetEntryNVX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkObjectTableDescriptorSetEntryNVX =-             #{offset VkObjectTableDescriptorSetEntryNVX, flags}-        type FieldIsArray "flags" VkObjectTableDescriptorSetEntryNVX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTableDescriptorSetEntryNVX, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkObjectTableDescriptorSetEntryNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTableDescriptorSetEntryNVX, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTableDescriptorSetEntryNVX, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkObjectTableDescriptorSetEntryNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTableDescriptorSetEntryNVX, flags}--instance {-# OVERLAPPING #-}-         HasField "pipelineLayout" VkObjectTableDescriptorSetEntryNVX where-        type FieldType "pipelineLayout" VkObjectTableDescriptorSetEntryNVX-             = VkPipelineLayout-        type FieldOptional "pipelineLayout"-               VkObjectTableDescriptorSetEntryNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pipelineLayout"-               VkObjectTableDescriptorSetEntryNVX-             =-             #{offset VkObjectTableDescriptorSetEntryNVX, pipelineLayout}-        type FieldIsArray "pipelineLayout"-               VkObjectTableDescriptorSetEntryNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTableDescriptorSetEntryNVX, pipelineLayout}--instance {-# OVERLAPPING #-}-         CanReadField "pipelineLayout" VkObjectTableDescriptorSetEntryNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTableDescriptorSetEntryNVX, pipelineLayout})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTableDescriptorSetEntryNVX, pipelineLayout}--instance {-# OVERLAPPING #-}-         CanWriteField "pipelineLayout" VkObjectTableDescriptorSetEntryNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTableDescriptorSetEntryNVX, pipelineLayout}--instance {-# OVERLAPPING #-}-         HasField "descriptorSet" VkObjectTableDescriptorSetEntryNVX where-        type FieldType "descriptorSet" VkObjectTableDescriptorSetEntryNVX =-             VkDescriptorSet-        type FieldOptional "descriptorSet"-               VkObjectTableDescriptorSetEntryNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "descriptorSet" VkObjectTableDescriptorSetEntryNVX-             =-             #{offset VkObjectTableDescriptorSetEntryNVX, descriptorSet}-        type FieldIsArray "descriptorSet"-               VkObjectTableDescriptorSetEntryNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTableDescriptorSetEntryNVX, descriptorSet}--instance {-# OVERLAPPING #-}-         CanReadField "descriptorSet" VkObjectTableDescriptorSetEntryNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTableDescriptorSetEntryNVX, descriptorSet})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTableDescriptorSetEntryNVX, descriptorSet}--instance {-# OVERLAPPING #-}-         CanWriteField "descriptorSet" VkObjectTableDescriptorSetEntryNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTableDescriptorSetEntryNVX, descriptorSet}--instance Show VkObjectTableDescriptorSetEntryNVX where-        showsPrec d x-          = showString "VkObjectTableDescriptorSetEntryNVX {" .-              showString "type = " .-                showsPrec d (getField @"type" x) .-                  showString ", " .-                    showString "flags = " .-                      showsPrec d (getField @"flags" x) .-                        showString ", " .-                          showString "pipelineLayout = " .-                            showsPrec d (getField @"pipelineLayout" x) .-                              showString ", " .-                                showString "descriptorSet = " .-                                  showsPrec d (getField @"descriptorSet" x) . showChar '}'---- | > typedef struct VkObjectTableEntryNVX {---   >     VkObjectEntryTypeNVX         type;---   >     VkObjectEntryUsageFlagsNVX   flags;---   > } VkObjectTableEntryNVX;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTableEntryNVX VkObjectTableEntryNVX registry at www.khronos.org>-type VkObjectTableEntryNVX = VulkanStruct VkObjectTableEntryNVX' -- ' closing tick for hsc2hs--data VkObjectTableEntryNVX' -- ' closing tick for hsc2hs--instance Eq VkObjectTableEntryNVX where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkObjectTableEntryNVX where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkObjectTableEntryNVX where-        sizeOf ~_ = #{size VkObjectTableEntryNVX}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkObjectTableEntryNVX}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkObjectTableEntryNVX where-        type StructFields VkObjectTableEntryNVX = '["type", "flags"] -- ' closing tick for hsc2hs-        type CUnionType VkObjectTableEntryNVX = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkObjectTableEntryNVX = 'False -- ' closing tick for hsc2hs-        type StructExtends VkObjectTableEntryNVX = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "type" VkObjectTableEntryNVX-         where-        type FieldType "type" VkObjectTableEntryNVX = VkObjectEntryTypeNVX-        type FieldOptional "type" VkObjectTableEntryNVX = 'False -- ' closing tick for hsc2hs-        type FieldOffset "type" VkObjectTableEntryNVX =-             #{offset VkObjectTableEntryNVX, type}-        type FieldIsArray "type" VkObjectTableEntryNVX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkObjectTableEntryNVX, type}--instance {-# OVERLAPPING #-}-         CanReadField "type" VkObjectTableEntryNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTableEntryNVX, type})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTableEntryNVX, type}--instance {-# OVERLAPPING #-}-         CanWriteField "type" VkObjectTableEntryNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTableEntryNVX, type}--instance {-# OVERLAPPING #-} HasField "flags" VkObjectTableEntryNVX-         where-        type FieldType "flags" VkObjectTableEntryNVX =-             VkObjectEntryUsageFlagsNVX-        type FieldOptional "flags" VkObjectTableEntryNVX = 'False -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkObjectTableEntryNVX =-             #{offset VkObjectTableEntryNVX, flags}-        type FieldIsArray "flags" VkObjectTableEntryNVX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkObjectTableEntryNVX, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkObjectTableEntryNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTableEntryNVX, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTableEntryNVX, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkObjectTableEntryNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTableEntryNVX, flags}--instance Show VkObjectTableEntryNVX where-        showsPrec d x-          = showString "VkObjectTableEntryNVX {" .-              showString "type = " .-                showsPrec d (getField @"type" x) .-                  showString ", " .-                    showString "flags = " .-                      showsPrec d (getField @"flags" x) . showChar '}'---- | > typedef struct VkObjectTableIndexBufferEntryNVX {---   >     VkObjectEntryTypeNVX         type;---   >     VkObjectEntryUsageFlagsNVX   flags;---   >     VkBuffer                     buffer;---   >     VkIndexType                  indexType;---   > } VkObjectTableIndexBufferEntryNVX;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTableIndexBufferEntryNVX VkObjectTableIndexBufferEntryNVX registry at www.khronos.org>-type VkObjectTableIndexBufferEntryNVX =-     VulkanStruct VkObjectTableIndexBufferEntryNVX' -- ' closing tick for hsc2hs--data VkObjectTableIndexBufferEntryNVX' -- ' closing tick for hsc2hs--instance Eq VkObjectTableIndexBufferEntryNVX where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkObjectTableIndexBufferEntryNVX where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkObjectTableIndexBufferEntryNVX where-        sizeOf ~_ = #{size VkObjectTableIndexBufferEntryNVX}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkObjectTableIndexBufferEntryNVX}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkObjectTableIndexBufferEntryNVX where-        type StructFields VkObjectTableIndexBufferEntryNVX =-             '["type", "flags", "buffer", "indexType"] -- ' closing tick for hsc2hs-        type CUnionType VkObjectTableIndexBufferEntryNVX = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkObjectTableIndexBufferEntryNVX = 'False -- ' closing tick for hsc2hs-        type StructExtends VkObjectTableIndexBufferEntryNVX = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "type" VkObjectTableIndexBufferEntryNVX where-        type FieldType "type" VkObjectTableIndexBufferEntryNVX =-             VkObjectEntryTypeNVX-        type FieldOptional "type" VkObjectTableIndexBufferEntryNVX = 'False -- ' closing tick for hsc2hs-        type FieldOffset "type" VkObjectTableIndexBufferEntryNVX =-             #{offset VkObjectTableIndexBufferEntryNVX, type}-        type FieldIsArray "type" VkObjectTableIndexBufferEntryNVX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTableIndexBufferEntryNVX, type}--instance {-# OVERLAPPING #-}-         CanReadField "type" VkObjectTableIndexBufferEntryNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTableIndexBufferEntryNVX, type})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTableIndexBufferEntryNVX, type}--instance {-# OVERLAPPING #-}-         CanWriteField "type" VkObjectTableIndexBufferEntryNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTableIndexBufferEntryNVX, type}--instance {-# OVERLAPPING #-}-         HasField "flags" VkObjectTableIndexBufferEntryNVX where-        type FieldType "flags" VkObjectTableIndexBufferEntryNVX =-             VkObjectEntryUsageFlagsNVX-        type FieldOptional "flags" VkObjectTableIndexBufferEntryNVX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkObjectTableIndexBufferEntryNVX =-             #{offset VkObjectTableIndexBufferEntryNVX, flags}-        type FieldIsArray "flags" VkObjectTableIndexBufferEntryNVX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTableIndexBufferEntryNVX, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkObjectTableIndexBufferEntryNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTableIndexBufferEntryNVX, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTableIndexBufferEntryNVX, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkObjectTableIndexBufferEntryNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTableIndexBufferEntryNVX, flags}--instance {-# OVERLAPPING #-}-         HasField "buffer" VkObjectTableIndexBufferEntryNVX where-        type FieldType "buffer" VkObjectTableIndexBufferEntryNVX = VkBuffer-        type FieldOptional "buffer" VkObjectTableIndexBufferEntryNVX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "buffer" VkObjectTableIndexBufferEntryNVX =-             #{offset VkObjectTableIndexBufferEntryNVX, buffer}-        type FieldIsArray "buffer" VkObjectTableIndexBufferEntryNVX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTableIndexBufferEntryNVX, buffer}--instance {-# OVERLAPPING #-}-         CanReadField "buffer" VkObjectTableIndexBufferEntryNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTableIndexBufferEntryNVX, buffer})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTableIndexBufferEntryNVX, buffer}--instance {-# OVERLAPPING #-}-         CanWriteField "buffer" VkObjectTableIndexBufferEntryNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTableIndexBufferEntryNVX, buffer}--instance {-# OVERLAPPING #-}-         HasField "indexType" VkObjectTableIndexBufferEntryNVX where-        type FieldType "indexType" VkObjectTableIndexBufferEntryNVX =-             VkIndexType-        type FieldOptional "indexType" VkObjectTableIndexBufferEntryNVX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "indexType" VkObjectTableIndexBufferEntryNVX =-             #{offset VkObjectTableIndexBufferEntryNVX, indexType}-        type FieldIsArray "indexType" VkObjectTableIndexBufferEntryNVX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTableIndexBufferEntryNVX, indexType}--instance {-# OVERLAPPING #-}-         CanReadField "indexType" VkObjectTableIndexBufferEntryNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTableIndexBufferEntryNVX, indexType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTableIndexBufferEntryNVX, indexType}--instance {-# OVERLAPPING #-}-         CanWriteField "indexType" VkObjectTableIndexBufferEntryNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTableIndexBufferEntryNVX, indexType}--instance Show VkObjectTableIndexBufferEntryNVX where-        showsPrec d x-          = showString "VkObjectTableIndexBufferEntryNVX {" .-              showString "type = " .-                showsPrec d (getField @"type" x) .-                  showString ", " .-                    showString "flags = " .-                      showsPrec d (getField @"flags" x) .-                        showString ", " .-                          showString "buffer = " .-                            showsPrec d (getField @"buffer" x) .-                              showString ", " .-                                showString "indexType = " .-                                  showsPrec d (getField @"indexType" x) . showChar '}'---- | > typedef struct VkObjectTablePipelineEntryNVX {---   >     VkObjectEntryTypeNVX         type;---   >     VkObjectEntryUsageFlagsNVX   flags;---   >     VkPipeline                   pipeline;---   > } VkObjectTablePipelineEntryNVX;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTablePipelineEntryNVX VkObjectTablePipelineEntryNVX registry at www.khronos.org>-type VkObjectTablePipelineEntryNVX =-     VulkanStruct VkObjectTablePipelineEntryNVX' -- ' closing tick for hsc2hs--data VkObjectTablePipelineEntryNVX' -- ' closing tick for hsc2hs--instance Eq VkObjectTablePipelineEntryNVX where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkObjectTablePipelineEntryNVX where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkObjectTablePipelineEntryNVX where-        sizeOf ~_ = #{size VkObjectTablePipelineEntryNVX}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkObjectTablePipelineEntryNVX}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkObjectTablePipelineEntryNVX where-        type StructFields VkObjectTablePipelineEntryNVX =-             '["type", "flags", "pipeline"] -- ' closing tick for hsc2hs-        type CUnionType VkObjectTablePipelineEntryNVX = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkObjectTablePipelineEntryNVX = 'False -- ' closing tick for hsc2hs-        type StructExtends VkObjectTablePipelineEntryNVX = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "type" VkObjectTablePipelineEntryNVX where-        type FieldType "type" VkObjectTablePipelineEntryNVX =-             VkObjectEntryTypeNVX-        type FieldOptional "type" VkObjectTablePipelineEntryNVX = 'False -- ' closing tick for hsc2hs-        type FieldOffset "type" VkObjectTablePipelineEntryNVX =-             #{offset VkObjectTablePipelineEntryNVX, type}-        type FieldIsArray "type" VkObjectTablePipelineEntryNVX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTablePipelineEntryNVX, type}--instance {-# OVERLAPPING #-}-         CanReadField "type" VkObjectTablePipelineEntryNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTablePipelineEntryNVX, type})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTablePipelineEntryNVX, type}--instance {-# OVERLAPPING #-}-         CanWriteField "type" VkObjectTablePipelineEntryNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTablePipelineEntryNVX, type}--instance {-# OVERLAPPING #-}-         HasField "flags" VkObjectTablePipelineEntryNVX where-        type FieldType "flags" VkObjectTablePipelineEntryNVX =-             VkObjectEntryUsageFlagsNVX-        type FieldOptional "flags" VkObjectTablePipelineEntryNVX = 'False -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkObjectTablePipelineEntryNVX =-             #{offset VkObjectTablePipelineEntryNVX, flags}-        type FieldIsArray "flags" VkObjectTablePipelineEntryNVX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTablePipelineEntryNVX, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkObjectTablePipelineEntryNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTablePipelineEntryNVX, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTablePipelineEntryNVX, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkObjectTablePipelineEntryNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTablePipelineEntryNVX, flags}--instance {-# OVERLAPPING #-}-         HasField "pipeline" VkObjectTablePipelineEntryNVX where-        type FieldType "pipeline" VkObjectTablePipelineEntryNVX =-             VkPipeline-        type FieldOptional "pipeline" VkObjectTablePipelineEntryNVX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pipeline" VkObjectTablePipelineEntryNVX =-             #{offset VkObjectTablePipelineEntryNVX, pipeline}-        type FieldIsArray "pipeline" VkObjectTablePipelineEntryNVX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTablePipelineEntryNVX, pipeline}--instance {-# OVERLAPPING #-}-         CanReadField "pipeline" VkObjectTablePipelineEntryNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTablePipelineEntryNVX, pipeline})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTablePipelineEntryNVX, pipeline}--instance {-# OVERLAPPING #-}-         CanWriteField "pipeline" VkObjectTablePipelineEntryNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTablePipelineEntryNVX, pipeline}--instance Show VkObjectTablePipelineEntryNVX where-        showsPrec d x-          = showString "VkObjectTablePipelineEntryNVX {" .-              showString "type = " .-                showsPrec d (getField @"type" x) .-                  showString ", " .-                    showString "flags = " .-                      showsPrec d (getField @"flags" x) .-                        showString ", " .-                          showString "pipeline = " .-                            showsPrec d (getField @"pipeline" x) . showChar '}'---- | > typedef struct VkObjectTablePushConstantEntryNVX {---   >     VkObjectEntryTypeNVX         type;---   >     VkObjectEntryUsageFlagsNVX   flags;---   >     VkPipelineLayout             pipelineLayout;---   >     VkShaderStageFlags           stageFlags;---   > } VkObjectTablePushConstantEntryNVX;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTablePushConstantEntryNVX VkObjectTablePushConstantEntryNVX registry at www.khronos.org>-type VkObjectTablePushConstantEntryNVX =-     VulkanStruct VkObjectTablePushConstantEntryNVX' -- ' closing tick for hsc2hs--data VkObjectTablePushConstantEntryNVX' -- ' closing tick for hsc2hs--instance Eq VkObjectTablePushConstantEntryNVX where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkObjectTablePushConstantEntryNVX where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkObjectTablePushConstantEntryNVX where-        sizeOf ~_ = #{size VkObjectTablePushConstantEntryNVX}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkObjectTablePushConstantEntryNVX}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkObjectTablePushConstantEntryNVX where-        type StructFields VkObjectTablePushConstantEntryNVX =-             '["type", "flags", "pipelineLayout", "stageFlags"] -- ' closing tick for hsc2hs-        type CUnionType VkObjectTablePushConstantEntryNVX = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkObjectTablePushConstantEntryNVX = 'False -- ' closing tick for hsc2hs-        type StructExtends VkObjectTablePushConstantEntryNVX = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "type" VkObjectTablePushConstantEntryNVX where-        type FieldType "type" VkObjectTablePushConstantEntryNVX =-             VkObjectEntryTypeNVX-        type FieldOptional "type" VkObjectTablePushConstantEntryNVX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "type" VkObjectTablePushConstantEntryNVX =-             #{offset VkObjectTablePushConstantEntryNVX, type}-        type FieldIsArray "type" VkObjectTablePushConstantEntryNVX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTablePushConstantEntryNVX, type}--instance {-# OVERLAPPING #-}-         CanReadField "type" VkObjectTablePushConstantEntryNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTablePushConstantEntryNVX, type})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTablePushConstantEntryNVX, type}--instance {-# OVERLAPPING #-}-         CanWriteField "type" VkObjectTablePushConstantEntryNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTablePushConstantEntryNVX, type}--instance {-# OVERLAPPING #-}-         HasField "flags" VkObjectTablePushConstantEntryNVX where-        type FieldType "flags" VkObjectTablePushConstantEntryNVX =-             VkObjectEntryUsageFlagsNVX-        type FieldOptional "flags" VkObjectTablePushConstantEntryNVX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkObjectTablePushConstantEntryNVX =-             #{offset VkObjectTablePushConstantEntryNVX, flags}-        type FieldIsArray "flags" VkObjectTablePushConstantEntryNVX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTablePushConstantEntryNVX, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkObjectTablePushConstantEntryNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTablePushConstantEntryNVX, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTablePushConstantEntryNVX, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkObjectTablePushConstantEntryNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTablePushConstantEntryNVX, flags}--instance {-# OVERLAPPING #-}-         HasField "pipelineLayout" VkObjectTablePushConstantEntryNVX where-        type FieldType "pipelineLayout" VkObjectTablePushConstantEntryNVX =-             VkPipelineLayout-        type FieldOptional "pipelineLayout"-               VkObjectTablePushConstantEntryNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pipelineLayout" VkObjectTablePushConstantEntryNVX-             =-             #{offset VkObjectTablePushConstantEntryNVX, pipelineLayout}-        type FieldIsArray "pipelineLayout"-               VkObjectTablePushConstantEntryNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTablePushConstantEntryNVX, pipelineLayout}--instance {-# OVERLAPPING #-}-         CanReadField "pipelineLayout" VkObjectTablePushConstantEntryNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTablePushConstantEntryNVX, pipelineLayout})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTablePushConstantEntryNVX, pipelineLayout}--instance {-# OVERLAPPING #-}-         CanWriteField "pipelineLayout" VkObjectTablePushConstantEntryNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTablePushConstantEntryNVX, pipelineLayout}--instance {-# OVERLAPPING #-}-         HasField "stageFlags" VkObjectTablePushConstantEntryNVX where-        type FieldType "stageFlags" VkObjectTablePushConstantEntryNVX =-             VkShaderStageFlags-        type FieldOptional "stageFlags" VkObjectTablePushConstantEntryNVX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "stageFlags" VkObjectTablePushConstantEntryNVX =-             #{offset VkObjectTablePushConstantEntryNVX, stageFlags}-        type FieldIsArray "stageFlags" VkObjectTablePushConstantEntryNVX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTablePushConstantEntryNVX, stageFlags}--instance {-# OVERLAPPING #-}-         CanReadField "stageFlags" VkObjectTablePushConstantEntryNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTablePushConstantEntryNVX, stageFlags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTablePushConstantEntryNVX, stageFlags}--instance {-# OVERLAPPING #-}-         CanWriteField "stageFlags" VkObjectTablePushConstantEntryNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTablePushConstantEntryNVX, stageFlags}--instance Show VkObjectTablePushConstantEntryNVX where-        showsPrec d x-          = showString "VkObjectTablePushConstantEntryNVX {" .-              showString "type = " .-                showsPrec d (getField @"type" x) .-                  showString ", " .-                    showString "flags = " .-                      showsPrec d (getField @"flags" x) .-                        showString ", " .-                          showString "pipelineLayout = " .-                            showsPrec d (getField @"pipelineLayout" x) .-                              showString ", " .-                                showString "stageFlags = " .-                                  showsPrec d (getField @"stageFlags" x) . showChar '}'---- | > typedef struct VkObjectTableVertexBufferEntryNVX {---   >     VkObjectEntryTypeNVX         type;---   >     VkObjectEntryUsageFlagsNVX   flags;---   >     VkBuffer                     buffer;---   > } VkObjectTableVertexBufferEntryNVX;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTableVertexBufferEntryNVX VkObjectTableVertexBufferEntryNVX registry at www.khronos.org>-type VkObjectTableVertexBufferEntryNVX =-     VulkanStruct VkObjectTableVertexBufferEntryNVX' -- ' closing tick for hsc2hs--data VkObjectTableVertexBufferEntryNVX' -- ' closing tick for hsc2hs--instance Eq VkObjectTableVertexBufferEntryNVX where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkObjectTableVertexBufferEntryNVX where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkObjectTableVertexBufferEntryNVX where-        sizeOf ~_ = #{size VkObjectTableVertexBufferEntryNVX}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkObjectTableVertexBufferEntryNVX}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkObjectTableVertexBufferEntryNVX where-        type StructFields VkObjectTableVertexBufferEntryNVX =-             '["type", "flags", "buffer"] -- ' closing tick for hsc2hs-        type CUnionType VkObjectTableVertexBufferEntryNVX = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkObjectTableVertexBufferEntryNVX = 'False -- ' closing tick for hsc2hs-        type StructExtends VkObjectTableVertexBufferEntryNVX = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "type" VkObjectTableVertexBufferEntryNVX where-        type FieldType "type" VkObjectTableVertexBufferEntryNVX =-             VkObjectEntryTypeNVX-        type FieldOptional "type" VkObjectTableVertexBufferEntryNVX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "type" VkObjectTableVertexBufferEntryNVX =-             #{offset VkObjectTableVertexBufferEntryNVX, type}-        type FieldIsArray "type" VkObjectTableVertexBufferEntryNVX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTableVertexBufferEntryNVX, type}--instance {-# OVERLAPPING #-}-         CanReadField "type" VkObjectTableVertexBufferEntryNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTableVertexBufferEntryNVX, type})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTableVertexBufferEntryNVX, type}--instance {-# OVERLAPPING #-}-         CanWriteField "type" VkObjectTableVertexBufferEntryNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTableVertexBufferEntryNVX, type}--instance {-# OVERLAPPING #-}-         HasField "flags" VkObjectTableVertexBufferEntryNVX where-        type FieldType "flags" VkObjectTableVertexBufferEntryNVX =-             VkObjectEntryUsageFlagsNVX-        type FieldOptional "flags" VkObjectTableVertexBufferEntryNVX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkObjectTableVertexBufferEntryNVX =-             #{offset VkObjectTableVertexBufferEntryNVX, flags}-        type FieldIsArray "flags" VkObjectTableVertexBufferEntryNVX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTableVertexBufferEntryNVX, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkObjectTableVertexBufferEntryNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTableVertexBufferEntryNVX, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTableVertexBufferEntryNVX, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkObjectTableVertexBufferEntryNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTableVertexBufferEntryNVX, flags}--instance {-# OVERLAPPING #-}-         HasField "buffer" VkObjectTableVertexBufferEntryNVX where-        type FieldType "buffer" VkObjectTableVertexBufferEntryNVX =-             VkBuffer-        type FieldOptional "buffer" VkObjectTableVertexBufferEntryNVX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "buffer" VkObjectTableVertexBufferEntryNVX =-             #{offset VkObjectTableVertexBufferEntryNVX, buffer}-        type FieldIsArray "buffer" VkObjectTableVertexBufferEntryNVX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkObjectTableVertexBufferEntryNVX, buffer}--instance {-# OVERLAPPING #-}-         CanReadField "buffer" VkObjectTableVertexBufferEntryNVX where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkObjectTableVertexBufferEntryNVX, buffer})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkObjectTableVertexBufferEntryNVX, buffer}--instance {-# OVERLAPPING #-}-         CanWriteField "buffer" VkObjectTableVertexBufferEntryNVX where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkObjectTableVertexBufferEntryNVX, buffer}--instance Show VkObjectTableVertexBufferEntryNVX where-        showsPrec d x-          = showString "VkObjectTableVertexBufferEntryNVX {" .-              showString "type = " .-                showsPrec d (getField @"type" x) .-                  showString ", " .-                    showString "flags = " .-                      showsPrec d (getField @"flags" x) .-                        showString ", " .-                          showString "buffer = " .-                            showsPrec d (getField @"buffer" x) . showChar '}'+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.ObjectTable+       (VkObjectTableCreateInfoNVX, VkObjectTableDescriptorSetEntryNVX,+        VkObjectTableEntryNVX, VkObjectTableIndexBufferEntryNVX,+        VkObjectTablePipelineEntryNVX, VkObjectTablePushConstantEntryNVX,+        VkObjectTableVertexBufferEntryNVX)+       where+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.IndexType     (VkIndexType)+import Graphics.Vulkan.Types.Enum.Object        (VkObjectEntryTypeNVX,+                                                 VkObjectEntryUsageFlagsNVX)+import Graphics.Vulkan.Types.Enum.Shader        (VkShaderStageFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles            (VkBuffer, VkDescriptorSet,+                                                 VkPipeline, VkPipelineLayout)++-- | > typedef struct VkObjectTableCreateInfoNVX {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     uint32_t                                          objectCount;+--   >     const VkObjectEntryTypeNVX*       pObjectEntryTypes;+--   >     const uint32_t*                   pObjectEntryCounts;+--   >     const VkObjectEntryUsageFlagsNVX* pObjectEntryUsageFlags;+--   >     uint32_t maxUniformBuffersPerDescriptor;+--   >     uint32_t maxStorageBuffersPerDescriptor;+--   >     uint32_t maxStorageImagesPerDescriptor;+--   >     uint32_t maxSampledImagesPerDescriptor;+--   >     uint32_t maxPipelineLayouts;+--   > } VkObjectTableCreateInfoNVX;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTableCreateInfoNVX VkObjectTableCreateInfoNVX registry at www.khronos.org>+type VkObjectTableCreateInfoNVX =+     VkStruct VkObjectTableCreateInfoNVX' -- ' closing tick for hsc2hs++data VkObjectTableCreateInfoNVX' -- ' closing tick for hsc2hs++instance VulkanMarshal VkObjectTableCreateInfoNVX where+    type StructRep VkObjectTableCreateInfoNVX =+         'StructMeta "VkObjectTableCreateInfoNVX" VkObjectTableCreateInfoNVX -- ' closing tick for hsc2hs+           #{size VkObjectTableCreateInfoNVX}+           #{alignment VkObjectTableCreateInfoNVX}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkObjectTableCreateInfoNVX, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkObjectTableCreateInfoNVX, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "objectCount" Word32 'False +                                                     #{offset VkObjectTableCreateInfoNVX, objectCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pObjectEntryTypes" (Ptr VkObjectEntryTypeNVX) 'False+                #{offset VkObjectTableCreateInfoNVX, pObjectEntryTypes}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pObjectEntryCounts" (Ptr Word32) 'False +                                                                  #{offset VkObjectTableCreateInfoNVX, pObjectEntryCounts}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pObjectEntryUsageFlags" -- ' closing tick for hsc2hs+                (Ptr VkObjectEntryUsageFlagsNVX)+                'False -- ' closing tick for hsc2hs+                #{offset VkObjectTableCreateInfoNVX, pObjectEntryUsageFlags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxUniformBuffersPerDescriptor" Word32 'False+                #{offset VkObjectTableCreateInfoNVX, maxUniformBuffersPerDescriptor}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxStorageBuffersPerDescriptor" Word32 'False+                #{offset VkObjectTableCreateInfoNVX, maxStorageBuffersPerDescriptor}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxStorageImagesPerDescriptor" Word32 'False +                                                                       #{offset VkObjectTableCreateInfoNVX, maxStorageImagesPerDescriptor}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxSampledImagesPerDescriptor" Word32 'False +                                                                       #{offset VkObjectTableCreateInfoNVX, maxSampledImagesPerDescriptor}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxPipelineLayouts" Word32 'False +                                                            #{offset VkObjectTableCreateInfoNVX, maxPipelineLayouts}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkObjectTableDescriptorSetEntryNVX {+--   >     VkObjectEntryTypeNVX         type;+--   >     VkObjectEntryUsageFlagsNVX   flags;+--   >     VkPipelineLayout             pipelineLayout;+--   >     VkDescriptorSet              descriptorSet;+--   > } VkObjectTableDescriptorSetEntryNVX;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTableDescriptorSetEntryNVX VkObjectTableDescriptorSetEntryNVX registry at www.khronos.org>+type VkObjectTableDescriptorSetEntryNVX =+     VkStruct VkObjectTableDescriptorSetEntryNVX' -- ' closing tick for hsc2hs++data VkObjectTableDescriptorSetEntryNVX' -- ' closing tick for hsc2hs++instance VulkanMarshal VkObjectTableDescriptorSetEntryNVX where+    type StructRep VkObjectTableDescriptorSetEntryNVX =+         'StructMeta "VkObjectTableDescriptorSetEntryNVX" -- ' closing tick for hsc2hs+           VkObjectTableDescriptorSetEntryNVX+           #{size VkObjectTableDescriptorSetEntryNVX}+           #{alignment VkObjectTableDescriptorSetEntryNVX}+           '[('FieldMeta "type" VkObjectEntryTypeNVX 'False  -- ' closing tick for hsc2hs+                                                            #{offset VkObjectTableDescriptorSetEntryNVX, type}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkObjectEntryUsageFlagsNVX 'False +                                                                   #{offset VkObjectTableDescriptorSetEntryNVX, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pipelineLayout" VkPipelineLayout 'False +                                                                  #{offset VkObjectTableDescriptorSetEntryNVX, pipelineLayout}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "descriptorSet" VkDescriptorSet 'False +                                                                #{offset VkObjectTableDescriptorSetEntryNVX, descriptorSet}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkObjectTableEntryNVX {+--   >     VkObjectEntryTypeNVX         type;+--   >     VkObjectEntryUsageFlagsNVX   flags;+--   > } VkObjectTableEntryNVX;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTableEntryNVX VkObjectTableEntryNVX registry at www.khronos.org>+type VkObjectTableEntryNVX = VkStruct VkObjectTableEntryNVX' -- ' closing tick for hsc2hs++data VkObjectTableEntryNVX' -- ' closing tick for hsc2hs++instance VulkanMarshal VkObjectTableEntryNVX where+    type StructRep VkObjectTableEntryNVX =+         'StructMeta "VkObjectTableEntryNVX" VkObjectTableEntryNVX  -- ' closing tick for hsc2hs+                                                                   #{size VkObjectTableEntryNVX}+           #{alignment VkObjectTableEntryNVX}+           '[('FieldMeta "type" VkObjectEntryTypeNVX 'False  -- ' closing tick for hsc2hs+                                                            #{offset VkObjectTableEntryNVX, type}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkObjectEntryUsageFlagsNVX 'False +                                                                   #{offset VkObjectTableEntryNVX, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkObjectTableIndexBufferEntryNVX {+--   >     VkObjectEntryTypeNVX         type;+--   >     VkObjectEntryUsageFlagsNVX   flags;+--   >     VkBuffer                     buffer;+--   >     VkIndexType                  indexType;+--   > } VkObjectTableIndexBufferEntryNVX;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTableIndexBufferEntryNVX VkObjectTableIndexBufferEntryNVX registry at www.khronos.org>+type VkObjectTableIndexBufferEntryNVX =+     VkStruct VkObjectTableIndexBufferEntryNVX' -- ' closing tick for hsc2hs++data VkObjectTableIndexBufferEntryNVX' -- ' closing tick for hsc2hs++instance VulkanMarshal VkObjectTableIndexBufferEntryNVX where+    type StructRep VkObjectTableIndexBufferEntryNVX =+         'StructMeta "VkObjectTableIndexBufferEntryNVX" -- ' closing tick for hsc2hs+           VkObjectTableIndexBufferEntryNVX+           #{size VkObjectTableIndexBufferEntryNVX}+           #{alignment VkObjectTableIndexBufferEntryNVX}+           '[('FieldMeta "type" VkObjectEntryTypeNVX 'False  -- ' closing tick for hsc2hs+                                                            #{offset VkObjectTableIndexBufferEntryNVX, type}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkObjectEntryUsageFlagsNVX 'False +                                                                   #{offset VkObjectTableIndexBufferEntryNVX, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "buffer" VkBuffer 'False +                                                  #{offset VkObjectTableIndexBufferEntryNVX, buffer}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "indexType" VkIndexType 'False +                                                        #{offset VkObjectTableIndexBufferEntryNVX, indexType}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkObjectTablePipelineEntryNVX {+--   >     VkObjectEntryTypeNVX         type;+--   >     VkObjectEntryUsageFlagsNVX   flags;+--   >     VkPipeline                   pipeline;+--   > } VkObjectTablePipelineEntryNVX;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTablePipelineEntryNVX VkObjectTablePipelineEntryNVX registry at www.khronos.org>+type VkObjectTablePipelineEntryNVX =+     VkStruct VkObjectTablePipelineEntryNVX' -- ' closing tick for hsc2hs++data VkObjectTablePipelineEntryNVX' -- ' closing tick for hsc2hs++instance VulkanMarshal VkObjectTablePipelineEntryNVX where+    type StructRep VkObjectTablePipelineEntryNVX =+         'StructMeta "VkObjectTablePipelineEntryNVX" -- ' closing tick for hsc2hs+           VkObjectTablePipelineEntryNVX+           #{size VkObjectTablePipelineEntryNVX}+           #{alignment VkObjectTablePipelineEntryNVX}+           '[('FieldMeta "type" VkObjectEntryTypeNVX 'False  -- ' closing tick for hsc2hs+                                                            #{offset VkObjectTablePipelineEntryNVX, type}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkObjectEntryUsageFlagsNVX 'False +                                                                   #{offset VkObjectTablePipelineEntryNVX, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pipeline" VkPipeline 'False +                                                      #{offset VkObjectTablePipelineEntryNVX, pipeline}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkObjectTablePushConstantEntryNVX {+--   >     VkObjectEntryTypeNVX         type;+--   >     VkObjectEntryUsageFlagsNVX   flags;+--   >     VkPipelineLayout             pipelineLayout;+--   >     VkShaderStageFlags           stageFlags;+--   > } VkObjectTablePushConstantEntryNVX;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTablePushConstantEntryNVX VkObjectTablePushConstantEntryNVX registry at www.khronos.org>+type VkObjectTablePushConstantEntryNVX =+     VkStruct VkObjectTablePushConstantEntryNVX' -- ' closing tick for hsc2hs++data VkObjectTablePushConstantEntryNVX' -- ' closing tick for hsc2hs++instance VulkanMarshal VkObjectTablePushConstantEntryNVX where+    type StructRep VkObjectTablePushConstantEntryNVX =+         'StructMeta "VkObjectTablePushConstantEntryNVX" -- ' closing tick for hsc2hs+           VkObjectTablePushConstantEntryNVX+           #{size VkObjectTablePushConstantEntryNVX}+           #{alignment VkObjectTablePushConstantEntryNVX}+           '[('FieldMeta "type" VkObjectEntryTypeNVX 'False  -- ' closing tick for hsc2hs+                                                            #{offset VkObjectTablePushConstantEntryNVX, type}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkObjectEntryUsageFlagsNVX 'False +                                                                   #{offset VkObjectTablePushConstantEntryNVX, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pipelineLayout" VkPipelineLayout 'False +                                                                  #{offset VkObjectTablePushConstantEntryNVX, pipelineLayout}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "stageFlags" VkShaderStageFlags 'False +                                                                #{offset VkObjectTablePushConstantEntryNVX, stageFlags}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkObjectTableVertexBufferEntryNVX {+--   >     VkObjectEntryTypeNVX         type;+--   >     VkObjectEntryUsageFlagsNVX   flags;+--   >     VkBuffer                     buffer;+--   > } VkObjectTableVertexBufferEntryNVX;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTableVertexBufferEntryNVX VkObjectTableVertexBufferEntryNVX registry at www.khronos.org>+type VkObjectTableVertexBufferEntryNVX =+     VkStruct VkObjectTableVertexBufferEntryNVX' -- ' closing tick for hsc2hs++data VkObjectTableVertexBufferEntryNVX' -- ' closing tick for hsc2hs++instance VulkanMarshal VkObjectTableVertexBufferEntryNVX where+    type StructRep VkObjectTableVertexBufferEntryNVX =+         'StructMeta "VkObjectTableVertexBufferEntryNVX" -- ' closing tick for hsc2hs+           VkObjectTableVertexBufferEntryNVX+           #{size VkObjectTableVertexBufferEntryNVX}+           #{alignment VkObjectTableVertexBufferEntryNVX}+           '[('FieldMeta "type" VkObjectEntryTypeNVX 'False  -- ' closing tick for hsc2hs+                                                            #{offset VkObjectTableVertexBufferEntryNVX, type}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkObjectEntryUsageFlagsNVX 'False +                                                                   #{offset VkObjectTableVertexBufferEntryNVX, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "buffer" VkBuffer 'False +                                                  #{offset VkObjectTableVertexBufferEntryNVX, buffer}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/Offset.hsc view
@@ -2,17 +2,13 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.Offset-       (VkOffset2D, VkOffset2D', VkOffset3D, VkOffset3D') where-import Foreign.Storable                 (Storable (..))+module Graphics.Vulkan.Types.Struct.Offset (VkOffset2D, VkOffset3D)+       where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal-import System.IO.Unsafe                 (unsafeDupablePerformIO)  -- | > typedef struct VkOffset2D { --   >     int32_t        x;@@ -20,99 +16,27 @@ --   > } VkOffset2D; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkOffset2D VkOffset2D registry at www.khronos.org>-type VkOffset2D = VulkanStruct VkOffset2D' -- ' closing tick for hsc2hs+type VkOffset2D = VkStruct VkOffset2D' -- ' closing tick for hsc2hs  data VkOffset2D' -- ' closing tick for hsc2hs -instance Eq VkOffset2D where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkOffset2D where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkOffset2D where-        sizeOf ~_ = #{size VkOffset2D}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkOffset2D}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkOffset2D where-        type StructFields VkOffset2D = '["x", "y"] -- ' closing tick for hsc2hs-        type CUnionType VkOffset2D = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkOffset2D = 'False -- ' closing tick for hsc2hs-        type StructExtends VkOffset2D = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "x" VkOffset2D where-        type FieldType "x" VkOffset2D = Int32-        type FieldOptional "x" VkOffset2D = 'False -- ' closing tick for hsc2hs-        type FieldOffset "x" VkOffset2D =-             #{offset VkOffset2D, x}-        type FieldIsArray "x" VkOffset2D = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkOffset2D, x}--instance {-# OVERLAPPING #-} CanReadField "x" VkOffset2D where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkOffset2D, x})--        {-# INLINE readField #-}-        readField p = peekByteOff p #{offset VkOffset2D, x}--instance {-# OVERLAPPING #-} CanWriteField "x" VkOffset2D where-        {-# INLINE writeField #-}-        writeField p = pokeByteOff p #{offset VkOffset2D, x}--instance {-# OVERLAPPING #-} HasField "y" VkOffset2D where-        type FieldType "y" VkOffset2D = Int32-        type FieldOptional "y" VkOffset2D = 'False -- ' closing tick for hsc2hs-        type FieldOffset "y" VkOffset2D =-             #{offset VkOffset2D, y}-        type FieldIsArray "y" VkOffset2D = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkOffset2D, y}--instance {-# OVERLAPPING #-} CanReadField "y" VkOffset2D where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkOffset2D, y})--        {-# INLINE readField #-}-        readField p = peekByteOff p #{offset VkOffset2D, y}--instance {-# OVERLAPPING #-} CanWriteField "y" VkOffset2D where-        {-# INLINE writeField #-}-        writeField p = pokeByteOff p #{offset VkOffset2D, y}--instance Show VkOffset2D where-        showsPrec d x-          = showString "VkOffset2D {" .-              showString "x = " .-                showsPrec d (getField @"x" x) .-                  showString ", " .-                    showString "y = " . showsPrec d (getField @"y" x) . showChar '}'+    type StructRep VkOffset2D =+         'StructMeta "VkOffset2D" VkOffset2D  -- ' closing tick for hsc2hs+                                             #{size VkOffset2D}+           #{alignment VkOffset2D}+           '[('FieldMeta "x" Int32 'False  -- ' closing tick for hsc2hs+                                          #{offset VkOffset2D, x}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "y" Int32 'False +                                          #{offset VkOffset2D, y} 1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | > typedef struct VkOffset3D { --   >     int32_t        x;@@ -121,125 +45,28 @@ --   > } VkOffset3D; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkOffset3D VkOffset3D registry at www.khronos.org>-type VkOffset3D = VulkanStruct VkOffset3D' -- ' closing tick for hsc2hs+type VkOffset3D = VkStruct VkOffset3D' -- ' closing tick for hsc2hs  data VkOffset3D' -- ' closing tick for hsc2hs -instance Eq VkOffset3D where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkOffset3D where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkOffset3D where-        sizeOf ~_ = #{size VkOffset3D}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkOffset3D}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkOffset3D where-        type StructFields VkOffset3D = '["x", "y", "z"] -- ' closing tick for hsc2hs-        type CUnionType VkOffset3D = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkOffset3D = 'False -- ' closing tick for hsc2hs-        type StructExtends VkOffset3D = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "x" VkOffset3D where-        type FieldType "x" VkOffset3D = Int32-        type FieldOptional "x" VkOffset3D = 'False -- ' closing tick for hsc2hs-        type FieldOffset "x" VkOffset3D =-             #{offset VkOffset3D, x}-        type FieldIsArray "x" VkOffset3D = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkOffset3D, x}--instance {-# OVERLAPPING #-} CanReadField "x" VkOffset3D where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkOffset3D, x})--        {-# INLINE readField #-}-        readField p = peekByteOff p #{offset VkOffset3D, x}--instance {-# OVERLAPPING #-} CanWriteField "x" VkOffset3D where-        {-# INLINE writeField #-}-        writeField p = pokeByteOff p #{offset VkOffset3D, x}--instance {-# OVERLAPPING #-} HasField "y" VkOffset3D where-        type FieldType "y" VkOffset3D = Int32-        type FieldOptional "y" VkOffset3D = 'False -- ' closing tick for hsc2hs-        type FieldOffset "y" VkOffset3D =-             #{offset VkOffset3D, y}-        type FieldIsArray "y" VkOffset3D = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkOffset3D, y}--instance {-# OVERLAPPING #-} CanReadField "y" VkOffset3D where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkOffset3D, y})--        {-# INLINE readField #-}-        readField p = peekByteOff p #{offset VkOffset3D, y}--instance {-# OVERLAPPING #-} CanWriteField "y" VkOffset3D where-        {-# INLINE writeField #-}-        writeField p = pokeByteOff p #{offset VkOffset3D, y}--instance {-# OVERLAPPING #-} HasField "z" VkOffset3D where-        type FieldType "z" VkOffset3D = Int32-        type FieldOptional "z" VkOffset3D = 'False -- ' closing tick for hsc2hs-        type FieldOffset "z" VkOffset3D =-             #{offset VkOffset3D, z}-        type FieldIsArray "z" VkOffset3D = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkOffset3D, z}--instance {-# OVERLAPPING #-} CanReadField "z" VkOffset3D where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkOffset3D, z})--        {-# INLINE readField #-}-        readField p = peekByteOff p #{offset VkOffset3D, z}--instance {-# OVERLAPPING #-} CanWriteField "z" VkOffset3D where-        {-# INLINE writeField #-}-        writeField p = pokeByteOff p #{offset VkOffset3D, z}--instance Show VkOffset3D where-        showsPrec d x-          = showString "VkOffset3D {" .-              showString "x = " .-                showsPrec d (getField @"x" x) .-                  showString ", " .-                    showString "y = " .-                      showsPrec d (getField @"y" x) .-                        showString ", " .-                          showString "z = " . showsPrec d (getField @"z" x) . showChar '}'+    type StructRep VkOffset3D =+         'StructMeta "VkOffset3D" VkOffset3D  -- ' closing tick for hsc2hs+                                             #{size VkOffset3D}+           #{alignment VkOffset3D}+           '[('FieldMeta "x" Int32 'False  -- ' closing tick for hsc2hs+                                          #{offset VkOffset3D, x}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "y" Int32 'False +                                          #{offset VkOffset3D, y} 1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "z" Int32 'False +                                          #{offset VkOffset3D, z} 1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc view
@@ -2,18 +2,13 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.PastPresentationTimingGOOGLE-       (VkPastPresentationTimingGOOGLE, VkPastPresentationTimingGOOGLE') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                 (Storable (..))+       (VkPastPresentationTimingGOOGLE) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal-import System.IO.Unsafe                 (unsafeDupablePerformIO)  -- | > typedef struct VkPastPresentationTimingGOOGLE { --   >     uint32_t                         presentID;@@ -25,248 +20,41 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPastPresentationTimingGOOGLE VkPastPresentationTimingGOOGLE registry at www.khronos.org> type VkPastPresentationTimingGOOGLE =-     VulkanStruct VkPastPresentationTimingGOOGLE' -- ' closing tick for hsc2hs+     VkStruct VkPastPresentationTimingGOOGLE' -- ' closing tick for hsc2hs  data VkPastPresentationTimingGOOGLE' -- ' closing tick for hsc2hs -instance Eq VkPastPresentationTimingGOOGLE where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPastPresentationTimingGOOGLE where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPastPresentationTimingGOOGLE where-        sizeOf ~_ = #{size VkPastPresentationTimingGOOGLE}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPastPresentationTimingGOOGLE}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkPastPresentationTimingGOOGLE where-        type StructFields VkPastPresentationTimingGOOGLE =-             '["presentID", "desiredPresentTime", "actualPresentTime", -- ' closing tick for hsc2hs-               "earliestPresentTime", "presentMargin"]-        type CUnionType VkPastPresentationTimingGOOGLE = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPastPresentationTimingGOOGLE = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPastPresentationTimingGOOGLE = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "presentID" VkPastPresentationTimingGOOGLE where-        type FieldType "presentID" VkPastPresentationTimingGOOGLE = Word32-        type FieldOptional "presentID" VkPastPresentationTimingGOOGLE =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "presentID" VkPastPresentationTimingGOOGLE =-             #{offset VkPastPresentationTimingGOOGLE, presentID}-        type FieldIsArray "presentID" VkPastPresentationTimingGOOGLE =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPastPresentationTimingGOOGLE, presentID}--instance {-# OVERLAPPING #-}-         CanReadField "presentID" VkPastPresentationTimingGOOGLE where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPastPresentationTimingGOOGLE, presentID})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPastPresentationTimingGOOGLE, presentID}--instance {-# OVERLAPPING #-}-         CanWriteField "presentID" VkPastPresentationTimingGOOGLE where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPastPresentationTimingGOOGLE, presentID}--instance {-# OVERLAPPING #-}-         HasField "desiredPresentTime" VkPastPresentationTimingGOOGLE where-        type FieldType "desiredPresentTime" VkPastPresentationTimingGOOGLE-             = Word64-        type FieldOptional "desiredPresentTime"-               VkPastPresentationTimingGOOGLE-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "desiredPresentTime"-               VkPastPresentationTimingGOOGLE-             =-             #{offset VkPastPresentationTimingGOOGLE, desiredPresentTime}-        type FieldIsArray "desiredPresentTime"-               VkPastPresentationTimingGOOGLE-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPastPresentationTimingGOOGLE, desiredPresentTime}--instance {-# OVERLAPPING #-}-         CanReadField "desiredPresentTime" VkPastPresentationTimingGOOGLE-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPastPresentationTimingGOOGLE, desiredPresentTime})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPastPresentationTimingGOOGLE, desiredPresentTime}--instance {-# OVERLAPPING #-}-         CanWriteField "desiredPresentTime" VkPastPresentationTimingGOOGLE-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPastPresentationTimingGOOGLE, desiredPresentTime}--instance {-# OVERLAPPING #-}-         HasField "actualPresentTime" VkPastPresentationTimingGOOGLE where-        type FieldType "actualPresentTime" VkPastPresentationTimingGOOGLE =-             Word64-        type FieldOptional "actualPresentTime"-               VkPastPresentationTimingGOOGLE-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "actualPresentTime" VkPastPresentationTimingGOOGLE-             =-             #{offset VkPastPresentationTimingGOOGLE, actualPresentTime}-        type FieldIsArray "actualPresentTime"-               VkPastPresentationTimingGOOGLE-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPastPresentationTimingGOOGLE, actualPresentTime}--instance {-# OVERLAPPING #-}-         CanReadField "actualPresentTime" VkPastPresentationTimingGOOGLE-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPastPresentationTimingGOOGLE, actualPresentTime})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPastPresentationTimingGOOGLE, actualPresentTime}--instance {-# OVERLAPPING #-}-         CanWriteField "actualPresentTime" VkPastPresentationTimingGOOGLE-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPastPresentationTimingGOOGLE, actualPresentTime}--instance {-# OVERLAPPING #-}-         HasField "earliestPresentTime" VkPastPresentationTimingGOOGLE where-        type FieldType "earliestPresentTime" VkPastPresentationTimingGOOGLE-             = Word64-        type FieldOptional "earliestPresentTime"-               VkPastPresentationTimingGOOGLE-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "earliestPresentTime"-               VkPastPresentationTimingGOOGLE-             =-             #{offset VkPastPresentationTimingGOOGLE, earliestPresentTime}-        type FieldIsArray "earliestPresentTime"-               VkPastPresentationTimingGOOGLE-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPastPresentationTimingGOOGLE, earliestPresentTime}--instance {-# OVERLAPPING #-}-         CanReadField "earliestPresentTime" VkPastPresentationTimingGOOGLE-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPastPresentationTimingGOOGLE, earliestPresentTime})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPastPresentationTimingGOOGLE, earliestPresentTime}--instance {-# OVERLAPPING #-}-         CanWriteField "earliestPresentTime" VkPastPresentationTimingGOOGLE-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPastPresentationTimingGOOGLE, earliestPresentTime}--instance {-# OVERLAPPING #-}-         HasField "presentMargin" VkPastPresentationTimingGOOGLE where-        type FieldType "presentMargin" VkPastPresentationTimingGOOGLE =-             Word64-        type FieldOptional "presentMargin" VkPastPresentationTimingGOOGLE =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "presentMargin" VkPastPresentationTimingGOOGLE =-             #{offset VkPastPresentationTimingGOOGLE, presentMargin}-        type FieldIsArray "presentMargin" VkPastPresentationTimingGOOGLE =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPastPresentationTimingGOOGLE, presentMargin}--instance {-# OVERLAPPING #-}-         CanReadField "presentMargin" VkPastPresentationTimingGOOGLE where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPastPresentationTimingGOOGLE, presentMargin})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPastPresentationTimingGOOGLE, presentMargin}--instance {-# OVERLAPPING #-}-         CanWriteField "presentMargin" VkPastPresentationTimingGOOGLE where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPastPresentationTimingGOOGLE, presentMargin}--instance Show VkPastPresentationTimingGOOGLE where-        showsPrec d x-          = showString "VkPastPresentationTimingGOOGLE {" .-              showString "presentID = " .-                showsPrec d (getField @"presentID" x) .-                  showString ", " .-                    showString "desiredPresentTime = " .-                      showsPrec d (getField @"desiredPresentTime" x) .-                        showString ", " .-                          showString "actualPresentTime = " .-                            showsPrec d (getField @"actualPresentTime" x) .-                              showString ", " .-                                showString "earliestPresentTime = " .-                                  showsPrec d (getField @"earliestPresentTime" x) .-                                    showString ", " .-                                      showString "presentMargin = " .-                                        showsPrec d (getField @"presentMargin" x) . showChar '}'+    type StructRep VkPastPresentationTimingGOOGLE =+         'StructMeta "VkPastPresentationTimingGOOGLE" -- ' closing tick for hsc2hs+           VkPastPresentationTimingGOOGLE+           #{size VkPastPresentationTimingGOOGLE}+           #{alignment VkPastPresentationTimingGOOGLE}+           '[('FieldMeta "presentID" Word32 'False  -- ' closing tick for hsc2hs+                                                   #{offset VkPastPresentationTimingGOOGLE, presentID}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "desiredPresentTime" Word64 'False +                                                            #{offset VkPastPresentationTimingGOOGLE, desiredPresentTime}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "actualPresentTime" Word64 'False +                                                           #{offset VkPastPresentationTimingGOOGLE, actualPresentTime}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "earliestPresentTime" Word64 'False +                                                             #{offset VkPastPresentationTimingGOOGLE, earliestPresentTime}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "presentMargin" Word64 'False +                                                       #{offset VkPastPresentationTimingGOOGLE, presentMargin}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc view
@@ -1,19013 +1,3049 @@ #include "vulkan/vulkan.h"  {-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleContexts      #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE PatternSynonyms       #-}-{-# LANGUAGE ScopedTypeVariables   #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-}-{-# LANGUAGE TypeFamilies          #-}-{-# LANGUAGE UndecidableInstances  #-}-module Graphics.Vulkan.Types.Struct.PhysicalDevice-       (VkPhysicalDevice16BitStorageFeatures,-        VkPhysicalDevice16BitStorageFeatures', -- ' closing tick for hsc2hs-        VkPhysicalDevice16BitStorageFeaturesKHR,-        VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT,-        VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT', -- ' closing tick for hsc2hs-        VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT,-        VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT', -- ' closing tick for hsc2hs-        VkPhysicalDeviceConservativeRasterizationPropertiesEXT,-        VkPhysicalDeviceConservativeRasterizationPropertiesEXT', -- ' closing tick for hsc2hs-        VkPhysicalDeviceDescriptorIndexingFeaturesEXT,-        VkPhysicalDeviceDescriptorIndexingFeaturesEXT', -- ' closing tick for hsc2hs-        VkPhysicalDeviceDescriptorIndexingPropertiesEXT,-        VkPhysicalDeviceDescriptorIndexingPropertiesEXT', -- ' closing tick for hsc2hs-        VkPhysicalDeviceDiscardRectanglePropertiesEXT,-        VkPhysicalDeviceDiscardRectanglePropertiesEXT', -- ' closing tick for hsc2hs-        VkPhysicalDeviceExternalBufferInfo,-        VkPhysicalDeviceExternalBufferInfo', -- ' closing tick for hsc2hs-        VkPhysicalDeviceExternalBufferInfoKHR,-        VkPhysicalDeviceExternalFenceInfo,-        VkPhysicalDeviceExternalFenceInfo', -- ' closing tick for hsc2hs-        VkPhysicalDeviceExternalFenceInfoKHR,-        VkPhysicalDeviceExternalImageFormatInfo,-        VkPhysicalDeviceExternalImageFormatInfo', -- ' closing tick for hsc2hs-        VkPhysicalDeviceExternalImageFormatInfoKHR,-        VkPhysicalDeviceExternalMemoryHostPropertiesEXT,-        VkPhysicalDeviceExternalMemoryHostPropertiesEXT', -- ' closing tick for hsc2hs-        VkPhysicalDeviceExternalSemaphoreInfo,-        VkPhysicalDeviceExternalSemaphoreInfo', -- ' closing tick for hsc2hs-        VkPhysicalDeviceExternalSemaphoreInfoKHR,-        VkPhysicalDeviceFeatures2, VkPhysicalDeviceFeatures2', -- ' closing tick for hsc2hs-        VkPhysicalDeviceFeatures2KHR, VkPhysicalDeviceGroupProperties,-        VkPhysicalDeviceGroupProperties', -- ' closing tick for hsc2hs-        VkPhysicalDeviceGroupPropertiesKHR, VkPhysicalDeviceIDProperties,-        VkPhysicalDeviceIDProperties', VkPhysicalDeviceIDPropertiesKHR, -- ' closing tick for hsc2hs-        VkPhysicalDeviceImageFormatInfo2,-        VkPhysicalDeviceImageFormatInfo2', -- ' closing tick for hsc2hs-        VkPhysicalDeviceImageFormatInfo2KHR, VkPhysicalDeviceLimits,-        VkPhysicalDeviceLimits', VkPhysicalDeviceMaintenance3Properties, -- ' closing tick for hsc2hs-        VkPhysicalDeviceMaintenance3Properties', -- ' closing tick for hsc2hs-        VkPhysicalDeviceMaintenance3PropertiesKHR,-        VkPhysicalDeviceMemoryProperties,-        VkPhysicalDeviceMemoryProperties', -- ' closing tick for hsc2hs-        VkPhysicalDeviceMemoryProperties2,-        VkPhysicalDeviceMemoryProperties2', -- ' closing tick for hsc2hs-        VkPhysicalDeviceMemoryProperties2KHR,-        VkPhysicalDeviceMultiviewFeatures,-        VkPhysicalDeviceMultiviewFeatures', -- ' closing tick for hsc2hs-        VkPhysicalDeviceMultiviewFeaturesKHR,-        VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,-        VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX', -- ' closing tick for hsc2hs-        VkPhysicalDeviceMultiviewProperties,-        VkPhysicalDeviceMultiviewProperties', -- ' closing tick for hsc2hs-        VkPhysicalDeviceMultiviewPropertiesKHR,-        VkPhysicalDevicePointClippingProperties,-        VkPhysicalDevicePointClippingProperties', -- ' closing tick for hsc2hs-        VkPhysicalDevicePointClippingPropertiesKHR,-        VkPhysicalDeviceProperties, VkPhysicalDeviceProperties', -- ' closing tick for hsc2hs-        VkPhysicalDeviceProperties2, VkPhysicalDeviceProperties2', -- ' closing tick for hsc2hs-        VkPhysicalDeviceProperties2KHR,-        VkPhysicalDeviceProtectedMemoryFeatures,-        VkPhysicalDeviceProtectedMemoryFeatures', -- ' closing tick for hsc2hs-        VkPhysicalDeviceProtectedMemoryProperties,-        VkPhysicalDeviceProtectedMemoryProperties', -- ' closing tick for hsc2hs-        VkPhysicalDevicePushDescriptorPropertiesKHR,-        VkPhysicalDevicePushDescriptorPropertiesKHR', -- ' closing tick for hsc2hs-        VkPhysicalDeviceSampleLocationsPropertiesEXT,-        VkPhysicalDeviceSampleLocationsPropertiesEXT', -- ' closing tick for hsc2hs-        VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT,-        VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT', -- ' closing tick for hsc2hs-        VkPhysicalDeviceSamplerYcbcrConversionFeatures,-        VkPhysicalDeviceSamplerYcbcrConversionFeatures', -- ' closing tick for hsc2hs-        VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR,-        VkPhysicalDeviceShaderCorePropertiesAMD,-        VkPhysicalDeviceShaderCorePropertiesAMD', -- ' closing tick for hsc2hs-        VkPhysicalDeviceShaderDrawParameterFeatures,-        VkPhysicalDeviceShaderDrawParameterFeatures', -- ' closing tick for hsc2hs-        VkPhysicalDeviceSparseImageFormatInfo2,-        VkPhysicalDeviceSparseImageFormatInfo2', -- ' closing tick for hsc2hs-        VkPhysicalDeviceSparseImageFormatInfo2KHR,-        VkPhysicalDeviceSparseProperties,-        VkPhysicalDeviceSparseProperties', -- ' closing tick for hsc2hs-        VkPhysicalDeviceSubgroupProperties,-        VkPhysicalDeviceSubgroupProperties', -- ' closing tick for hsc2hs-        VkPhysicalDeviceSurfaceInfo2KHR, VkPhysicalDeviceSurfaceInfo2KHR', -- ' closing tick for hsc2hs-        VkPhysicalDeviceVariablePointerFeatures,-        VkPhysicalDeviceVariablePointerFeatures', -- ' closing tick for hsc2hs-        VkPhysicalDeviceVariablePointerFeaturesKHR,-        VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT,-        VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                                    (Storable (..))-import Graphics.Vulkan.Constants                           (VK_LUID_SIZE,-                                                            pattern VK_LUID_SIZE,-                                                            VK_MAX_DEVICE_GROUP_SIZE,-                                                            pattern VK_MAX_DEVICE_GROUP_SIZE,-                                                            VK_MAX_MEMORY_HEAPS,-                                                            pattern VK_MAX_MEMORY_HEAPS,-                                                            VK_MAX_MEMORY_TYPES,-                                                            pattern VK_MAX_MEMORY_TYPES,-                                                            VK_MAX_PHYSICAL_DEVICE_NAME_SIZE,-                                                            pattern VK_MAX_PHYSICAL_DEVICE_NAME_SIZE,-                                                            VK_UUID_SIZE,-                                                            pattern VK_UUID_SIZE)-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Internal-import Graphics.Vulkan.Types.BaseTypes                     (VkBool32,-                                                            VkDeviceSize)-import Graphics.Vulkan.Types.Enum.Buffer                   (VkBufferCreateFlags,-                                                            VkBufferUsageFlags)-import Graphics.Vulkan.Types.Enum.External                 (VkExternalFenceHandleTypeFlagBits,-                                                            VkExternalMemoryHandleTypeFlagBits,-                                                            VkExternalSemaphoreHandleTypeFlagBits)-import Graphics.Vulkan.Types.Enum.Format                   (VkFormat)-import Graphics.Vulkan.Types.Enum.Image                    (VkImageCreateFlags,-                                                            VkImageTiling,-                                                            VkImageType,-                                                            VkImageUsageFlags)-import Graphics.Vulkan.Types.Enum.PhysicalDeviceType       (VkPhysicalDeviceType)-import Graphics.Vulkan.Types.Enum.PointClippingBehavior    (VkPointClippingBehavior)-import Graphics.Vulkan.Types.Enum.SampleCountFlags         (VkSampleCountFlagBits,-                                                            VkSampleCountFlags)-import Graphics.Vulkan.Types.Enum.Shader                   (VkShaderStageFlags)-import Graphics.Vulkan.Types.Enum.StructureType            (VkStructureType)-import Graphics.Vulkan.Types.Enum.SubgroupFeatureFlags     (VkSubgroupFeatureFlags)-import Graphics.Vulkan.Types.Handles                       (VkPhysicalDevice,-                                                            VkSurfaceKHR)-import Graphics.Vulkan.Types.Struct.Device                 (VkDeviceCreateInfo)-import Graphics.Vulkan.Types.Struct.Extent                 (VkExtent2D)-import Graphics.Vulkan.Types.Struct.Memory                 (VkMemoryHeap,-                                                            VkMemoryType)-import Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures (VkPhysicalDeviceFeatures)-import System.IO.Unsafe                                    (unsafeDupablePerformIO)---- | > typedef struct VkPhysicalDevice16BitStorageFeatures {---   >     VkStructureType sType;---   >     void*      pNext;---   >     VkBool32                         storageBuffer16BitAccess;---   >     VkBool32                         uniformAndStorageBuffer16BitAccess;---   >     VkBool32                         storagePushConstant16;---   >     VkBool32                         storageInputOutput16;---   > } VkPhysicalDevice16BitStorageFeatures;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures registry at www.khronos.org>-type VkPhysicalDevice16BitStorageFeatures =-     VulkanStruct VkPhysicalDevice16BitStorageFeatures' -- ' closing tick for hsc2hs--data VkPhysicalDevice16BitStorageFeatures' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDevice16BitStorageFeatures where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDevice16BitStorageFeatures where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDevice16BitStorageFeatures where-        sizeOf ~_-          = #{size VkPhysicalDevice16BitStorageFeatures}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDevice16BitStorageFeatures}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDevice16BitStorageFeatures where-        type StructFields VkPhysicalDevice16BitStorageFeatures =-             '["sType", "pNext", "storageBuffer16BitAccess", -- ' closing tick for hsc2hs-               "uniformAndStorageBuffer16BitAccess", "storagePushConstant16",-               "storageInputOutput16"]-        type CUnionType VkPhysicalDevice16BitStorageFeatures = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDevice16BitStorageFeatures = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDevice16BitStorageFeatures =-             '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDevice16BitStorageFeatures where-        type FieldType "sType" VkPhysicalDevice16BitStorageFeatures =-             VkStructureType-        type FieldOptional "sType" VkPhysicalDevice16BitStorageFeatures =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPhysicalDevice16BitStorageFeatures =-             #{offset VkPhysicalDevice16BitStorageFeatures, sType}-        type FieldIsArray "sType" VkPhysicalDevice16BitStorageFeatures =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDevice16BitStorageFeatures, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDevice16BitStorageFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDevice16BitStorageFeatures, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDevice16BitStorageFeatures, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPhysicalDevice16BitStorageFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDevice16BitStorageFeatures, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDevice16BitStorageFeatures where-        type FieldType "pNext" VkPhysicalDevice16BitStorageFeatures =-             Ptr Void-        type FieldOptional "pNext" VkPhysicalDevice16BitStorageFeatures =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPhysicalDevice16BitStorageFeatures =-             #{offset VkPhysicalDevice16BitStorageFeatures, pNext}-        type FieldIsArray "pNext" VkPhysicalDevice16BitStorageFeatures =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDevice16BitStorageFeatures, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDevice16BitStorageFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDevice16BitStorageFeatures, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDevice16BitStorageFeatures, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPhysicalDevice16BitStorageFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDevice16BitStorageFeatures, pNext}--instance {-# OVERLAPPING #-}-         HasField "storageBuffer16BitAccess"-           VkPhysicalDevice16BitStorageFeatures-         where-        type FieldType "storageBuffer16BitAccess"-               VkPhysicalDevice16BitStorageFeatures-             = VkBool32-        type FieldOptional "storageBuffer16BitAccess"-               VkPhysicalDevice16BitStorageFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "storageBuffer16BitAccess"-               VkPhysicalDevice16BitStorageFeatures-             =-             #{offset VkPhysicalDevice16BitStorageFeatures, storageBuffer16BitAccess}-        type FieldIsArray "storageBuffer16BitAccess"-               VkPhysicalDevice16BitStorageFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDevice16BitStorageFeatures, storageBuffer16BitAccess}--instance {-# OVERLAPPING #-}-         CanReadField "storageBuffer16BitAccess"-           VkPhysicalDevice16BitStorageFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDevice16BitStorageFeatures, storageBuffer16BitAccess})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDevice16BitStorageFeatures, storageBuffer16BitAccess}--instance {-# OVERLAPPING #-}-         CanWriteField "storageBuffer16BitAccess"-           VkPhysicalDevice16BitStorageFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDevice16BitStorageFeatures, storageBuffer16BitAccess}--instance {-# OVERLAPPING #-}-         HasField "uniformAndStorageBuffer16BitAccess"-           VkPhysicalDevice16BitStorageFeatures-         where-        type FieldType "uniformAndStorageBuffer16BitAccess"-               VkPhysicalDevice16BitStorageFeatures-             = VkBool32-        type FieldOptional "uniformAndStorageBuffer16BitAccess"-               VkPhysicalDevice16BitStorageFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "uniformAndStorageBuffer16BitAccess"-               VkPhysicalDevice16BitStorageFeatures-             =-             #{offset VkPhysicalDevice16BitStorageFeatures, uniformAndStorageBuffer16BitAccess}-        type FieldIsArray "uniformAndStorageBuffer16BitAccess"-               VkPhysicalDevice16BitStorageFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDevice16BitStorageFeatures, uniformAndStorageBuffer16BitAccess}--instance {-# OVERLAPPING #-}-         CanReadField "uniformAndStorageBuffer16BitAccess"-           VkPhysicalDevice16BitStorageFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDevice16BitStorageFeatures, uniformAndStorageBuffer16BitAccess})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDevice16BitStorageFeatures, uniformAndStorageBuffer16BitAccess}--instance {-# OVERLAPPING #-}-         CanWriteField "uniformAndStorageBuffer16BitAccess"-           VkPhysicalDevice16BitStorageFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDevice16BitStorageFeatures, uniformAndStorageBuffer16BitAccess}--instance {-# OVERLAPPING #-}-         HasField "storagePushConstant16"-           VkPhysicalDevice16BitStorageFeatures-         where-        type FieldType "storagePushConstant16"-               VkPhysicalDevice16BitStorageFeatures-             = VkBool32-        type FieldOptional "storagePushConstant16"-               VkPhysicalDevice16BitStorageFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "storagePushConstant16"-               VkPhysicalDevice16BitStorageFeatures-             =-             #{offset VkPhysicalDevice16BitStorageFeatures, storagePushConstant16}-        type FieldIsArray "storagePushConstant16"-               VkPhysicalDevice16BitStorageFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDevice16BitStorageFeatures, storagePushConstant16}--instance {-# OVERLAPPING #-}-         CanReadField "storagePushConstant16"-           VkPhysicalDevice16BitStorageFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDevice16BitStorageFeatures, storagePushConstant16})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDevice16BitStorageFeatures, storagePushConstant16}--instance {-# OVERLAPPING #-}-         CanWriteField "storagePushConstant16"-           VkPhysicalDevice16BitStorageFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDevice16BitStorageFeatures, storagePushConstant16}--instance {-# OVERLAPPING #-}-         HasField "storageInputOutput16"-           VkPhysicalDevice16BitStorageFeatures-         where-        type FieldType "storageInputOutput16"-               VkPhysicalDevice16BitStorageFeatures-             = VkBool32-        type FieldOptional "storageInputOutput16"-               VkPhysicalDevice16BitStorageFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "storageInputOutput16"-               VkPhysicalDevice16BitStorageFeatures-             =-             #{offset VkPhysicalDevice16BitStorageFeatures, storageInputOutput16}-        type FieldIsArray "storageInputOutput16"-               VkPhysicalDevice16BitStorageFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDevice16BitStorageFeatures, storageInputOutput16}--instance {-# OVERLAPPING #-}-         CanReadField "storageInputOutput16"-           VkPhysicalDevice16BitStorageFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDevice16BitStorageFeatures, storageInputOutput16})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDevice16BitStorageFeatures, storageInputOutput16}--instance {-# OVERLAPPING #-}-         CanWriteField "storageInputOutput16"-           VkPhysicalDevice16BitStorageFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDevice16BitStorageFeatures, storageInputOutput16}--instance Show VkPhysicalDevice16BitStorageFeatures where-        showsPrec d x-          = showString "VkPhysicalDevice16BitStorageFeatures {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "storageBuffer16BitAccess = " .-                            showsPrec d (getField @"storageBuffer16BitAccess" x) .-                              showString ", " .-                                showString "uniformAndStorageBuffer16BitAccess = " .-                                  showsPrec d (getField @"uniformAndStorageBuffer16BitAccess" x) .-                                    showString ", " .-                                      showString "storagePushConstant16 = " .-                                        showsPrec d (getField @"storagePushConstant16" x) .-                                          showString ", " .-                                            showString "storageInputOutput16 = " .-                                              showsPrec d (getField @"storageInputOutput16" x) .-                                                showChar '}'---- | Alias for `VkPhysicalDevice16BitStorageFeatures`-type VkPhysicalDevice16BitStorageFeaturesKHR =-     VkPhysicalDevice16BitStorageFeatures---- | > typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     VkBool32                         advancedBlendCoherentOperations;---   > } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at www.khronos.org>-type VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT =-     VulkanStruct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT' -- ' closing tick for hsc2hs--data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-         where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-         where-        sizeOf ~_-          = #{size VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal-           VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-         where-        type StructFields VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-             = '["sType", "pNext", "advancedBlendCoherentOperations"] -- ' closing tick for hsc2hs-        type CUnionType VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT =-             'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-             = 'False -- ' closing tick for hsc2hs-        type StructExtends-               VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-             = '[VkPhysicalDeviceFeatures2] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-         where-        type FieldType "sType"-               VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-             = VkStructureType-        type FieldOptional "sType"-               VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-             =-             #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, sType}-        type FieldIsArray "sType"-               VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType"-           VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType"-           VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-         where-        type FieldType "pNext"-               VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-             = Ptr Void-        type FieldOptional "pNext"-               VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-             =-             #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, pNext}-        type FieldIsArray "pNext"-               VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext"-           VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext"-           VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "advancedBlendCoherentOperations"-           VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-         where-        type FieldType "advancedBlendCoherentOperations"-               VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-             = VkBool32-        type FieldOptional "advancedBlendCoherentOperations"-               VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "advancedBlendCoherentOperations"-               VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-             =-             #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, advancedBlendCoherentOperations}-        type FieldIsArray "advancedBlendCoherentOperations"-               VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, advancedBlendCoherentOperations}--instance {-# OVERLAPPING #-}-         CanReadField "advancedBlendCoherentOperations"-           VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, advancedBlendCoherentOperations})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, advancedBlendCoherentOperations}--instance {-# OVERLAPPING #-}-         CanWriteField "advancedBlendCoherentOperations"-           VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, advancedBlendCoherentOperations}--instance Show VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-         where-        showsPrec d x-          = showString "VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {"-              .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "advancedBlendCoherentOperations = " .-                            showsPrec d (getField @"advancedBlendCoherentOperations" x) .-                              showChar '}'---- | > typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     uint32_t                         advancedBlendMaxColorAttachments;---   >     VkBool32                         advancedBlendIndependentBlend;---   >     VkBool32                         advancedBlendNonPremultipliedSrcColor;---   >     VkBool32                         advancedBlendNonPremultipliedDstColor;---   >     VkBool32                         advancedBlendCorrelatedOverlap;---   >     VkBool32                         advancedBlendAllOperations;---   > } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT registry at www.khronos.org>-type VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT =-     VulkanStruct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT' -- ' closing tick for hsc2hs--data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable-           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        sizeOf ~_-          = #{size VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal-           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        type StructFields-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             =-             '["sType", "pNext", "advancedBlendMaxColorAttachments", -- ' closing tick for hsc2hs-               "advancedBlendIndependentBlend",-               "advancedBlendNonPremultipliedSrcColor",-               "advancedBlendNonPremultipliedDstColor",-               "advancedBlendCorrelatedOverlap", "advancedBlendAllOperations"]-        type CUnionType VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             = 'True -- ' closing tick for hsc2hs-        type StructExtends-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             = '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType"-           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        type FieldType "sType"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             = VkStructureType-        type FieldOptional "sType"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             =-             #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, sType}-        type FieldIsArray "sType"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType"-           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType"-           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext"-           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        type FieldType "pNext"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             = Ptr Void-        type FieldOptional "pNext"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             =-             #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, pNext}-        type FieldIsArray "pNext"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext"-           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext"-           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "advancedBlendMaxColorAttachments"-           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        type FieldType "advancedBlendMaxColorAttachments"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             = Word32-        type FieldOptional "advancedBlendMaxColorAttachments"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "advancedBlendMaxColorAttachments"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             =-             #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendMaxColorAttachments}-        type FieldIsArray "advancedBlendMaxColorAttachments"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendMaxColorAttachments}--instance {-# OVERLAPPING #-}-         CanReadField "advancedBlendMaxColorAttachments"-           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendMaxColorAttachments})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendMaxColorAttachments}--instance {-# OVERLAPPING #-}-         CanWriteField "advancedBlendMaxColorAttachments"-           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendMaxColorAttachments}--instance {-# OVERLAPPING #-}-         HasField "advancedBlendIndependentBlend"-           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        type FieldType "advancedBlendIndependentBlend"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             = VkBool32-        type FieldOptional "advancedBlendIndependentBlend"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "advancedBlendIndependentBlend"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             =-             #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendIndependentBlend}-        type FieldIsArray "advancedBlendIndependentBlend"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendIndependentBlend}--instance {-# OVERLAPPING #-}-         CanReadField "advancedBlendIndependentBlend"-           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendIndependentBlend})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendIndependentBlend}--instance {-# OVERLAPPING #-}-         CanWriteField "advancedBlendIndependentBlend"-           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendIndependentBlend}--instance {-# OVERLAPPING #-}-         HasField "advancedBlendNonPremultipliedSrcColor"-           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        type FieldType "advancedBlendNonPremultipliedSrcColor"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             = VkBool32-        type FieldOptional "advancedBlendNonPremultipliedSrcColor"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "advancedBlendNonPremultipliedSrcColor"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             =-             #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendNonPremultipliedSrcColor}-        type FieldIsArray "advancedBlendNonPremultipliedSrcColor"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendNonPremultipliedSrcColor}--instance {-# OVERLAPPING #-}-         CanReadField "advancedBlendNonPremultipliedSrcColor"-           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendNonPremultipliedSrcColor})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendNonPremultipliedSrcColor}--instance {-# OVERLAPPING #-}-         CanWriteField "advancedBlendNonPremultipliedSrcColor"-           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendNonPremultipliedSrcColor}--instance {-# OVERLAPPING #-}-         HasField "advancedBlendNonPremultipliedDstColor"-           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        type FieldType "advancedBlendNonPremultipliedDstColor"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             = VkBool32-        type FieldOptional "advancedBlendNonPremultipliedDstColor"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "advancedBlendNonPremultipliedDstColor"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             =-             #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendNonPremultipliedDstColor}-        type FieldIsArray "advancedBlendNonPremultipliedDstColor"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendNonPremultipliedDstColor}--instance {-# OVERLAPPING #-}-         CanReadField "advancedBlendNonPremultipliedDstColor"-           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendNonPremultipliedDstColor})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendNonPremultipliedDstColor}--instance {-# OVERLAPPING #-}-         CanWriteField "advancedBlendNonPremultipliedDstColor"-           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendNonPremultipliedDstColor}--instance {-# OVERLAPPING #-}-         HasField "advancedBlendCorrelatedOverlap"-           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        type FieldType "advancedBlendCorrelatedOverlap"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             = VkBool32-        type FieldOptional "advancedBlendCorrelatedOverlap"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "advancedBlendCorrelatedOverlap"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             =-             #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendCorrelatedOverlap}-        type FieldIsArray "advancedBlendCorrelatedOverlap"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendCorrelatedOverlap}--instance {-# OVERLAPPING #-}-         CanReadField "advancedBlendCorrelatedOverlap"-           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendCorrelatedOverlap})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendCorrelatedOverlap}--instance {-# OVERLAPPING #-}-         CanWriteField "advancedBlendCorrelatedOverlap"-           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendCorrelatedOverlap}--instance {-# OVERLAPPING #-}-         HasField "advancedBlendAllOperations"-           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        type FieldType "advancedBlendAllOperations"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             = VkBool32-        type FieldOptional "advancedBlendAllOperations"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "advancedBlendAllOperations"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             =-             #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendAllOperations}-        type FieldIsArray "advancedBlendAllOperations"-               VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendAllOperations}--instance {-# OVERLAPPING #-}-         CanReadField "advancedBlendAllOperations"-           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendAllOperations})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendAllOperations}--instance {-# OVERLAPPING #-}-         CanWriteField "advancedBlendAllOperations"-           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendAllOperations}--instance Show VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-         where-        showsPrec d x-          = showString-              "VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {"-              .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "advancedBlendMaxColorAttachments = " .-                            showsPrec d (getField @"advancedBlendMaxColorAttachments" x) .-                              showString ", " .-                                showString "advancedBlendIndependentBlend = " .-                                  showsPrec d (getField @"advancedBlendIndependentBlend" x) .-                                    showString ", " .-                                      showString "advancedBlendNonPremultipliedSrcColor = " .-                                        showsPrec d-                                          (getField @"advancedBlendNonPremultipliedSrcColor" x)-                                          .-                                          showString ", " .-                                            showString "advancedBlendNonPremultipliedDstColor = " .-                                              showsPrec d-                                                (getField @"advancedBlendNonPremultipliedDstColor"-                                                   x)-                                                .-                                                showString ", " .-                                                  showString "advancedBlendCorrelatedOverlap = " .-                                                    showsPrec d-                                                      (getField @"advancedBlendCorrelatedOverlap" x)-                                                      .-                                                      showString ", " .-                                                        showString "advancedBlendAllOperations = " .-                                                          showsPrec d-                                                            (getField @"advancedBlendAllOperations"-                                                               x)-                                                            . showChar '}'---- | > typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {---   >     VkStructureType sType;---   >     void*                  pNext;---   >     float                  primitiveOverestimationSize;---   >     float                  maxExtraPrimitiveOverestimationSize;---   >     float                  extraPrimitiveOverestimationSizeGranularity;---   >     VkBool32               primitiveUnderestimation;---   >     VkBool32               conservativePointAndLineRasterization;---   >     VkBool32               degenerateTrianglesRasterized;---   >     VkBool32               degenerateLinesRasterized;---   >     VkBool32               fullyCoveredFragmentShaderInputVariable;---   >     VkBool32               conservativeRasterizationPostDepthCoverage;---   > } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT registry at www.khronos.org>-type VkPhysicalDeviceConservativeRasterizationPropertiesEXT =-     VulkanStruct-       VkPhysicalDeviceConservativeRasterizationPropertiesEXT' -- ' closing tick for hsc2hs--data VkPhysicalDeviceConservativeRasterizationPropertiesEXT' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        sizeOf ~_-          = #{size VkPhysicalDeviceConservativeRasterizationPropertiesEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceConservativeRasterizationPropertiesEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        type StructFields-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             =-             '["sType", "pNext", "primitiveOverestimationSize", -- ' closing tick for hsc2hs-               "maxExtraPrimitiveOverestimationSize",-               "extraPrimitiveOverestimationSizeGranularity",-               "primitiveUnderestimation",-               "conservativePointAndLineRasterization",-               "degenerateTrianglesRasterized", "degenerateLinesRasterized",-               "fullyCoveredFragmentShaderInputVariable",-               "conservativeRasterizationPostDepthCoverage"]-        type CUnionType-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type StructExtends-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        type FieldType "sType"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = VkStructureType-        type FieldOptional "sType"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             =-             #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, sType}-        type FieldIsArray "sType"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        type FieldType "pNext"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = Ptr Void-        type FieldOptional "pNext"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             =-             #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, pNext}-        type FieldIsArray "pNext"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "primitiveOverestimationSize"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        type FieldType "primitiveOverestimationSize"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = #{type float}-        type FieldOptional "primitiveOverestimationSize"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "primitiveOverestimationSize"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             =-             #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, primitiveOverestimationSize}-        type FieldIsArray "primitiveOverestimationSize"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, primitiveOverestimationSize}--instance {-# OVERLAPPING #-}-         CanReadField "primitiveOverestimationSize"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, primitiveOverestimationSize})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, primitiveOverestimationSize}--instance {-# OVERLAPPING #-}-         CanWriteField "primitiveOverestimationSize"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, primitiveOverestimationSize}--instance {-# OVERLAPPING #-}-         HasField "maxExtraPrimitiveOverestimationSize"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        type FieldType "maxExtraPrimitiveOverestimationSize"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = #{type float}-        type FieldOptional "maxExtraPrimitiveOverestimationSize"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxExtraPrimitiveOverestimationSize"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             =-             #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, maxExtraPrimitiveOverestimationSize}-        type FieldIsArray "maxExtraPrimitiveOverestimationSize"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, maxExtraPrimitiveOverestimationSize}--instance {-# OVERLAPPING #-}-         CanReadField "maxExtraPrimitiveOverestimationSize"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, maxExtraPrimitiveOverestimationSize})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, maxExtraPrimitiveOverestimationSize}--instance {-# OVERLAPPING #-}-         CanWriteField "maxExtraPrimitiveOverestimationSize"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, maxExtraPrimitiveOverestimationSize}--instance {-# OVERLAPPING #-}-         HasField "extraPrimitiveOverestimationSizeGranularity"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        type FieldType "extraPrimitiveOverestimationSizeGranularity"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = #{type float}-        type FieldOptional "extraPrimitiveOverestimationSizeGranularity"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "extraPrimitiveOverestimationSizeGranularity"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             =-             #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, extraPrimitiveOverestimationSizeGranularity}-        type FieldIsArray "extraPrimitiveOverestimationSizeGranularity"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, extraPrimitiveOverestimationSizeGranularity}--instance {-# OVERLAPPING #-}-         CanReadField "extraPrimitiveOverestimationSizeGranularity"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, extraPrimitiveOverestimationSizeGranularity})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, extraPrimitiveOverestimationSizeGranularity}--instance {-# OVERLAPPING #-}-         CanWriteField "extraPrimitiveOverestimationSizeGranularity"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, extraPrimitiveOverestimationSizeGranularity}--instance {-# OVERLAPPING #-}-         HasField "primitiveUnderestimation"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        type FieldType "primitiveUnderestimation"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = VkBool32-        type FieldOptional "primitiveUnderestimation"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "primitiveUnderestimation"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             =-             #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, primitiveUnderestimation}-        type FieldIsArray "primitiveUnderestimation"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, primitiveUnderestimation}--instance {-# OVERLAPPING #-}-         CanReadField "primitiveUnderestimation"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, primitiveUnderestimation})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, primitiveUnderestimation}--instance {-# OVERLAPPING #-}-         CanWriteField "primitiveUnderestimation"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, primitiveUnderestimation}--instance {-# OVERLAPPING #-}-         HasField "conservativePointAndLineRasterization"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        type FieldType "conservativePointAndLineRasterization"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = VkBool32-        type FieldOptional "conservativePointAndLineRasterization"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "conservativePointAndLineRasterization"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             =-             #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, conservativePointAndLineRasterization}-        type FieldIsArray "conservativePointAndLineRasterization"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, conservativePointAndLineRasterization}--instance {-# OVERLAPPING #-}-         CanReadField "conservativePointAndLineRasterization"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, conservativePointAndLineRasterization})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, conservativePointAndLineRasterization}--instance {-# OVERLAPPING #-}-         CanWriteField "conservativePointAndLineRasterization"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, conservativePointAndLineRasterization}--instance {-# OVERLAPPING #-}-         HasField "degenerateTrianglesRasterized"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        type FieldType "degenerateTrianglesRasterized"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = VkBool32-        type FieldOptional "degenerateTrianglesRasterized"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "degenerateTrianglesRasterized"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             =-             #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, degenerateTrianglesRasterized}-        type FieldIsArray "degenerateTrianglesRasterized"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, degenerateTrianglesRasterized}--instance {-# OVERLAPPING #-}-         CanReadField "degenerateTrianglesRasterized"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, degenerateTrianglesRasterized})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, degenerateTrianglesRasterized}--instance {-# OVERLAPPING #-}-         CanWriteField "degenerateTrianglesRasterized"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, degenerateTrianglesRasterized}--instance {-# OVERLAPPING #-}-         HasField "degenerateLinesRasterized"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        type FieldType "degenerateLinesRasterized"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = VkBool32-        type FieldOptional "degenerateLinesRasterized"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "degenerateLinesRasterized"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             =-             #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, degenerateLinesRasterized}-        type FieldIsArray "degenerateLinesRasterized"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, degenerateLinesRasterized}--instance {-# OVERLAPPING #-}-         CanReadField "degenerateLinesRasterized"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, degenerateLinesRasterized})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, degenerateLinesRasterized}--instance {-# OVERLAPPING #-}-         CanWriteField "degenerateLinesRasterized"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, degenerateLinesRasterized}--instance {-# OVERLAPPING #-}-         HasField "fullyCoveredFragmentShaderInputVariable"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        type FieldType "fullyCoveredFragmentShaderInputVariable"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = VkBool32-        type FieldOptional "fullyCoveredFragmentShaderInputVariable"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "fullyCoveredFragmentShaderInputVariable"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             =-             #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, fullyCoveredFragmentShaderInputVariable}-        type FieldIsArray "fullyCoveredFragmentShaderInputVariable"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, fullyCoveredFragmentShaderInputVariable}--instance {-# OVERLAPPING #-}-         CanReadField "fullyCoveredFragmentShaderInputVariable"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, fullyCoveredFragmentShaderInputVariable})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, fullyCoveredFragmentShaderInputVariable}--instance {-# OVERLAPPING #-}-         CanWriteField "fullyCoveredFragmentShaderInputVariable"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, fullyCoveredFragmentShaderInputVariable}--instance {-# OVERLAPPING #-}-         HasField "conservativeRasterizationPostDepthCoverage"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        type FieldType "conservativeRasterizationPostDepthCoverage"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = VkBool32-        type FieldOptional "conservativeRasterizationPostDepthCoverage"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "conservativeRasterizationPostDepthCoverage"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             =-             #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, conservativeRasterizationPostDepthCoverage}-        type FieldIsArray "conservativeRasterizationPostDepthCoverage"-               VkPhysicalDeviceConservativeRasterizationPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, conservativeRasterizationPostDepthCoverage}--instance {-# OVERLAPPING #-}-         CanReadField "conservativeRasterizationPostDepthCoverage"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, conservativeRasterizationPostDepthCoverage})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, conservativeRasterizationPostDepthCoverage}--instance {-# OVERLAPPING #-}-         CanWriteField "conservativeRasterizationPostDepthCoverage"-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, conservativeRasterizationPostDepthCoverage}--instance Show-           VkPhysicalDeviceConservativeRasterizationPropertiesEXT-         where-        showsPrec d x-          = showString-              "VkPhysicalDeviceConservativeRasterizationPropertiesEXT {"-              .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "primitiveOverestimationSize = " .-                            showsPrec d (getField @"primitiveOverestimationSize" x) .-                              showString ", " .-                                showString "maxExtraPrimitiveOverestimationSize = " .-                                  showsPrec d (getField @"maxExtraPrimitiveOverestimationSize" x) .-                                    showString ", " .-                                      showString "extraPrimitiveOverestimationSizeGranularity = " .-                                        showsPrec d-                                          (getField @"extraPrimitiveOverestimationSizeGranularity"-                                             x)-                                          .-                                          showString ", " .-                                            showString "primitiveUnderestimation = " .-                                              showsPrec d (getField @"primitiveUnderestimation" x) .-                                                showString ", " .-                                                  showString-                                                    "conservativePointAndLineRasterization = "-                                                    .-                                                    showsPrec d-                                                      (getField-                                                         @"conservativePointAndLineRasterization"-                                                         x)-                                                      .-                                                      showString ", " .-                                                        showString-                                                          "degenerateTrianglesRasterized = "-                                                          .-                                                          showsPrec d-                                                            (getField-                                                               @"degenerateTrianglesRasterized"-                                                               x)-                                                            .-                                                            showString ", " .-                                                              showString-                                                                "degenerateLinesRasterized = "-                                                                .-                                                                showsPrec d-                                                                  (getField-                                                                     @"degenerateLinesRasterized"-                                                                     x)-                                                                  .-                                                                  showString ", " .-                                                                    showString-                                                                      "fullyCoveredFragmentShaderInputVariable = "-                                                                      .-                                                                      showsPrec d-                                                                        (getField-                                                                           @"fullyCoveredFragmentShaderInputVariable"-                                                                           x)-                                                                        .-                                                                        showString ", " .-                                                                          showString-                                                                            "conservativeRasterizationPostDepthCoverage = "-                                                                            .-                                                                            showsPrec d-                                                                              (getField-                                                                                 @"conservativeRasterizationPostDepthCoverage"-                                                                                 x)-                                                                              . showChar '}'---- | > typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     VkBool32               shaderInputAttachmentArrayDynamicIndexing;---   >     VkBool32               shaderUniformTexelBufferArrayDynamicIndexing;---   >     VkBool32               shaderStorageTexelBufferArrayDynamicIndexing;---   >     VkBool32               shaderUniformBufferArrayNonUniformIndexing;---   >     VkBool32               shaderSampledImageArrayNonUniformIndexing;---   >     VkBool32               shaderStorageBufferArrayNonUniformIndexing;---   >     VkBool32               shaderStorageImageArrayNonUniformIndexing;---   >     VkBool32               shaderInputAttachmentArrayNonUniformIndexing;---   >     VkBool32               shaderUniformTexelBufferArrayNonUniformIndexing;---   >     VkBool32               shaderStorageTexelBufferArrayNonUniformIndexing;---   >     VkBool32               descriptorBindingUniformBufferUpdateAfterBind;---   >     VkBool32               descriptorBindingSampledImageUpdateAfterBind;---   >     VkBool32               descriptorBindingStorageImageUpdateAfterBind;---   >     VkBool32               descriptorBindingStorageBufferUpdateAfterBind;---   >     VkBool32               descriptorBindingUniformTexelBufferUpdateAfterBind;---   >     VkBool32               descriptorBindingStorageTexelBufferUpdateAfterBind;---   >     VkBool32               descriptorBindingUpdateUnusedWhilePending;---   >     VkBool32               descriptorBindingPartiallyBound;---   >     VkBool32               descriptorBindingVariableDescriptorCount;---   >     VkBool32               runtimeDescriptorArray;---   > } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at www.khronos.org>-type VkPhysicalDeviceDescriptorIndexingFeaturesEXT =-     VulkanStruct VkPhysicalDeviceDescriptorIndexingFeaturesEXT' -- ' closing tick for hsc2hs--data VkPhysicalDeviceDescriptorIndexingFeaturesEXT' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceDescriptorIndexingFeaturesEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceDescriptorIndexingFeaturesEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        sizeOf ~_-          = #{size VkPhysicalDeviceDescriptorIndexingFeaturesEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceDescriptorIndexingFeaturesEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        type StructFields VkPhysicalDeviceDescriptorIndexingFeaturesEXT =-             '["sType", "pNext", "shaderInputAttachmentArrayDynamicIndexing", -- ' closing tick for hsc2hs-               "shaderUniformTexelBufferArrayDynamicIndexing",-               "shaderStorageTexelBufferArrayDynamicIndexing",-               "shaderUniformBufferArrayNonUniformIndexing",-               "shaderSampledImageArrayNonUniformIndexing",-               "shaderStorageBufferArrayNonUniformIndexing",-               "shaderStorageImageArrayNonUniformIndexing",-               "shaderInputAttachmentArrayNonUniformIndexing",-               "shaderUniformTexelBufferArrayNonUniformIndexing",-               "shaderStorageTexelBufferArrayNonUniformIndexing",-               "descriptorBindingUniformBufferUpdateAfterBind",-               "descriptorBindingSampledImageUpdateAfterBind",-               "descriptorBindingStorageImageUpdateAfterBind",-               "descriptorBindingStorageBufferUpdateAfterBind",-               "descriptorBindingUniformTexelBufferUpdateAfterBind",-               "descriptorBindingStorageTexelBufferUpdateAfterBind",-               "descriptorBindingUpdateUnusedWhilePending",-               "descriptorBindingPartiallyBound",-               "descriptorBindingVariableDescriptorCount",-               "runtimeDescriptorArray"]-        type CUnionType VkPhysicalDeviceDescriptorIndexingFeaturesEXT =-             'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceDescriptorIndexingFeaturesEXT =-             'False -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceDescriptorIndexingFeaturesEXT =-             '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        type FieldType "sType"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = VkStructureType-        type FieldOptional "sType"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, sType}-        type FieldIsArray "sType"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        type FieldType "pNext"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = Ptr Void-        type FieldOptional "pNext"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, pNext}-        type FieldIsArray "pNext"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "shaderInputAttachmentArrayDynamicIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        type FieldType "shaderInputAttachmentArrayDynamicIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = VkBool32-        type FieldOptional "shaderInputAttachmentArrayDynamicIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderInputAttachmentArrayDynamicIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderInputAttachmentArrayDynamicIndexing}-        type FieldIsArray "shaderInputAttachmentArrayDynamicIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderInputAttachmentArrayDynamicIndexing}--instance {-# OVERLAPPING #-}-         CanReadField "shaderInputAttachmentArrayDynamicIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderInputAttachmentArrayDynamicIndexing})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderInputAttachmentArrayDynamicIndexing}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderInputAttachmentArrayDynamicIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderInputAttachmentArrayDynamicIndexing}--instance {-# OVERLAPPING #-}-         HasField "shaderUniformTexelBufferArrayDynamicIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        type FieldType "shaderUniformTexelBufferArrayDynamicIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = VkBool32-        type FieldOptional "shaderUniformTexelBufferArrayDynamicIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderUniformTexelBufferArrayDynamicIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformTexelBufferArrayDynamicIndexing}-        type FieldIsArray "shaderUniformTexelBufferArrayDynamicIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformTexelBufferArrayDynamicIndexing}--instance {-# OVERLAPPING #-}-         CanReadField "shaderUniformTexelBufferArrayDynamicIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformTexelBufferArrayDynamicIndexing})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformTexelBufferArrayDynamicIndexing}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderUniformTexelBufferArrayDynamicIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformTexelBufferArrayDynamicIndexing}--instance {-# OVERLAPPING #-}-         HasField "shaderStorageTexelBufferArrayDynamicIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        type FieldType "shaderStorageTexelBufferArrayDynamicIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = VkBool32-        type FieldOptional "shaderStorageTexelBufferArrayDynamicIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderStorageTexelBufferArrayDynamicIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageTexelBufferArrayDynamicIndexing}-        type FieldIsArray "shaderStorageTexelBufferArrayDynamicIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageTexelBufferArrayDynamicIndexing}--instance {-# OVERLAPPING #-}-         CanReadField "shaderStorageTexelBufferArrayDynamicIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageTexelBufferArrayDynamicIndexing})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageTexelBufferArrayDynamicIndexing}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderStorageTexelBufferArrayDynamicIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageTexelBufferArrayDynamicIndexing}--instance {-# OVERLAPPING #-}-         HasField "shaderUniformBufferArrayNonUniformIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        type FieldType "shaderUniformBufferArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = VkBool32-        type FieldOptional "shaderUniformBufferArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderUniformBufferArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformBufferArrayNonUniformIndexing}-        type FieldIsArray "shaderUniformBufferArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformBufferArrayNonUniformIndexing}--instance {-# OVERLAPPING #-}-         CanReadField "shaderUniformBufferArrayNonUniformIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformBufferArrayNonUniformIndexing})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformBufferArrayNonUniformIndexing}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderUniformBufferArrayNonUniformIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformBufferArrayNonUniformIndexing}--instance {-# OVERLAPPING #-}-         HasField "shaderSampledImageArrayNonUniformIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        type FieldType "shaderSampledImageArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = VkBool32-        type FieldOptional "shaderSampledImageArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderSampledImageArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderSampledImageArrayNonUniformIndexing}-        type FieldIsArray "shaderSampledImageArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderSampledImageArrayNonUniformIndexing}--instance {-# OVERLAPPING #-}-         CanReadField "shaderSampledImageArrayNonUniformIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderSampledImageArrayNonUniformIndexing})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderSampledImageArrayNonUniformIndexing}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderSampledImageArrayNonUniformIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderSampledImageArrayNonUniformIndexing}--instance {-# OVERLAPPING #-}-         HasField "shaderStorageBufferArrayNonUniformIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        type FieldType "shaderStorageBufferArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = VkBool32-        type FieldOptional "shaderStorageBufferArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderStorageBufferArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageBufferArrayNonUniformIndexing}-        type FieldIsArray "shaderStorageBufferArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageBufferArrayNonUniformIndexing}--instance {-# OVERLAPPING #-}-         CanReadField "shaderStorageBufferArrayNonUniformIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageBufferArrayNonUniformIndexing})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageBufferArrayNonUniformIndexing}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderStorageBufferArrayNonUniformIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageBufferArrayNonUniformIndexing}--instance {-# OVERLAPPING #-}-         HasField "shaderStorageImageArrayNonUniformIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        type FieldType "shaderStorageImageArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = VkBool32-        type FieldOptional "shaderStorageImageArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderStorageImageArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageImageArrayNonUniformIndexing}-        type FieldIsArray "shaderStorageImageArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageImageArrayNonUniformIndexing}--instance {-# OVERLAPPING #-}-         CanReadField "shaderStorageImageArrayNonUniformIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageImageArrayNonUniformIndexing})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageImageArrayNonUniformIndexing}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderStorageImageArrayNonUniformIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageImageArrayNonUniformIndexing}--instance {-# OVERLAPPING #-}-         HasField "shaderInputAttachmentArrayNonUniformIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        type FieldType "shaderInputAttachmentArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = VkBool32-        type FieldOptional "shaderInputAttachmentArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderInputAttachmentArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderInputAttachmentArrayNonUniformIndexing}-        type FieldIsArray "shaderInputAttachmentArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderInputAttachmentArrayNonUniformIndexing}--instance {-# OVERLAPPING #-}-         CanReadField "shaderInputAttachmentArrayNonUniformIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderInputAttachmentArrayNonUniformIndexing})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderInputAttachmentArrayNonUniformIndexing}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderInputAttachmentArrayNonUniformIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderInputAttachmentArrayNonUniformIndexing}--instance {-# OVERLAPPING #-}-         HasField "shaderUniformTexelBufferArrayNonUniformIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        type FieldType "shaderUniformTexelBufferArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = VkBool32-        type FieldOptional-               "shaderUniformTexelBufferArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderUniformTexelBufferArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformTexelBufferArrayNonUniformIndexing}-        type FieldIsArray "shaderUniformTexelBufferArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformTexelBufferArrayNonUniformIndexing}--instance {-# OVERLAPPING #-}-         CanReadField "shaderUniformTexelBufferArrayNonUniformIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformTexelBufferArrayNonUniformIndexing})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformTexelBufferArrayNonUniformIndexing}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderUniformTexelBufferArrayNonUniformIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformTexelBufferArrayNonUniformIndexing}--instance {-# OVERLAPPING #-}-         HasField "shaderStorageTexelBufferArrayNonUniformIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        type FieldType "shaderStorageTexelBufferArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = VkBool32-        type FieldOptional-               "shaderStorageTexelBufferArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderStorageTexelBufferArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageTexelBufferArrayNonUniformIndexing}-        type FieldIsArray "shaderStorageTexelBufferArrayNonUniformIndexing"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageTexelBufferArrayNonUniformIndexing}--instance {-# OVERLAPPING #-}-         CanReadField "shaderStorageTexelBufferArrayNonUniformIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageTexelBufferArrayNonUniformIndexing})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageTexelBufferArrayNonUniformIndexing}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderStorageTexelBufferArrayNonUniformIndexing"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageTexelBufferArrayNonUniformIndexing}--instance {-# OVERLAPPING #-}-         HasField "descriptorBindingUniformBufferUpdateAfterBind"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        type FieldType "descriptorBindingUniformBufferUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = VkBool32-        type FieldOptional "descriptorBindingUniformBufferUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "descriptorBindingUniformBufferUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUniformBufferUpdateAfterBind}-        type FieldIsArray "descriptorBindingUniformBufferUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUniformBufferUpdateAfterBind}--instance {-# OVERLAPPING #-}-         CanReadField "descriptorBindingUniformBufferUpdateAfterBind"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUniformBufferUpdateAfterBind})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUniformBufferUpdateAfterBind}--instance {-# OVERLAPPING #-}-         CanWriteField "descriptorBindingUniformBufferUpdateAfterBind"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUniformBufferUpdateAfterBind}--instance {-# OVERLAPPING #-}-         HasField "descriptorBindingSampledImageUpdateAfterBind"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        type FieldType "descriptorBindingSampledImageUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = VkBool32-        type FieldOptional "descriptorBindingSampledImageUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "descriptorBindingSampledImageUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingSampledImageUpdateAfterBind}-        type FieldIsArray "descriptorBindingSampledImageUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingSampledImageUpdateAfterBind}--instance {-# OVERLAPPING #-}-         CanReadField "descriptorBindingSampledImageUpdateAfterBind"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingSampledImageUpdateAfterBind})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingSampledImageUpdateAfterBind}--instance {-# OVERLAPPING #-}-         CanWriteField "descriptorBindingSampledImageUpdateAfterBind"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingSampledImageUpdateAfterBind}--instance {-# OVERLAPPING #-}-         HasField "descriptorBindingStorageImageUpdateAfterBind"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        type FieldType "descriptorBindingStorageImageUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = VkBool32-        type FieldOptional "descriptorBindingStorageImageUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "descriptorBindingStorageImageUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageImageUpdateAfterBind}-        type FieldIsArray "descriptorBindingStorageImageUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageImageUpdateAfterBind}--instance {-# OVERLAPPING #-}-         CanReadField "descriptorBindingStorageImageUpdateAfterBind"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageImageUpdateAfterBind})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageImageUpdateAfterBind}--instance {-# OVERLAPPING #-}-         CanWriteField "descriptorBindingStorageImageUpdateAfterBind"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageImageUpdateAfterBind}--instance {-# OVERLAPPING #-}-         HasField "descriptorBindingStorageBufferUpdateAfterBind"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        type FieldType "descriptorBindingStorageBufferUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = VkBool32-        type FieldOptional "descriptorBindingStorageBufferUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "descriptorBindingStorageBufferUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageBufferUpdateAfterBind}-        type FieldIsArray "descriptorBindingStorageBufferUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageBufferUpdateAfterBind}--instance {-# OVERLAPPING #-}-         CanReadField "descriptorBindingStorageBufferUpdateAfterBind"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageBufferUpdateAfterBind})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageBufferUpdateAfterBind}--instance {-# OVERLAPPING #-}-         CanWriteField "descriptorBindingStorageBufferUpdateAfterBind"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageBufferUpdateAfterBind}--instance {-# OVERLAPPING #-}-         HasField "descriptorBindingUniformTexelBufferUpdateAfterBind"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        type FieldType "descriptorBindingUniformTexelBufferUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = VkBool32-        type FieldOptional-               "descriptorBindingUniformTexelBufferUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset-               "descriptorBindingUniformTexelBufferUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUniformTexelBufferUpdateAfterBind}-        type FieldIsArray-               "descriptorBindingUniformTexelBufferUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUniformTexelBufferUpdateAfterBind}--instance {-# OVERLAPPING #-}-         CanReadField "descriptorBindingUniformTexelBufferUpdateAfterBind"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUniformTexelBufferUpdateAfterBind})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUniformTexelBufferUpdateAfterBind}--instance {-# OVERLAPPING #-}-         CanWriteField "descriptorBindingUniformTexelBufferUpdateAfterBind"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUniformTexelBufferUpdateAfterBind}--instance {-# OVERLAPPING #-}-         HasField "descriptorBindingStorageTexelBufferUpdateAfterBind"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        type FieldType "descriptorBindingStorageTexelBufferUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = VkBool32-        type FieldOptional-               "descriptorBindingStorageTexelBufferUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset-               "descriptorBindingStorageTexelBufferUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageTexelBufferUpdateAfterBind}-        type FieldIsArray-               "descriptorBindingStorageTexelBufferUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageTexelBufferUpdateAfterBind}--instance {-# OVERLAPPING #-}-         CanReadField "descriptorBindingStorageTexelBufferUpdateAfterBind"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageTexelBufferUpdateAfterBind})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageTexelBufferUpdateAfterBind}--instance {-# OVERLAPPING #-}-         CanWriteField "descriptorBindingStorageTexelBufferUpdateAfterBind"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageTexelBufferUpdateAfterBind}--instance {-# OVERLAPPING #-}-         HasField "descriptorBindingUpdateUnusedWhilePending"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        type FieldType "descriptorBindingUpdateUnusedWhilePending"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = VkBool32-        type FieldOptional "descriptorBindingUpdateUnusedWhilePending"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "descriptorBindingUpdateUnusedWhilePending"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUpdateUnusedWhilePending}-        type FieldIsArray "descriptorBindingUpdateUnusedWhilePending"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUpdateUnusedWhilePending}--instance {-# OVERLAPPING #-}-         CanReadField "descriptorBindingUpdateUnusedWhilePending"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUpdateUnusedWhilePending})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUpdateUnusedWhilePending}--instance {-# OVERLAPPING #-}-         CanWriteField "descriptorBindingUpdateUnusedWhilePending"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUpdateUnusedWhilePending}--instance {-# OVERLAPPING #-}-         HasField "descriptorBindingPartiallyBound"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        type FieldType "descriptorBindingPartiallyBound"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = VkBool32-        type FieldOptional "descriptorBindingPartiallyBound"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "descriptorBindingPartiallyBound"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingPartiallyBound}-        type FieldIsArray "descriptorBindingPartiallyBound"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingPartiallyBound}--instance {-# OVERLAPPING #-}-         CanReadField "descriptorBindingPartiallyBound"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingPartiallyBound})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingPartiallyBound}--instance {-# OVERLAPPING #-}-         CanWriteField "descriptorBindingPartiallyBound"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingPartiallyBound}--instance {-# OVERLAPPING #-}-         HasField "descriptorBindingVariableDescriptorCount"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        type FieldType "descriptorBindingVariableDescriptorCount"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = VkBool32-        type FieldOptional "descriptorBindingVariableDescriptorCount"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "descriptorBindingVariableDescriptorCount"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingVariableDescriptorCount}-        type FieldIsArray "descriptorBindingVariableDescriptorCount"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingVariableDescriptorCount}--instance {-# OVERLAPPING #-}-         CanReadField "descriptorBindingVariableDescriptorCount"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingVariableDescriptorCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingVariableDescriptorCount}--instance {-# OVERLAPPING #-}-         CanWriteField "descriptorBindingVariableDescriptorCount"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingVariableDescriptorCount}--instance {-# OVERLAPPING #-}-         HasField "runtimeDescriptorArray"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        type FieldType "runtimeDescriptorArray"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = VkBool32-        type FieldOptional "runtimeDescriptorArray"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "runtimeDescriptorArray"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, runtimeDescriptorArray}-        type FieldIsArray "runtimeDescriptorArray"-               VkPhysicalDeviceDescriptorIndexingFeaturesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, runtimeDescriptorArray}--instance {-# OVERLAPPING #-}-         CanReadField "runtimeDescriptorArray"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, runtimeDescriptorArray})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, runtimeDescriptorArray}--instance {-# OVERLAPPING #-}-         CanWriteField "runtimeDescriptorArray"-           VkPhysicalDeviceDescriptorIndexingFeaturesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, runtimeDescriptorArray}--instance Show VkPhysicalDeviceDescriptorIndexingFeaturesEXT where-        showsPrec d x-          = showString "VkPhysicalDeviceDescriptorIndexingFeaturesEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "shaderInputAttachmentArrayDynamicIndexing = " .-                            showsPrec d-                              (getField @"shaderInputAttachmentArrayDynamicIndexing" x)-                              .-                              showString ", " .-                                showString "shaderUniformTexelBufferArrayDynamicIndexing = " .-                                  showsPrec d-                                    (getField @"shaderUniformTexelBufferArrayDynamicIndexing" x)-                                    .-                                    showString ", " .-                                      showString "shaderStorageTexelBufferArrayDynamicIndexing = " .-                                        showsPrec d-                                          (getField @"shaderStorageTexelBufferArrayDynamicIndexing"-                                             x)-                                          .-                                          showString ", " .-                                            showString-                                              "shaderUniformBufferArrayNonUniformIndexing = "-                                              .-                                              showsPrec d-                                                (getField-                                                   @"shaderUniformBufferArrayNonUniformIndexing"-                                                   x)-                                                .-                                                showString ", " .-                                                  showString-                                                    "shaderSampledImageArrayNonUniformIndexing = "-                                                    .-                                                    showsPrec d-                                                      (getField-                                                         @"shaderSampledImageArrayNonUniformIndexing"-                                                         x)-                                                      .-                                                      showString ", " .-                                                        showString-                                                          "shaderStorageBufferArrayNonUniformIndexing = "-                                                          .-                                                          showsPrec d-                                                            (getField-                                                               @"shaderStorageBufferArrayNonUniformIndexing"-                                                               x)-                                                            .-                                                            showString ", " .-                                                              showString-                                                                "shaderStorageImageArrayNonUniformIndexing = "-                                                                .-                                                                showsPrec d-                                                                  (getField-                                                                     @"shaderStorageImageArrayNonUniformIndexing"-                                                                     x)-                                                                  .-                                                                  showString ", " .-                                                                    showString-                                                                      "shaderInputAttachmentArrayNonUniformIndexing = "-                                                                      .-                                                                      showsPrec d-                                                                        (getField-                                                                           @"shaderInputAttachmentArrayNonUniformIndexing"-                                                                           x)-                                                                        .-                                                                        showString ", " .-                                                                          showString-                                                                            "shaderUniformTexelBufferArrayNonUniformIndexing = "-                                                                            .-                                                                            showsPrec d-                                                                              (getField-                                                                                 @"shaderUniformTexelBufferArrayNonUniformIndexing"-                                                                                 x)-                                                                              .-                                                                              showString ", " .-                                                                                showString-                                                                                  "shaderStorageTexelBufferArrayNonUniformIndexing = "-                                                                                  .-                                                                                  showsPrec d-                                                                                    (getField-                                                                                       @"shaderStorageTexelBufferArrayNonUniformIndexing"-                                                                                       x)-                                                                                    .-                                                                                    showString ", "-                                                                                      .-                                                                                      showString-                                                                                        "descriptorBindingUniformBufferUpdateAfterBind = "-                                                                                        .-                                                                                        showsPrec d-                                                                                          (getField-                                                                                             @"descriptorBindingUniformBufferUpdateAfterBind"-                                                                                             x)-                                                                                          .-                                                                                          showString-                                                                                            ", "-                                                                                            .-                                                                                            showString-                                                                                              "descriptorBindingSampledImageUpdateAfterBind = "-                                                                                              .-                                                                                              showsPrec-                                                                                                d-                                                                                                (getField-                                                                                                   @"descriptorBindingSampledImageUpdateAfterBind"-                                                                                                   x)-                                                                                                .-                                                                                                showString-                                                                                                  ", "-                                                                                                  .-                                                                                                  showString-                                                                                                    "descriptorBindingStorageImageUpdateAfterBind = "-                                                                                                    .-                                                                                                    showsPrec-                                                                                                      d-                                                                                                      (getField-                                                                                                         @"descriptorBindingStorageImageUpdateAfterBind"-                                                                                                         x)-                                                                                                      .-                                                                                                      showString-                                                                                                        ", "-                                                                                                        .-                                                                                                        showString-                                                                                                          "descriptorBindingStorageBufferUpdateAfterBind = "-                                                                                                          .-                                                                                                          showsPrec-                                                                                                            d-                                                                                                            (getField-                                                                                                               @"descriptorBindingStorageBufferUpdateAfterBind"-                                                                                                               x)-                                                                                                            .-                                                                                                            showString-                                                                                                              ", "-                                                                                                              .-                                                                                                              showString-                                                                                                                "descriptorBindingUniformTexelBufferUpdateAfterBind = "-                                                                                                                .-                                                                                                                showsPrec-                                                                                                                  d-                                                                                                                  (getField-                                                                                                                     @"descriptorBindingUniformTexelBufferUpdateAfterBind"-                                                                                                                     x)-                                                                                                                  .-                                                                                                                  showString-                                                                                                                    ", "-                                                                                                                    .-                                                                                                                    showString-                                                                                                                      "descriptorBindingStorageTexelBufferUpdateAfterBind = "-                                                                                                                      .-                                                                                                                      showsPrec-                                                                                                                        d-                                                                                                                        (getField-                                                                                                                           @"descriptorBindingStorageTexelBufferUpdateAfterBind"-                                                                                                                           x)-                                                                                                                        .-                                                                                                                        showString-                                                                                                                          ", "-                                                                                                                          .-                                                                                                                          showString-                                                                                                                            "descriptorBindingUpdateUnusedWhilePending = "-                                                                                                                            .-                                                                                                                            showsPrec-                                                                                                                              d-                                                                                                                              (getField-                                                                                                                                 @"descriptorBindingUpdateUnusedWhilePending"-                                                                                                                                 x)-                                                                                                                              .-                                                                                                                              showString-                                                                                                                                ", "-                                                                                                                                .-                                                                                                                                showString-                                                                                                                                  "descriptorBindingPartiallyBound = "-                                                                                                                                  .-                                                                                                                                  showsPrec-                                                                                                                                    d-                                                                                                                                    (getField-                                                                                                                                       @"descriptorBindingPartiallyBound"-                                                                                                                                       x)-                                                                                                                                    .-                                                                                                                                    showString-                                                                                                                                      ", "-                                                                                                                                      .-                                                                                                                                      showString-                                                                                                                                        "descriptorBindingVariableDescriptorCount = "-                                                                                                                                        .-                                                                                                                                        showsPrec-                                                                                                                                          d-                                                                                                                                          (getField-                                                                                                                                             @"descriptorBindingVariableDescriptorCount"-                                                                                                                                             x)-                                                                                                                                          .-                                                                                                                                          showString-                                                                                                                                            ", "-                                                                                                                                            .-                                                                                                                                            showString-                                                                                                                                              "runtimeDescriptorArray = "-                                                                                                                                              .-                                                                                                                                              showsPrec-                                                                                                                                                d-                                                                                                                                                (getField-                                                                                                                                                   @"runtimeDescriptorArray"-                                                                                                                                                   x)-                                                                                                                                                .-                                                                                                                                                showChar-                                                                                                                                                  '}'---- | > typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     uint32_t               maxUpdateAfterBindDescriptorsInAllPools;---   >     VkBool32               shaderUniformBufferArrayNonUniformIndexingNative;---   >     VkBool32               shaderSampledImageArrayNonUniformIndexingNative;---   >     VkBool32               shaderStorageBufferArrayNonUniformIndexingNative;---   >     VkBool32               shaderStorageImageArrayNonUniformIndexingNative;---   >     VkBool32               shaderInputAttachmentArrayNonUniformIndexingNative;---   >     VkBool32               robustBufferAccessUpdateAfterBind;---   >     VkBool32               quadDivergentImplicitLod;---   >     uint32_t               maxPerStageDescriptorUpdateAfterBindSamplers;---   >     uint32_t               maxPerStageDescriptorUpdateAfterBindUniformBuffers;---   >     uint32_t               maxPerStageDescriptorUpdateAfterBindStorageBuffers;---   >     uint32_t               maxPerStageDescriptorUpdateAfterBindSampledImages;---   >     uint32_t               maxPerStageDescriptorUpdateAfterBindStorageImages;---   >     uint32_t               maxPerStageDescriptorUpdateAfterBindInputAttachments;---   >     uint32_t               maxPerStageUpdateAfterBindResources;---   >     uint32_t               maxDescriptorSetUpdateAfterBindSamplers;---   >     uint32_t               maxDescriptorSetUpdateAfterBindUniformBuffers;---   >     uint32_t               maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;---   >     uint32_t               maxDescriptorSetUpdateAfterBindStorageBuffers;---   >     uint32_t               maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;---   >     uint32_t               maxDescriptorSetUpdateAfterBindSampledImages;---   >     uint32_t               maxDescriptorSetUpdateAfterBindStorageImages;---   >     uint32_t               maxDescriptorSetUpdateAfterBindInputAttachments;---   > } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at www.khronos.org>-type VkPhysicalDeviceDescriptorIndexingPropertiesEXT =-     VulkanStruct VkPhysicalDeviceDescriptorIndexingPropertiesEXT' -- ' closing tick for hsc2hs--data VkPhysicalDeviceDescriptorIndexingPropertiesEXT' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceDescriptorIndexingPropertiesEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceDescriptorIndexingPropertiesEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        sizeOf ~_-          = #{size VkPhysicalDeviceDescriptorIndexingPropertiesEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceDescriptorIndexingPropertiesEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        type StructFields VkPhysicalDeviceDescriptorIndexingPropertiesEXT =-             '["sType", "pNext", "maxUpdateAfterBindDescriptorsInAllPools", -- ' closing tick for hsc2hs-               "shaderUniformBufferArrayNonUniformIndexingNative",-               "shaderSampledImageArrayNonUniformIndexingNative",-               "shaderStorageBufferArrayNonUniformIndexingNative",-               "shaderStorageImageArrayNonUniformIndexingNative",-               "shaderInputAttachmentArrayNonUniformIndexingNative",-               "robustBufferAccessUpdateAfterBind", "quadDivergentImplicitLod",-               "maxPerStageDescriptorUpdateAfterBindSamplers",-               "maxPerStageDescriptorUpdateAfterBindUniformBuffers",-               "maxPerStageDescriptorUpdateAfterBindStorageBuffers",-               "maxPerStageDescriptorUpdateAfterBindSampledImages",-               "maxPerStageDescriptorUpdateAfterBindStorageImages",-               "maxPerStageDescriptorUpdateAfterBindInputAttachments",-               "maxPerStageUpdateAfterBindResources",-               "maxDescriptorSetUpdateAfterBindSamplers",-               "maxDescriptorSetUpdateAfterBindUniformBuffers",-               "maxDescriptorSetUpdateAfterBindUniformBuffersDynamic",-               "maxDescriptorSetUpdateAfterBindStorageBuffers",-               "maxDescriptorSetUpdateAfterBindStorageBuffersDynamic",-               "maxDescriptorSetUpdateAfterBindSampledImages",-               "maxDescriptorSetUpdateAfterBindStorageImages",-               "maxDescriptorSetUpdateAfterBindInputAttachments"]-        type CUnionType VkPhysicalDeviceDescriptorIndexingPropertiesEXT =-             'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceDescriptorIndexingPropertiesEXT =-             'True -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        type FieldType "sType"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = VkStructureType-        type FieldOptional "sType"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, sType}-        type FieldIsArray "sType"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        type FieldType "pNext"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = Ptr Void-        type FieldOptional "pNext"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, pNext}-        type FieldIsArray "pNext"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "maxUpdateAfterBindDescriptorsInAllPools"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        type FieldType "maxUpdateAfterBindDescriptorsInAllPools"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = Word32-        type FieldOptional "maxUpdateAfterBindDescriptorsInAllPools"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxUpdateAfterBindDescriptorsInAllPools"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxUpdateAfterBindDescriptorsInAllPools}-        type FieldIsArray "maxUpdateAfterBindDescriptorsInAllPools"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxUpdateAfterBindDescriptorsInAllPools}--instance {-# OVERLAPPING #-}-         CanReadField "maxUpdateAfterBindDescriptorsInAllPools"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxUpdateAfterBindDescriptorsInAllPools})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxUpdateAfterBindDescriptorsInAllPools}--instance {-# OVERLAPPING #-}-         CanWriteField "maxUpdateAfterBindDescriptorsInAllPools"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxUpdateAfterBindDescriptorsInAllPools}--instance {-# OVERLAPPING #-}-         HasField "shaderUniformBufferArrayNonUniformIndexingNative"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        type FieldType "shaderUniformBufferArrayNonUniformIndexingNative"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = VkBool32-        type FieldOptional-               "shaderUniformBufferArrayNonUniformIndexingNative"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderUniformBufferArrayNonUniformIndexingNative"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderUniformBufferArrayNonUniformIndexingNative}-        type FieldIsArray-               "shaderUniformBufferArrayNonUniformIndexingNative"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderUniformBufferArrayNonUniformIndexingNative}--instance {-# OVERLAPPING #-}-         CanReadField "shaderUniformBufferArrayNonUniformIndexingNative"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderUniformBufferArrayNonUniformIndexingNative})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderUniformBufferArrayNonUniformIndexingNative}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderUniformBufferArrayNonUniformIndexingNative"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderUniformBufferArrayNonUniformIndexingNative}--instance {-# OVERLAPPING #-}-         HasField "shaderSampledImageArrayNonUniformIndexingNative"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        type FieldType "shaderSampledImageArrayNonUniformIndexingNative"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = VkBool32-        type FieldOptional-               "shaderSampledImageArrayNonUniformIndexingNative"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderSampledImageArrayNonUniformIndexingNative"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderSampledImageArrayNonUniformIndexingNative}-        type FieldIsArray "shaderSampledImageArrayNonUniformIndexingNative"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderSampledImageArrayNonUniformIndexingNative}--instance {-# OVERLAPPING #-}-         CanReadField "shaderSampledImageArrayNonUniformIndexingNative"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderSampledImageArrayNonUniformIndexingNative})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderSampledImageArrayNonUniformIndexingNative}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderSampledImageArrayNonUniformIndexingNative"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderSampledImageArrayNonUniformIndexingNative}--instance {-# OVERLAPPING #-}-         HasField "shaderStorageBufferArrayNonUniformIndexingNative"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        type FieldType "shaderStorageBufferArrayNonUniformIndexingNative"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = VkBool32-        type FieldOptional-               "shaderStorageBufferArrayNonUniformIndexingNative"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderStorageBufferArrayNonUniformIndexingNative"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderStorageBufferArrayNonUniformIndexingNative}-        type FieldIsArray-               "shaderStorageBufferArrayNonUniformIndexingNative"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderStorageBufferArrayNonUniformIndexingNative}--instance {-# OVERLAPPING #-}-         CanReadField "shaderStorageBufferArrayNonUniformIndexingNative"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderStorageBufferArrayNonUniformIndexingNative})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderStorageBufferArrayNonUniformIndexingNative}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderStorageBufferArrayNonUniformIndexingNative"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderStorageBufferArrayNonUniformIndexingNative}--instance {-# OVERLAPPING #-}-         HasField "shaderStorageImageArrayNonUniformIndexingNative"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        type FieldType "shaderStorageImageArrayNonUniformIndexingNative"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = VkBool32-        type FieldOptional-               "shaderStorageImageArrayNonUniformIndexingNative"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderStorageImageArrayNonUniformIndexingNative"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderStorageImageArrayNonUniformIndexingNative}-        type FieldIsArray "shaderStorageImageArrayNonUniformIndexingNative"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderStorageImageArrayNonUniformIndexingNative}--instance {-# OVERLAPPING #-}-         CanReadField "shaderStorageImageArrayNonUniformIndexingNative"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderStorageImageArrayNonUniformIndexingNative})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderStorageImageArrayNonUniformIndexingNative}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderStorageImageArrayNonUniformIndexingNative"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderStorageImageArrayNonUniformIndexingNative}--instance {-# OVERLAPPING #-}-         HasField "shaderInputAttachmentArrayNonUniformIndexingNative"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        type FieldType "shaderInputAttachmentArrayNonUniformIndexingNative"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = VkBool32-        type FieldOptional-               "shaderInputAttachmentArrayNonUniformIndexingNative"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset-               "shaderInputAttachmentArrayNonUniformIndexingNative"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderInputAttachmentArrayNonUniformIndexingNative}-        type FieldIsArray-               "shaderInputAttachmentArrayNonUniformIndexingNative"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderInputAttachmentArrayNonUniformIndexingNative}--instance {-# OVERLAPPING #-}-         CanReadField "shaderInputAttachmentArrayNonUniformIndexingNative"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderInputAttachmentArrayNonUniformIndexingNative})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderInputAttachmentArrayNonUniformIndexingNative}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderInputAttachmentArrayNonUniformIndexingNative"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderInputAttachmentArrayNonUniformIndexingNative}--instance {-# OVERLAPPING #-}-         HasField "robustBufferAccessUpdateAfterBind"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        type FieldType "robustBufferAccessUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = VkBool32-        type FieldOptional "robustBufferAccessUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "robustBufferAccessUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, robustBufferAccessUpdateAfterBind}-        type FieldIsArray "robustBufferAccessUpdateAfterBind"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, robustBufferAccessUpdateAfterBind}--instance {-# OVERLAPPING #-}-         CanReadField "robustBufferAccessUpdateAfterBind"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, robustBufferAccessUpdateAfterBind})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, robustBufferAccessUpdateAfterBind}--instance {-# OVERLAPPING #-}-         CanWriteField "robustBufferAccessUpdateAfterBind"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, robustBufferAccessUpdateAfterBind}--instance {-# OVERLAPPING #-}-         HasField "quadDivergentImplicitLod"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        type FieldType "quadDivergentImplicitLod"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = VkBool32-        type FieldOptional "quadDivergentImplicitLod"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "quadDivergentImplicitLod"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, quadDivergentImplicitLod}-        type FieldIsArray "quadDivergentImplicitLod"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, quadDivergentImplicitLod}--instance {-# OVERLAPPING #-}-         CanReadField "quadDivergentImplicitLod"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, quadDivergentImplicitLod})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, quadDivergentImplicitLod}--instance {-# OVERLAPPING #-}-         CanWriteField "quadDivergentImplicitLod"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, quadDivergentImplicitLod}--instance {-# OVERLAPPING #-}-         HasField "maxPerStageDescriptorUpdateAfterBindSamplers"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        type FieldType "maxPerStageDescriptorUpdateAfterBindSamplers"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = Word32-        type FieldOptional "maxPerStageDescriptorUpdateAfterBindSamplers"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxPerStageDescriptorUpdateAfterBindSamplers"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindSamplers}-        type FieldIsArray "maxPerStageDescriptorUpdateAfterBindSamplers"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindSamplers}--instance {-# OVERLAPPING #-}-         CanReadField "maxPerStageDescriptorUpdateAfterBindSamplers"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindSamplers})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindSamplers}--instance {-# OVERLAPPING #-}-         CanWriteField "maxPerStageDescriptorUpdateAfterBindSamplers"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindSamplers}--instance {-# OVERLAPPING #-}-         HasField "maxPerStageDescriptorUpdateAfterBindUniformBuffers"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        type FieldType "maxPerStageDescriptorUpdateAfterBindUniformBuffers"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = Word32-        type FieldOptional-               "maxPerStageDescriptorUpdateAfterBindUniformBuffers"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset-               "maxPerStageDescriptorUpdateAfterBindUniformBuffers"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindUniformBuffers}-        type FieldIsArray-               "maxPerStageDescriptorUpdateAfterBindUniformBuffers"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindUniformBuffers}--instance {-# OVERLAPPING #-}-         CanReadField "maxPerStageDescriptorUpdateAfterBindUniformBuffers"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindUniformBuffers})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindUniformBuffers}--instance {-# OVERLAPPING #-}-         CanWriteField "maxPerStageDescriptorUpdateAfterBindUniformBuffers"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindUniformBuffers}--instance {-# OVERLAPPING #-}-         HasField "maxPerStageDescriptorUpdateAfterBindStorageBuffers"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        type FieldType "maxPerStageDescriptorUpdateAfterBindStorageBuffers"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = Word32-        type FieldOptional-               "maxPerStageDescriptorUpdateAfterBindStorageBuffers"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset-               "maxPerStageDescriptorUpdateAfterBindStorageBuffers"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindStorageBuffers}-        type FieldIsArray-               "maxPerStageDescriptorUpdateAfterBindStorageBuffers"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindStorageBuffers}--instance {-# OVERLAPPING #-}-         CanReadField "maxPerStageDescriptorUpdateAfterBindStorageBuffers"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindStorageBuffers})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindStorageBuffers}--instance {-# OVERLAPPING #-}-         CanWriteField "maxPerStageDescriptorUpdateAfterBindStorageBuffers"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindStorageBuffers}--instance {-# OVERLAPPING #-}-         HasField "maxPerStageDescriptorUpdateAfterBindSampledImages"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        type FieldType "maxPerStageDescriptorUpdateAfterBindSampledImages"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = Word32-        type FieldOptional-               "maxPerStageDescriptorUpdateAfterBindSampledImages"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset-               "maxPerStageDescriptorUpdateAfterBindSampledImages"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindSampledImages}-        type FieldIsArray-               "maxPerStageDescriptorUpdateAfterBindSampledImages"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindSampledImages}--instance {-# OVERLAPPING #-}-         CanReadField "maxPerStageDescriptorUpdateAfterBindSampledImages"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindSampledImages})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindSampledImages}--instance {-# OVERLAPPING #-}-         CanWriteField "maxPerStageDescriptorUpdateAfterBindSampledImages"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindSampledImages}--instance {-# OVERLAPPING #-}-         HasField "maxPerStageDescriptorUpdateAfterBindStorageImages"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        type FieldType "maxPerStageDescriptorUpdateAfterBindStorageImages"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = Word32-        type FieldOptional-               "maxPerStageDescriptorUpdateAfterBindStorageImages"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset-               "maxPerStageDescriptorUpdateAfterBindStorageImages"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindStorageImages}-        type FieldIsArray-               "maxPerStageDescriptorUpdateAfterBindStorageImages"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindStorageImages}--instance {-# OVERLAPPING #-}-         CanReadField "maxPerStageDescriptorUpdateAfterBindStorageImages"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindStorageImages})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindStorageImages}--instance {-# OVERLAPPING #-}-         CanWriteField "maxPerStageDescriptorUpdateAfterBindStorageImages"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindStorageImages}--instance {-# OVERLAPPING #-}-         HasField "maxPerStageDescriptorUpdateAfterBindInputAttachments"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        type FieldType-               "maxPerStageDescriptorUpdateAfterBindInputAttachments"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = Word32-        type FieldOptional-               "maxPerStageDescriptorUpdateAfterBindInputAttachments"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset-               "maxPerStageDescriptorUpdateAfterBindInputAttachments"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindInputAttachments}-        type FieldIsArray-               "maxPerStageDescriptorUpdateAfterBindInputAttachments"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindInputAttachments}--instance {-# OVERLAPPING #-}-         CanReadField "maxPerStageDescriptorUpdateAfterBindInputAttachments"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindInputAttachments})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindInputAttachments}--instance {-# OVERLAPPING #-}-         CanWriteField-           "maxPerStageDescriptorUpdateAfterBindInputAttachments"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindInputAttachments}--instance {-# OVERLAPPING #-}-         HasField "maxPerStageUpdateAfterBindResources"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        type FieldType "maxPerStageUpdateAfterBindResources"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = Word32-        type FieldOptional "maxPerStageUpdateAfterBindResources"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxPerStageUpdateAfterBindResources"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageUpdateAfterBindResources}-        type FieldIsArray "maxPerStageUpdateAfterBindResources"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageUpdateAfterBindResources}--instance {-# OVERLAPPING #-}-         CanReadField "maxPerStageUpdateAfterBindResources"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageUpdateAfterBindResources})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageUpdateAfterBindResources}--instance {-# OVERLAPPING #-}-         CanWriteField "maxPerStageUpdateAfterBindResources"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageUpdateAfterBindResources}--instance {-# OVERLAPPING #-}-         HasField "maxDescriptorSetUpdateAfterBindSamplers"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        type FieldType "maxDescriptorSetUpdateAfterBindSamplers"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = Word32-        type FieldOptional "maxDescriptorSetUpdateAfterBindSamplers"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxDescriptorSetUpdateAfterBindSamplers"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindSamplers}-        type FieldIsArray "maxDescriptorSetUpdateAfterBindSamplers"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindSamplers}--instance {-# OVERLAPPING #-}-         CanReadField "maxDescriptorSetUpdateAfterBindSamplers"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindSamplers})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindSamplers}--instance {-# OVERLAPPING #-}-         CanWriteField "maxDescriptorSetUpdateAfterBindSamplers"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindSamplers}--instance {-# OVERLAPPING #-}-         HasField "maxDescriptorSetUpdateAfterBindUniformBuffers"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        type FieldType "maxDescriptorSetUpdateAfterBindUniformBuffers"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = Word32-        type FieldOptional "maxDescriptorSetUpdateAfterBindUniformBuffers"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxDescriptorSetUpdateAfterBindUniformBuffers"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindUniformBuffers}-        type FieldIsArray "maxDescriptorSetUpdateAfterBindUniformBuffers"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindUniformBuffers}--instance {-# OVERLAPPING #-}-         CanReadField "maxDescriptorSetUpdateAfterBindUniformBuffers"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindUniformBuffers})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindUniformBuffers}--instance {-# OVERLAPPING #-}-         CanWriteField "maxDescriptorSetUpdateAfterBindUniformBuffers"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindUniformBuffers}--instance {-# OVERLAPPING #-}-         HasField "maxDescriptorSetUpdateAfterBindUniformBuffersDynamic"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        type FieldType-               "maxDescriptorSetUpdateAfterBindUniformBuffersDynamic"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = Word32-        type FieldOptional-               "maxDescriptorSetUpdateAfterBindUniformBuffersDynamic"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset-               "maxDescriptorSetUpdateAfterBindUniformBuffersDynamic"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindUniformBuffersDynamic}-        type FieldIsArray-               "maxDescriptorSetUpdateAfterBindUniformBuffersDynamic"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindUniformBuffersDynamic}--instance {-# OVERLAPPING #-}-         CanReadField "maxDescriptorSetUpdateAfterBindUniformBuffersDynamic"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindUniformBuffersDynamic})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindUniformBuffersDynamic}--instance {-# OVERLAPPING #-}-         CanWriteField-           "maxDescriptorSetUpdateAfterBindUniformBuffersDynamic"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindUniformBuffersDynamic}--instance {-# OVERLAPPING #-}-         HasField "maxDescriptorSetUpdateAfterBindStorageBuffers"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        type FieldType "maxDescriptorSetUpdateAfterBindStorageBuffers"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = Word32-        type FieldOptional "maxDescriptorSetUpdateAfterBindStorageBuffers"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxDescriptorSetUpdateAfterBindStorageBuffers"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageBuffers}-        type FieldIsArray "maxDescriptorSetUpdateAfterBindStorageBuffers"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageBuffers}--instance {-# OVERLAPPING #-}-         CanReadField "maxDescriptorSetUpdateAfterBindStorageBuffers"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageBuffers})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageBuffers}--instance {-# OVERLAPPING #-}-         CanWriteField "maxDescriptorSetUpdateAfterBindStorageBuffers"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageBuffers}--instance {-# OVERLAPPING #-}-         HasField "maxDescriptorSetUpdateAfterBindStorageBuffersDynamic"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        type FieldType-               "maxDescriptorSetUpdateAfterBindStorageBuffersDynamic"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = Word32-        type FieldOptional-               "maxDescriptorSetUpdateAfterBindStorageBuffersDynamic"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset-               "maxDescriptorSetUpdateAfterBindStorageBuffersDynamic"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageBuffersDynamic}-        type FieldIsArray-               "maxDescriptorSetUpdateAfterBindStorageBuffersDynamic"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageBuffersDynamic}--instance {-# OVERLAPPING #-}-         CanReadField "maxDescriptorSetUpdateAfterBindStorageBuffersDynamic"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageBuffersDynamic})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageBuffersDynamic}--instance {-# OVERLAPPING #-}-         CanWriteField-           "maxDescriptorSetUpdateAfterBindStorageBuffersDynamic"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageBuffersDynamic}--instance {-# OVERLAPPING #-}-         HasField "maxDescriptorSetUpdateAfterBindSampledImages"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        type FieldType "maxDescriptorSetUpdateAfterBindSampledImages"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = Word32-        type FieldOptional "maxDescriptorSetUpdateAfterBindSampledImages"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxDescriptorSetUpdateAfterBindSampledImages"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindSampledImages}-        type FieldIsArray "maxDescriptorSetUpdateAfterBindSampledImages"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindSampledImages}--instance {-# OVERLAPPING #-}-         CanReadField "maxDescriptorSetUpdateAfterBindSampledImages"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindSampledImages})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindSampledImages}--instance {-# OVERLAPPING #-}-         CanWriteField "maxDescriptorSetUpdateAfterBindSampledImages"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindSampledImages}--instance {-# OVERLAPPING #-}-         HasField "maxDescriptorSetUpdateAfterBindStorageImages"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        type FieldType "maxDescriptorSetUpdateAfterBindStorageImages"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = Word32-        type FieldOptional "maxDescriptorSetUpdateAfterBindStorageImages"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxDescriptorSetUpdateAfterBindStorageImages"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageImages}-        type FieldIsArray "maxDescriptorSetUpdateAfterBindStorageImages"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageImages}--instance {-# OVERLAPPING #-}-         CanReadField "maxDescriptorSetUpdateAfterBindStorageImages"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageImages})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageImages}--instance {-# OVERLAPPING #-}-         CanWriteField "maxDescriptorSetUpdateAfterBindStorageImages"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageImages}--instance {-# OVERLAPPING #-}-         HasField "maxDescriptorSetUpdateAfterBindInputAttachments"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        type FieldType "maxDescriptorSetUpdateAfterBindInputAttachments"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = Word32-        type FieldOptional-               "maxDescriptorSetUpdateAfterBindInputAttachments"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxDescriptorSetUpdateAfterBindInputAttachments"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             =-             #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindInputAttachments}-        type FieldIsArray "maxDescriptorSetUpdateAfterBindInputAttachments"-               VkPhysicalDeviceDescriptorIndexingPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindInputAttachments}--instance {-# OVERLAPPING #-}-         CanReadField "maxDescriptorSetUpdateAfterBindInputAttachments"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindInputAttachments})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindInputAttachments}--instance {-# OVERLAPPING #-}-         CanWriteField "maxDescriptorSetUpdateAfterBindInputAttachments"-           VkPhysicalDeviceDescriptorIndexingPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindInputAttachments}--instance Show VkPhysicalDeviceDescriptorIndexingPropertiesEXT where-        showsPrec d x-          = showString "VkPhysicalDeviceDescriptorIndexingPropertiesEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "maxUpdateAfterBindDescriptorsInAllPools = " .-                            showsPrec d (getField @"maxUpdateAfterBindDescriptorsInAllPools" x)-                              .-                              showString ", " .-                                showString "shaderUniformBufferArrayNonUniformIndexingNative = " .-                                  showsPrec d-                                    (getField @"shaderUniformBufferArrayNonUniformIndexingNative" x)-                                    .-                                    showString ", " .-                                      showString-                                        "shaderSampledImageArrayNonUniformIndexingNative = "-                                        .-                                        showsPrec d-                                          (getField-                                             @"shaderSampledImageArrayNonUniformIndexingNative"-                                             x)-                                          .-                                          showString ", " .-                                            showString-                                              "shaderStorageBufferArrayNonUniformIndexingNative = "-                                              .-                                              showsPrec d-                                                (getField-                                                   @"shaderStorageBufferArrayNonUniformIndexingNative"-                                                   x)-                                                .-                                                showString ", " .-                                                  showString-                                                    "shaderStorageImageArrayNonUniformIndexingNative = "-                                                    .-                                                    showsPrec d-                                                      (getField-                                                         @"shaderStorageImageArrayNonUniformIndexingNative"-                                                         x)-                                                      .-                                                      showString ", " .-                                                        showString-                                                          "shaderInputAttachmentArrayNonUniformIndexingNative = "-                                                          .-                                                          showsPrec d-                                                            (getField-                                                               @"shaderInputAttachmentArrayNonUniformIndexingNative"-                                                               x)-                                                            .-                                                            showString ", " .-                                                              showString-                                                                "robustBufferAccessUpdateAfterBind = "-                                                                .-                                                                showsPrec d-                                                                  (getField-                                                                     @"robustBufferAccessUpdateAfterBind"-                                                                     x)-                                                                  .-                                                                  showString ", " .-                                                                    showString-                                                                      "quadDivergentImplicitLod = "-                                                                      .-                                                                      showsPrec d-                                                                        (getField-                                                                           @"quadDivergentImplicitLod"-                                                                           x)-                                                                        .-                                                                        showString ", " .-                                                                          showString-                                                                            "maxPerStageDescriptorUpdateAfterBindSamplers = "-                                                                            .-                                                                            showsPrec d-                                                                              (getField-                                                                                 @"maxPerStageDescriptorUpdateAfterBindSamplers"-                                                                                 x)-                                                                              .-                                                                              showString ", " .-                                                                                showString-                                                                                  "maxPerStageDescriptorUpdateAfterBindUniformBuffers = "-                                                                                  .-                                                                                  showsPrec d-                                                                                    (getField-                                                                                       @"maxPerStageDescriptorUpdateAfterBindUniformBuffers"-                                                                                       x)-                                                                                    .-                                                                                    showString ", "-                                                                                      .-                                                                                      showString-                                                                                        "maxPerStageDescriptorUpdateAfterBindStorageBuffers = "-                                                                                        .-                                                                                        showsPrec d-                                                                                          (getField-                                                                                             @"maxPerStageDescriptorUpdateAfterBindStorageBuffers"-                                                                                             x)-                                                                                          .-                                                                                          showString-                                                                                            ", "-                                                                                            .-                                                                                            showString-                                                                                              "maxPerStageDescriptorUpdateAfterBindSampledImages = "-                                                                                              .-                                                                                              showsPrec-                                                                                                d-                                                                                                (getField-                                                                                                   @"maxPerStageDescriptorUpdateAfterBindSampledImages"-                                                                                                   x)-                                                                                                .-                                                                                                showString-                                                                                                  ", "-                                                                                                  .-                                                                                                  showString-                                                                                                    "maxPerStageDescriptorUpdateAfterBindStorageImages = "-                                                                                                    .-                                                                                                    showsPrec-                                                                                                      d-                                                                                                      (getField-                                                                                                         @"maxPerStageDescriptorUpdateAfterBindStorageImages"-                                                                                                         x)-                                                                                                      .-                                                                                                      showString-                                                                                                        ", "-                                                                                                        .-                                                                                                        showString-                                                                                                          "maxPerStageDescriptorUpdateAfterBindInputAttachments = "-                                                                                                          .-                                                                                                          showsPrec-                                                                                                            d-                                                                                                            (getField-                                                                                                               @"maxPerStageDescriptorUpdateAfterBindInputAttachments"-                                                                                                               x)-                                                                                                            .-                                                                                                            showString-                                                                                                              ", "-                                                                                                              .-                                                                                                              showString-                                                                                                                "maxPerStageUpdateAfterBindResources = "-                                                                                                                .-                                                                                                                showsPrec-                                                                                                                  d-                                                                                                                  (getField-                                                                                                                     @"maxPerStageUpdateAfterBindResources"-                                                                                                                     x)-                                                                                                                  .-                                                                                                                  showString-                                                                                                                    ", "-                                                                                                                    .-                                                                                                                    showString-                                                                                                                      "maxDescriptorSetUpdateAfterBindSamplers = "-                                                                                                                      .-                                                                                                                      showsPrec-                                                                                                                        d-                                                                                                                        (getField-                                                                                                                           @"maxDescriptorSetUpdateAfterBindSamplers"-                                                                                                                           x)-                                                                                                                        .-                                                                                                                        showString-                                                                                                                          ", "-                                                                                                                          .-                                                                                                                          showString-                                                                                                                            "maxDescriptorSetUpdateAfterBindUniformBuffers = "-                                                                                                                            .-                                                                                                                            showsPrec-                                                                                                                              d-                                                                                                                              (getField-                                                                                                                                 @"maxDescriptorSetUpdateAfterBindUniformBuffers"-                                                                                                                                 x)-                                                                                                                              .-                                                                                                                              showString-                                                                                                                                ", "-                                                                                                                                .-                                                                                                                                showString-                                                                                                                                  "maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = "-                                                                                                                                  .-                                                                                                                                  showsPrec-                                                                                                                                    d-                                                                                                                                    (getField-                                                                                                                                       @"maxDescriptorSetUpdateAfterBindUniformBuffersDynamic"-                                                                                                                                       x)-                                                                                                                                    .-                                                                                                                                    showString-                                                                                                                                      ", "-                                                                                                                                      .-                                                                                                                                      showString-                                                                                                                                        "maxDescriptorSetUpdateAfterBindStorageBuffers = "-                                                                                                                                        .-                                                                                                                                        showsPrec-                                                                                                                                          d-                                                                                                                                          (getField-                                                                                                                                             @"maxDescriptorSetUpdateAfterBindStorageBuffers"-                                                                                                                                             x)-                                                                                                                                          .-                                                                                                                                          showString-                                                                                                                                            ", "-                                                                                                                                            .-                                                                                                                                            showString-                                                                                                                                              "maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = "-                                                                                                                                              .-                                                                                                                                              showsPrec-                                                                                                                                                d-                                                                                                                                                (getField-                                                                                                                                                   @"maxDescriptorSetUpdateAfterBindStorageBuffersDynamic"-                                                                                                                                                   x)-                                                                                                                                                .-                                                                                                                                                showString-                                                                                                                                                  ", "-                                                                                                                                                  .-                                                                                                                                                  showString-                                                                                                                                                    "maxDescriptorSetUpdateAfterBindSampledImages = "-                                                                                                                                                    .-                                                                                                                                                    showsPrec-                                                                                                                                                      d-                                                                                                                                                      (getField-                                                                                                                                                         @"maxDescriptorSetUpdateAfterBindSampledImages"-                                                                                                                                                         x)-                                                                                                                                                      .-                                                                                                                                                      showString-                                                                                                                                                        ", "-                                                                                                                                                        .-                                                                                                                                                        showString-                                                                                                                                                          "maxDescriptorSetUpdateAfterBindStorageImages = "-                                                                                                                                                          .-                                                                                                                                                          showsPrec-                                                                                                                                                            d-                                                                                                                                                            (getField-                                                                                                                                                               @"maxDescriptorSetUpdateAfterBindStorageImages"-                                                                                                                                                               x)-                                                                                                                                                            .-                                                                                                                                                            showString-                                                                                                                                                              ", "-                                                                                                                                                              .-                                                                                                                                                              showString-                                                                                                                                                                "maxDescriptorSetUpdateAfterBindInputAttachments = "-                                                                                                                                                                .-                                                                                                                                                                showsPrec-                                                                                                                                                                  d-                                                                                                                                                                  (getField-                                                                                                                                                                     @"maxDescriptorSetUpdateAfterBindInputAttachments"-                                                                                                                                                                     x)-                                                                                                                                                                  .-                                                                                                                                                                  showChar-                                                                                                                                                                    '}'---- | > typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {---   >     VkStructureType sType;---   >     void*                  pNext;---   >     uint32_t               maxDiscardRectangles;---   > } VkPhysicalDeviceDiscardRectanglePropertiesEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at www.khronos.org>-type VkPhysicalDeviceDiscardRectanglePropertiesEXT =-     VulkanStruct VkPhysicalDeviceDiscardRectanglePropertiesEXT' -- ' closing tick for hsc2hs--data VkPhysicalDeviceDiscardRectanglePropertiesEXT' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceDiscardRectanglePropertiesEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceDiscardRectanglePropertiesEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceDiscardRectanglePropertiesEXT-         where-        sizeOf ~_-          = #{size VkPhysicalDeviceDiscardRectanglePropertiesEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceDiscardRectanglePropertiesEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal-           VkPhysicalDeviceDiscardRectanglePropertiesEXT-         where-        type StructFields VkPhysicalDeviceDiscardRectanglePropertiesEXT =-             '["sType", "pNext", "maxDiscardRectangles"] -- ' closing tick for hsc2hs-        type CUnionType VkPhysicalDeviceDiscardRectanglePropertiesEXT =-             'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceDiscardRectanglePropertiesEXT =-             'False -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceDiscardRectanglePropertiesEXT =-             '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceDiscardRectanglePropertiesEXT-         where-        type FieldType "sType"-               VkPhysicalDeviceDiscardRectanglePropertiesEXT-             = VkStructureType-        type FieldOptional "sType"-               VkPhysicalDeviceDiscardRectanglePropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkPhysicalDeviceDiscardRectanglePropertiesEXT-             =-             #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, sType}-        type FieldIsArray "sType"-               VkPhysicalDeviceDiscardRectanglePropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDeviceDiscardRectanglePropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPhysicalDeviceDiscardRectanglePropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceDiscardRectanglePropertiesEXT-         where-        type FieldType "pNext"-               VkPhysicalDeviceDiscardRectanglePropertiesEXT-             = Ptr Void-        type FieldOptional "pNext"-               VkPhysicalDeviceDiscardRectanglePropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkPhysicalDeviceDiscardRectanglePropertiesEXT-             =-             #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, pNext}-        type FieldIsArray "pNext"-               VkPhysicalDeviceDiscardRectanglePropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDeviceDiscardRectanglePropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPhysicalDeviceDiscardRectanglePropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "maxDiscardRectangles"-           VkPhysicalDeviceDiscardRectanglePropertiesEXT-         where-        type FieldType "maxDiscardRectangles"-               VkPhysicalDeviceDiscardRectanglePropertiesEXT-             = Word32-        type FieldOptional "maxDiscardRectangles"-               VkPhysicalDeviceDiscardRectanglePropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxDiscardRectangles"-               VkPhysicalDeviceDiscardRectanglePropertiesEXT-             =-             #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, maxDiscardRectangles}-        type FieldIsArray "maxDiscardRectangles"-               VkPhysicalDeviceDiscardRectanglePropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, maxDiscardRectangles}--instance {-# OVERLAPPING #-}-         CanReadField "maxDiscardRectangles"-           VkPhysicalDeviceDiscardRectanglePropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, maxDiscardRectangles})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, maxDiscardRectangles}--instance {-# OVERLAPPING #-}-         CanWriteField "maxDiscardRectangles"-           VkPhysicalDeviceDiscardRectanglePropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, maxDiscardRectangles}--instance Show VkPhysicalDeviceDiscardRectanglePropertiesEXT where-        showsPrec d x-          = showString "VkPhysicalDeviceDiscardRectanglePropertiesEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "maxDiscardRectangles = " .-                            showsPrec d (getField @"maxDiscardRectangles" x) . showChar '}'---- | > typedef struct VkPhysicalDeviceExternalBufferInfo {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkBufferCreateFlags flags;---   >     VkBufferUsageFlags               usage;---   >     VkExternalMemoryHandleTypeFlagBits handleType;---   > } VkPhysicalDeviceExternalBufferInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org>-type VkPhysicalDeviceExternalBufferInfo =-     VulkanStruct VkPhysicalDeviceExternalBufferInfo' -- ' closing tick for hsc2hs--data VkPhysicalDeviceExternalBufferInfo' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceExternalBufferInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceExternalBufferInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceExternalBufferInfo where-        sizeOf ~_ = #{size VkPhysicalDeviceExternalBufferInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceExternalBufferInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDeviceExternalBufferInfo where-        type StructFields VkPhysicalDeviceExternalBufferInfo =-             '["sType", "pNext", "flags", "usage", "handleType"] -- ' closing tick for hsc2hs-        type CUnionType VkPhysicalDeviceExternalBufferInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceExternalBufferInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceExternalBufferInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceExternalBufferInfo where-        type FieldType "sType" VkPhysicalDeviceExternalBufferInfo =-             VkStructureType-        type FieldOptional "sType" VkPhysicalDeviceExternalBufferInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPhysicalDeviceExternalBufferInfo =-             #{offset VkPhysicalDeviceExternalBufferInfo, sType}-        type FieldIsArray "sType" VkPhysicalDeviceExternalBufferInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceExternalBufferInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDeviceExternalBufferInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalBufferInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceExternalBufferInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPhysicalDeviceExternalBufferInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceExternalBufferInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceExternalBufferInfo where-        type FieldType "pNext" VkPhysicalDeviceExternalBufferInfo =-             Ptr Void-        type FieldOptional "pNext" VkPhysicalDeviceExternalBufferInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPhysicalDeviceExternalBufferInfo =-             #{offset VkPhysicalDeviceExternalBufferInfo, pNext}-        type FieldIsArray "pNext" VkPhysicalDeviceExternalBufferInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceExternalBufferInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDeviceExternalBufferInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalBufferInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceExternalBufferInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPhysicalDeviceExternalBufferInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceExternalBufferInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkPhysicalDeviceExternalBufferInfo where-        type FieldType "flags" VkPhysicalDeviceExternalBufferInfo =-             VkBufferCreateFlags-        type FieldOptional "flags" VkPhysicalDeviceExternalBufferInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkPhysicalDeviceExternalBufferInfo =-             #{offset VkPhysicalDeviceExternalBufferInfo, flags}-        type FieldIsArray "flags" VkPhysicalDeviceExternalBufferInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceExternalBufferInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkPhysicalDeviceExternalBufferInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalBufferInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceExternalBufferInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkPhysicalDeviceExternalBufferInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceExternalBufferInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "usage" VkPhysicalDeviceExternalBufferInfo where-        type FieldType "usage" VkPhysicalDeviceExternalBufferInfo =-             VkBufferUsageFlags-        type FieldOptional "usage" VkPhysicalDeviceExternalBufferInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "usage" VkPhysicalDeviceExternalBufferInfo =-             #{offset VkPhysicalDeviceExternalBufferInfo, usage}-        type FieldIsArray "usage" VkPhysicalDeviceExternalBufferInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceExternalBufferInfo, usage}--instance {-# OVERLAPPING #-}-         CanReadField "usage" VkPhysicalDeviceExternalBufferInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalBufferInfo, usage})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceExternalBufferInfo, usage}--instance {-# OVERLAPPING #-}-         CanWriteField "usage" VkPhysicalDeviceExternalBufferInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceExternalBufferInfo, usage}--instance {-# OVERLAPPING #-}-         HasField "handleType" VkPhysicalDeviceExternalBufferInfo where-        type FieldType "handleType" VkPhysicalDeviceExternalBufferInfo =-             VkExternalMemoryHandleTypeFlagBits-        type FieldOptional "handleType" VkPhysicalDeviceExternalBufferInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "handleType" VkPhysicalDeviceExternalBufferInfo =-             #{offset VkPhysicalDeviceExternalBufferInfo, handleType}-        type FieldIsArray "handleType" VkPhysicalDeviceExternalBufferInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceExternalBufferInfo, handleType}--instance {-# OVERLAPPING #-}-         CanReadField "handleType" VkPhysicalDeviceExternalBufferInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalBufferInfo, handleType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceExternalBufferInfo, handleType}--instance {-# OVERLAPPING #-}-         CanWriteField "handleType" VkPhysicalDeviceExternalBufferInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceExternalBufferInfo, handleType}--instance Show VkPhysicalDeviceExternalBufferInfo where-        showsPrec d x-          = showString "VkPhysicalDeviceExternalBufferInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "usage = " .-                                  showsPrec d (getField @"usage" x) .-                                    showString ", " .-                                      showString "handleType = " .-                                        showsPrec d (getField @"handleType" x) . showChar '}'---- | Alias for `VkPhysicalDeviceExternalBufferInfo`-type VkPhysicalDeviceExternalBufferInfoKHR =-     VkPhysicalDeviceExternalBufferInfo---- | > typedef struct VkPhysicalDeviceExternalFenceInfo {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkExternalFenceHandleTypeFlagBits handleType;---   > } VkPhysicalDeviceExternalFenceInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org>-type VkPhysicalDeviceExternalFenceInfo =-     VulkanStruct VkPhysicalDeviceExternalFenceInfo' -- ' closing tick for hsc2hs--data VkPhysicalDeviceExternalFenceInfo' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceExternalFenceInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceExternalFenceInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceExternalFenceInfo where-        sizeOf ~_ = #{size VkPhysicalDeviceExternalFenceInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceExternalFenceInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDeviceExternalFenceInfo where-        type StructFields VkPhysicalDeviceExternalFenceInfo =-             '["sType", "pNext", "handleType"] -- ' closing tick for hsc2hs-        type CUnionType VkPhysicalDeviceExternalFenceInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceExternalFenceInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceExternalFenceInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceExternalFenceInfo where-        type FieldType "sType" VkPhysicalDeviceExternalFenceInfo =-             VkStructureType-        type FieldOptional "sType" VkPhysicalDeviceExternalFenceInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPhysicalDeviceExternalFenceInfo =-             #{offset VkPhysicalDeviceExternalFenceInfo, sType}-        type FieldIsArray "sType" VkPhysicalDeviceExternalFenceInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceExternalFenceInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDeviceExternalFenceInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalFenceInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceExternalFenceInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPhysicalDeviceExternalFenceInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceExternalFenceInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceExternalFenceInfo where-        type FieldType "pNext" VkPhysicalDeviceExternalFenceInfo = Ptr Void-        type FieldOptional "pNext" VkPhysicalDeviceExternalFenceInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPhysicalDeviceExternalFenceInfo =-             #{offset VkPhysicalDeviceExternalFenceInfo, pNext}-        type FieldIsArray "pNext" VkPhysicalDeviceExternalFenceInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceExternalFenceInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDeviceExternalFenceInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalFenceInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceExternalFenceInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPhysicalDeviceExternalFenceInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceExternalFenceInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "handleType" VkPhysicalDeviceExternalFenceInfo where-        type FieldType "handleType" VkPhysicalDeviceExternalFenceInfo =-             VkExternalFenceHandleTypeFlagBits-        type FieldOptional "handleType" VkPhysicalDeviceExternalFenceInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "handleType" VkPhysicalDeviceExternalFenceInfo =-             #{offset VkPhysicalDeviceExternalFenceInfo, handleType}-        type FieldIsArray "handleType" VkPhysicalDeviceExternalFenceInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceExternalFenceInfo, handleType}--instance {-# OVERLAPPING #-}-         CanReadField "handleType" VkPhysicalDeviceExternalFenceInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalFenceInfo, handleType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceExternalFenceInfo, handleType}--instance {-# OVERLAPPING #-}-         CanWriteField "handleType" VkPhysicalDeviceExternalFenceInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceExternalFenceInfo, handleType}--instance Show VkPhysicalDeviceExternalFenceInfo where-        showsPrec d x-          = showString "VkPhysicalDeviceExternalFenceInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "handleType = " .-                            showsPrec d (getField @"handleType" x) . showChar '}'---- | Alias for `VkPhysicalDeviceExternalFenceInfo`-type VkPhysicalDeviceExternalFenceInfoKHR =-     VkPhysicalDeviceExternalFenceInfo---- | > typedef struct VkPhysicalDeviceExternalImageFormatInfo {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkExternalMemoryHandleTypeFlagBits handleType;---   > } VkPhysicalDeviceExternalImageFormatInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo registry at www.khronos.org>-type VkPhysicalDeviceExternalImageFormatInfo =-     VulkanStruct VkPhysicalDeviceExternalImageFormatInfo' -- ' closing tick for hsc2hs--data VkPhysicalDeviceExternalImageFormatInfo' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceExternalImageFormatInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceExternalImageFormatInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceExternalImageFormatInfo where-        sizeOf ~_-          = #{size VkPhysicalDeviceExternalImageFormatInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceExternalImageFormatInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDeviceExternalImageFormatInfo-         where-        type StructFields VkPhysicalDeviceExternalImageFormatInfo =-             '["sType", "pNext", "handleType"] -- ' closing tick for hsc2hs-        type CUnionType VkPhysicalDeviceExternalImageFormatInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceExternalImageFormatInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceExternalImageFormatInfo =-             '[VkPhysicalDeviceImageFormatInfo2] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceExternalImageFormatInfo where-        type FieldType "sType" VkPhysicalDeviceExternalImageFormatInfo =-             VkStructureType-        type FieldOptional "sType" VkPhysicalDeviceExternalImageFormatInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPhysicalDeviceExternalImageFormatInfo =-             #{offset VkPhysicalDeviceExternalImageFormatInfo, sType}-        type FieldIsArray "sType" VkPhysicalDeviceExternalImageFormatInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceExternalImageFormatInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDeviceExternalImageFormatInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalImageFormatInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceExternalImageFormatInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPhysicalDeviceExternalImageFormatInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceExternalImageFormatInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceExternalImageFormatInfo where-        type FieldType "pNext" VkPhysicalDeviceExternalImageFormatInfo =-             Ptr Void-        type FieldOptional "pNext" VkPhysicalDeviceExternalImageFormatInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPhysicalDeviceExternalImageFormatInfo =-             #{offset VkPhysicalDeviceExternalImageFormatInfo, pNext}-        type FieldIsArray "pNext" VkPhysicalDeviceExternalImageFormatInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceExternalImageFormatInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDeviceExternalImageFormatInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalImageFormatInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceExternalImageFormatInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPhysicalDeviceExternalImageFormatInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceExternalImageFormatInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "handleType" VkPhysicalDeviceExternalImageFormatInfo where-        type FieldType "handleType" VkPhysicalDeviceExternalImageFormatInfo-             = VkExternalMemoryHandleTypeFlagBits-        type FieldOptional "handleType"-               VkPhysicalDeviceExternalImageFormatInfo-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "handleType"-               VkPhysicalDeviceExternalImageFormatInfo-             =-             #{offset VkPhysicalDeviceExternalImageFormatInfo, handleType}-        type FieldIsArray "handleType"-               VkPhysicalDeviceExternalImageFormatInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceExternalImageFormatInfo, handleType}--instance {-# OVERLAPPING #-}-         CanReadField "handleType" VkPhysicalDeviceExternalImageFormatInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalImageFormatInfo, handleType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceExternalImageFormatInfo, handleType}--instance {-# OVERLAPPING #-}-         CanWriteField "handleType" VkPhysicalDeviceExternalImageFormatInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceExternalImageFormatInfo, handleType}--instance Show VkPhysicalDeviceExternalImageFormatInfo where-        showsPrec d x-          = showString "VkPhysicalDeviceExternalImageFormatInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "handleType = " .-                            showsPrec d (getField @"handleType" x) . showChar '}'---- | Alias for `VkPhysicalDeviceExternalImageFormatInfo`-type VkPhysicalDeviceExternalImageFormatInfoKHR =-     VkPhysicalDeviceExternalImageFormatInfo---- | > typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {---   >     VkStructureType sType;---   >     void* pNext;---   >     VkDeviceSize minImportedHostPointerAlignment;---   > } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at www.khronos.org>-type VkPhysicalDeviceExternalMemoryHostPropertiesEXT =-     VulkanStruct VkPhysicalDeviceExternalMemoryHostPropertiesEXT' -- ' closing tick for hsc2hs--data VkPhysicalDeviceExternalMemoryHostPropertiesEXT' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceExternalMemoryHostPropertiesEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceExternalMemoryHostPropertiesEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceExternalMemoryHostPropertiesEXT-         where-        sizeOf ~_-          = #{size VkPhysicalDeviceExternalMemoryHostPropertiesEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceExternalMemoryHostPropertiesEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal-           VkPhysicalDeviceExternalMemoryHostPropertiesEXT-         where-        type StructFields VkPhysicalDeviceExternalMemoryHostPropertiesEXT =-             '["sType", "pNext", "minImportedHostPointerAlignment"] -- ' closing tick for hsc2hs-        type CUnionType VkPhysicalDeviceExternalMemoryHostPropertiesEXT =-             'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceExternalMemoryHostPropertiesEXT =-             'False -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceExternalMemoryHostPropertiesEXT-             = '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceExternalMemoryHostPropertiesEXT-         where-        type FieldType "sType"-               VkPhysicalDeviceExternalMemoryHostPropertiesEXT-             = VkStructureType-        type FieldOptional "sType"-               VkPhysicalDeviceExternalMemoryHostPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkPhysicalDeviceExternalMemoryHostPropertiesEXT-             =-             #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, sType}-        type FieldIsArray "sType"-               VkPhysicalDeviceExternalMemoryHostPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType"-           VkPhysicalDeviceExternalMemoryHostPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType"-           VkPhysicalDeviceExternalMemoryHostPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceExternalMemoryHostPropertiesEXT-         where-        type FieldType "pNext"-               VkPhysicalDeviceExternalMemoryHostPropertiesEXT-             = Ptr Void-        type FieldOptional "pNext"-               VkPhysicalDeviceExternalMemoryHostPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkPhysicalDeviceExternalMemoryHostPropertiesEXT-             =-             #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, pNext}-        type FieldIsArray "pNext"-               VkPhysicalDeviceExternalMemoryHostPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext"-           VkPhysicalDeviceExternalMemoryHostPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext"-           VkPhysicalDeviceExternalMemoryHostPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "minImportedHostPointerAlignment"-           VkPhysicalDeviceExternalMemoryHostPropertiesEXT-         where-        type FieldType "minImportedHostPointerAlignment"-               VkPhysicalDeviceExternalMemoryHostPropertiesEXT-             = VkDeviceSize-        type FieldOptional "minImportedHostPointerAlignment"-               VkPhysicalDeviceExternalMemoryHostPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "minImportedHostPointerAlignment"-               VkPhysicalDeviceExternalMemoryHostPropertiesEXT-             =-             #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, minImportedHostPointerAlignment}-        type FieldIsArray "minImportedHostPointerAlignment"-               VkPhysicalDeviceExternalMemoryHostPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, minImportedHostPointerAlignment}--instance {-# OVERLAPPING #-}-         CanReadField "minImportedHostPointerAlignment"-           VkPhysicalDeviceExternalMemoryHostPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, minImportedHostPointerAlignment})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, minImportedHostPointerAlignment}--instance {-# OVERLAPPING #-}-         CanWriteField "minImportedHostPointerAlignment"-           VkPhysicalDeviceExternalMemoryHostPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, minImportedHostPointerAlignment}--instance Show VkPhysicalDeviceExternalMemoryHostPropertiesEXT where-        showsPrec d x-          = showString "VkPhysicalDeviceExternalMemoryHostPropertiesEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "minImportedHostPointerAlignment = " .-                            showsPrec d (getField @"minImportedHostPointerAlignment" x) .-                              showChar '}'---- | > typedef struct VkPhysicalDeviceExternalSemaphoreInfo {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkExternalSemaphoreHandleTypeFlagBits handleType;---   > } VkPhysicalDeviceExternalSemaphoreInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo registry at www.khronos.org>-type VkPhysicalDeviceExternalSemaphoreInfo =-     VulkanStruct VkPhysicalDeviceExternalSemaphoreInfo' -- ' closing tick for hsc2hs--data VkPhysicalDeviceExternalSemaphoreInfo' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceExternalSemaphoreInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceExternalSemaphoreInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceExternalSemaphoreInfo where-        sizeOf ~_-          = #{size VkPhysicalDeviceExternalSemaphoreInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceExternalSemaphoreInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDeviceExternalSemaphoreInfo where-        type StructFields VkPhysicalDeviceExternalSemaphoreInfo =-             '["sType", "pNext", "handleType"] -- ' closing tick for hsc2hs-        type CUnionType VkPhysicalDeviceExternalSemaphoreInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceExternalSemaphoreInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceExternalSemaphoreInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceExternalSemaphoreInfo where-        type FieldType "sType" VkPhysicalDeviceExternalSemaphoreInfo =-             VkStructureType-        type FieldOptional "sType" VkPhysicalDeviceExternalSemaphoreInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPhysicalDeviceExternalSemaphoreInfo =-             #{offset VkPhysicalDeviceExternalSemaphoreInfo, sType}-        type FieldIsArray "sType" VkPhysicalDeviceExternalSemaphoreInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceExternalSemaphoreInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDeviceExternalSemaphoreInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalSemaphoreInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceExternalSemaphoreInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPhysicalDeviceExternalSemaphoreInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceExternalSemaphoreInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceExternalSemaphoreInfo where-        type FieldType "pNext" VkPhysicalDeviceExternalSemaphoreInfo =-             Ptr Void-        type FieldOptional "pNext" VkPhysicalDeviceExternalSemaphoreInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPhysicalDeviceExternalSemaphoreInfo =-             #{offset VkPhysicalDeviceExternalSemaphoreInfo, pNext}-        type FieldIsArray "pNext" VkPhysicalDeviceExternalSemaphoreInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceExternalSemaphoreInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDeviceExternalSemaphoreInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalSemaphoreInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceExternalSemaphoreInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPhysicalDeviceExternalSemaphoreInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceExternalSemaphoreInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "handleType" VkPhysicalDeviceExternalSemaphoreInfo where-        type FieldType "handleType" VkPhysicalDeviceExternalSemaphoreInfo =-             VkExternalSemaphoreHandleTypeFlagBits-        type FieldOptional "handleType"-               VkPhysicalDeviceExternalSemaphoreInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "handleType" VkPhysicalDeviceExternalSemaphoreInfo-             =-             #{offset VkPhysicalDeviceExternalSemaphoreInfo, handleType}-        type FieldIsArray "handleType"-               VkPhysicalDeviceExternalSemaphoreInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceExternalSemaphoreInfo, handleType}--instance {-# OVERLAPPING #-}-         CanReadField "handleType" VkPhysicalDeviceExternalSemaphoreInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalSemaphoreInfo, handleType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceExternalSemaphoreInfo, handleType}--instance {-# OVERLAPPING #-}-         CanWriteField "handleType" VkPhysicalDeviceExternalSemaphoreInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceExternalSemaphoreInfo, handleType}--instance Show VkPhysicalDeviceExternalSemaphoreInfo where-        showsPrec d x-          = showString "VkPhysicalDeviceExternalSemaphoreInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "handleType = " .-                            showsPrec d (getField @"handleType" x) . showChar '}'---- | Alias for `VkPhysicalDeviceExternalSemaphoreInfo`-type VkPhysicalDeviceExternalSemaphoreInfoKHR =-     VkPhysicalDeviceExternalSemaphoreInfo---- | > typedef struct VkPhysicalDeviceFeatures2 {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     VkPhysicalDeviceFeatures         features;---   > } VkPhysicalDeviceFeatures2;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2 registry at www.khronos.org>-type VkPhysicalDeviceFeatures2 =-     VulkanStruct VkPhysicalDeviceFeatures2' -- ' closing tick for hsc2hs--data VkPhysicalDeviceFeatures2' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceFeatures2 where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceFeatures2 where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceFeatures2 where-        sizeOf ~_ = #{size VkPhysicalDeviceFeatures2}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkPhysicalDeviceFeatures2}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDeviceFeatures2 where-        type StructFields VkPhysicalDeviceFeatures2 =-             '["sType", "pNext", "features"] -- ' closing tick for hsc2hs-        type CUnionType VkPhysicalDeviceFeatures2 = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceFeatures2 = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceFeatures2 =-             '[VkDeviceCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceFeatures2 where-        type FieldType "sType" VkPhysicalDeviceFeatures2 = VkStructureType-        type FieldOptional "sType" VkPhysicalDeviceFeatures2 = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPhysicalDeviceFeatures2 =-             #{offset VkPhysicalDeviceFeatures2, sType}-        type FieldIsArray "sType" VkPhysicalDeviceFeatures2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures2, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDeviceFeatures2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures2, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures2, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPhysicalDeviceFeatures2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures2, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceFeatures2 where-        type FieldType "pNext" VkPhysicalDeviceFeatures2 = Ptr Void-        type FieldOptional "pNext" VkPhysicalDeviceFeatures2 = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPhysicalDeviceFeatures2 =-             #{offset VkPhysicalDeviceFeatures2, pNext}-        type FieldIsArray "pNext" VkPhysicalDeviceFeatures2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures2, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDeviceFeatures2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures2, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures2, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPhysicalDeviceFeatures2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures2, pNext}--instance {-# OVERLAPPING #-}-         HasField "features" VkPhysicalDeviceFeatures2 where-        type FieldType "features" VkPhysicalDeviceFeatures2 =-             VkPhysicalDeviceFeatures-        type FieldOptional "features" VkPhysicalDeviceFeatures2 = 'False -- ' closing tick for hsc2hs-        type FieldOffset "features" VkPhysicalDeviceFeatures2 =-             #{offset VkPhysicalDeviceFeatures2, features}-        type FieldIsArray "features" VkPhysicalDeviceFeatures2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures2, features}--instance {-# OVERLAPPING #-}-         CanReadField "features" VkPhysicalDeviceFeatures2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures2, features})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures2, features}--instance {-# OVERLAPPING #-}-         CanWriteField "features" VkPhysicalDeviceFeatures2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures2, features}--instance Show VkPhysicalDeviceFeatures2 where-        showsPrec d x-          = showString "VkPhysicalDeviceFeatures2 {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "features = " .-                            showsPrec d (getField @"features" x) . showChar '}'---- | Alias for `VkPhysicalDeviceFeatures2`-type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2---- | > typedef struct VkPhysicalDeviceGroupProperties {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     uint32_t                         physicalDeviceCount;---   >     VkPhysicalDevice                 physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];---   >     VkBool32                         subsetAllocation;---   > } VkPhysicalDeviceGroupProperties;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties registry at www.khronos.org>-type VkPhysicalDeviceGroupProperties =-     VulkanStruct VkPhysicalDeviceGroupProperties' -- ' closing tick for hsc2hs--data VkPhysicalDeviceGroupProperties' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceGroupProperties where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceGroupProperties where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceGroupProperties where-        sizeOf ~_ = #{size VkPhysicalDeviceGroupProperties}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceGroupProperties}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDeviceGroupProperties where-        type StructFields VkPhysicalDeviceGroupProperties =-             '["sType", "pNext", "physicalDeviceCount", "physicalDevices", -- ' closing tick for hsc2hs-               "subsetAllocation"]-        type CUnionType VkPhysicalDeviceGroupProperties = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceGroupProperties = 'True -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceGroupProperties = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceGroupProperties where-        type FieldType "sType" VkPhysicalDeviceGroupProperties =-             VkStructureType-        type FieldOptional "sType" VkPhysicalDeviceGroupProperties = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPhysicalDeviceGroupProperties =-             #{offset VkPhysicalDeviceGroupProperties, sType}-        type FieldIsArray "sType" VkPhysicalDeviceGroupProperties = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceGroupProperties, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDeviceGroupProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceGroupProperties, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceGroupProperties, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPhysicalDeviceGroupProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceGroupProperties, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceGroupProperties where-        type FieldType "pNext" VkPhysicalDeviceGroupProperties = Ptr Void-        type FieldOptional "pNext" VkPhysicalDeviceGroupProperties = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPhysicalDeviceGroupProperties =-             #{offset VkPhysicalDeviceGroupProperties, pNext}-        type FieldIsArray "pNext" VkPhysicalDeviceGroupProperties = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceGroupProperties, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDeviceGroupProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceGroupProperties, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceGroupProperties, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPhysicalDeviceGroupProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceGroupProperties, pNext}--instance {-# OVERLAPPING #-}-         HasField "physicalDeviceCount" VkPhysicalDeviceGroupProperties-         where-        type FieldType "physicalDeviceCount"-               VkPhysicalDeviceGroupProperties-             = Word32-        type FieldOptional "physicalDeviceCount"-               VkPhysicalDeviceGroupProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "physicalDeviceCount"-               VkPhysicalDeviceGroupProperties-             =-             #{offset VkPhysicalDeviceGroupProperties, physicalDeviceCount}-        type FieldIsArray "physicalDeviceCount"-               VkPhysicalDeviceGroupProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceGroupProperties, physicalDeviceCount}--instance {-# OVERLAPPING #-}-         CanReadField "physicalDeviceCount" VkPhysicalDeviceGroupProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceGroupProperties, physicalDeviceCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceGroupProperties, physicalDeviceCount}--instance {-# OVERLAPPING #-}-         CanWriteField "physicalDeviceCount" VkPhysicalDeviceGroupProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceGroupProperties, physicalDeviceCount}--instance {-# OVERLAPPING #-}-         HasField "physicalDevices" VkPhysicalDeviceGroupProperties where-        type FieldType "physicalDevices" VkPhysicalDeviceGroupProperties =-             VkPhysicalDevice-        type FieldOptional "physicalDevices"-               VkPhysicalDeviceGroupProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "physicalDevices" VkPhysicalDeviceGroupProperties-             =-             #{offset VkPhysicalDeviceGroupProperties, physicalDevices}-        type FieldIsArray "physicalDevices" VkPhysicalDeviceGroupProperties-             = 'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceGroupProperties, physicalDevices}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "physicalDevices" VkPhysicalDeviceGroupProperties-         where-        type FieldArrayLength "physicalDevices"-               VkPhysicalDeviceGroupProperties-             = VK_MAX_DEVICE_GROUP_SIZE--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = VK_MAX_DEVICE_GROUP_SIZE--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkPhysicalDeviceGroupProperties, physicalDevices}-                      + sizeOf (undefined :: VkPhysicalDevice) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkPhysicalDeviceGroupProperties, physicalDevices}-                 + sizeOf (undefined :: VkPhysicalDevice) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "physicalDevices"-           VkPhysicalDeviceGroupProperties-         where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkPhysicalDeviceGroupProperties, physicalDevices}-                 + sizeOf (undefined :: VkPhysicalDevice) * i)--instance {-# OVERLAPPING #-}-         HasField "subsetAllocation" VkPhysicalDeviceGroupProperties where-        type FieldType "subsetAllocation" VkPhysicalDeviceGroupProperties =-             VkBool32-        type FieldOptional "subsetAllocation"-               VkPhysicalDeviceGroupProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "subsetAllocation" VkPhysicalDeviceGroupProperties-             =-             #{offset VkPhysicalDeviceGroupProperties, subsetAllocation}-        type FieldIsArray "subsetAllocation"-               VkPhysicalDeviceGroupProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceGroupProperties, subsetAllocation}--instance {-# OVERLAPPING #-}-         CanReadField "subsetAllocation" VkPhysicalDeviceGroupProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceGroupProperties, subsetAllocation})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceGroupProperties, subsetAllocation}--instance {-# OVERLAPPING #-}-         CanWriteField "subsetAllocation" VkPhysicalDeviceGroupProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceGroupProperties, subsetAllocation}--instance Show VkPhysicalDeviceGroupProperties where-        showsPrec d x-          = showString "VkPhysicalDeviceGroupProperties {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "physicalDeviceCount = " .-                            showsPrec d (getField @"physicalDeviceCount" x) .-                              showString ", " .-                                (showString "physicalDevices = [" .-                                   showsPrec d-                                     (let s = sizeOf-                                                (undefined ::-                                                   FieldType "physicalDevices"-                                                     VkPhysicalDeviceGroupProperties)-                                          o = fieldOffset @"physicalDevices"-                                                @VkPhysicalDeviceGroupProperties-                                          f i-                                            = peekByteOff (unsafePtr x) i ::-                                                IO-                                                  (FieldType "physicalDevices"-                                                     VkPhysicalDeviceGroupProperties)-                                        in-                                        unsafeDupablePerformIO . mapM f $-                                          map (\ i -> o + i * s)-                                            [0 .. VK_MAX_DEVICE_GROUP_SIZE - 1])-                                     . showChar ']')-                                  .-                                  showString ", " .-                                    showString "subsetAllocation = " .-                                      showsPrec d (getField @"subsetAllocation" x) . showChar '}'---- | Alias for `VkPhysicalDeviceGroupProperties`-type VkPhysicalDeviceGroupPropertiesKHR =-     VkPhysicalDeviceGroupProperties---- | > typedef struct VkPhysicalDeviceIDProperties {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     uint8_t                          deviceUUID[VK_UUID_SIZE];---   >     uint8_t                          driverUUID[VK_UUID_SIZE];---   >     uint8_t                          deviceLUID[VK_LUID_SIZE];---   >     uint32_t                         deviceNodeMask;---   >     VkBool32                         deviceLUIDValid;---   > } VkPhysicalDeviceIDProperties;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties registry at www.khronos.org>-type VkPhysicalDeviceIDProperties =-     VulkanStruct VkPhysicalDeviceIDProperties' -- ' closing tick for hsc2hs--data VkPhysicalDeviceIDProperties' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceIDProperties where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceIDProperties where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceIDProperties where-        sizeOf ~_ = #{size VkPhysicalDeviceIDProperties}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceIDProperties}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDeviceIDProperties where-        type StructFields VkPhysicalDeviceIDProperties =-             '["sType", "pNext", "deviceUUID", "driverUUID", "deviceLUID", -- ' closing tick for hsc2hs-               "deviceNodeMask", "deviceLUIDValid"]-        type CUnionType VkPhysicalDeviceIDProperties = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceIDProperties = 'True -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceIDProperties =-             '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceIDProperties where-        type FieldType "sType" VkPhysicalDeviceIDProperties =-             VkStructureType-        type FieldOptional "sType" VkPhysicalDeviceIDProperties = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPhysicalDeviceIDProperties =-             #{offset VkPhysicalDeviceIDProperties, sType}-        type FieldIsArray "sType" VkPhysicalDeviceIDProperties = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceIDProperties, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDeviceIDProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceIDProperties, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceIDProperties, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPhysicalDeviceIDProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceIDProperties, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceIDProperties where-        type FieldType "pNext" VkPhysicalDeviceIDProperties = Ptr Void-        type FieldOptional "pNext" VkPhysicalDeviceIDProperties = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPhysicalDeviceIDProperties =-             #{offset VkPhysicalDeviceIDProperties, pNext}-        type FieldIsArray "pNext" VkPhysicalDeviceIDProperties = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceIDProperties, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDeviceIDProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceIDProperties, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceIDProperties, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPhysicalDeviceIDProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceIDProperties, pNext}--instance {-# OVERLAPPING #-}-         HasField "deviceUUID" VkPhysicalDeviceIDProperties where-        type FieldType "deviceUUID" VkPhysicalDeviceIDProperties = Word8-        type FieldOptional "deviceUUID" VkPhysicalDeviceIDProperties =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "deviceUUID" VkPhysicalDeviceIDProperties =-             #{offset VkPhysicalDeviceIDProperties, deviceUUID}-        type FieldIsArray "deviceUUID" VkPhysicalDeviceIDProperties = 'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceIDProperties, deviceUUID}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "deviceUUID" VkPhysicalDeviceIDProperties where-        type FieldArrayLength "deviceUUID" VkPhysicalDeviceIDProperties =-             VK_UUID_SIZE--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = VK_UUID_SIZE--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkPhysicalDeviceIDProperties, deviceUUID} +-                      sizeOf (undefined :: Word8) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkPhysicalDeviceIDProperties, deviceUUID} +-                 sizeOf (undefined :: Word8) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "deviceUUID" VkPhysicalDeviceIDProperties where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkPhysicalDeviceIDProperties, deviceUUID} +-                 sizeOf (undefined :: Word8) * i)--instance {-# OVERLAPPING #-}-         HasField "driverUUID" VkPhysicalDeviceIDProperties where-        type FieldType "driverUUID" VkPhysicalDeviceIDProperties = Word8-        type FieldOptional "driverUUID" VkPhysicalDeviceIDProperties =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "driverUUID" VkPhysicalDeviceIDProperties =-             #{offset VkPhysicalDeviceIDProperties, driverUUID}-        type FieldIsArray "driverUUID" VkPhysicalDeviceIDProperties = 'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceIDProperties, driverUUID}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "driverUUID" VkPhysicalDeviceIDProperties where-        type FieldArrayLength "driverUUID" VkPhysicalDeviceIDProperties =-             VK_UUID_SIZE--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = VK_UUID_SIZE--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkPhysicalDeviceIDProperties, driverUUID} +-                      sizeOf (undefined :: Word8) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkPhysicalDeviceIDProperties, driverUUID} +-                 sizeOf (undefined :: Word8) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "driverUUID" VkPhysicalDeviceIDProperties where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkPhysicalDeviceIDProperties, driverUUID} +-                 sizeOf (undefined :: Word8) * i)--instance {-# OVERLAPPING #-}-         HasField "deviceLUID" VkPhysicalDeviceIDProperties where-        type FieldType "deviceLUID" VkPhysicalDeviceIDProperties = Word8-        type FieldOptional "deviceLUID" VkPhysicalDeviceIDProperties =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "deviceLUID" VkPhysicalDeviceIDProperties =-             #{offset VkPhysicalDeviceIDProperties, deviceLUID}-        type FieldIsArray "deviceLUID" VkPhysicalDeviceIDProperties = 'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceIDProperties, deviceLUID}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "deviceLUID" VkPhysicalDeviceIDProperties where-        type FieldArrayLength "deviceLUID" VkPhysicalDeviceIDProperties =-             VK_LUID_SIZE--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = VK_LUID_SIZE--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkPhysicalDeviceIDProperties, deviceLUID} +-                      sizeOf (undefined :: Word8) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkPhysicalDeviceIDProperties, deviceLUID} +-                 sizeOf (undefined :: Word8) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "deviceLUID" VkPhysicalDeviceIDProperties where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkPhysicalDeviceIDProperties, deviceLUID} +-                 sizeOf (undefined :: Word8) * i)--instance {-# OVERLAPPING #-}-         HasField "deviceNodeMask" VkPhysicalDeviceIDProperties where-        type FieldType "deviceNodeMask" VkPhysicalDeviceIDProperties =-             Word32-        type FieldOptional "deviceNodeMask" VkPhysicalDeviceIDProperties =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "deviceNodeMask" VkPhysicalDeviceIDProperties =-             #{offset VkPhysicalDeviceIDProperties, deviceNodeMask}-        type FieldIsArray "deviceNodeMask" VkPhysicalDeviceIDProperties =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceIDProperties, deviceNodeMask}--instance {-# OVERLAPPING #-}-         CanReadField "deviceNodeMask" VkPhysicalDeviceIDProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceIDProperties, deviceNodeMask})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceIDProperties, deviceNodeMask}--instance {-# OVERLAPPING #-}-         CanWriteField "deviceNodeMask" VkPhysicalDeviceIDProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceIDProperties, deviceNodeMask}--instance {-# OVERLAPPING #-}-         HasField "deviceLUIDValid" VkPhysicalDeviceIDProperties where-        type FieldType "deviceLUIDValid" VkPhysicalDeviceIDProperties =-             VkBool32-        type FieldOptional "deviceLUIDValid" VkPhysicalDeviceIDProperties =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "deviceLUIDValid" VkPhysicalDeviceIDProperties =-             #{offset VkPhysicalDeviceIDProperties, deviceLUIDValid}-        type FieldIsArray "deviceLUIDValid" VkPhysicalDeviceIDProperties =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceIDProperties, deviceLUIDValid}--instance {-# OVERLAPPING #-}-         CanReadField "deviceLUIDValid" VkPhysicalDeviceIDProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceIDProperties, deviceLUIDValid})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceIDProperties, deviceLUIDValid}--instance {-# OVERLAPPING #-}-         CanWriteField "deviceLUIDValid" VkPhysicalDeviceIDProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceIDProperties, deviceLUIDValid}--instance Show VkPhysicalDeviceIDProperties where-        showsPrec d x-          = showString "VkPhysicalDeviceIDProperties {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          (showString "deviceUUID = [" .-                             showsPrec d-                               (let s = sizeOf-                                          (undefined ::-                                             FieldType "deviceUUID" VkPhysicalDeviceIDProperties)-                                    o = fieldOffset @"deviceUUID" @VkPhysicalDeviceIDProperties-                                    f i-                                      = peekByteOff (unsafePtr x) i ::-                                          IO (FieldType "deviceUUID" VkPhysicalDeviceIDProperties)-                                  in-                                  unsafeDupablePerformIO . mapM f $-                                    map (\ i -> o + i * s) [0 .. VK_UUID_SIZE - 1])-                               . showChar ']')-                            .-                            showString ", " .-                              (showString "driverUUID = [" .-                                 showsPrec d-                                   (let s = sizeOf-                                              (undefined ::-                                                 FieldType "driverUUID"-                                                   VkPhysicalDeviceIDProperties)-                                        o = fieldOffset @"driverUUID" @VkPhysicalDeviceIDProperties-                                        f i-                                          = peekByteOff (unsafePtr x) i ::-                                              IO-                                                (FieldType "driverUUID"-                                                   VkPhysicalDeviceIDProperties)-                                      in-                                      unsafeDupablePerformIO . mapM f $-                                        map (\ i -> o + i * s) [0 .. VK_UUID_SIZE - 1])-                                   . showChar ']')-                                .-                                showString ", " .-                                  (showString "deviceLUID = [" .-                                     showsPrec d-                                       (let s = sizeOf-                                                  (undefined ::-                                                     FieldType "deviceLUID"-                                                       VkPhysicalDeviceIDProperties)-                                            o = fieldOffset @"deviceLUID"-                                                  @VkPhysicalDeviceIDProperties-                                            f i-                                              = peekByteOff (unsafePtr x) i ::-                                                  IO-                                                    (FieldType "deviceLUID"-                                                       VkPhysicalDeviceIDProperties)-                                          in-                                          unsafeDupablePerformIO . mapM f $-                                            map (\ i -> o + i * s) [0 .. VK_LUID_SIZE - 1])-                                       . showChar ']')-                                    .-                                    showString ", " .-                                      showString "deviceNodeMask = " .-                                        showsPrec d (getField @"deviceNodeMask" x) .-                                          showString ", " .-                                            showString "deviceLUIDValid = " .-                                              showsPrec d (getField @"deviceLUIDValid" x) .-                                                showChar '}'---- | Alias for `VkPhysicalDeviceIDProperties`-type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties---- | > typedef struct VkPhysicalDeviceImageFormatInfo2 {---   >     VkStructureType sType;---   >     const void* pNext;---   >     VkFormat                         format;---   >     VkImageType                      type;---   >     VkImageTiling                    tiling;---   >     VkImageUsageFlags                usage;---   >     VkImageCreateFlags flags;---   > } VkPhysicalDeviceImageFormatInfo2;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2 registry at www.khronos.org>-type VkPhysicalDeviceImageFormatInfo2 =-     VulkanStruct VkPhysicalDeviceImageFormatInfo2' -- ' closing tick for hsc2hs--data VkPhysicalDeviceImageFormatInfo2' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceImageFormatInfo2 where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceImageFormatInfo2 where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceImageFormatInfo2 where-        sizeOf ~_ = #{size VkPhysicalDeviceImageFormatInfo2}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceImageFormatInfo2}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDeviceImageFormatInfo2 where-        type StructFields VkPhysicalDeviceImageFormatInfo2 =-             '["sType", "pNext", "format", "type", "tiling", "usage", "flags"] -- ' closing tick for hsc2hs-        type CUnionType VkPhysicalDeviceImageFormatInfo2 = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceImageFormatInfo2 = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceImageFormatInfo2 = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceImageFormatInfo2 where-        type FieldType "sType" VkPhysicalDeviceImageFormatInfo2 =-             VkStructureType-        type FieldOptional "sType" VkPhysicalDeviceImageFormatInfo2 =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPhysicalDeviceImageFormatInfo2 =-             #{offset VkPhysicalDeviceImageFormatInfo2, sType}-        type FieldIsArray "sType" VkPhysicalDeviceImageFormatInfo2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceImageFormatInfo2, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDeviceImageFormatInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceImageFormatInfo2, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPhysicalDeviceImageFormatInfo2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceImageFormatInfo2 where-        type FieldType "pNext" VkPhysicalDeviceImageFormatInfo2 = Ptr Void-        type FieldOptional "pNext" VkPhysicalDeviceImageFormatInfo2 =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPhysicalDeviceImageFormatInfo2 =-             #{offset VkPhysicalDeviceImageFormatInfo2, pNext}-        type FieldIsArray "pNext" VkPhysicalDeviceImageFormatInfo2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceImageFormatInfo2, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDeviceImageFormatInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceImageFormatInfo2, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPhysicalDeviceImageFormatInfo2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, pNext}--instance {-# OVERLAPPING #-}-         HasField "format" VkPhysicalDeviceImageFormatInfo2 where-        type FieldType "format" VkPhysicalDeviceImageFormatInfo2 = VkFormat-        type FieldOptional "format" VkPhysicalDeviceImageFormatInfo2 =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "format" VkPhysicalDeviceImageFormatInfo2 =-             #{offset VkPhysicalDeviceImageFormatInfo2, format}-        type FieldIsArray "format" VkPhysicalDeviceImageFormatInfo2 =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceImageFormatInfo2, format}--instance {-# OVERLAPPING #-}-         CanReadField "format" VkPhysicalDeviceImageFormatInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceImageFormatInfo2, format})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, format}--instance {-# OVERLAPPING #-}-         CanWriteField "format" VkPhysicalDeviceImageFormatInfo2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, format}--instance {-# OVERLAPPING #-}-         HasField "type" VkPhysicalDeviceImageFormatInfo2 where-        type FieldType "type" VkPhysicalDeviceImageFormatInfo2 =-             VkImageType-        type FieldOptional "type" VkPhysicalDeviceImageFormatInfo2 = 'False -- ' closing tick for hsc2hs-        type FieldOffset "type" VkPhysicalDeviceImageFormatInfo2 =-             #{offset VkPhysicalDeviceImageFormatInfo2, type}-        type FieldIsArray "type" VkPhysicalDeviceImageFormatInfo2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceImageFormatInfo2, type}--instance {-# OVERLAPPING #-}-         CanReadField "type" VkPhysicalDeviceImageFormatInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceImageFormatInfo2, type})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, type}--instance {-# OVERLAPPING #-}-         CanWriteField "type" VkPhysicalDeviceImageFormatInfo2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, type}--instance {-# OVERLAPPING #-}-         HasField "tiling" VkPhysicalDeviceImageFormatInfo2 where-        type FieldType "tiling" VkPhysicalDeviceImageFormatInfo2 =-             VkImageTiling-        type FieldOptional "tiling" VkPhysicalDeviceImageFormatInfo2 =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "tiling" VkPhysicalDeviceImageFormatInfo2 =-             #{offset VkPhysicalDeviceImageFormatInfo2, tiling}-        type FieldIsArray "tiling" VkPhysicalDeviceImageFormatInfo2 =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceImageFormatInfo2, tiling}--instance {-# OVERLAPPING #-}-         CanReadField "tiling" VkPhysicalDeviceImageFormatInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceImageFormatInfo2, tiling})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, tiling}--instance {-# OVERLAPPING #-}-         CanWriteField "tiling" VkPhysicalDeviceImageFormatInfo2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, tiling}--instance {-# OVERLAPPING #-}-         HasField "usage" VkPhysicalDeviceImageFormatInfo2 where-        type FieldType "usage" VkPhysicalDeviceImageFormatInfo2 =-             VkImageUsageFlags-        type FieldOptional "usage" VkPhysicalDeviceImageFormatInfo2 =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "usage" VkPhysicalDeviceImageFormatInfo2 =-             #{offset VkPhysicalDeviceImageFormatInfo2, usage}-        type FieldIsArray "usage" VkPhysicalDeviceImageFormatInfo2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceImageFormatInfo2, usage}--instance {-# OVERLAPPING #-}-         CanReadField "usage" VkPhysicalDeviceImageFormatInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceImageFormatInfo2, usage})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, usage}--instance {-# OVERLAPPING #-}-         CanWriteField "usage" VkPhysicalDeviceImageFormatInfo2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, usage}--instance {-# OVERLAPPING #-}-         HasField "flags" VkPhysicalDeviceImageFormatInfo2 where-        type FieldType "flags" VkPhysicalDeviceImageFormatInfo2 =-             VkImageCreateFlags-        type FieldOptional "flags" VkPhysicalDeviceImageFormatInfo2 = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkPhysicalDeviceImageFormatInfo2 =-             #{offset VkPhysicalDeviceImageFormatInfo2, flags}-        type FieldIsArray "flags" VkPhysicalDeviceImageFormatInfo2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceImageFormatInfo2, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkPhysicalDeviceImageFormatInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceImageFormatInfo2, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkPhysicalDeviceImageFormatInfo2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, flags}--instance Show VkPhysicalDeviceImageFormatInfo2 where-        showsPrec d x-          = showString "VkPhysicalDeviceImageFormatInfo2 {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "format = " .-                            showsPrec d (getField @"format" x) .-                              showString ", " .-                                showString "type = " .-                                  showsPrec d (getField @"type" x) .-                                    showString ", " .-                                      showString "tiling = " .-                                        showsPrec d (getField @"tiling" x) .-                                          showString ", " .-                                            showString "usage = " .-                                              showsPrec d (getField @"usage" x) .-                                                showString ", " .-                                                  showString "flags = " .-                                                    showsPrec d (getField @"flags" x) . showChar '}'---- | Alias for `VkPhysicalDeviceImageFormatInfo2`-type VkPhysicalDeviceImageFormatInfo2KHR =-     VkPhysicalDeviceImageFormatInfo2---- | > typedef struct VkPhysicalDeviceLimits {---   >     uint32_t               maxImageDimension1D;---   >     uint32_t               maxImageDimension2D;---   >     uint32_t               maxImageDimension3D;---   >     uint32_t               maxImageDimensionCube;---   >     uint32_t               maxImageArrayLayers;---   >     uint32_t               maxTexelBufferElements;---   >     uint32_t               maxUniformBufferRange;---   >     uint32_t               maxStorageBufferRange;---   >     uint32_t               maxPushConstantsSize;---   >     uint32_t               maxMemoryAllocationCount;---   >     uint32_t               maxSamplerAllocationCount;---   >     VkDeviceSize           bufferImageGranularity;---   >     VkDeviceSize           sparseAddressSpaceSize;---   >     uint32_t               maxBoundDescriptorSets;---   >     uint32_t               maxPerStageDescriptorSamplers;---   >     uint32_t               maxPerStageDescriptorUniformBuffers;---   >     uint32_t               maxPerStageDescriptorStorageBuffers;---   >     uint32_t               maxPerStageDescriptorSampledImages;---   >     uint32_t               maxPerStageDescriptorStorageImages;---   >     uint32_t               maxPerStageDescriptorInputAttachments;---   >     uint32_t               maxPerStageResources;---   >     uint32_t               maxDescriptorSetSamplers;---   >     uint32_t               maxDescriptorSetUniformBuffers;---   >     uint32_t               maxDescriptorSetUniformBuffersDynamic;---   >     uint32_t               maxDescriptorSetStorageBuffers;---   >     uint32_t               maxDescriptorSetStorageBuffersDynamic;---   >     uint32_t               maxDescriptorSetSampledImages;---   >     uint32_t               maxDescriptorSetStorageImages;---   >     uint32_t               maxDescriptorSetInputAttachments;---   >     uint32_t               maxVertexInputAttributes;---   >     uint32_t               maxVertexInputBindings;---   >     uint32_t               maxVertexInputAttributeOffset;---   >     uint32_t               maxVertexInputBindingStride;---   >     uint32_t               maxVertexOutputComponents;---   >     uint32_t               maxTessellationGenerationLevel;---   >     uint32_t               maxTessellationPatchSize;---   >     uint32_t               maxTessellationControlPerVertexInputComponents;---   >     uint32_t               maxTessellationControlPerVertexOutputComponents;---   >     uint32_t               maxTessellationControlPerPatchOutputComponents;---   >     uint32_t               maxTessellationControlTotalOutputComponents;---   >     uint32_t               maxTessellationEvaluationInputComponents;---   >     uint32_t               maxTessellationEvaluationOutputComponents;---   >     uint32_t               maxGeometryShaderInvocations;---   >     uint32_t               maxGeometryInputComponents;---   >     uint32_t               maxGeometryOutputComponents;---   >     uint32_t               maxGeometryOutputVertices;---   >     uint32_t               maxGeometryTotalOutputComponents;---   >     uint32_t               maxFragmentInputComponents;---   >     uint32_t               maxFragmentOutputAttachments;---   >     uint32_t               maxFragmentDualSrcAttachments;---   >     uint32_t               maxFragmentCombinedOutputResources;---   >     uint32_t               maxComputeSharedMemorySize;---   >     uint32_t               maxComputeWorkGroupCount[3];---   >     uint32_t               maxComputeWorkGroupInvocations;---   >     uint32_t               maxComputeWorkGroupSize[3];---   >     uint32_t               subPixelPrecisionBits;---   >     uint32_t               subTexelPrecisionBits;---   >     uint32_t               mipmapPrecisionBits;---   >     uint32_t               maxDrawIndexedIndexValue;---   >     uint32_t               maxDrawIndirectCount;---   >     float                  maxSamplerLodBias;---   >     float                  maxSamplerAnisotropy;---   >     uint32_t               maxViewports;---   >     uint32_t               maxViewportDimensions[2];---   >     float                  viewportBoundsRange[2];---   >     uint32_t               viewportSubPixelBits;---   >     size_t                 minMemoryMapAlignment;---   >     VkDeviceSize           minTexelBufferOffsetAlignment;---   >     VkDeviceSize           minUniformBufferOffsetAlignment;---   >     VkDeviceSize           minStorageBufferOffsetAlignment;---   >     int32_t                minTexelOffset;---   >     uint32_t               maxTexelOffset;---   >     int32_t                minTexelGatherOffset;---   >     uint32_t               maxTexelGatherOffset;---   >     float                  minInterpolationOffset;---   >     float                  maxInterpolationOffset;---   >     uint32_t               subPixelInterpolationOffsetBits;---   >     uint32_t               maxFramebufferWidth;---   >     uint32_t               maxFramebufferHeight;---   >     uint32_t               maxFramebufferLayers;---   >     VkSampleCountFlags     framebufferColorSampleCounts;---   >     VkSampleCountFlags     framebufferDepthSampleCounts;---   >     VkSampleCountFlags     framebufferStencilSampleCounts;---   >     VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;---   >     uint32_t               maxColorAttachments;---   >     VkSampleCountFlags     sampledImageColorSampleCounts;---   >     VkSampleCountFlags     sampledImageIntegerSampleCounts;---   >     VkSampleCountFlags     sampledImageDepthSampleCounts;---   >     VkSampleCountFlags     sampledImageStencilSampleCounts;---   >     VkSampleCountFlags     storageImageSampleCounts;---   >     uint32_t               maxSampleMaskWords;---   >     VkBool32               timestampComputeAndGraphics;---   >     float                  timestampPeriod;---   >     uint32_t               maxClipDistances;---   >     uint32_t               maxCullDistances;---   >     uint32_t               maxCombinedClipAndCullDistances;---   >     uint32_t               discreteQueuePriorities;---   >     float                  pointSizeRange[2];---   >     float                  lineWidthRange[2];---   >     float                  pointSizeGranularity;---   >     float                  lineWidthGranularity;---   >     VkBool32               strictLines;---   >     VkBool32               standardSampleLocations;---   >     VkDeviceSize           optimalBufferCopyOffsetAlignment;---   >     VkDeviceSize           optimalBufferCopyRowPitchAlignment;---   >     VkDeviceSize           nonCoherentAtomSize;---   > } VkPhysicalDeviceLimits;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceLimits VkPhysicalDeviceLimits registry at www.khronos.org>-type VkPhysicalDeviceLimits = VulkanStruct VkPhysicalDeviceLimits' -- ' closing tick for hsc2hs--data VkPhysicalDeviceLimits' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceLimits where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceLimits where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceLimits where-        sizeOf ~_ = #{size VkPhysicalDeviceLimits}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkPhysicalDeviceLimits}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDeviceLimits where-        type StructFields VkPhysicalDeviceLimits =-             '["maxImageDimension1D", "maxImageDimension2D", -- ' closing tick for hsc2hs-               "maxImageDimension3D", "maxImageDimensionCube",-               "maxImageArrayLayers", "maxTexelBufferElements",-               "maxUniformBufferRange", "maxStorageBufferRange",-               "maxPushConstantsSize", "maxMemoryAllocationCount",-               "maxSamplerAllocationCount", "bufferImageGranularity",-               "sparseAddressSpaceSize", "maxBoundDescriptorSets",-               "maxPerStageDescriptorSamplers",-               "maxPerStageDescriptorUniformBuffers",-               "maxPerStageDescriptorStorageBuffers",-               "maxPerStageDescriptorSampledImages",-               "maxPerStageDescriptorStorageImages",-               "maxPerStageDescriptorInputAttachments", "maxPerStageResources",-               "maxDescriptorSetSamplers", "maxDescriptorSetUniformBuffers",-               "maxDescriptorSetUniformBuffersDynamic",-               "maxDescriptorSetStorageBuffers",-               "maxDescriptorSetStorageBuffersDynamic",-               "maxDescriptorSetSampledImages", "maxDescriptorSetStorageImages",-               "maxDescriptorSetInputAttachments", "maxVertexInputAttributes",-               "maxVertexInputBindings", "maxVertexInputAttributeOffset",-               "maxVertexInputBindingStride", "maxVertexOutputComponents",-               "maxTessellationGenerationLevel", "maxTessellationPatchSize",-               "maxTessellationControlPerVertexInputComponents",-               "maxTessellationControlPerVertexOutputComponents",-               "maxTessellationControlPerPatchOutputComponents",-               "maxTessellationControlTotalOutputComponents",-               "maxTessellationEvaluationInputComponents",-               "maxTessellationEvaluationOutputComponents",-               "maxGeometryShaderInvocations", "maxGeometryInputComponents",-               "maxGeometryOutputComponents", "maxGeometryOutputVertices",-               "maxGeometryTotalOutputComponents", "maxFragmentInputComponents",-               "maxFragmentOutputAttachments", "maxFragmentDualSrcAttachments",-               "maxFragmentCombinedOutputResources", "maxComputeSharedMemorySize",-               "maxComputeWorkGroupCount", "maxComputeWorkGroupInvocations",-               "maxComputeWorkGroupSize", "subPixelPrecisionBits",-               "subTexelPrecisionBits", "mipmapPrecisionBits",-               "maxDrawIndexedIndexValue", "maxDrawIndirectCount",-               "maxSamplerLodBias", "maxSamplerAnisotropy", "maxViewports",-               "maxViewportDimensions", "viewportBoundsRange",-               "viewportSubPixelBits", "minMemoryMapAlignment",-               "minTexelBufferOffsetAlignment", "minUniformBufferOffsetAlignment",-               "minStorageBufferOffsetAlignment", "minTexelOffset",-               "maxTexelOffset", "minTexelGatherOffset", "maxTexelGatherOffset",-               "minInterpolationOffset", "maxInterpolationOffset",-               "subPixelInterpolationOffsetBits", "maxFramebufferWidth",-               "maxFramebufferHeight", "maxFramebufferLayers",-               "framebufferColorSampleCounts", "framebufferDepthSampleCounts",-               "framebufferStencilSampleCounts",-               "framebufferNoAttachmentsSampleCounts", "maxColorAttachments",-               "sampledImageColorSampleCounts", "sampledImageIntegerSampleCounts",-               "sampledImageDepthSampleCounts", "sampledImageStencilSampleCounts",-               "storageImageSampleCounts", "maxSampleMaskWords",-               "timestampComputeAndGraphics", "timestampPeriod",-               "maxClipDistances", "maxCullDistances",-               "maxCombinedClipAndCullDistances", "discreteQueuePriorities",-               "pointSizeRange", "lineWidthRange", "pointSizeGranularity",-               "lineWidthGranularity", "strictLines", "standardSampleLocations",-               "optimalBufferCopyOffsetAlignment",-               "optimalBufferCopyRowPitchAlignment", "nonCoherentAtomSize"]-        type CUnionType VkPhysicalDeviceLimits = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceLimits = 'True -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceLimits = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "maxImageDimension1D" VkPhysicalDeviceLimits where-        type FieldType "maxImageDimension1D" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxImageDimension1D" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxImageDimension1D" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxImageDimension1D}-        type FieldIsArray "maxImageDimension1D" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxImageDimension1D}--instance {-# OVERLAPPING #-}-         CanReadField "maxImageDimension1D" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxImageDimension1D})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxImageDimension1D}--instance {-# OVERLAPPING #-}-         CanWriteField "maxImageDimension1D" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxImageDimension1D}--instance {-# OVERLAPPING #-}-         HasField "maxImageDimension2D" VkPhysicalDeviceLimits where-        type FieldType "maxImageDimension2D" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxImageDimension2D" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxImageDimension2D" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxImageDimension2D}-        type FieldIsArray "maxImageDimension2D" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxImageDimension2D}--instance {-# OVERLAPPING #-}-         CanReadField "maxImageDimension2D" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxImageDimension2D})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxImageDimension2D}--instance {-# OVERLAPPING #-}-         CanWriteField "maxImageDimension2D" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxImageDimension2D}--instance {-# OVERLAPPING #-}-         HasField "maxImageDimension3D" VkPhysicalDeviceLimits where-        type FieldType "maxImageDimension3D" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxImageDimension3D" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxImageDimension3D" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxImageDimension3D}-        type FieldIsArray "maxImageDimension3D" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxImageDimension3D}--instance {-# OVERLAPPING #-}-         CanReadField "maxImageDimension3D" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxImageDimension3D})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxImageDimension3D}--instance {-# OVERLAPPING #-}-         CanWriteField "maxImageDimension3D" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxImageDimension3D}--instance {-# OVERLAPPING #-}-         HasField "maxImageDimensionCube" VkPhysicalDeviceLimits where-        type FieldType "maxImageDimensionCube" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxImageDimensionCube" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxImageDimensionCube" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxImageDimensionCube}-        type FieldIsArray "maxImageDimensionCube" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxImageDimensionCube}--instance {-# OVERLAPPING #-}-         CanReadField "maxImageDimensionCube" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxImageDimensionCube})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxImageDimensionCube}--instance {-# OVERLAPPING #-}-         CanWriteField "maxImageDimensionCube" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxImageDimensionCube}--instance {-# OVERLAPPING #-}-         HasField "maxImageArrayLayers" VkPhysicalDeviceLimits where-        type FieldType "maxImageArrayLayers" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxImageArrayLayers" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxImageArrayLayers" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxImageArrayLayers}-        type FieldIsArray "maxImageArrayLayers" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxImageArrayLayers}--instance {-# OVERLAPPING #-}-         CanReadField "maxImageArrayLayers" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxImageArrayLayers})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxImageArrayLayers}--instance {-# OVERLAPPING #-}-         CanWriteField "maxImageArrayLayers" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxImageArrayLayers}--instance {-# OVERLAPPING #-}-         HasField "maxTexelBufferElements" VkPhysicalDeviceLimits where-        type FieldType "maxTexelBufferElements" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxTexelBufferElements" VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxTexelBufferElements" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxTexelBufferElements}-        type FieldIsArray "maxTexelBufferElements" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxTexelBufferElements}--instance {-# OVERLAPPING #-}-         CanReadField "maxTexelBufferElements" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxTexelBufferElements})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxTexelBufferElements}--instance {-# OVERLAPPING #-}-         CanWriteField "maxTexelBufferElements" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxTexelBufferElements}--instance {-# OVERLAPPING #-}-         HasField "maxUniformBufferRange" VkPhysicalDeviceLimits where-        type FieldType "maxUniformBufferRange" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxUniformBufferRange" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxUniformBufferRange" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxUniformBufferRange}-        type FieldIsArray "maxUniformBufferRange" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxUniformBufferRange}--instance {-# OVERLAPPING #-}-         CanReadField "maxUniformBufferRange" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxUniformBufferRange})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxUniformBufferRange}--instance {-# OVERLAPPING #-}-         CanWriteField "maxUniformBufferRange" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxUniformBufferRange}--instance {-# OVERLAPPING #-}-         HasField "maxStorageBufferRange" VkPhysicalDeviceLimits where-        type FieldType "maxStorageBufferRange" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxStorageBufferRange" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxStorageBufferRange" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxStorageBufferRange}-        type FieldIsArray "maxStorageBufferRange" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxStorageBufferRange}--instance {-# OVERLAPPING #-}-         CanReadField "maxStorageBufferRange" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxStorageBufferRange})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxStorageBufferRange}--instance {-# OVERLAPPING #-}-         CanWriteField "maxStorageBufferRange" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxStorageBufferRange}--instance {-# OVERLAPPING #-}-         HasField "maxPushConstantsSize" VkPhysicalDeviceLimits where-        type FieldType "maxPushConstantsSize" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxPushConstantsSize" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxPushConstantsSize" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxPushConstantsSize}-        type FieldIsArray "maxPushConstantsSize" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxPushConstantsSize}--instance {-# OVERLAPPING #-}-         CanReadField "maxPushConstantsSize" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxPushConstantsSize})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxPushConstantsSize}--instance {-# OVERLAPPING #-}-         CanWriteField "maxPushConstantsSize" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxPushConstantsSize}--instance {-# OVERLAPPING #-}-         HasField "maxMemoryAllocationCount" VkPhysicalDeviceLimits where-        type FieldType "maxMemoryAllocationCount" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxMemoryAllocationCount"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxMemoryAllocationCount" VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxMemoryAllocationCount}-        type FieldIsArray "maxMemoryAllocationCount" VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxMemoryAllocationCount}--instance {-# OVERLAPPING #-}-         CanReadField "maxMemoryAllocationCount" VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxMemoryAllocationCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxMemoryAllocationCount}--instance {-# OVERLAPPING #-}-         CanWriteField "maxMemoryAllocationCount" VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxMemoryAllocationCount}--instance {-# OVERLAPPING #-}-         HasField "maxSamplerAllocationCount" VkPhysicalDeviceLimits where-        type FieldType "maxSamplerAllocationCount" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxSamplerAllocationCount"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxSamplerAllocationCount" VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxSamplerAllocationCount}-        type FieldIsArray "maxSamplerAllocationCount"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxSamplerAllocationCount}--instance {-# OVERLAPPING #-}-         CanReadField "maxSamplerAllocationCount" VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxSamplerAllocationCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxSamplerAllocationCount}--instance {-# OVERLAPPING #-}-         CanWriteField "maxSamplerAllocationCount" VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxSamplerAllocationCount}--instance {-# OVERLAPPING #-}-         HasField "bufferImageGranularity" VkPhysicalDeviceLimits where-        type FieldType "bufferImageGranularity" VkPhysicalDeviceLimits =-             VkDeviceSize-        type FieldOptional "bufferImageGranularity" VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "bufferImageGranularity" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, bufferImageGranularity}-        type FieldIsArray "bufferImageGranularity" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, bufferImageGranularity}--instance {-# OVERLAPPING #-}-         CanReadField "bufferImageGranularity" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, bufferImageGranularity})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, bufferImageGranularity}--instance {-# OVERLAPPING #-}-         CanWriteField "bufferImageGranularity" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, bufferImageGranularity}--instance {-# OVERLAPPING #-}-         HasField "sparseAddressSpaceSize" VkPhysicalDeviceLimits where-        type FieldType "sparseAddressSpaceSize" VkPhysicalDeviceLimits =-             VkDeviceSize-        type FieldOptional "sparseAddressSpaceSize" VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sparseAddressSpaceSize" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, sparseAddressSpaceSize}-        type FieldIsArray "sparseAddressSpaceSize" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, sparseAddressSpaceSize}--instance {-# OVERLAPPING #-}-         CanReadField "sparseAddressSpaceSize" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, sparseAddressSpaceSize})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, sparseAddressSpaceSize}--instance {-# OVERLAPPING #-}-         CanWriteField "sparseAddressSpaceSize" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, sparseAddressSpaceSize}--instance {-# OVERLAPPING #-}-         HasField "maxBoundDescriptorSets" VkPhysicalDeviceLimits where-        type FieldType "maxBoundDescriptorSets" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxBoundDescriptorSets" VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxBoundDescriptorSets" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxBoundDescriptorSets}-        type FieldIsArray "maxBoundDescriptorSets" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxBoundDescriptorSets}--instance {-# OVERLAPPING #-}-         CanReadField "maxBoundDescriptorSets" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxBoundDescriptorSets})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxBoundDescriptorSets}--instance {-# OVERLAPPING #-}-         CanWriteField "maxBoundDescriptorSets" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxBoundDescriptorSets}--instance {-# OVERLAPPING #-}-         HasField "maxPerStageDescriptorSamplers" VkPhysicalDeviceLimits-         where-        type FieldType "maxPerStageDescriptorSamplers"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxPerStageDescriptorSamplers"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxPerStageDescriptorSamplers"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorSamplers}-        type FieldIsArray "maxPerStageDescriptorSamplers"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorSamplers}--instance {-# OVERLAPPING #-}-         CanReadField "maxPerStageDescriptorSamplers" VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorSamplers})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorSamplers}--instance {-# OVERLAPPING #-}-         CanWriteField "maxPerStageDescriptorSamplers"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorSamplers}--instance {-# OVERLAPPING #-}-         HasField "maxPerStageDescriptorUniformBuffers"-           VkPhysicalDeviceLimits-         where-        type FieldType "maxPerStageDescriptorUniformBuffers"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxPerStageDescriptorUniformBuffers"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxPerStageDescriptorUniformBuffers"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorUniformBuffers}-        type FieldIsArray "maxPerStageDescriptorUniformBuffers"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorUniformBuffers}--instance {-# OVERLAPPING #-}-         CanReadField "maxPerStageDescriptorUniformBuffers"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorUniformBuffers})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorUniformBuffers}--instance {-# OVERLAPPING #-}-         CanWriteField "maxPerStageDescriptorUniformBuffers"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorUniformBuffers}--instance {-# OVERLAPPING #-}-         HasField "maxPerStageDescriptorStorageBuffers"-           VkPhysicalDeviceLimits-         where-        type FieldType "maxPerStageDescriptorStorageBuffers"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxPerStageDescriptorStorageBuffers"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxPerStageDescriptorStorageBuffers"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorStorageBuffers}-        type FieldIsArray "maxPerStageDescriptorStorageBuffers"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorStorageBuffers}--instance {-# OVERLAPPING #-}-         CanReadField "maxPerStageDescriptorStorageBuffers"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorStorageBuffers})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorStorageBuffers}--instance {-# OVERLAPPING #-}-         CanWriteField "maxPerStageDescriptorStorageBuffers"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorStorageBuffers}--instance {-# OVERLAPPING #-}-         HasField "maxPerStageDescriptorSampledImages"-           VkPhysicalDeviceLimits-         where-        type FieldType "maxPerStageDescriptorSampledImages"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxPerStageDescriptorSampledImages"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxPerStageDescriptorSampledImages"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorSampledImages}-        type FieldIsArray "maxPerStageDescriptorSampledImages"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorSampledImages}--instance {-# OVERLAPPING #-}-         CanReadField "maxPerStageDescriptorSampledImages"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorSampledImages})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorSampledImages}--instance {-# OVERLAPPING #-}-         CanWriteField "maxPerStageDescriptorSampledImages"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorSampledImages}--instance {-# OVERLAPPING #-}-         HasField "maxPerStageDescriptorStorageImages"-           VkPhysicalDeviceLimits-         where-        type FieldType "maxPerStageDescriptorStorageImages"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxPerStageDescriptorStorageImages"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxPerStageDescriptorStorageImages"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorStorageImages}-        type FieldIsArray "maxPerStageDescriptorStorageImages"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorStorageImages}--instance {-# OVERLAPPING #-}-         CanReadField "maxPerStageDescriptorStorageImages"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorStorageImages})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorStorageImages}--instance {-# OVERLAPPING #-}-         CanWriteField "maxPerStageDescriptorStorageImages"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorStorageImages}--instance {-# OVERLAPPING #-}-         HasField "maxPerStageDescriptorInputAttachments"-           VkPhysicalDeviceLimits-         where-        type FieldType "maxPerStageDescriptorInputAttachments"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxPerStageDescriptorInputAttachments"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxPerStageDescriptorInputAttachments"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorInputAttachments}-        type FieldIsArray "maxPerStageDescriptorInputAttachments"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorInputAttachments}--instance {-# OVERLAPPING #-}-         CanReadField "maxPerStageDescriptorInputAttachments"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorInputAttachments})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorInputAttachments}--instance {-# OVERLAPPING #-}-         CanWriteField "maxPerStageDescriptorInputAttachments"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorInputAttachments}--instance {-# OVERLAPPING #-}-         HasField "maxPerStageResources" VkPhysicalDeviceLimits where-        type FieldType "maxPerStageResources" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxPerStageResources" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxPerStageResources" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxPerStageResources}-        type FieldIsArray "maxPerStageResources" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxPerStageResources}--instance {-# OVERLAPPING #-}-         CanReadField "maxPerStageResources" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxPerStageResources})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageResources}--instance {-# OVERLAPPING #-}-         CanWriteField "maxPerStageResources" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageResources}--instance {-# OVERLAPPING #-}-         HasField "maxDescriptorSetSamplers" VkPhysicalDeviceLimits where-        type FieldType "maxDescriptorSetSamplers" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxDescriptorSetSamplers"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxDescriptorSetSamplers" VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxDescriptorSetSamplers}-        type FieldIsArray "maxDescriptorSetSamplers" VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxDescriptorSetSamplers}--instance {-# OVERLAPPING #-}-         CanReadField "maxDescriptorSetSamplers" VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxDescriptorSetSamplers})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetSamplers}--instance {-# OVERLAPPING #-}-         CanWriteField "maxDescriptorSetSamplers" VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetSamplers}--instance {-# OVERLAPPING #-}-         HasField "maxDescriptorSetUniformBuffers" VkPhysicalDeviceLimits-         where-        type FieldType "maxDescriptorSetUniformBuffers"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxDescriptorSetUniformBuffers"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxDescriptorSetUniformBuffers"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxDescriptorSetUniformBuffers}-        type FieldIsArray "maxDescriptorSetUniformBuffers"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxDescriptorSetUniformBuffers}--instance {-# OVERLAPPING #-}-         CanReadField "maxDescriptorSetUniformBuffers"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxDescriptorSetUniformBuffers})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetUniformBuffers}--instance {-# OVERLAPPING #-}-         CanWriteField "maxDescriptorSetUniformBuffers"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetUniformBuffers}--instance {-# OVERLAPPING #-}-         HasField "maxDescriptorSetUniformBuffersDynamic"-           VkPhysicalDeviceLimits-         where-        type FieldType "maxDescriptorSetUniformBuffersDynamic"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxDescriptorSetUniformBuffersDynamic"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxDescriptorSetUniformBuffersDynamic"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxDescriptorSetUniformBuffersDynamic}-        type FieldIsArray "maxDescriptorSetUniformBuffersDynamic"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxDescriptorSetUniformBuffersDynamic}--instance {-# OVERLAPPING #-}-         CanReadField "maxDescriptorSetUniformBuffersDynamic"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxDescriptorSetUniformBuffersDynamic})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetUniformBuffersDynamic}--instance {-# OVERLAPPING #-}-         CanWriteField "maxDescriptorSetUniformBuffersDynamic"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetUniformBuffersDynamic}--instance {-# OVERLAPPING #-}-         HasField "maxDescriptorSetStorageBuffers" VkPhysicalDeviceLimits-         where-        type FieldType "maxDescriptorSetStorageBuffers"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxDescriptorSetStorageBuffers"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxDescriptorSetStorageBuffers"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageBuffers}-        type FieldIsArray "maxDescriptorSetStorageBuffers"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageBuffers}--instance {-# OVERLAPPING #-}-         CanReadField "maxDescriptorSetStorageBuffers"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageBuffers})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageBuffers}--instance {-# OVERLAPPING #-}-         CanWriteField "maxDescriptorSetStorageBuffers"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageBuffers}--instance {-# OVERLAPPING #-}-         HasField "maxDescriptorSetStorageBuffersDynamic"-           VkPhysicalDeviceLimits-         where-        type FieldType "maxDescriptorSetStorageBuffersDynamic"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxDescriptorSetStorageBuffersDynamic"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxDescriptorSetStorageBuffersDynamic"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageBuffersDynamic}-        type FieldIsArray "maxDescriptorSetStorageBuffersDynamic"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageBuffersDynamic}--instance {-# OVERLAPPING #-}-         CanReadField "maxDescriptorSetStorageBuffersDynamic"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageBuffersDynamic})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageBuffersDynamic}--instance {-# OVERLAPPING #-}-         CanWriteField "maxDescriptorSetStorageBuffersDynamic"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageBuffersDynamic}--instance {-# OVERLAPPING #-}-         HasField "maxDescriptorSetSampledImages" VkPhysicalDeviceLimits-         where-        type FieldType "maxDescriptorSetSampledImages"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxDescriptorSetSampledImages"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxDescriptorSetSampledImages"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxDescriptorSetSampledImages}-        type FieldIsArray "maxDescriptorSetSampledImages"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxDescriptorSetSampledImages}--instance {-# OVERLAPPING #-}-         CanReadField "maxDescriptorSetSampledImages" VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxDescriptorSetSampledImages})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetSampledImages}--instance {-# OVERLAPPING #-}-         CanWriteField "maxDescriptorSetSampledImages"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetSampledImages}--instance {-# OVERLAPPING #-}-         HasField "maxDescriptorSetStorageImages" VkPhysicalDeviceLimits-         where-        type FieldType "maxDescriptorSetStorageImages"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxDescriptorSetStorageImages"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxDescriptorSetStorageImages"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageImages}-        type FieldIsArray "maxDescriptorSetStorageImages"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageImages}--instance {-# OVERLAPPING #-}-         CanReadField "maxDescriptorSetStorageImages" VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageImages})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageImages}--instance {-# OVERLAPPING #-}-         CanWriteField "maxDescriptorSetStorageImages"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageImages}--instance {-# OVERLAPPING #-}-         HasField "maxDescriptorSetInputAttachments" VkPhysicalDeviceLimits-         where-        type FieldType "maxDescriptorSetInputAttachments"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxDescriptorSetInputAttachments"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxDescriptorSetInputAttachments"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxDescriptorSetInputAttachments}-        type FieldIsArray "maxDescriptorSetInputAttachments"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxDescriptorSetInputAttachments}--instance {-# OVERLAPPING #-}-         CanReadField "maxDescriptorSetInputAttachments"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxDescriptorSetInputAttachments})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetInputAttachments}--instance {-# OVERLAPPING #-}-         CanWriteField "maxDescriptorSetInputAttachments"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetInputAttachments}--instance {-# OVERLAPPING #-}-         HasField "maxVertexInputAttributes" VkPhysicalDeviceLimits where-        type FieldType "maxVertexInputAttributes" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxVertexInputAttributes"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxVertexInputAttributes" VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxVertexInputAttributes}-        type FieldIsArray "maxVertexInputAttributes" VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxVertexInputAttributes}--instance {-# OVERLAPPING #-}-         CanReadField "maxVertexInputAttributes" VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxVertexInputAttributes})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxVertexInputAttributes}--instance {-# OVERLAPPING #-}-         CanWriteField "maxVertexInputAttributes" VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxVertexInputAttributes}--instance {-# OVERLAPPING #-}-         HasField "maxVertexInputBindings" VkPhysicalDeviceLimits where-        type FieldType "maxVertexInputBindings" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxVertexInputBindings" VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxVertexInputBindings" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxVertexInputBindings}-        type FieldIsArray "maxVertexInputBindings" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxVertexInputBindings}--instance {-# OVERLAPPING #-}-         CanReadField "maxVertexInputBindings" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxVertexInputBindings})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxVertexInputBindings}--instance {-# OVERLAPPING #-}-         CanWriteField "maxVertexInputBindings" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxVertexInputBindings}--instance {-# OVERLAPPING #-}-         HasField "maxVertexInputAttributeOffset" VkPhysicalDeviceLimits-         where-        type FieldType "maxVertexInputAttributeOffset"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxVertexInputAttributeOffset"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxVertexInputAttributeOffset"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxVertexInputAttributeOffset}-        type FieldIsArray "maxVertexInputAttributeOffset"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxVertexInputAttributeOffset}--instance {-# OVERLAPPING #-}-         CanReadField "maxVertexInputAttributeOffset" VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxVertexInputAttributeOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxVertexInputAttributeOffset}--instance {-# OVERLAPPING #-}-         CanWriteField "maxVertexInputAttributeOffset"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxVertexInputAttributeOffset}--instance {-# OVERLAPPING #-}-         HasField "maxVertexInputBindingStride" VkPhysicalDeviceLimits where-        type FieldType "maxVertexInputBindingStride" VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxVertexInputBindingStride"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxVertexInputBindingStride"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxVertexInputBindingStride}-        type FieldIsArray "maxVertexInputBindingStride"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxVertexInputBindingStride}--instance {-# OVERLAPPING #-}-         CanReadField "maxVertexInputBindingStride" VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxVertexInputBindingStride})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxVertexInputBindingStride}--instance {-# OVERLAPPING #-}-         CanWriteField "maxVertexInputBindingStride" VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxVertexInputBindingStride}--instance {-# OVERLAPPING #-}-         HasField "maxVertexOutputComponents" VkPhysicalDeviceLimits where-        type FieldType "maxVertexOutputComponents" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxVertexOutputComponents"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxVertexOutputComponents" VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxVertexOutputComponents}-        type FieldIsArray "maxVertexOutputComponents"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxVertexOutputComponents}--instance {-# OVERLAPPING #-}-         CanReadField "maxVertexOutputComponents" VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxVertexOutputComponents})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxVertexOutputComponents}--instance {-# OVERLAPPING #-}-         CanWriteField "maxVertexOutputComponents" VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxVertexOutputComponents}--instance {-# OVERLAPPING #-}-         HasField "maxTessellationGenerationLevel" VkPhysicalDeviceLimits-         where-        type FieldType "maxTessellationGenerationLevel"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxTessellationGenerationLevel"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxTessellationGenerationLevel"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxTessellationGenerationLevel}-        type FieldIsArray "maxTessellationGenerationLevel"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxTessellationGenerationLevel}--instance {-# OVERLAPPING #-}-         CanReadField "maxTessellationGenerationLevel"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxTessellationGenerationLevel})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationGenerationLevel}--instance {-# OVERLAPPING #-}-         CanWriteField "maxTessellationGenerationLevel"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationGenerationLevel}--instance {-# OVERLAPPING #-}-         HasField "maxTessellationPatchSize" VkPhysicalDeviceLimits where-        type FieldType "maxTessellationPatchSize" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxTessellationPatchSize"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxTessellationPatchSize" VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxTessellationPatchSize}-        type FieldIsArray "maxTessellationPatchSize" VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxTessellationPatchSize}--instance {-# OVERLAPPING #-}-         CanReadField "maxTessellationPatchSize" VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxTessellationPatchSize})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationPatchSize}--instance {-# OVERLAPPING #-}-         CanWriteField "maxTessellationPatchSize" VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationPatchSize}--instance {-# OVERLAPPING #-}-         HasField "maxTessellationControlPerVertexInputComponents"-           VkPhysicalDeviceLimits-         where-        type FieldType "maxTessellationControlPerVertexInputComponents"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxTessellationControlPerVertexInputComponents"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxTessellationControlPerVertexInputComponents"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxTessellationControlPerVertexInputComponents}-        type FieldIsArray "maxTessellationControlPerVertexInputComponents"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxTessellationControlPerVertexInputComponents}--instance {-# OVERLAPPING #-}-         CanReadField "maxTessellationControlPerVertexInputComponents"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxTessellationControlPerVertexInputComponents})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationControlPerVertexInputComponents}--instance {-# OVERLAPPING #-}-         CanWriteField "maxTessellationControlPerVertexInputComponents"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationControlPerVertexInputComponents}--instance {-# OVERLAPPING #-}-         HasField "maxTessellationControlPerVertexOutputComponents"-           VkPhysicalDeviceLimits-         where-        type FieldType "maxTessellationControlPerVertexOutputComponents"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional-               "maxTessellationControlPerVertexOutputComponents"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxTessellationControlPerVertexOutputComponents"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxTessellationControlPerVertexOutputComponents}-        type FieldIsArray "maxTessellationControlPerVertexOutputComponents"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxTessellationControlPerVertexOutputComponents}--instance {-# OVERLAPPING #-}-         CanReadField "maxTessellationControlPerVertexOutputComponents"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxTessellationControlPerVertexOutputComponents})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationControlPerVertexOutputComponents}--instance {-# OVERLAPPING #-}-         CanWriteField "maxTessellationControlPerVertexOutputComponents"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationControlPerVertexOutputComponents}--instance {-# OVERLAPPING #-}-         HasField "maxTessellationControlPerPatchOutputComponents"-           VkPhysicalDeviceLimits-         where-        type FieldType "maxTessellationControlPerPatchOutputComponents"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxTessellationControlPerPatchOutputComponents"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxTessellationControlPerPatchOutputComponents"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxTessellationControlPerPatchOutputComponents}-        type FieldIsArray "maxTessellationControlPerPatchOutputComponents"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxTessellationControlPerPatchOutputComponents}--instance {-# OVERLAPPING #-}-         CanReadField "maxTessellationControlPerPatchOutputComponents"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxTessellationControlPerPatchOutputComponents})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationControlPerPatchOutputComponents}--instance {-# OVERLAPPING #-}-         CanWriteField "maxTessellationControlPerPatchOutputComponents"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationControlPerPatchOutputComponents}--instance {-# OVERLAPPING #-}-         HasField "maxTessellationControlTotalOutputComponents"-           VkPhysicalDeviceLimits-         where-        type FieldType "maxTessellationControlTotalOutputComponents"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxTessellationControlTotalOutputComponents"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxTessellationControlTotalOutputComponents"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxTessellationControlTotalOutputComponents}-        type FieldIsArray "maxTessellationControlTotalOutputComponents"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxTessellationControlTotalOutputComponents}--instance {-# OVERLAPPING #-}-         CanReadField "maxTessellationControlTotalOutputComponents"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxTessellationControlTotalOutputComponents})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationControlTotalOutputComponents}--instance {-# OVERLAPPING #-}-         CanWriteField "maxTessellationControlTotalOutputComponents"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationControlTotalOutputComponents}--instance {-# OVERLAPPING #-}-         HasField "maxTessellationEvaluationInputComponents"-           VkPhysicalDeviceLimits-         where-        type FieldType "maxTessellationEvaluationInputComponents"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxTessellationEvaluationInputComponents"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxTessellationEvaluationInputComponents"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxTessellationEvaluationInputComponents}-        type FieldIsArray "maxTessellationEvaluationInputComponents"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxTessellationEvaluationInputComponents}--instance {-# OVERLAPPING #-}-         CanReadField "maxTessellationEvaluationInputComponents"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxTessellationEvaluationInputComponents})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationEvaluationInputComponents}--instance {-# OVERLAPPING #-}-         CanWriteField "maxTessellationEvaluationInputComponents"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationEvaluationInputComponents}--instance {-# OVERLAPPING #-}-         HasField "maxTessellationEvaluationOutputComponents"-           VkPhysicalDeviceLimits-         where-        type FieldType "maxTessellationEvaluationOutputComponents"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxTessellationEvaluationOutputComponents"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxTessellationEvaluationOutputComponents"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxTessellationEvaluationOutputComponents}-        type FieldIsArray "maxTessellationEvaluationOutputComponents"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxTessellationEvaluationOutputComponents}--instance {-# OVERLAPPING #-}-         CanReadField "maxTessellationEvaluationOutputComponents"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxTessellationEvaluationOutputComponents})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationEvaluationOutputComponents}--instance {-# OVERLAPPING #-}-         CanWriteField "maxTessellationEvaluationOutputComponents"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationEvaluationOutputComponents}--instance {-# OVERLAPPING #-}-         HasField "maxGeometryShaderInvocations" VkPhysicalDeviceLimits-         where-        type FieldType "maxGeometryShaderInvocations"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxGeometryShaderInvocations"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxGeometryShaderInvocations"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxGeometryShaderInvocations}-        type FieldIsArray "maxGeometryShaderInvocations"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxGeometryShaderInvocations}--instance {-# OVERLAPPING #-}-         CanReadField "maxGeometryShaderInvocations" VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxGeometryShaderInvocations})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxGeometryShaderInvocations}--instance {-# OVERLAPPING #-}-         CanWriteField "maxGeometryShaderInvocations" VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxGeometryShaderInvocations}--instance {-# OVERLAPPING #-}-         HasField "maxGeometryInputComponents" VkPhysicalDeviceLimits where-        type FieldType "maxGeometryInputComponents" VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxGeometryInputComponents"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxGeometryInputComponents"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxGeometryInputComponents}-        type FieldIsArray "maxGeometryInputComponents"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxGeometryInputComponents}--instance {-# OVERLAPPING #-}-         CanReadField "maxGeometryInputComponents" VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxGeometryInputComponents})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxGeometryInputComponents}--instance {-# OVERLAPPING #-}-         CanWriteField "maxGeometryInputComponents" VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxGeometryInputComponents}--instance {-# OVERLAPPING #-}-         HasField "maxGeometryOutputComponents" VkPhysicalDeviceLimits where-        type FieldType "maxGeometryOutputComponents" VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxGeometryOutputComponents"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxGeometryOutputComponents"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxGeometryOutputComponents}-        type FieldIsArray "maxGeometryOutputComponents"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxGeometryOutputComponents}--instance {-# OVERLAPPING #-}-         CanReadField "maxGeometryOutputComponents" VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxGeometryOutputComponents})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxGeometryOutputComponents}--instance {-# OVERLAPPING #-}-         CanWriteField "maxGeometryOutputComponents" VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxGeometryOutputComponents}--instance {-# OVERLAPPING #-}-         HasField "maxGeometryOutputVertices" VkPhysicalDeviceLimits where-        type FieldType "maxGeometryOutputVertices" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxGeometryOutputVertices"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxGeometryOutputVertices" VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxGeometryOutputVertices}-        type FieldIsArray "maxGeometryOutputVertices"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxGeometryOutputVertices}--instance {-# OVERLAPPING #-}-         CanReadField "maxGeometryOutputVertices" VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxGeometryOutputVertices})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxGeometryOutputVertices}--instance {-# OVERLAPPING #-}-         CanWriteField "maxGeometryOutputVertices" VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxGeometryOutputVertices}--instance {-# OVERLAPPING #-}-         HasField "maxGeometryTotalOutputComponents" VkPhysicalDeviceLimits-         where-        type FieldType "maxGeometryTotalOutputComponents"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxGeometryTotalOutputComponents"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxGeometryTotalOutputComponents"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxGeometryTotalOutputComponents}-        type FieldIsArray "maxGeometryTotalOutputComponents"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxGeometryTotalOutputComponents}--instance {-# OVERLAPPING #-}-         CanReadField "maxGeometryTotalOutputComponents"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxGeometryTotalOutputComponents})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxGeometryTotalOutputComponents}--instance {-# OVERLAPPING #-}-         CanWriteField "maxGeometryTotalOutputComponents"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxGeometryTotalOutputComponents}--instance {-# OVERLAPPING #-}-         HasField "maxFragmentInputComponents" VkPhysicalDeviceLimits where-        type FieldType "maxFragmentInputComponents" VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxFragmentInputComponents"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxFragmentInputComponents"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxFragmentInputComponents}-        type FieldIsArray "maxFragmentInputComponents"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxFragmentInputComponents}--instance {-# OVERLAPPING #-}-         CanReadField "maxFragmentInputComponents" VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxFragmentInputComponents})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxFragmentInputComponents}--instance {-# OVERLAPPING #-}-         CanWriteField "maxFragmentInputComponents" VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxFragmentInputComponents}--instance {-# OVERLAPPING #-}-         HasField "maxFragmentOutputAttachments" VkPhysicalDeviceLimits-         where-        type FieldType "maxFragmentOutputAttachments"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxFragmentOutputAttachments"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxFragmentOutputAttachments"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxFragmentOutputAttachments}-        type FieldIsArray "maxFragmentOutputAttachments"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxFragmentOutputAttachments}--instance {-# OVERLAPPING #-}-         CanReadField "maxFragmentOutputAttachments" VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxFragmentOutputAttachments})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxFragmentOutputAttachments}--instance {-# OVERLAPPING #-}-         CanWriteField "maxFragmentOutputAttachments" VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxFragmentOutputAttachments}--instance {-# OVERLAPPING #-}-         HasField "maxFragmentDualSrcAttachments" VkPhysicalDeviceLimits-         where-        type FieldType "maxFragmentDualSrcAttachments"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxFragmentDualSrcAttachments"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxFragmentDualSrcAttachments"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxFragmentDualSrcAttachments}-        type FieldIsArray "maxFragmentDualSrcAttachments"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxFragmentDualSrcAttachments}--instance {-# OVERLAPPING #-}-         CanReadField "maxFragmentDualSrcAttachments" VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxFragmentDualSrcAttachments})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxFragmentDualSrcAttachments}--instance {-# OVERLAPPING #-}-         CanWriteField "maxFragmentDualSrcAttachments"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxFragmentDualSrcAttachments}--instance {-# OVERLAPPING #-}-         HasField "maxFragmentCombinedOutputResources"-           VkPhysicalDeviceLimits-         where-        type FieldType "maxFragmentCombinedOutputResources"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxFragmentCombinedOutputResources"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxFragmentCombinedOutputResources"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxFragmentCombinedOutputResources}-        type FieldIsArray "maxFragmentCombinedOutputResources"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxFragmentCombinedOutputResources}--instance {-# OVERLAPPING #-}-         CanReadField "maxFragmentCombinedOutputResources"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxFragmentCombinedOutputResources})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxFragmentCombinedOutputResources}--instance {-# OVERLAPPING #-}-         CanWriteField "maxFragmentCombinedOutputResources"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxFragmentCombinedOutputResources}--instance {-# OVERLAPPING #-}-         HasField "maxComputeSharedMemorySize" VkPhysicalDeviceLimits where-        type FieldType "maxComputeSharedMemorySize" VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxComputeSharedMemorySize"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxComputeSharedMemorySize"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxComputeSharedMemorySize}-        type FieldIsArray "maxComputeSharedMemorySize"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxComputeSharedMemorySize}--instance {-# OVERLAPPING #-}-         CanReadField "maxComputeSharedMemorySize" VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxComputeSharedMemorySize})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxComputeSharedMemorySize}--instance {-# OVERLAPPING #-}-         CanWriteField "maxComputeSharedMemorySize" VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxComputeSharedMemorySize}--instance {-# OVERLAPPING #-}-         HasField "maxComputeWorkGroupCount" VkPhysicalDeviceLimits where-        type FieldType "maxComputeWorkGroupCount" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxComputeWorkGroupCount"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxComputeWorkGroupCount" VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxComputeWorkGroupCount}-        type FieldIsArray "maxComputeWorkGroupCount" VkPhysicalDeviceLimits-             = 'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxComputeWorkGroupCount}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "maxComputeWorkGroupCount" VkPhysicalDeviceLimits-         where-        type FieldArrayLength "maxComputeWorkGroupCount"-               VkPhysicalDeviceLimits-             = 3--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = 3--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkPhysicalDeviceLimits, maxComputeWorkGroupCount}-                      + sizeOf (undefined :: Word32) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkPhysicalDeviceLimits, maxComputeWorkGroupCount}-                 + sizeOf (undefined :: Word32) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "maxComputeWorkGroupCount"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkPhysicalDeviceLimits, maxComputeWorkGroupCount}-                 + sizeOf (undefined :: Word32) * i)--instance {-# OVERLAPPING #-}-         HasField "maxComputeWorkGroupInvocations" VkPhysicalDeviceLimits-         where-        type FieldType "maxComputeWorkGroupInvocations"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxComputeWorkGroupInvocations"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxComputeWorkGroupInvocations"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxComputeWorkGroupInvocations}-        type FieldIsArray "maxComputeWorkGroupInvocations"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxComputeWorkGroupInvocations}--instance {-# OVERLAPPING #-}-         CanReadField "maxComputeWorkGroupInvocations"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxComputeWorkGroupInvocations})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxComputeWorkGroupInvocations}--instance {-# OVERLAPPING #-}-         CanWriteField "maxComputeWorkGroupInvocations"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxComputeWorkGroupInvocations}--instance {-# OVERLAPPING #-}-         HasField "maxComputeWorkGroupSize" VkPhysicalDeviceLimits where-        type FieldType "maxComputeWorkGroupSize" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxComputeWorkGroupSize" VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxComputeWorkGroupSize" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxComputeWorkGroupSize}-        type FieldIsArray "maxComputeWorkGroupSize" VkPhysicalDeviceLimits-             = 'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxComputeWorkGroupSize}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "maxComputeWorkGroupSize" VkPhysicalDeviceLimits-         where-        type FieldArrayLength "maxComputeWorkGroupSize"-               VkPhysicalDeviceLimits-             = 3--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = 3--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkPhysicalDeviceLimits, maxComputeWorkGroupSize}-                      + sizeOf (undefined :: Word32) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkPhysicalDeviceLimits, maxComputeWorkGroupSize}-                 + sizeOf (undefined :: Word32) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "maxComputeWorkGroupSize" VkPhysicalDeviceLimits-         where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkPhysicalDeviceLimits, maxComputeWorkGroupSize}-                 + sizeOf (undefined :: Word32) * i)--instance {-# OVERLAPPING #-}-         HasField "subPixelPrecisionBits" VkPhysicalDeviceLimits where-        type FieldType "subPixelPrecisionBits" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "subPixelPrecisionBits" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "subPixelPrecisionBits" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, subPixelPrecisionBits}-        type FieldIsArray "subPixelPrecisionBits" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, subPixelPrecisionBits}--instance {-# OVERLAPPING #-}-         CanReadField "subPixelPrecisionBits" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, subPixelPrecisionBits})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, subPixelPrecisionBits}--instance {-# OVERLAPPING #-}-         CanWriteField "subPixelPrecisionBits" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, subPixelPrecisionBits}--instance {-# OVERLAPPING #-}-         HasField "subTexelPrecisionBits" VkPhysicalDeviceLimits where-        type FieldType "subTexelPrecisionBits" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "subTexelPrecisionBits" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "subTexelPrecisionBits" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, subTexelPrecisionBits}-        type FieldIsArray "subTexelPrecisionBits" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, subTexelPrecisionBits}--instance {-# OVERLAPPING #-}-         CanReadField "subTexelPrecisionBits" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, subTexelPrecisionBits})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, subTexelPrecisionBits}--instance {-# OVERLAPPING #-}-         CanWriteField "subTexelPrecisionBits" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, subTexelPrecisionBits}--instance {-# OVERLAPPING #-}-         HasField "mipmapPrecisionBits" VkPhysicalDeviceLimits where-        type FieldType "mipmapPrecisionBits" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "mipmapPrecisionBits" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "mipmapPrecisionBits" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, mipmapPrecisionBits}-        type FieldIsArray "mipmapPrecisionBits" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, mipmapPrecisionBits}--instance {-# OVERLAPPING #-}-         CanReadField "mipmapPrecisionBits" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, mipmapPrecisionBits})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, mipmapPrecisionBits}--instance {-# OVERLAPPING #-}-         CanWriteField "mipmapPrecisionBits" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, mipmapPrecisionBits}--instance {-# OVERLAPPING #-}-         HasField "maxDrawIndexedIndexValue" VkPhysicalDeviceLimits where-        type FieldType "maxDrawIndexedIndexValue" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxDrawIndexedIndexValue"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxDrawIndexedIndexValue" VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxDrawIndexedIndexValue}-        type FieldIsArray "maxDrawIndexedIndexValue" VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxDrawIndexedIndexValue}--instance {-# OVERLAPPING #-}-         CanReadField "maxDrawIndexedIndexValue" VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxDrawIndexedIndexValue})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxDrawIndexedIndexValue}--instance {-# OVERLAPPING #-}-         CanWriteField "maxDrawIndexedIndexValue" VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxDrawIndexedIndexValue}--instance {-# OVERLAPPING #-}-         HasField "maxDrawIndirectCount" VkPhysicalDeviceLimits where-        type FieldType "maxDrawIndirectCount" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxDrawIndirectCount" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxDrawIndirectCount" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxDrawIndirectCount}-        type FieldIsArray "maxDrawIndirectCount" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxDrawIndirectCount}--instance {-# OVERLAPPING #-}-         CanReadField "maxDrawIndirectCount" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxDrawIndirectCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxDrawIndirectCount}--instance {-# OVERLAPPING #-}-         CanWriteField "maxDrawIndirectCount" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxDrawIndirectCount}--instance {-# OVERLAPPING #-}-         HasField "maxSamplerLodBias" VkPhysicalDeviceLimits where-        type FieldType "maxSamplerLodBias" VkPhysicalDeviceLimits =-             #{type float}-        type FieldOptional "maxSamplerLodBias" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxSamplerLodBias" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxSamplerLodBias}-        type FieldIsArray "maxSamplerLodBias" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxSamplerLodBias}--instance {-# OVERLAPPING #-}-         CanReadField "maxSamplerLodBias" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxSamplerLodBias})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxSamplerLodBias}--instance {-# OVERLAPPING #-}-         CanWriteField "maxSamplerLodBias" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxSamplerLodBias}--instance {-# OVERLAPPING #-}-         HasField "maxSamplerAnisotropy" VkPhysicalDeviceLimits where-        type FieldType "maxSamplerAnisotropy" VkPhysicalDeviceLimits =-             #{type float}-        type FieldOptional "maxSamplerAnisotropy" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxSamplerAnisotropy" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxSamplerAnisotropy}-        type FieldIsArray "maxSamplerAnisotropy" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxSamplerAnisotropy}--instance {-# OVERLAPPING #-}-         CanReadField "maxSamplerAnisotropy" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxSamplerAnisotropy})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxSamplerAnisotropy}--instance {-# OVERLAPPING #-}-         CanWriteField "maxSamplerAnisotropy" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxSamplerAnisotropy}--instance {-# OVERLAPPING #-}-         HasField "maxViewports" VkPhysicalDeviceLimits where-        type FieldType "maxViewports" VkPhysicalDeviceLimits = Word32-        type FieldOptional "maxViewports" VkPhysicalDeviceLimits = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxViewports" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxViewports}-        type FieldIsArray "maxViewports" VkPhysicalDeviceLimits = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxViewports}--instance {-# OVERLAPPING #-}-         CanReadField "maxViewports" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxViewports})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxViewports}--instance {-# OVERLAPPING #-}-         CanWriteField "maxViewports" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxViewports}--instance {-# OVERLAPPING #-}-         HasField "maxViewportDimensions" VkPhysicalDeviceLimits where-        type FieldType "maxViewportDimensions" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxViewportDimensions" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxViewportDimensions" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxViewportDimensions}-        type FieldIsArray "maxViewportDimensions" VkPhysicalDeviceLimits =-             'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxViewportDimensions}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "maxViewportDimensions" VkPhysicalDeviceLimits-         where-        type FieldArrayLength "maxViewportDimensions"-               VkPhysicalDeviceLimits-             = 2--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = 2--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkPhysicalDeviceLimits, maxViewportDimensions}-                      + sizeOf (undefined :: Word32) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkPhysicalDeviceLimits, maxViewportDimensions}-                 + sizeOf (undefined :: Word32) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "maxViewportDimensions" VkPhysicalDeviceLimits-         where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkPhysicalDeviceLimits, maxViewportDimensions}-                 + sizeOf (undefined :: Word32) * i)--instance {-# OVERLAPPING #-}-         HasField "viewportBoundsRange" VkPhysicalDeviceLimits where-        type FieldType "viewportBoundsRange" VkPhysicalDeviceLimits =-             #{type float}-        type FieldOptional "viewportBoundsRange" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "viewportBoundsRange" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, viewportBoundsRange}-        type FieldIsArray "viewportBoundsRange" VkPhysicalDeviceLimits =-             'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, viewportBoundsRange}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "viewportBoundsRange" VkPhysicalDeviceLimits-         where-        type FieldArrayLength "viewportBoundsRange" VkPhysicalDeviceLimits-             = 2--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = 2--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkPhysicalDeviceLimits, viewportBoundsRange}-                      + sizeOf (undefined :: #{type float}) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkPhysicalDeviceLimits, viewportBoundsRange}-                 + sizeOf (undefined :: #{type float}) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "viewportBoundsRange" VkPhysicalDeviceLimits-         where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkPhysicalDeviceLimits, viewportBoundsRange}-                 + sizeOf (undefined :: #{type float}) * i)--instance {-# OVERLAPPING #-}-         HasField "viewportSubPixelBits" VkPhysicalDeviceLimits where-        type FieldType "viewportSubPixelBits" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "viewportSubPixelBits" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "viewportSubPixelBits" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, viewportSubPixelBits}-        type FieldIsArray "viewportSubPixelBits" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, viewportSubPixelBits}--instance {-# OVERLAPPING #-}-         CanReadField "viewportSubPixelBits" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, viewportSubPixelBits})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, viewportSubPixelBits}--instance {-# OVERLAPPING #-}-         CanWriteField "viewportSubPixelBits" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, viewportSubPixelBits}--instance {-# OVERLAPPING #-}-         HasField "minMemoryMapAlignment" VkPhysicalDeviceLimits where-        type FieldType "minMemoryMapAlignment" VkPhysicalDeviceLimits =-             CSize-        type FieldOptional "minMemoryMapAlignment" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "minMemoryMapAlignment" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, minMemoryMapAlignment}-        type FieldIsArray "minMemoryMapAlignment" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, minMemoryMapAlignment}--instance {-# OVERLAPPING #-}-         CanReadField "minMemoryMapAlignment" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, minMemoryMapAlignment})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, minMemoryMapAlignment}--instance {-# OVERLAPPING #-}-         CanWriteField "minMemoryMapAlignment" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, minMemoryMapAlignment}--instance {-# OVERLAPPING #-}-         HasField "minTexelBufferOffsetAlignment" VkPhysicalDeviceLimits-         where-        type FieldType "minTexelBufferOffsetAlignment"-               VkPhysicalDeviceLimits-             = VkDeviceSize-        type FieldOptional "minTexelBufferOffsetAlignment"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "minTexelBufferOffsetAlignment"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, minTexelBufferOffsetAlignment}-        type FieldIsArray "minTexelBufferOffsetAlignment"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, minTexelBufferOffsetAlignment}--instance {-# OVERLAPPING #-}-         CanReadField "minTexelBufferOffsetAlignment" VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, minTexelBufferOffsetAlignment})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, minTexelBufferOffsetAlignment}--instance {-# OVERLAPPING #-}-         CanWriteField "minTexelBufferOffsetAlignment"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, minTexelBufferOffsetAlignment}--instance {-# OVERLAPPING #-}-         HasField "minUniformBufferOffsetAlignment" VkPhysicalDeviceLimits-         where-        type FieldType "minUniformBufferOffsetAlignment"-               VkPhysicalDeviceLimits-             = VkDeviceSize-        type FieldOptional "minUniformBufferOffsetAlignment"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "minUniformBufferOffsetAlignment"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, minUniformBufferOffsetAlignment}-        type FieldIsArray "minUniformBufferOffsetAlignment"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, minUniformBufferOffsetAlignment}--instance {-# OVERLAPPING #-}-         CanReadField "minUniformBufferOffsetAlignment"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, minUniformBufferOffsetAlignment})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, minUniformBufferOffsetAlignment}--instance {-# OVERLAPPING #-}-         CanWriteField "minUniformBufferOffsetAlignment"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, minUniformBufferOffsetAlignment}--instance {-# OVERLAPPING #-}-         HasField "minStorageBufferOffsetAlignment" VkPhysicalDeviceLimits-         where-        type FieldType "minStorageBufferOffsetAlignment"-               VkPhysicalDeviceLimits-             = VkDeviceSize-        type FieldOptional "minStorageBufferOffsetAlignment"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "minStorageBufferOffsetAlignment"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, minStorageBufferOffsetAlignment}-        type FieldIsArray "minStorageBufferOffsetAlignment"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, minStorageBufferOffsetAlignment}--instance {-# OVERLAPPING #-}-         CanReadField "minStorageBufferOffsetAlignment"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, minStorageBufferOffsetAlignment})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, minStorageBufferOffsetAlignment}--instance {-# OVERLAPPING #-}-         CanWriteField "minStorageBufferOffsetAlignment"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, minStorageBufferOffsetAlignment}--instance {-# OVERLAPPING #-}-         HasField "minTexelOffset" VkPhysicalDeviceLimits where-        type FieldType "minTexelOffset" VkPhysicalDeviceLimits = Int32-        type FieldOptional "minTexelOffset" VkPhysicalDeviceLimits = 'False -- ' closing tick for hsc2hs-        type FieldOffset "minTexelOffset" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, minTexelOffset}-        type FieldIsArray "minTexelOffset" VkPhysicalDeviceLimits = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, minTexelOffset}--instance {-# OVERLAPPING #-}-         CanReadField "minTexelOffset" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, minTexelOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, minTexelOffset}--instance {-# OVERLAPPING #-}-         CanWriteField "minTexelOffset" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, minTexelOffset}--instance {-# OVERLAPPING #-}-         HasField "maxTexelOffset" VkPhysicalDeviceLimits where-        type FieldType "maxTexelOffset" VkPhysicalDeviceLimits = Word32-        type FieldOptional "maxTexelOffset" VkPhysicalDeviceLimits = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxTexelOffset" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxTexelOffset}-        type FieldIsArray "maxTexelOffset" VkPhysicalDeviceLimits = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxTexelOffset}--instance {-# OVERLAPPING #-}-         CanReadField "maxTexelOffset" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxTexelOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxTexelOffset}--instance {-# OVERLAPPING #-}-         CanWriteField "maxTexelOffset" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxTexelOffset}--instance {-# OVERLAPPING #-}-         HasField "minTexelGatherOffset" VkPhysicalDeviceLimits where-        type FieldType "minTexelGatherOffset" VkPhysicalDeviceLimits =-             Int32-        type FieldOptional "minTexelGatherOffset" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "minTexelGatherOffset" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, minTexelGatherOffset}-        type FieldIsArray "minTexelGatherOffset" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, minTexelGatherOffset}--instance {-# OVERLAPPING #-}-         CanReadField "minTexelGatherOffset" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, minTexelGatherOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, minTexelGatherOffset}--instance {-# OVERLAPPING #-}-         CanWriteField "minTexelGatherOffset" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, minTexelGatherOffset}--instance {-# OVERLAPPING #-}-         HasField "maxTexelGatherOffset" VkPhysicalDeviceLimits where-        type FieldType "maxTexelGatherOffset" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxTexelGatherOffset" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxTexelGatherOffset" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxTexelGatherOffset}-        type FieldIsArray "maxTexelGatherOffset" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxTexelGatherOffset}--instance {-# OVERLAPPING #-}-         CanReadField "maxTexelGatherOffset" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxTexelGatherOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxTexelGatherOffset}--instance {-# OVERLAPPING #-}-         CanWriteField "maxTexelGatherOffset" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxTexelGatherOffset}--instance {-# OVERLAPPING #-}-         HasField "minInterpolationOffset" VkPhysicalDeviceLimits where-        type FieldType "minInterpolationOffset" VkPhysicalDeviceLimits =-             #{type float}-        type FieldOptional "minInterpolationOffset" VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "minInterpolationOffset" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, minInterpolationOffset}-        type FieldIsArray "minInterpolationOffset" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, minInterpolationOffset}--instance {-# OVERLAPPING #-}-         CanReadField "minInterpolationOffset" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, minInterpolationOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, minInterpolationOffset}--instance {-# OVERLAPPING #-}-         CanWriteField "minInterpolationOffset" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, minInterpolationOffset}--instance {-# OVERLAPPING #-}-         HasField "maxInterpolationOffset" VkPhysicalDeviceLimits where-        type FieldType "maxInterpolationOffset" VkPhysicalDeviceLimits =-             #{type float}-        type FieldOptional "maxInterpolationOffset" VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxInterpolationOffset" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxInterpolationOffset}-        type FieldIsArray "maxInterpolationOffset" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxInterpolationOffset}--instance {-# OVERLAPPING #-}-         CanReadField "maxInterpolationOffset" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxInterpolationOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxInterpolationOffset}--instance {-# OVERLAPPING #-}-         CanWriteField "maxInterpolationOffset" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxInterpolationOffset}--instance {-# OVERLAPPING #-}-         HasField "subPixelInterpolationOffsetBits" VkPhysicalDeviceLimits-         where-        type FieldType "subPixelInterpolationOffsetBits"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "subPixelInterpolationOffsetBits"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "subPixelInterpolationOffsetBits"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, subPixelInterpolationOffsetBits}-        type FieldIsArray "subPixelInterpolationOffsetBits"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, subPixelInterpolationOffsetBits}--instance {-# OVERLAPPING #-}-         CanReadField "subPixelInterpolationOffsetBits"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, subPixelInterpolationOffsetBits})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, subPixelInterpolationOffsetBits}--instance {-# OVERLAPPING #-}-         CanWriteField "subPixelInterpolationOffsetBits"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, subPixelInterpolationOffsetBits}--instance {-# OVERLAPPING #-}-         HasField "maxFramebufferWidth" VkPhysicalDeviceLimits where-        type FieldType "maxFramebufferWidth" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxFramebufferWidth" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxFramebufferWidth" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxFramebufferWidth}-        type FieldIsArray "maxFramebufferWidth" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxFramebufferWidth}--instance {-# OVERLAPPING #-}-         CanReadField "maxFramebufferWidth" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxFramebufferWidth})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxFramebufferWidth}--instance {-# OVERLAPPING #-}-         CanWriteField "maxFramebufferWidth" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxFramebufferWidth}--instance {-# OVERLAPPING #-}-         HasField "maxFramebufferHeight" VkPhysicalDeviceLimits where-        type FieldType "maxFramebufferHeight" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxFramebufferHeight" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxFramebufferHeight" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxFramebufferHeight}-        type FieldIsArray "maxFramebufferHeight" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxFramebufferHeight}--instance {-# OVERLAPPING #-}-         CanReadField "maxFramebufferHeight" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxFramebufferHeight})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxFramebufferHeight}--instance {-# OVERLAPPING #-}-         CanWriteField "maxFramebufferHeight" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxFramebufferHeight}--instance {-# OVERLAPPING #-}-         HasField "maxFramebufferLayers" VkPhysicalDeviceLimits where-        type FieldType "maxFramebufferLayers" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxFramebufferLayers" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxFramebufferLayers" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxFramebufferLayers}-        type FieldIsArray "maxFramebufferLayers" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxFramebufferLayers}--instance {-# OVERLAPPING #-}-         CanReadField "maxFramebufferLayers" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxFramebufferLayers})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxFramebufferLayers}--instance {-# OVERLAPPING #-}-         CanWriteField "maxFramebufferLayers" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxFramebufferLayers}--instance {-# OVERLAPPING #-}-         HasField "framebufferColorSampleCounts" VkPhysicalDeviceLimits-         where-        type FieldType "framebufferColorSampleCounts"-               VkPhysicalDeviceLimits-             = VkSampleCountFlags-        type FieldOptional "framebufferColorSampleCounts"-               VkPhysicalDeviceLimits-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "framebufferColorSampleCounts"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, framebufferColorSampleCounts}-        type FieldIsArray "framebufferColorSampleCounts"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, framebufferColorSampleCounts}--instance {-# OVERLAPPING #-}-         CanReadField "framebufferColorSampleCounts" VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, framebufferColorSampleCounts})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, framebufferColorSampleCounts}--instance {-# OVERLAPPING #-}-         CanWriteField "framebufferColorSampleCounts" VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, framebufferColorSampleCounts}--instance {-# OVERLAPPING #-}-         HasField "framebufferDepthSampleCounts" VkPhysicalDeviceLimits-         where-        type FieldType "framebufferDepthSampleCounts"-               VkPhysicalDeviceLimits-             = VkSampleCountFlags-        type FieldOptional "framebufferDepthSampleCounts"-               VkPhysicalDeviceLimits-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "framebufferDepthSampleCounts"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, framebufferDepthSampleCounts}-        type FieldIsArray "framebufferDepthSampleCounts"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, framebufferDepthSampleCounts}--instance {-# OVERLAPPING #-}-         CanReadField "framebufferDepthSampleCounts" VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, framebufferDepthSampleCounts})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, framebufferDepthSampleCounts}--instance {-# OVERLAPPING #-}-         CanWriteField "framebufferDepthSampleCounts" VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, framebufferDepthSampleCounts}--instance {-# OVERLAPPING #-}-         HasField "framebufferStencilSampleCounts" VkPhysicalDeviceLimits-         where-        type FieldType "framebufferStencilSampleCounts"-               VkPhysicalDeviceLimits-             = VkSampleCountFlags-        type FieldOptional "framebufferStencilSampleCounts"-               VkPhysicalDeviceLimits-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "framebufferStencilSampleCounts"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, framebufferStencilSampleCounts}-        type FieldIsArray "framebufferStencilSampleCounts"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, framebufferStencilSampleCounts}--instance {-# OVERLAPPING #-}-         CanReadField "framebufferStencilSampleCounts"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, framebufferStencilSampleCounts})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, framebufferStencilSampleCounts}--instance {-# OVERLAPPING #-}-         CanWriteField "framebufferStencilSampleCounts"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, framebufferStencilSampleCounts}--instance {-# OVERLAPPING #-}-         HasField "framebufferNoAttachmentsSampleCounts"-           VkPhysicalDeviceLimits-         where-        type FieldType "framebufferNoAttachmentsSampleCounts"-               VkPhysicalDeviceLimits-             = VkSampleCountFlags-        type FieldOptional "framebufferNoAttachmentsSampleCounts"-               VkPhysicalDeviceLimits-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "framebufferNoAttachmentsSampleCounts"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, framebufferNoAttachmentsSampleCounts}-        type FieldIsArray "framebufferNoAttachmentsSampleCounts"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, framebufferNoAttachmentsSampleCounts}--instance {-# OVERLAPPING #-}-         CanReadField "framebufferNoAttachmentsSampleCounts"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, framebufferNoAttachmentsSampleCounts})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, framebufferNoAttachmentsSampleCounts}--instance {-# OVERLAPPING #-}-         CanWriteField "framebufferNoAttachmentsSampleCounts"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, framebufferNoAttachmentsSampleCounts}--instance {-# OVERLAPPING #-}-         HasField "maxColorAttachments" VkPhysicalDeviceLimits where-        type FieldType "maxColorAttachments" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "maxColorAttachments" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxColorAttachments" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxColorAttachments}-        type FieldIsArray "maxColorAttachments" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxColorAttachments}--instance {-# OVERLAPPING #-}-         CanReadField "maxColorAttachments" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxColorAttachments})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxColorAttachments}--instance {-# OVERLAPPING #-}-         CanWriteField "maxColorAttachments" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxColorAttachments}--instance {-# OVERLAPPING #-}-         HasField "sampledImageColorSampleCounts" VkPhysicalDeviceLimits-         where-        type FieldType "sampledImageColorSampleCounts"-               VkPhysicalDeviceLimits-             = VkSampleCountFlags-        type FieldOptional "sampledImageColorSampleCounts"-               VkPhysicalDeviceLimits-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "sampledImageColorSampleCounts"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, sampledImageColorSampleCounts}-        type FieldIsArray "sampledImageColorSampleCounts"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, sampledImageColorSampleCounts}--instance {-# OVERLAPPING #-}-         CanReadField "sampledImageColorSampleCounts" VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, sampledImageColorSampleCounts})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, sampledImageColorSampleCounts}--instance {-# OVERLAPPING #-}-         CanWriteField "sampledImageColorSampleCounts"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, sampledImageColorSampleCounts}--instance {-# OVERLAPPING #-}-         HasField "sampledImageIntegerSampleCounts" VkPhysicalDeviceLimits-         where-        type FieldType "sampledImageIntegerSampleCounts"-               VkPhysicalDeviceLimits-             = VkSampleCountFlags-        type FieldOptional "sampledImageIntegerSampleCounts"-               VkPhysicalDeviceLimits-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "sampledImageIntegerSampleCounts"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, sampledImageIntegerSampleCounts}-        type FieldIsArray "sampledImageIntegerSampleCounts"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, sampledImageIntegerSampleCounts}--instance {-# OVERLAPPING #-}-         CanReadField "sampledImageIntegerSampleCounts"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, sampledImageIntegerSampleCounts})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, sampledImageIntegerSampleCounts}--instance {-# OVERLAPPING #-}-         CanWriteField "sampledImageIntegerSampleCounts"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, sampledImageIntegerSampleCounts}--instance {-# OVERLAPPING #-}-         HasField "sampledImageDepthSampleCounts" VkPhysicalDeviceLimits-         where-        type FieldType "sampledImageDepthSampleCounts"-               VkPhysicalDeviceLimits-             = VkSampleCountFlags-        type FieldOptional "sampledImageDepthSampleCounts"-               VkPhysicalDeviceLimits-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "sampledImageDepthSampleCounts"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, sampledImageDepthSampleCounts}-        type FieldIsArray "sampledImageDepthSampleCounts"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, sampledImageDepthSampleCounts}--instance {-# OVERLAPPING #-}-         CanReadField "sampledImageDepthSampleCounts" VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, sampledImageDepthSampleCounts})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, sampledImageDepthSampleCounts}--instance {-# OVERLAPPING #-}-         CanWriteField "sampledImageDepthSampleCounts"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, sampledImageDepthSampleCounts}--instance {-# OVERLAPPING #-}-         HasField "sampledImageStencilSampleCounts" VkPhysicalDeviceLimits-         where-        type FieldType "sampledImageStencilSampleCounts"-               VkPhysicalDeviceLimits-             = VkSampleCountFlags-        type FieldOptional "sampledImageStencilSampleCounts"-               VkPhysicalDeviceLimits-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "sampledImageStencilSampleCounts"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, sampledImageStencilSampleCounts}-        type FieldIsArray "sampledImageStencilSampleCounts"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, sampledImageStencilSampleCounts}--instance {-# OVERLAPPING #-}-         CanReadField "sampledImageStencilSampleCounts"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, sampledImageStencilSampleCounts})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, sampledImageStencilSampleCounts}--instance {-# OVERLAPPING #-}-         CanWriteField "sampledImageStencilSampleCounts"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, sampledImageStencilSampleCounts}--instance {-# OVERLAPPING #-}-         HasField "storageImageSampleCounts" VkPhysicalDeviceLimits where-        type FieldType "storageImageSampleCounts" VkPhysicalDeviceLimits =-             VkSampleCountFlags-        type FieldOptional "storageImageSampleCounts"-               VkPhysicalDeviceLimits-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "storageImageSampleCounts" VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, storageImageSampleCounts}-        type FieldIsArray "storageImageSampleCounts" VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, storageImageSampleCounts}--instance {-# OVERLAPPING #-}-         CanReadField "storageImageSampleCounts" VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, storageImageSampleCounts})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, storageImageSampleCounts}--instance {-# OVERLAPPING #-}-         CanWriteField "storageImageSampleCounts" VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, storageImageSampleCounts}--instance {-# OVERLAPPING #-}-         HasField "maxSampleMaskWords" VkPhysicalDeviceLimits where-        type FieldType "maxSampleMaskWords" VkPhysicalDeviceLimits = Word32-        type FieldOptional "maxSampleMaskWords" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxSampleMaskWords" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxSampleMaskWords}-        type FieldIsArray "maxSampleMaskWords" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxSampleMaskWords}--instance {-# OVERLAPPING #-}-         CanReadField "maxSampleMaskWords" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxSampleMaskWords})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxSampleMaskWords}--instance {-# OVERLAPPING #-}-         CanWriteField "maxSampleMaskWords" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxSampleMaskWords}--instance {-# OVERLAPPING #-}-         HasField "timestampComputeAndGraphics" VkPhysicalDeviceLimits where-        type FieldType "timestampComputeAndGraphics" VkPhysicalDeviceLimits-             = VkBool32-        type FieldOptional "timestampComputeAndGraphics"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "timestampComputeAndGraphics"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, timestampComputeAndGraphics}-        type FieldIsArray "timestampComputeAndGraphics"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, timestampComputeAndGraphics}--instance {-# OVERLAPPING #-}-         CanReadField "timestampComputeAndGraphics" VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, timestampComputeAndGraphics})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, timestampComputeAndGraphics}--instance {-# OVERLAPPING #-}-         CanWriteField "timestampComputeAndGraphics" VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, timestampComputeAndGraphics}--instance {-# OVERLAPPING #-}-         HasField "timestampPeriod" VkPhysicalDeviceLimits where-        type FieldType "timestampPeriod" VkPhysicalDeviceLimits =-             #{type float}-        type FieldOptional "timestampPeriod" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "timestampPeriod" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, timestampPeriod}-        type FieldIsArray "timestampPeriod" VkPhysicalDeviceLimits = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, timestampPeriod}--instance {-# OVERLAPPING #-}-         CanReadField "timestampPeriod" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, timestampPeriod})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, timestampPeriod}--instance {-# OVERLAPPING #-}-         CanWriteField "timestampPeriod" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, timestampPeriod}--instance {-# OVERLAPPING #-}-         HasField "maxClipDistances" VkPhysicalDeviceLimits where-        type FieldType "maxClipDistances" VkPhysicalDeviceLimits = Word32-        type FieldOptional "maxClipDistances" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxClipDistances" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxClipDistances}-        type FieldIsArray "maxClipDistances" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxClipDistances}--instance {-# OVERLAPPING #-}-         CanReadField "maxClipDistances" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxClipDistances})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxClipDistances}--instance {-# OVERLAPPING #-}-         CanWriteField "maxClipDistances" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxClipDistances}--instance {-# OVERLAPPING #-}-         HasField "maxCullDistances" VkPhysicalDeviceLimits where-        type FieldType "maxCullDistances" VkPhysicalDeviceLimits = Word32-        type FieldOptional "maxCullDistances" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxCullDistances" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, maxCullDistances}-        type FieldIsArray "maxCullDistances" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxCullDistances}--instance {-# OVERLAPPING #-}-         CanReadField "maxCullDistances" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxCullDistances})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxCullDistances}--instance {-# OVERLAPPING #-}-         CanWriteField "maxCullDistances" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxCullDistances}--instance {-# OVERLAPPING #-}-         HasField "maxCombinedClipAndCullDistances" VkPhysicalDeviceLimits-         where-        type FieldType "maxCombinedClipAndCullDistances"-               VkPhysicalDeviceLimits-             = Word32-        type FieldOptional "maxCombinedClipAndCullDistances"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxCombinedClipAndCullDistances"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, maxCombinedClipAndCullDistances}-        type FieldIsArray "maxCombinedClipAndCullDistances"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, maxCombinedClipAndCullDistances}--instance {-# OVERLAPPING #-}-         CanReadField "maxCombinedClipAndCullDistances"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxCombinedClipAndCullDistances})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, maxCombinedClipAndCullDistances}--instance {-# OVERLAPPING #-}-         CanWriteField "maxCombinedClipAndCullDistances"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxCombinedClipAndCullDistances}--instance {-# OVERLAPPING #-}-         HasField "discreteQueuePriorities" VkPhysicalDeviceLimits where-        type FieldType "discreteQueuePriorities" VkPhysicalDeviceLimits =-             Word32-        type FieldOptional "discreteQueuePriorities" VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "discreteQueuePriorities" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, discreteQueuePriorities}-        type FieldIsArray "discreteQueuePriorities" VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, discreteQueuePriorities}--instance {-# OVERLAPPING #-}-         CanReadField "discreteQueuePriorities" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, discreteQueuePriorities})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, discreteQueuePriorities}--instance {-# OVERLAPPING #-}-         CanWriteField "discreteQueuePriorities" VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, discreteQueuePriorities}--instance {-# OVERLAPPING #-}-         HasField "pointSizeRange" VkPhysicalDeviceLimits where-        type FieldType "pointSizeRange" VkPhysicalDeviceLimits =-             #{type float}-        type FieldOptional "pointSizeRange" VkPhysicalDeviceLimits = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pointSizeRange" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, pointSizeRange}-        type FieldIsArray "pointSizeRange" VkPhysicalDeviceLimits = 'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, pointSizeRange}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "pointSizeRange" VkPhysicalDeviceLimits where-        type FieldArrayLength "pointSizeRange" VkPhysicalDeviceLimits = 2--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = 2--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkPhysicalDeviceLimits, pointSizeRange} +-                      sizeOf (undefined :: #{type float}) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkPhysicalDeviceLimits, pointSizeRange} +-                 sizeOf (undefined :: #{type float}) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "pointSizeRange" VkPhysicalDeviceLimits where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkPhysicalDeviceLimits, pointSizeRange} +-                 sizeOf (undefined :: #{type float}) * i)--instance {-# OVERLAPPING #-}-         HasField "lineWidthRange" VkPhysicalDeviceLimits where-        type FieldType "lineWidthRange" VkPhysicalDeviceLimits =-             #{type float}-        type FieldOptional "lineWidthRange" VkPhysicalDeviceLimits = 'False -- ' closing tick for hsc2hs-        type FieldOffset "lineWidthRange" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, lineWidthRange}-        type FieldIsArray "lineWidthRange" VkPhysicalDeviceLimits = 'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, lineWidthRange}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "lineWidthRange" VkPhysicalDeviceLimits where-        type FieldArrayLength "lineWidthRange" VkPhysicalDeviceLimits = 2--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = 2--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkPhysicalDeviceLimits, lineWidthRange} +-                      sizeOf (undefined :: #{type float}) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkPhysicalDeviceLimits, lineWidthRange} +-                 sizeOf (undefined :: #{type float}) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "lineWidthRange" VkPhysicalDeviceLimits where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkPhysicalDeviceLimits, lineWidthRange} +-                 sizeOf (undefined :: #{type float}) * i)--instance {-# OVERLAPPING #-}-         HasField "pointSizeGranularity" VkPhysicalDeviceLimits where-        type FieldType "pointSizeGranularity" VkPhysicalDeviceLimits =-             #{type float}-        type FieldOptional "pointSizeGranularity" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pointSizeGranularity" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, pointSizeGranularity}-        type FieldIsArray "pointSizeGranularity" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, pointSizeGranularity}--instance {-# OVERLAPPING #-}-         CanReadField "pointSizeGranularity" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, pointSizeGranularity})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, pointSizeGranularity}--instance {-# OVERLAPPING #-}-         CanWriteField "pointSizeGranularity" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, pointSizeGranularity}--instance {-# OVERLAPPING #-}-         HasField "lineWidthGranularity" VkPhysicalDeviceLimits where-        type FieldType "lineWidthGranularity" VkPhysicalDeviceLimits =-             #{type float}-        type FieldOptional "lineWidthGranularity" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "lineWidthGranularity" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, lineWidthGranularity}-        type FieldIsArray "lineWidthGranularity" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, lineWidthGranularity}--instance {-# OVERLAPPING #-}-         CanReadField "lineWidthGranularity" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, lineWidthGranularity})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, lineWidthGranularity}--instance {-# OVERLAPPING #-}-         CanWriteField "lineWidthGranularity" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, lineWidthGranularity}--instance {-# OVERLAPPING #-}-         HasField "strictLines" VkPhysicalDeviceLimits where-        type FieldType "strictLines" VkPhysicalDeviceLimits = VkBool32-        type FieldOptional "strictLines" VkPhysicalDeviceLimits = 'False -- ' closing tick for hsc2hs-        type FieldOffset "strictLines" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, strictLines}-        type FieldIsArray "strictLines" VkPhysicalDeviceLimits = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, strictLines}--instance {-# OVERLAPPING #-}-         CanReadField "strictLines" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, strictLines})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, strictLines}--instance {-# OVERLAPPING #-}-         CanWriteField "strictLines" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, strictLines}--instance {-# OVERLAPPING #-}-         HasField "standardSampleLocations" VkPhysicalDeviceLimits where-        type FieldType "standardSampleLocations" VkPhysicalDeviceLimits =-             VkBool32-        type FieldOptional "standardSampleLocations" VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "standardSampleLocations" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, standardSampleLocations}-        type FieldIsArray "standardSampleLocations" VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, standardSampleLocations}--instance {-# OVERLAPPING #-}-         CanReadField "standardSampleLocations" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, standardSampleLocations})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, standardSampleLocations}--instance {-# OVERLAPPING #-}-         CanWriteField "standardSampleLocations" VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, standardSampleLocations}--instance {-# OVERLAPPING #-}-         HasField "optimalBufferCopyOffsetAlignment" VkPhysicalDeviceLimits-         where-        type FieldType "optimalBufferCopyOffsetAlignment"-               VkPhysicalDeviceLimits-             = VkDeviceSize-        type FieldOptional "optimalBufferCopyOffsetAlignment"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "optimalBufferCopyOffsetAlignment"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, optimalBufferCopyOffsetAlignment}-        type FieldIsArray "optimalBufferCopyOffsetAlignment"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, optimalBufferCopyOffsetAlignment}--instance {-# OVERLAPPING #-}-         CanReadField "optimalBufferCopyOffsetAlignment"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, optimalBufferCopyOffsetAlignment})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, optimalBufferCopyOffsetAlignment}--instance {-# OVERLAPPING #-}-         CanWriteField "optimalBufferCopyOffsetAlignment"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, optimalBufferCopyOffsetAlignment}--instance {-# OVERLAPPING #-}-         HasField "optimalBufferCopyRowPitchAlignment"-           VkPhysicalDeviceLimits-         where-        type FieldType "optimalBufferCopyRowPitchAlignment"-               VkPhysicalDeviceLimits-             = VkDeviceSize-        type FieldOptional "optimalBufferCopyRowPitchAlignment"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "optimalBufferCopyRowPitchAlignment"-               VkPhysicalDeviceLimits-             =-             #{offset VkPhysicalDeviceLimits, optimalBufferCopyRowPitchAlignment}-        type FieldIsArray "optimalBufferCopyRowPitchAlignment"-               VkPhysicalDeviceLimits-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, optimalBufferCopyRowPitchAlignment}--instance {-# OVERLAPPING #-}-         CanReadField "optimalBufferCopyRowPitchAlignment"-           VkPhysicalDeviceLimits-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, optimalBufferCopyRowPitchAlignment})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, optimalBufferCopyRowPitchAlignment}--instance {-# OVERLAPPING #-}-         CanWriteField "optimalBufferCopyRowPitchAlignment"-           VkPhysicalDeviceLimits-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, optimalBufferCopyRowPitchAlignment}--instance {-# OVERLAPPING #-}-         HasField "nonCoherentAtomSize" VkPhysicalDeviceLimits where-        type FieldType "nonCoherentAtomSize" VkPhysicalDeviceLimits =-             VkDeviceSize-        type FieldOptional "nonCoherentAtomSize" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "nonCoherentAtomSize" VkPhysicalDeviceLimits =-             #{offset VkPhysicalDeviceLimits, nonCoherentAtomSize}-        type FieldIsArray "nonCoherentAtomSize" VkPhysicalDeviceLimits =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceLimits, nonCoherentAtomSize}--instance {-# OVERLAPPING #-}-         CanReadField "nonCoherentAtomSize" VkPhysicalDeviceLimits where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, nonCoherentAtomSize})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceLimits, nonCoherentAtomSize}--instance {-# OVERLAPPING #-}-         CanWriteField "nonCoherentAtomSize" VkPhysicalDeviceLimits where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceLimits, nonCoherentAtomSize}--instance Show VkPhysicalDeviceLimits where-        showsPrec d x-          = showString "VkPhysicalDeviceLimits {" .-              showString "maxImageDimension1D = " .-                showsPrec d (getField @"maxImageDimension1D" x) .-                  showString ", " .-                    showString "maxImageDimension2D = " .-                      showsPrec d (getField @"maxImageDimension2D" x) .-                        showString ", " .-                          showString "maxImageDimension3D = " .-                            showsPrec d (getField @"maxImageDimension3D" x) .-                              showString ", " .-                                showString "maxImageDimensionCube = " .-                                  showsPrec d (getField @"maxImageDimensionCube" x) .-                                    showString ", " .-                                      showString "maxImageArrayLayers = " .-                                        showsPrec d (getField @"maxImageArrayLayers" x) .-                                          showString ", " .-                                            showString "maxTexelBufferElements = " .-                                              showsPrec d (getField @"maxTexelBufferElements" x) .-                                                showString ", " .-                                                  showString "maxUniformBufferRange = " .-                                                    showsPrec d-                                                      (getField @"maxUniformBufferRange" x)-                                                      .-                                                      showString ", " .-                                                        showString "maxStorageBufferRange = " .-                                                          showsPrec d-                                                            (getField @"maxStorageBufferRange" x)-                                                            .-                                                            showString ", " .-                                                              showString "maxPushConstantsSize = " .-                                                                showsPrec d-                                                                  (getField @"maxPushConstantsSize"-                                                                     x)-                                                                  .-                                                                  showString ", " .-                                                                    showString-                                                                      "maxMemoryAllocationCount = "-                                                                      .-                                                                      showsPrec d-                                                                        (getField-                                                                           @"maxMemoryAllocationCount"-                                                                           x)-                                                                        .-                                                                        showString ", " .-                                                                          showString-                                                                            "maxSamplerAllocationCount = "-                                                                            .-                                                                            showsPrec d-                                                                              (getField-                                                                                 @"maxSamplerAllocationCount"-                                                                                 x)-                                                                              .-                                                                              showString ", " .-                                                                                showString-                                                                                  "bufferImageGranularity = "-                                                                                  .-                                                                                  showsPrec d-                                                                                    (getField-                                                                                       @"bufferImageGranularity"-                                                                                       x)-                                                                                    .-                                                                                    showString ", "-                                                                                      .-                                                                                      showString-                                                                                        "sparseAddressSpaceSize = "-                                                                                        .-                                                                                        showsPrec d-                                                                                          (getField-                                                                                             @"sparseAddressSpaceSize"-                                                                                             x)-                                                                                          .-                                                                                          showString-                                                                                            ", "-                                                                                            .-                                                                                            showString-                                                                                              "maxBoundDescriptorSets = "-                                                                                              .-                                                                                              showsPrec-                                                                                                d-                                                                                                (getField-                                                                                                   @"maxBoundDescriptorSets"-                                                                                                   x)-                                                                                                .-                                                                                                showString-                                                                                                  ", "-                                                                                                  .-                                                                                                  showString-                                                                                                    "maxPerStageDescriptorSamplers = "-                                                                                                    .-                                                                                                    showsPrec-                                                                                                      d-                                                                                                      (getField-                                                                                                         @"maxPerStageDescriptorSamplers"-                                                                                                         x)-                                                                                                      .-                                                                                                      showString-                                                                                                        ", "-                                                                                                        .-                                                                                                        showString-                                                                                                          "maxPerStageDescriptorUniformBuffers = "-                                                                                                          .-                                                                                                          showsPrec-                                                                                                            d-                                                                                                            (getField-                                                                                                               @"maxPerStageDescriptorUniformBuffers"-                                                                                                               x)-                                                                                                            .-                                                                                                            showString-                                                                                                              ", "-                                                                                                              .-                                                                                                              showString-                                                                                                                "maxPerStageDescriptorStorageBuffers = "-                                                                                                                .-                                                                                                                showsPrec-                                                                                                                  d-                                                                                                                  (getField-                                                                                                                     @"maxPerStageDescriptorStorageBuffers"-                                                                                                                     x)-                                                                                                                  .-                                                                                                                  showString-                                                                                                                    ", "-                                                                                                                    .-                                                                                                                    showString-                                                                                                                      "maxPerStageDescriptorSampledImages = "-                                                                                                                      .-                                                                                                                      showsPrec-                                                                                                                        d-                                                                                                                        (getField-                                                                                                                           @"maxPerStageDescriptorSampledImages"-                                                                                                                           x)-                                                                                                                        .-                                                                                                                        showString-                                                                                                                          ", "-                                                                                                                          .-                                                                                                                          showString-                                                                                                                            "maxPerStageDescriptorStorageImages = "-                                                                                                                            .-                                                                                                                            showsPrec-                                                                                                                              d-                                                                                                                              (getField-                                                                                                                                 @"maxPerStageDescriptorStorageImages"-                                                                                                                                 x)-                                                                                                                              .-                                                                                                                              showString-                                                                                                                                ", "-                                                                                                                                .-                                                                                                                                showString-                                                                                                                                  "maxPerStageDescriptorInputAttachments = "-                                                                                                                                  .-                                                                                                                                  showsPrec-                                                                                                                                    d-                                                                                                                                    (getField-                                                                                                                                       @"maxPerStageDescriptorInputAttachments"-                                                                                                                                       x)-                                                                                                                                    .-                                                                                                                                    showString-                                                                                                                                      ", "-                                                                                                                                      .-                                                                                                                                      showString-                                                                                                                                        "maxPerStageResources = "-                                                                                                                                        .-                                                                                                                                        showsPrec-                                                                                                                                          d-                                                                                                                                          (getField-                                                                                                                                             @"maxPerStageResources"-                                                                                                                                             x)-                                                                                                                                          .-                                                                                                                                          showString-                                                                                                                                            ", "-                                                                                                                                            .-                                                                                                                                            showString-                                                                                                                                              "maxDescriptorSetSamplers = "-                                                                                                                                              .-                                                                                                                                              showsPrec-                                                                                                                                                d-                                                                                                                                                (getField-                                                                                                                                                   @"maxDescriptorSetSamplers"-                                                                                                                                                   x)-                                                                                                                                                .-                                                                                                                                                showString-                                                                                                                                                  ", "-                                                                                                                                                  .-                                                                                                                                                  showString-                                                                                                                                                    "maxDescriptorSetUniformBuffers = "-                                                                                                                                                    .-                                                                                                                                                    showsPrec-                                                                                                                                                      d-                                                                                                                                                      (getField-                                                                                                                                                         @"maxDescriptorSetUniformBuffers"-                                                                                                                                                         x)-                                                                                                                                                      .-                                                                                                                                                      showString-                                                                                                                                                        ", "-                                                                                                                                                        .-                                                                                                                                                        showString-                                                                                                                                                          "maxDescriptorSetUniformBuffersDynamic = "-                                                                                                                                                          .-                                                                                                                                                          showsPrec-                                                                                                                                                            d-                                                                                                                                                            (getField-                                                                                                                                                               @"maxDescriptorSetUniformBuffersDynamic"-                                                                                                                                                               x)-                                                                                                                                                            .-                                                                                                                                                            showString-                                                                                                                                                              ", "-                                                                                                                                                              .-                                                                                                                                                              showString-                                                                                                                                                                "maxDescriptorSetStorageBuffers = "-                                                                                                                                                                .-                                                                                                                                                                showsPrec-                                                                                                                                                                  d-                                                                                                                                                                  (getField-                                                                                                                                                                     @"maxDescriptorSetStorageBuffers"-                                                                                                                                                                     x)-                                                                                                                                                                  .-                                                                                                                                                                  showString-                                                                                                                                                                    ", "-                                                                                                                                                                    .-                                                                                                                                                                    showString-                                                                                                                                                                      "maxDescriptorSetStorageBuffersDynamic = "-                                                                                                                                                                      .-                                                                                                                                                                      showsPrec-                                                                                                                                                                        d-                                                                                                                                                                        (getField-                                                                                                                                                                           @"maxDescriptorSetStorageBuffersDynamic"-                                                                                                                                                                           x)-                                                                                                                                                                        .-                                                                                                                                                                        showString-                                                                                                                                                                          ", "-                                                                                                                                                                          .-                                                                                                                                                                          showString-                                                                                                                                                                            "maxDescriptorSetSampledImages = "-                                                                                                                                                                            .-                                                                                                                                                                            showsPrec-                                                                                                                                                                              d-                                                                                                                                                                              (getField-                                                                                                                                                                                 @"maxDescriptorSetSampledImages"-                                                                                                                                                                                 x)-                                                                                                                                                                              .-                                                                                                                                                                              showString-                                                                                                                                                                                ", "-                                                                                                                                                                                .-                                                                                                                                                                                showString-                                                                                                                                                                                  "maxDescriptorSetStorageImages = "-                                                                                                                                                                                  .-                                                                                                                                                                                  showsPrec-                                                                                                                                                                                    d-                                                                                                                                                                                    (getField-                                                                                                                                                                                       @"maxDescriptorSetStorageImages"-                                                                                                                                                                                       x)-                                                                                                                                                                                    .-                                                                                                                                                                                    showString-                                                                                                                                                                                      ", "-                                                                                                                                                                                      .-                                                                                                                                                                                      showString-                                                                                                                                                                                        "maxDescriptorSetInputAttachments = "-                                                                                                                                                                                        .-                                                                                                                                                                                        showsPrec-                                                                                                                                                                                          d-                                                                                                                                                                                          (getField-                                                                                                                                                                                             @"maxDescriptorSetInputAttachments"-                                                                                                                                                                                             x)-                                                                                                                                                                                          .-                                                                                                                                                                                          showString-                                                                                                                                                                                            ", "-                                                                                                                                                                                            .-                                                                                                                                                                                            showString-                                                                                                                                                                                              "maxVertexInputAttributes = "-                                                                                                                                                                                              .-                                                                                                                                                                                              showsPrec-                                                                                                                                                                                                d-                                                                                                                                                                                                (getField-                                                                                                                                                                                                   @"maxVertexInputAttributes"-                                                                                                                                                                                                   x)-                                                                                                                                                                                                .-                                                                                                                                                                                                showString-                                                                                                                                                                                                  ", "-                                                                                                                                                                                                  .-                                                                                                                                                                                                  showString-                                                                                                                                                                                                    "maxVertexInputBindings = "-                                                                                                                                                                                                    .-                                                                                                                                                                                                    showsPrec-                                                                                                                                                                                                      d-                                                                                                                                                                                                      (getField-                                                                                                                                                                                                         @"maxVertexInputBindings"-                                                                                                                                                                                                         x)-                                                                                                                                                                                                      .-                                                                                                                                                                                                      showString-                                                                                                                                                                                                        ", "-                                                                                                                                                                                                        .-                                                                                                                                                                                                        showString-                                                                                                                                                                                                          "maxVertexInputAttributeOffset = "-                                                                                                                                                                                                          .-                                                                                                                                                                                                          showsPrec-                                                                                                                                                                                                            d-                                                                                                                                                                                                            (getField-                                                                                                                                                                                                               @"maxVertexInputAttributeOffset"-                                                                                                                                                                                                               x)-                                                                                                                                                                                                            .-                                                                                                                                                                                                            showString-                                                                                                                                                                                                              ", "-                                                                                                                                                                                                              .-                                                                                                                                                                                                              showString-                                                                                                                                                                                                                "maxVertexInputBindingStride = "-                                                                                                                                                                                                                .-                                                                                                                                                                                                                showsPrec-                                                                                                                                                                                                                  d-                                                                                                                                                                                                                  (getField-                                                                                                                                                                                                                     @"maxVertexInputBindingStride"-                                                                                                                                                                                                                     x)-                                                                                                                                                                                                                  .-                                                                                                                                                                                                                  showString-                                                                                                                                                                                                                    ", "-                                                                                                                                                                                                                    .-                                                                                                                                                                                                                    showString-                                                                                                                                                                                                                      "maxVertexOutputComponents = "-                                                                                                                                                                                                                      .-                                                                                                                                                                                                                      showsPrec-                                                                                                                                                                                                                        d-                                                                                                                                                                                                                        (getField-                                                                                                                                                                                                                           @"maxVertexOutputComponents"-                                                                                                                                                                                                                           x)-                                                                                                                                                                                                                        .-                                                                                                                                                                                                                        showString-                                                                                                                                                                                                                          ", "-                                                                                                                                                                                                                          .-                                                                                                                                                                                                                          showString-                                                                                                                                                                                                                            "maxTessellationGenerationLevel = "-                                                                                                                                                                                                                            .-                                                                                                                                                                                                                            showsPrec-                                                                                                                                                                                                                              d-                                                                                                                                                                                                                              (getField-                                                                                                                                                                                                                                 @"maxTessellationGenerationLevel"-                                                                                                                                                                                                                                 x)-                                                                                                                                                                                                                              .-                                                                                                                                                                                                                              showString-                                                                                                                                                                                                                                ", "-                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                showString-                                                                                                                                                                                                                                  "maxTessellationPatchSize = "-                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                  showsPrec-                                                                                                                                                                                                                                    d-                                                                                                                                                                                                                                    (getField-                                                                                                                                                                                                                                       @"maxTessellationPatchSize"-                                                                                                                                                                                                                                       x)-                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                    showString-                                                                                                                                                                                                                                      ", "-                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                      showString-                                                                                                                                                                                                                                        "maxTessellationControlPerVertexInputComponents = "-                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                        showsPrec-                                                                                                                                                                                                                                          d-                                                                                                                                                                                                                                          (getField-                                                                                                                                                                                                                                             @"maxTessellationControlPerVertexInputComponents"-                                                                                                                                                                                                                                             x)-                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                          showString-                                                                                                                                                                                                                                            ", "-                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                            showString-                                                                                                                                                                                                                                              "maxTessellationControlPerVertexOutputComponents = "-                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                              showsPrec-                                                                                                                                                                                                                                                d-                                                                                                                                                                                                                                                (getField-                                                                                                                                                                                                                                                   @"maxTessellationControlPerVertexOutputComponents"-                                                                                                                                                                                                                                                   x)-                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                showString-                                                                                                                                                                                                                                                  ", "-                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                  showString-                                                                                                                                                                                                                                                    "maxTessellationControlPerPatchOutputComponents = "-                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                    showsPrec-                                                                                                                                                                                                                                                      d-                                                                                                                                                                                                                                                      (getField-                                                                                                                                                                                                                                                         @"maxTessellationControlPerPatchOutputComponents"-                                                                                                                                                                                                                                                         x)-                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                      showString-                                                                                                                                                                                                                                                        ", "-                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                        showString-                                                                                                                                                                                                                                                          "maxTessellationControlTotalOutputComponents = "-                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                          showsPrec-                                                                                                                                                                                                                                                            d-                                                                                                                                                                                                                                                            (getField-                                                                                                                                                                                                                                                               @"maxTessellationControlTotalOutputComponents"-                                                                                                                                                                                                                                                               x)-                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                            showString-                                                                                                                                                                                                                                                              ", "-                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                              showString-                                                                                                                                                                                                                                                                "maxTessellationEvaluationInputComponents = "-                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                showsPrec-                                                                                                                                                                                                                                                                  d-                                                                                                                                                                                                                                                                  (getField-                                                                                                                                                                                                                                                                     @"maxTessellationEvaluationInputComponents"-                                                                                                                                                                                                                                                                     x)-                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                  showString-                                                                                                                                                                                                                                                                    ", "-                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                    showString-                                                                                                                                                                                                                                                                      "maxTessellationEvaluationOutputComponents = "-                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                      showsPrec-                                                                                                                                                                                                                                                                        d-                                                                                                                                                                                                                                                                        (getField-                                                                                                                                                                                                                                                                           @"maxTessellationEvaluationOutputComponents"-                                                                                                                                                                                                                                                                           x)-                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                        showString-                                                                                                                                                                                                                                                                          ", "-                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                          showString-                                                                                                                                                                                                                                                                            "maxGeometryShaderInvocations = "-                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                            showsPrec-                                                                                                                                                                                                                                                                              d-                                                                                                                                                                                                                                                                              (getField-                                                                                                                                                                                                                                                                                 @"maxGeometryShaderInvocations"-                                                                                                                                                                                                                                                                                 x)-                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                              showString-                                                                                                                                                                                                                                                                                ", "-                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                showString-                                                                                                                                                                                                                                                                                  "maxGeometryInputComponents = "-                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                  showsPrec-                                                                                                                                                                                                                                                                                    d-                                                                                                                                                                                                                                                                                    (getField-                                                                                                                                                                                                                                                                                       @"maxGeometryInputComponents"-                                                                                                                                                                                                                                                                                       x)-                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                    showString-                                                                                                                                                                                                                                                                                      ", "-                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                      showString-                                                                                                                                                                                                                                                                                        "maxGeometryOutputComponents = "-                                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                                        showsPrec-                                                                                                                                                                                                                                                                                          d-                                                                                                                                                                                                                                                                                          (getField-                                                                                                                                                                                                                                                                                             @"maxGeometryOutputComponents"-                                                                                                                                                                                                                                                                                             x)-                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                          showString-                                                                                                                                                                                                                                                                                            ", "-                                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                                            showString-                                                                                                                                                                                                                                                                                              "maxGeometryOutputVertices = "-                                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                                              showsPrec-                                                                                                                                                                                                                                                                                                d-                                                                                                                                                                                                                                                                                                (getField-                                                                                                                                                                                                                                                                                                   @"maxGeometryOutputVertices"-                                                                                                                                                                                                                                                                                                   x)-                                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                                showString-                                                                                                                                                                                                                                                                                                  ", "-                                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                                  showString-                                                                                                                                                                                                                                                                                                    "maxGeometryTotalOutputComponents = "-                                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                                    showsPrec-                                                                                                                                                                                                                                                                                                      d-                                                                                                                                                                                                                                                                                                      (getField-                                                                                                                                                                                                                                                                                                         @"maxGeometryTotalOutputComponents"-                                                                                                                                                                                                                                                                                                         x)-                                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                                      showString-                                                                                                                                                                                                                                                                                                        ", "-                                                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                                                        showString-                                                                                                                                                                                                                                                                                                          "maxFragmentInputComponents = "-                                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                                          showsPrec-                                                                                                                                                                                                                                                                                                            d-                                                                                                                                                                                                                                                                                                            (getField-                                                                                                                                                                                                                                                                                                               @"maxFragmentInputComponents"-                                                                                                                                                                                                                                                                                                               x)-                                                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                                                            showString-                                                                                                                                                                                                                                                                                                              ", "-                                                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                                                              showString-                                                                                                                                                                                                                                                                                                                "maxFragmentOutputAttachments = "-                                                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                                                showsPrec-                                                                                                                                                                                                                                                                                                                  d-                                                                                                                                                                                                                                                                                                                  (getField-                                                                                                                                                                                                                                                                                                                     @"maxFragmentOutputAttachments"-                                                                                                                                                                                                                                                                                                                     x)-                                                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                                                  showString-                                                                                                                                                                                                                                                                                                                    ", "-                                                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                                                    showString-                                                                                                                                                                                                                                                                                                                      "maxFragmentDualSrcAttachments = "-                                                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                                                      showsPrec-                                                                                                                                                                                                                                                                                                                        d-                                                                                                                                                                                                                                                                                                                        (getField-                                                                                                                                                                                                                                                                                                                           @"maxFragmentDualSrcAttachments"-                                                                                                                                                                                                                                                                                                                           x)-                                                                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                                                                        showString-                                                                                                                                                                                                                                                                                                                          ", "-                                                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                                                          showString-                                                                                                                                                                                                                                                                                                                            "maxFragmentCombinedOutputResources = "-                                                                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                                                                            showsPrec-                                                                                                                                                                                                                                                                                                                              d-                                                                                                                                                                                                                                                                                                                              (getField-                                                                                                                                                                                                                                                                                                                                 @"maxFragmentCombinedOutputResources"-                                                                                                                                                                                                                                                                                                                                 x)-                                                                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                                                                              showString-                                                                                                                                                                                                                                                                                                                                ", "-                                                                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                                                                showString-                                                                                                                                                                                                                                                                                                                                  "maxComputeSharedMemorySize = "-                                                                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                                                                  showsPrec-                                                                                                                                                                                                                                                                                                                                    d-                                                                                                                                                                                                                                                                                                                                    (getField-                                                                                                                                                                                                                                                                                                                                       @"maxComputeSharedMemorySize"-                                                                                                                                                                                                                                                                                                                                       x)-                                                                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                                                                    showString-                                                                                                                                                                                                                                                                                                                                      ", "-                                                                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                                                                      (showString-                                                                                                                                                                                                                                                                                                                                         "maxComputeWorkGroupCount = ["-                                                                                                                                                                                                                                                                                                                                         .-                                                                                                                                                                                                                                                                                                                                         showsPrec-                                                                                                                                                                                                                                                                                                                                           d-                                                                                                                                                                                                                                                                                                                                           (let s = sizeOf-                                                                                                                                                                                                                                                                                                                                                      (undefined-                                                                                                                                                                                                                                                                                                                                                         ::-                                                                                                                                                                                                                                                                                                                                                         FieldType-                                                                                                                                                                                                                                                                                                                                                           "maxComputeWorkGroupCount"-                                                                                                                                                                                                                                                                                                                                                           VkPhysicalDeviceLimits)-                                                                                                                                                                                                                                                                                                                                                o = fieldOffset-                                                                                                                                                                                                                                                                                                                                                      @"maxComputeWorkGroupCount"-                                                                                                                                                                                                                                                                                                                                                      @VkPhysicalDeviceLimits-                                                                                                                                                                                                                                                                                                                                                f i-                                                                                                                                                                                                                                                                                                                                                  = peekByteOff-                                                                                                                                                                                                                                                                                                                                                      (unsafePtr-                                                                                                                                                                                                                                                                                                                                                         x)-                                                                                                                                                                                                                                                                                                                                                      i-                                                                                                                                                                                                                                                                                                                                                      ::-                                                                                                                                                                                                                                                                                                                                                      IO-                                                                                                                                                                                                                                                                                                                                                        (FieldType-                                                                                                                                                                                                                                                                                                                                                           "maxComputeWorkGroupCount"-                                                                                                                                                                                                                                                                                                                                                           VkPhysicalDeviceLimits)-                                                                                                                                                                                                                                                                                                                                              in-                                                                                                                                                                                                                                                                                                                                              unsafeDupablePerformIO-                                                                                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                                                                                mapM-                                                                                                                                                                                                                                                                                                                                                  f-                                                                                                                                                                                                                                                                                                                                                $-                                                                                                                                                                                                                                                                                                                                                map-                                                                                                                                                                                                                                                                                                                                                  (\ i-                                                                                                                                                                                                                                                                                                                                                     ->-                                                                                                                                                                                                                                                                                                                                                     o +-                                                                                                                                                                                                                                                                                                                                                       i *-                                                                                                                                                                                                                                                                                                                                                         s)-                                                                                                                                                                                                                                                                                                                                                  [0-                                                                                                                                                                                                                                                                                                                                                   ..-                                                                                                                                                                                                                                                                                                                                                   3 --                                                                                                                                                                                                                                                                                                                                                     1])-                                                                                                                                                                                                                                                                                                                                           .-                                                                                                                                                                                                                                                                                                                                           showChar-                                                                                                                                                                                                                                                                                                                                             ']')-                                                                                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                                                                                        showString-                                                                                                                                                                                                                                                                                                                                          ", "-                                                                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                                                                          showString-                                                                                                                                                                                                                                                                                                                                            "maxComputeWorkGroupInvocations = "-                                                                                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                                                                                            showsPrec-                                                                                                                                                                                                                                                                                                                                              d-                                                                                                                                                                                                                                                                                                                                              (getField-                                                                                                                                                                                                                                                                                                                                                 @"maxComputeWorkGroupInvocations"-                                                                                                                                                                                                                                                                                                                                                 x)-                                                                                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                                                                                              showString-                                                                                                                                                                                                                                                                                                                                                ", "-                                                                                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                                                                                (showString-                                                                                                                                                                                                                                                                                                                                                   "maxComputeWorkGroupSize = ["-                                                                                                                                                                                                                                                                                                                                                   .-                                                                                                                                                                                                                                                                                                                                                   showsPrec-                                                                                                                                                                                                                                                                                                                                                     d-                                                                                                                                                                                                                                                                                                                                                     (let s = sizeOf-                                                                                                                                                                                                                                                                                                                                                                (undefined-                                                                                                                                                                                                                                                                                                                                                                   ::-                                                                                                                                                                                                                                                                                                                                                                   FieldType-                                                                                                                                                                                                                                                                                                                                                                     "maxComputeWorkGroupSize"-                                                                                                                                                                                                                                                                                                                                                                     VkPhysicalDeviceLimits)-                                                                                                                                                                                                                                                                                                                                                          o = fieldOffset-                                                                                                                                                                                                                                                                                                                                                                @"maxComputeWorkGroupSize"-                                                                                                                                                                                                                                                                                                                                                                @VkPhysicalDeviceLimits-                                                                                                                                                                                                                                                                                                                                                          f i-                                                                                                                                                                                                                                                                                                                                                            = peekByteOff-                                                                                                                                                                                                                                                                                                                                                                (unsafePtr-                                                                                                                                                                                                                                                                                                                                                                   x)-                                                                                                                                                                                                                                                                                                                                                                i-                                                                                                                                                                                                                                                                                                                                                                ::-                                                                                                                                                                                                                                                                                                                                                                IO-                                                                                                                                                                                                                                                                                                                                                                  (FieldType-                                                                                                                                                                                                                                                                                                                                                                     "maxComputeWorkGroupSize"-                                                                                                                                                                                                                                                                                                                                                                     VkPhysicalDeviceLimits)-                                                                                                                                                                                                                                                                                                                                                        in-                                                                                                                                                                                                                                                                                                                                                        unsafeDupablePerformIO-                                                                                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                                                                                          mapM-                                                                                                                                                                                                                                                                                                                                                            f-                                                                                                                                                                                                                                                                                                                                                          $-                                                                                                                                                                                                                                                                                                                                                          map-                                                                                                                                                                                                                                                                                                                                                            (\ i-                                                                                                                                                                                                                                                                                                                                                               ->-                                                                                                                                                                                                                                                                                                                                                               o +-                                                                                                                                                                                                                                                                                                                                                                 i *-                                                                                                                                                                                                                                                                                                                                                                   s)-                                                                                                                                                                                                                                                                                                                                                            [0-                                                                                                                                                                                                                                                                                                                                                             ..-                                                                                                                                                                                                                                                                                                                                                             3 --                                                                                                                                                                                                                                                                                                                                                               1])-                                                                                                                                                                                                                                                                                                                                                     .-                                                                                                                                                                                                                                                                                                                                                     showChar-                                                                                                                                                                                                                                                                                                                                                       ']')-                                                                                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                                                                                  showString-                                                                                                                                                                                                                                                                                                                                                    ", "-                                                                                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                                                                                    showString-                                                                                                                                                                                                                                                                                                                                                      "subPixelPrecisionBits = "-                                                                                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                                                                                      showsPrec-                                                                                                                                                                                                                                                                                                                                                        d-                                                                                                                                                                                                                                                                                                                                                        (getField-                                                                                                                                                                                                                                                                                                                                                           @"subPixelPrecisionBits"-                                                                                                                                                                                                                                                                                                                                                           x)-                                                                                                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                                                                                                        showString-                                                                                                                                                                                                                                                                                                                                                          ", "-                                                                                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                                                                                          showString-                                                                                                                                                                                                                                                                                                                                                            "subTexelPrecisionBits = "-                                                                                                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                                                                                                            showsPrec-                                                                                                                                                                                                                                                                                                                                                              d-                                                                                                                                                                                                                                                                                                                                                              (getField-                                                                                                                                                                                                                                                                                                                                                                 @"subTexelPrecisionBits"-                                                                                                                                                                                                                                                                                                                                                                 x)-                                                                                                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                                                                                                              showString-                                                                                                                                                                                                                                                                                                                                                                ", "-                                                                                                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                                                                                                showString-                                                                                                                                                                                                                                                                                                                                                                  "mipmapPrecisionBits = "-                                                                                                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                                                                                                  showsPrec-                                                                                                                                                                                                                                                                                                                                                                    d-                                                                                                                                                                                                                                                                                                                                                                    (getField-                                                                                                                                                                                                                                                                                                                                                                       @"mipmapPrecisionBits"-                                                                                                                                                                                                                                                                                                                                                                       x)-                                                                                                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                                                                                                    showString-                                                                                                                                                                                                                                                                                                                                                                      ", "-                                                                                                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                                                                                                      showString-                                                                                                                                                                                                                                                                                                                                                                        "maxDrawIndexedIndexValue = "-                                                                                                                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                                                                                                                        showsPrec-                                                                                                                                                                                                                                                                                                                                                                          d-                                                                                                                                                                                                                                                                                                                                                                          (getField-                                                                                                                                                                                                                                                                                                                                                                             @"maxDrawIndexedIndexValue"-                                                                                                                                                                                                                                                                                                                                                                             x)-                                                                                                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                                                                                                          showString-                                                                                                                                                                                                                                                                                                                                                                            ", "-                                                                                                                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                                                                                                                            showString-                                                                                                                                                                                                                                                                                                                                                                              "maxDrawIndirectCount = "-                                                                                                                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                                                                                                                              showsPrec-                                                                                                                                                                                                                                                                                                                                                                                d-                                                                                                                                                                                                                                                                                                                                                                                (getField-                                                                                                                                                                                                                                                                                                                                                                                   @"maxDrawIndirectCount"-                                                                                                                                                                                                                                                                                                                                                                                   x)-                                                                                                                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                                                                                                                showString-                                                                                                                                                                                                                                                                                                                                                                                  ", "-                                                                                                                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                                                                                                                  showString-                                                                                                                                                                                                                                                                                                                                                                                    "maxSamplerLodBias = "-                                                                                                                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                                                                                                                    showsPrec-                                                                                                                                                                                                                                                                                                                                                                                      d-                                                                                                                                                                                                                                                                                                                                                                                      (getField-                                                                                                                                                                                                                                                                                                                                                                                         @"maxSamplerLodBias"-                                                                                                                                                                                                                                                                                                                                                                                         x)-                                                                                                                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                                                                                                                      showString-                                                                                                                                                                                                                                                                                                                                                                                        ", "-                                                                                                                                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                                                                                                                                        showString-                                                                                                                                                                                                                                                                                                                                                                                          "maxSamplerAnisotropy = "-                                                                                                                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                                                                                                                          showsPrec-                                                                                                                                                                                                                                                                                                                                                                                            d-                                                                                                                                                                                                                                                                                                                                                                                            (getField-                                                                                                                                                                                                                                                                                                                                                                                               @"maxSamplerAnisotropy"-                                                                                                                                                                                                                                                                                                                                                                                               x)-                                                                                                                                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                                                                                                                                            showString-                                                                                                                                                                                                                                                                                                                                                                                              ", "-                                                                                                                                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                                                                                                                                              showString-                                                                                                                                                                                                                                                                                                                                                                                                "maxViewports = "-                                                                                                                                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                                                                                                                                showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                  d-                                                                                                                                                                                                                                                                                                                                                                                                  (getField-                                                                                                                                                                                                                                                                                                                                                                                                     @"maxViewports"-                                                                                                                                                                                                                                                                                                                                                                                                     x)-                                                                                                                                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                                                                                                                                  showString-                                                                                                                                                                                                                                                                                                                                                                                                    ", "-                                                                                                                                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                                                                                                                                    (showString-                                                                                                                                                                                                                                                                                                                                                                                                       "maxViewportDimensions = ["-                                                                                                                                                                                                                                                                                                                                                                                                       .-                                                                                                                                                                                                                                                                                                                                                                                                       showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                         d-                                                                                                                                                                                                                                                                                                                                                                                                         (let s = sizeOf-                                                                                                                                                                                                                                                                                                                                                                                                                    (undefined-                                                                                                                                                                                                                                                                                                                                                                                                                       ::-                                                                                                                                                                                                                                                                                                                                                                                                                       FieldType-                                                                                                                                                                                                                                                                                                                                                                                                                         "maxViewportDimensions"-                                                                                                                                                                                                                                                                                                                                                                                                                         VkPhysicalDeviceLimits)-                                                                                                                                                                                                                                                                                                                                                                                                              o = fieldOffset-                                                                                                                                                                                                                                                                                                                                                                                                                    @"maxViewportDimensions"-                                                                                                                                                                                                                                                                                                                                                                                                                    @VkPhysicalDeviceLimits-                                                                                                                                                                                                                                                                                                                                                                                                              f i-                                                                                                                                                                                                                                                                                                                                                                                                                = peekByteOff-                                                                                                                                                                                                                                                                                                                                                                                                                    (unsafePtr-                                                                                                                                                                                                                                                                                                                                                                                                                       x)-                                                                                                                                                                                                                                                                                                                                                                                                                    i-                                                                                                                                                                                                                                                                                                                                                                                                                    ::-                                                                                                                                                                                                                                                                                                                                                                                                                    IO-                                                                                                                                                                                                                                                                                                                                                                                                                      (FieldType-                                                                                                                                                                                                                                                                                                                                                                                                                         "maxViewportDimensions"-                                                                                                                                                                                                                                                                                                                                                                                                                         VkPhysicalDeviceLimits)-                                                                                                                                                                                                                                                                                                                                                                                                            in-                                                                                                                                                                                                                                                                                                                                                                                                            unsafeDupablePerformIO-                                                                                                                                                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                                                                                                                                                              mapM-                                                                                                                                                                                                                                                                                                                                                                                                                f-                                                                                                                                                                                                                                                                                                                                                                                                              $-                                                                                                                                                                                                                                                                                                                                                                                                              map-                                                                                                                                                                                                                                                                                                                                                                                                                (\ i-                                                                                                                                                                                                                                                                                                                                                                                                                   ->-                                                                                                                                                                                                                                                                                                                                                                                                                   o +-                                                                                                                                                                                                                                                                                                                                                                                                                     i *-                                                                                                                                                                                                                                                                                                                                                                                                                       s)-                                                                                                                                                                                                                                                                                                                                                                                                                [0-                                                                                                                                                                                                                                                                                                                                                                                                                 ..-                                                                                                                                                                                                                                                                                                                                                                                                                 2 --                                                                                                                                                                                                                                                                                                                                                                                                                   1])-                                                                                                                                                                                                                                                                                                                                                                                                         .-                                                                                                                                                                                                                                                                                                                                                                                                         showChar-                                                                                                                                                                                                                                                                                                                                                                                                           ']')-                                                                                                                                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                                                                                                                                      showString-                                                                                                                                                                                                                                                                                                                                                                                                        ", "-                                                                                                                                                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                                                                                                                                                        (showString-                                                                                                                                                                                                                                                                                                                                                                                                           "viewportBoundsRange = ["-                                                                                                                                                                                                                                                                                                                                                                                                           .-                                                                                                                                                                                                                                                                                                                                                                                                           showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                             d-                                                                                                                                                                                                                                                                                                                                                                                                             (let s = sizeOf-                                                                                                                                                                                                                                                                                                                                                                                                                        (undefined-                                                                                                                                                                                                                                                                                                                                                                                                                           ::-                                                                                                                                                                                                                                                                                                                                                                                                                           FieldType-                                                                                                                                                                                                                                                                                                                                                                                                                             "viewportBoundsRange"-                                                                                                                                                                                                                                                                                                                                                                                                                             VkPhysicalDeviceLimits)-                                                                                                                                                                                                                                                                                                                                                                                                                  o = fieldOffset-                                                                                                                                                                                                                                                                                                                                                                                                                        @"viewportBoundsRange"-                                                                                                                                                                                                                                                                                                                                                                                                                        @VkPhysicalDeviceLimits-                                                                                                                                                                                                                                                                                                                                                                                                                  f i-                                                                                                                                                                                                                                                                                                                                                                                                                    = peekByteOff-                                                                                                                                                                                                                                                                                                                                                                                                                        (unsafePtr-                                                                                                                                                                                                                                                                                                                                                                                                                           x)-                                                                                                                                                                                                                                                                                                                                                                                                                        i-                                                                                                                                                                                                                                                                                                                                                                                                                        ::-                                                                                                                                                                                                                                                                                                                                                                                                                        IO-                                                                                                                                                                                                                                                                                                                                                                                                                          (FieldType-                                                                                                                                                                                                                                                                                                                                                                                                                             "viewportBoundsRange"-                                                                                                                                                                                                                                                                                                                                                                                                                             VkPhysicalDeviceLimits)-                                                                                                                                                                                                                                                                                                                                                                                                                in-                                                                                                                                                                                                                                                                                                                                                                                                                unsafeDupablePerformIO-                                                                                                                                                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                                                                                                                                                  mapM-                                                                                                                                                                                                                                                                                                                                                                                                                    f-                                                                                                                                                                                                                                                                                                                                                                                                                  $-                                                                                                                                                                                                                                                                                                                                                                                                                  map-                                                                                                                                                                                                                                                                                                                                                                                                                    (\ i-                                                                                                                                                                                                                                                                                                                                                                                                                       ->-                                                                                                                                                                                                                                                                                                                                                                                                                       o +-                                                                                                                                                                                                                                                                                                                                                                                                                         i *-                                                                                                                                                                                                                                                                                                                                                                                                                           s)-                                                                                                                                                                                                                                                                                                                                                                                                                    [0-                                                                                                                                                                                                                                                                                                                                                                                                                     ..-                                                                                                                                                                                                                                                                                                                                                                                                                     2 --                                                                                                                                                                                                                                                                                                                                                                                                                       1])-                                                                                                                                                                                                                                                                                                                                                                                                             .-                                                                                                                                                                                                                                                                                                                                                                                                             showChar-                                                                                                                                                                                                                                                                                                                                                                                                               ']')-                                                                                                                                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                                                                                                                                          showString-                                                                                                                                                                                                                                                                                                                                                                                                            ", "-                                                                                                                                                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                                                                                                                                                            showString-                                                                                                                                                                                                                                                                                                                                                                                                              "viewportSubPixelBits = "-                                                                                                                                                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                                                                                                                                                              showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                d-                                                                                                                                                                                                                                                                                                                                                                                                                (getField-                                                                                                                                                                                                                                                                                                                                                                                                                   @"viewportSubPixelBits"-                                                                                                                                                                                                                                                                                                                                                                                                                   x)-                                                                                                                                                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                                                                                                                                                showString-                                                                                                                                                                                                                                                                                                                                                                                                                  ", "-                                                                                                                                                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                                                                                                                                                  showString-                                                                                                                                                                                                                                                                                                                                                                                                                    "minMemoryMapAlignment = "-                                                                                                                                                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                                                                                                                                                    showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                      d-                                                                                                                                                                                                                                                                                                                                                                                                                      (getField-                                                                                                                                                                                                                                                                                                                                                                                                                         @"minMemoryMapAlignment"-                                                                                                                                                                                                                                                                                                                                                                                                                         x)-                                                                                                                                                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                                                                                                                                                      showString-                                                                                                                                                                                                                                                                                                                                                                                                                        ", "-                                                                                                                                                                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                                                                                                                                                                        showString-                                                                                                                                                                                                                                                                                                                                                                                                                          "minTexelBufferOffsetAlignment = "-                                                                                                                                                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                                                                                                                                                          showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                            d-                                                                                                                                                                                                                                                                                                                                                                                                                            (getField-                                                                                                                                                                                                                                                                                                                                                                                                                               @"minTexelBufferOffsetAlignment"-                                                                                                                                                                                                                                                                                                                                                                                                                               x)-                                                                                                                                                                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                                                                                                                                                                            showString-                                                                                                                                                                                                                                                                                                                                                                                                                              ", "-                                                                                                                                                                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                                                                                                                                                                              showString-                                                                                                                                                                                                                                                                                                                                                                                                                                "minUniformBufferOffsetAlignment = "-                                                                                                                                                                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                                                                                                                                                                showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                  d-                                                                                                                                                                                                                                                                                                                                                                                                                                  (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                     @"minUniformBufferOffsetAlignment"-                                                                                                                                                                                                                                                                                                                                                                                                                                     x)-                                                                                                                                                                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                                                                                                                                                                  showString-                                                                                                                                                                                                                                                                                                                                                                                                                                    ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                                                                                                                                                                    showString-                                                                                                                                                                                                                                                                                                                                                                                                                                      "minStorageBufferOffsetAlignment = "-                                                                                                                                                                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                                                                                                                                                                      showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                        d-                                                                                                                                                                                                                                                                                                                                                                                                                                        (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                           @"minStorageBufferOffsetAlignment"-                                                                                                                                                                                                                                                                                                                                                                                                                                           x)-                                                                                                                                                                                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                                                                                                                                                                                        showString-                                                                                                                                                                                                                                                                                                                                                                                                                                          ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                                                                                                                                                                          showString-                                                                                                                                                                                                                                                                                                                                                                                                                                            "minTexelOffset = "-                                                                                                                                                                                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                                                                                                                                                                                            showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                              d-                                                                                                                                                                                                                                                                                                                                                                                                                                              (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                 @"minTexelOffset"-                                                                                                                                                                                                                                                                                                                                                                                                                                                 x)-                                                                                                                                                                                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                                                                                                                                                                                              showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                                                                                                                                                                                showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                  "maxTexelOffset = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                                                                                                                                                                                  showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                    d-                                                                                                                                                                                                                                                                                                                                                                                                                                                    (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                       @"maxTexelOffset"-                                                                                                                                                                                                                                                                                                                                                                                                                                                       x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                                                                                                                                                                                    showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                      ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                                                                                                                                                                                      showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                        "minTexelGatherOffset = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                                                                                                                                                                                                        showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                          d-                                                                                                                                                                                                                                                                                                                                                                                                                                                          (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                             @"minTexelGatherOffset"-                                                                                                                                                                                                                                                                                                                                                                                                                                                             x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                                                                                                                                                                                          showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                            ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                                                                                                                                                                                                            showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                              "maxTexelGatherOffset = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                                                                                                                                                                                                              showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                   @"maxTexelGatherOffset"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                   x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                  showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                    "minInterpolationOffset = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                    showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                      d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                      (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                         @"minInterpolationOffset"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                         x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                      showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                        showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                          "maxInterpolationOffset = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                          showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                            d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                            (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                               @"maxInterpolationOffset"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                               x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                            showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                              showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                "subPixelInterpolationOffsetBits = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     @"subPixelInterpolationOffsetBits"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      "maxFramebufferWidth = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           @"maxFramebufferWidth"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            "maxFramebufferHeight = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 @"maxFramebufferHeight"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  "maxFramebufferLayers = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       @"maxFramebufferLayers"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        "framebufferColorSampleCounts = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             @"framebufferColorSampleCounts"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              "framebufferDepthSampleCounts = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   @"framebufferDepthSampleCounts"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    "framebufferStencilSampleCounts = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         @"framebufferStencilSampleCounts"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          "framebufferNoAttachmentsSampleCounts = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               @"framebufferNoAttachmentsSampleCounts"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                "maxColorAttachments = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     @"maxColorAttachments"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      "sampledImageColorSampleCounts = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           @"sampledImageColorSampleCounts"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            "sampledImageIntegerSampleCounts = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 @"sampledImageIntegerSampleCounts"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  "sampledImageDepthSampleCounts = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       @"sampledImageDepthSampleCounts"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        "sampledImageStencilSampleCounts = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             @"sampledImageStencilSampleCounts"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              "storageImageSampleCounts = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   @"storageImageSampleCounts"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    "maxSampleMaskWords = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         @"maxSampleMaskWords"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          "timestampComputeAndGraphics = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               @"timestampComputeAndGraphics"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                "timestampPeriod = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     @"timestampPeriod"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      "maxClipDistances = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           @"maxClipDistances"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            "maxCullDistances = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 @"maxCullDistances"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  "maxCombinedClipAndCullDistances = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       @"maxCombinedClipAndCullDistances"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        "discreteQueuePriorities = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             @"discreteQueuePriorities"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            (showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               "pointSizeRange = ["-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 (let s = sizeOf-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            (undefined-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ::-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               FieldType-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 "pointSizeRange"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 VkPhysicalDeviceLimits)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      o = fieldOffset-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            @"pointSizeRange"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            @VkPhysicalDeviceLimits-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      f i-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        = peekByteOff-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            (unsafePtr-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            i-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ::-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            IO-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              (FieldType-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 "pointSizeRange"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 VkPhysicalDeviceLimits)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    in-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    unsafeDupablePerformIO-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      mapM-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        f-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      $-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      map-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        (\ i-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ->-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           o +-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             i *-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               s)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        [0-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         ..-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         2 --                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           1])-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 showChar-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ']')-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                (showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   "lineWidthRange = ["-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     (let s = sizeOf-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                (undefined-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ::-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   FieldType-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     "lineWidthRange"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     VkPhysicalDeviceLimits)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          o = fieldOffset-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                @"lineWidthRange"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                @VkPhysicalDeviceLimits-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          f i-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            = peekByteOff-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                (unsafePtr-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                i-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ::-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                IO-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  (FieldType-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     "lineWidthRange"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     VkPhysicalDeviceLimits)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        in-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        unsafeDupablePerformIO-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          mapM-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            f-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          $-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          map-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            (\ i-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ->-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               o +-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 i *-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   s)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            [0-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             ..-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             2 --                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               1])-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     showChar-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ']')-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      "pointSizeGranularity = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           @"pointSizeGranularity"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            "lineWidthGranularity = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 @"lineWidthGranularity"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  "strictLines = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       @"strictLines"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        "standardSampleLocations = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             @"standardSampleLocations"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              "optimalBufferCopyOffsetAlignment = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   @"optimalBufferCopyOffsetAlignment"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    "optimalBufferCopyRowPitchAlignment = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         @"optimalBufferCopyRowPitchAlignment"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ", "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        showString-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          "nonCoherentAtomSize = "-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          showsPrec-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            d-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            (getField-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               @"nonCoherentAtomSize"-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               x)-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            showChar-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              '}'---- | > typedef struct VkPhysicalDeviceMaintenance3Properties {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     uint32_t                         maxPerSetDescriptors;---   >     VkDeviceSize                     maxMemoryAllocationSize;---   > } VkPhysicalDeviceMaintenance3Properties;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties registry at www.khronos.org>-type VkPhysicalDeviceMaintenance3Properties =-     VulkanStruct VkPhysicalDeviceMaintenance3Properties' -- ' closing tick for hsc2hs--data VkPhysicalDeviceMaintenance3Properties' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceMaintenance3Properties where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceMaintenance3Properties where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceMaintenance3Properties where-        sizeOf ~_-          = #{size VkPhysicalDeviceMaintenance3Properties}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceMaintenance3Properties}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDeviceMaintenance3Properties where-        type StructFields VkPhysicalDeviceMaintenance3Properties =-             '["sType", "pNext", "maxPerSetDescriptors", -- ' closing tick for hsc2hs-               "maxMemoryAllocationSize"]-        type CUnionType VkPhysicalDeviceMaintenance3Properties = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceMaintenance3Properties = 'True -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceMaintenance3Properties =-             '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceMaintenance3Properties where-        type FieldType "sType" VkPhysicalDeviceMaintenance3Properties =-             VkStructureType-        type FieldOptional "sType" VkPhysicalDeviceMaintenance3Properties =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPhysicalDeviceMaintenance3Properties =-             #{offset VkPhysicalDeviceMaintenance3Properties, sType}-        type FieldIsArray "sType" VkPhysicalDeviceMaintenance3Properties =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceMaintenance3Properties, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDeviceMaintenance3Properties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMaintenance3Properties, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceMaintenance3Properties, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPhysicalDeviceMaintenance3Properties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceMaintenance3Properties, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceMaintenance3Properties where-        type FieldType "pNext" VkPhysicalDeviceMaintenance3Properties =-             Ptr Void-        type FieldOptional "pNext" VkPhysicalDeviceMaintenance3Properties =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPhysicalDeviceMaintenance3Properties =-             #{offset VkPhysicalDeviceMaintenance3Properties, pNext}-        type FieldIsArray "pNext" VkPhysicalDeviceMaintenance3Properties =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceMaintenance3Properties, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDeviceMaintenance3Properties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMaintenance3Properties, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceMaintenance3Properties, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPhysicalDeviceMaintenance3Properties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceMaintenance3Properties, pNext}--instance {-# OVERLAPPING #-}-         HasField "maxPerSetDescriptors"-           VkPhysicalDeviceMaintenance3Properties-         where-        type FieldType "maxPerSetDescriptors"-               VkPhysicalDeviceMaintenance3Properties-             = Word32-        type FieldOptional "maxPerSetDescriptors"-               VkPhysicalDeviceMaintenance3Properties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxPerSetDescriptors"-               VkPhysicalDeviceMaintenance3Properties-             =-             #{offset VkPhysicalDeviceMaintenance3Properties, maxPerSetDescriptors}-        type FieldIsArray "maxPerSetDescriptors"-               VkPhysicalDeviceMaintenance3Properties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceMaintenance3Properties, maxPerSetDescriptors}--instance {-# OVERLAPPING #-}-         CanReadField "maxPerSetDescriptors"-           VkPhysicalDeviceMaintenance3Properties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMaintenance3Properties, maxPerSetDescriptors})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceMaintenance3Properties, maxPerSetDescriptors}--instance {-# OVERLAPPING #-}-         CanWriteField "maxPerSetDescriptors"-           VkPhysicalDeviceMaintenance3Properties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceMaintenance3Properties, maxPerSetDescriptors}--instance {-# OVERLAPPING #-}-         HasField "maxMemoryAllocationSize"-           VkPhysicalDeviceMaintenance3Properties-         where-        type FieldType "maxMemoryAllocationSize"-               VkPhysicalDeviceMaintenance3Properties-             = VkDeviceSize-        type FieldOptional "maxMemoryAllocationSize"-               VkPhysicalDeviceMaintenance3Properties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxMemoryAllocationSize"-               VkPhysicalDeviceMaintenance3Properties-             =-             #{offset VkPhysicalDeviceMaintenance3Properties, maxMemoryAllocationSize}-        type FieldIsArray "maxMemoryAllocationSize"-               VkPhysicalDeviceMaintenance3Properties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceMaintenance3Properties, maxMemoryAllocationSize}--instance {-# OVERLAPPING #-}-         CanReadField "maxMemoryAllocationSize"-           VkPhysicalDeviceMaintenance3Properties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMaintenance3Properties, maxMemoryAllocationSize})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceMaintenance3Properties, maxMemoryAllocationSize}--instance {-# OVERLAPPING #-}-         CanWriteField "maxMemoryAllocationSize"-           VkPhysicalDeviceMaintenance3Properties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceMaintenance3Properties, maxMemoryAllocationSize}--instance Show VkPhysicalDeviceMaintenance3Properties where-        showsPrec d x-          = showString "VkPhysicalDeviceMaintenance3Properties {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "maxPerSetDescriptors = " .-                            showsPrec d (getField @"maxPerSetDescriptors" x) .-                              showString ", " .-                                showString "maxMemoryAllocationSize = " .-                                  showsPrec d (getField @"maxMemoryAllocationSize" x) . showChar '}'---- | Alias for `VkPhysicalDeviceMaintenance3Properties`-type VkPhysicalDeviceMaintenance3PropertiesKHR =-     VkPhysicalDeviceMaintenance3Properties---- | > typedef struct VkPhysicalDeviceMemoryProperties {---   >     uint32_t               memoryTypeCount;---   >     VkMemoryType           memoryTypes[VK_MAX_MEMORY_TYPES];---   >     uint32_t               memoryHeapCount;---   >     VkMemoryHeap           memoryHeaps[VK_MAX_MEMORY_HEAPS];---   > } VkPhysicalDeviceMemoryProperties;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties registry at www.khronos.org>-type VkPhysicalDeviceMemoryProperties =-     VulkanStruct VkPhysicalDeviceMemoryProperties' -- ' closing tick for hsc2hs--data VkPhysicalDeviceMemoryProperties' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceMemoryProperties where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceMemoryProperties where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceMemoryProperties where-        sizeOf ~_ = #{size VkPhysicalDeviceMemoryProperties}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceMemoryProperties}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDeviceMemoryProperties where-        type StructFields VkPhysicalDeviceMemoryProperties =-             '["memoryTypeCount", "memoryTypes", "memoryHeapCount", -- ' closing tick for hsc2hs-               "memoryHeaps"]-        type CUnionType VkPhysicalDeviceMemoryProperties = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceMemoryProperties = 'True -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceMemoryProperties = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "memoryTypeCount" VkPhysicalDeviceMemoryProperties where-        type FieldType "memoryTypeCount" VkPhysicalDeviceMemoryProperties =-             Word32-        type FieldOptional "memoryTypeCount"-               VkPhysicalDeviceMemoryProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "memoryTypeCount" VkPhysicalDeviceMemoryProperties-             =-             #{offset VkPhysicalDeviceMemoryProperties, memoryTypeCount}-        type FieldIsArray "memoryTypeCount"-               VkPhysicalDeviceMemoryProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceMemoryProperties, memoryTypeCount}--instance {-# OVERLAPPING #-}-         CanReadField "memoryTypeCount" VkPhysicalDeviceMemoryProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMemoryProperties, memoryTypeCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceMemoryProperties, memoryTypeCount}--instance {-# OVERLAPPING #-}-         CanWriteField "memoryTypeCount" VkPhysicalDeviceMemoryProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceMemoryProperties, memoryTypeCount}--instance {-# OVERLAPPING #-}-         HasField "memoryTypes" VkPhysicalDeviceMemoryProperties where-        type FieldType "memoryTypes" VkPhysicalDeviceMemoryProperties =-             VkMemoryType-        type FieldOptional "memoryTypes" VkPhysicalDeviceMemoryProperties =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "memoryTypes" VkPhysicalDeviceMemoryProperties =-             #{offset VkPhysicalDeviceMemoryProperties, memoryTypes}-        type FieldIsArray "memoryTypes" VkPhysicalDeviceMemoryProperties =-             'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceMemoryProperties, memoryTypes}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "memoryTypes" VkPhysicalDeviceMemoryProperties-         where-        type FieldArrayLength "memoryTypes"-               VkPhysicalDeviceMemoryProperties-             = VK_MAX_MEMORY_TYPES--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = VK_MAX_MEMORY_TYPES--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkPhysicalDeviceMemoryProperties, memoryTypes}-                      + sizeOf (undefined :: VkMemoryType) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkPhysicalDeviceMemoryProperties, memoryTypes}-                 + sizeOf (undefined :: VkMemoryType) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "memoryTypes" VkPhysicalDeviceMemoryProperties-         where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkPhysicalDeviceMemoryProperties, memoryTypes}-                 + sizeOf (undefined :: VkMemoryType) * i)--instance {-# OVERLAPPING #-}-         HasField "memoryHeapCount" VkPhysicalDeviceMemoryProperties where-        type FieldType "memoryHeapCount" VkPhysicalDeviceMemoryProperties =-             Word32-        type FieldOptional "memoryHeapCount"-               VkPhysicalDeviceMemoryProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "memoryHeapCount" VkPhysicalDeviceMemoryProperties-             =-             #{offset VkPhysicalDeviceMemoryProperties, memoryHeapCount}-        type FieldIsArray "memoryHeapCount"-               VkPhysicalDeviceMemoryProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceMemoryProperties, memoryHeapCount}--instance {-# OVERLAPPING #-}-         CanReadField "memoryHeapCount" VkPhysicalDeviceMemoryProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMemoryProperties, memoryHeapCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceMemoryProperties, memoryHeapCount}--instance {-# OVERLAPPING #-}-         CanWriteField "memoryHeapCount" VkPhysicalDeviceMemoryProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceMemoryProperties, memoryHeapCount}--instance {-# OVERLAPPING #-}-         HasField "memoryHeaps" VkPhysicalDeviceMemoryProperties where-        type FieldType "memoryHeaps" VkPhysicalDeviceMemoryProperties =-             VkMemoryHeap-        type FieldOptional "memoryHeaps" VkPhysicalDeviceMemoryProperties =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "memoryHeaps" VkPhysicalDeviceMemoryProperties =-             #{offset VkPhysicalDeviceMemoryProperties, memoryHeaps}-        type FieldIsArray "memoryHeaps" VkPhysicalDeviceMemoryProperties =-             'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceMemoryProperties, memoryHeaps}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "memoryHeaps" VkPhysicalDeviceMemoryProperties-         where-        type FieldArrayLength "memoryHeaps"-               VkPhysicalDeviceMemoryProperties-             = VK_MAX_MEMORY_HEAPS--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = VK_MAX_MEMORY_HEAPS--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkPhysicalDeviceMemoryProperties, memoryHeaps}-                      + sizeOf (undefined :: VkMemoryHeap) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkPhysicalDeviceMemoryProperties, memoryHeaps}-                 + sizeOf (undefined :: VkMemoryHeap) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "memoryHeaps" VkPhysicalDeviceMemoryProperties-         where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkPhysicalDeviceMemoryProperties, memoryHeaps}-                 + sizeOf (undefined :: VkMemoryHeap) * i)--instance Show VkPhysicalDeviceMemoryProperties where-        showsPrec d x-          = showString "VkPhysicalDeviceMemoryProperties {" .-              showString "memoryTypeCount = " .-                showsPrec d (getField @"memoryTypeCount" x) .-                  showString ", " .-                    (showString "memoryTypes = [" .-                       showsPrec d-                         (let s = sizeOf-                                    (undefined ::-                                       FieldType "memoryTypes" VkPhysicalDeviceMemoryProperties)-                              o = fieldOffset @"memoryTypes" @VkPhysicalDeviceMemoryProperties-                              f i-                                = peekByteOff (unsafePtr x) i ::-                                    IO (FieldType "memoryTypes" VkPhysicalDeviceMemoryProperties)-                            in-                            unsafeDupablePerformIO . mapM f $-                              map (\ i -> o + i * s) [0 .. VK_MAX_MEMORY_TYPES - 1])-                         . showChar ']')-                      .-                      showString ", " .-                        showString "memoryHeapCount = " .-                          showsPrec d (getField @"memoryHeapCount" x) .-                            showString ", " .-                              (showString "memoryHeaps = [" .-                                 showsPrec d-                                   (let s = sizeOf-                                              (undefined ::-                                                 FieldType "memoryHeaps"-                                                   VkPhysicalDeviceMemoryProperties)-                                        o = fieldOffset @"memoryHeaps"-                                              @VkPhysicalDeviceMemoryProperties-                                        f i-                                          = peekByteOff (unsafePtr x) i ::-                                              IO-                                                (FieldType "memoryHeaps"-                                                   VkPhysicalDeviceMemoryProperties)-                                      in-                                      unsafeDupablePerformIO . mapM f $-                                        map (\ i -> o + i * s) [0 .. VK_MAX_MEMORY_HEAPS - 1])-                                   . showChar ']')-                                . showChar '}'---- | > typedef struct VkPhysicalDeviceMemoryProperties2 {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     VkPhysicalDeviceMemoryProperties memoryProperties;---   > } VkPhysicalDeviceMemoryProperties2;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org>-type VkPhysicalDeviceMemoryProperties2 =-     VulkanStruct VkPhysicalDeviceMemoryProperties2' -- ' closing tick for hsc2hs--data VkPhysicalDeviceMemoryProperties2' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceMemoryProperties2 where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceMemoryProperties2 where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceMemoryProperties2 where-        sizeOf ~_ = #{size VkPhysicalDeviceMemoryProperties2}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceMemoryProperties2}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDeviceMemoryProperties2 where-        type StructFields VkPhysicalDeviceMemoryProperties2 =-             '["sType", "pNext", "memoryProperties"] -- ' closing tick for hsc2hs-        type CUnionType VkPhysicalDeviceMemoryProperties2 = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceMemoryProperties2 = 'True -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceMemoryProperties2 = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceMemoryProperties2 where-        type FieldType "sType" VkPhysicalDeviceMemoryProperties2 =-             VkStructureType-        type FieldOptional "sType" VkPhysicalDeviceMemoryProperties2 =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPhysicalDeviceMemoryProperties2 =-             #{offset VkPhysicalDeviceMemoryProperties2, sType}-        type FieldIsArray "sType" VkPhysicalDeviceMemoryProperties2 =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceMemoryProperties2, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDeviceMemoryProperties2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMemoryProperties2, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceMemoryProperties2, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPhysicalDeviceMemoryProperties2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceMemoryProperties2, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceMemoryProperties2 where-        type FieldType "pNext" VkPhysicalDeviceMemoryProperties2 = Ptr Void-        type FieldOptional "pNext" VkPhysicalDeviceMemoryProperties2 =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPhysicalDeviceMemoryProperties2 =-             #{offset VkPhysicalDeviceMemoryProperties2, pNext}-        type FieldIsArray "pNext" VkPhysicalDeviceMemoryProperties2 =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceMemoryProperties2, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDeviceMemoryProperties2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMemoryProperties2, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceMemoryProperties2, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPhysicalDeviceMemoryProperties2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceMemoryProperties2, pNext}--instance {-# OVERLAPPING #-}-         HasField "memoryProperties" VkPhysicalDeviceMemoryProperties2 where-        type FieldType "memoryProperties" VkPhysicalDeviceMemoryProperties2-             = VkPhysicalDeviceMemoryProperties-        type FieldOptional "memoryProperties"-               VkPhysicalDeviceMemoryProperties2-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "memoryProperties"-               VkPhysicalDeviceMemoryProperties2-             =-             #{offset VkPhysicalDeviceMemoryProperties2, memoryProperties}-        type FieldIsArray "memoryProperties"-               VkPhysicalDeviceMemoryProperties2-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceMemoryProperties2, memoryProperties}--instance {-# OVERLAPPING #-}-         CanReadField "memoryProperties" VkPhysicalDeviceMemoryProperties2-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMemoryProperties2, memoryProperties})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceMemoryProperties2, memoryProperties}--instance {-# OVERLAPPING #-}-         CanWriteField "memoryProperties" VkPhysicalDeviceMemoryProperties2-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceMemoryProperties2, memoryProperties}--instance Show VkPhysicalDeviceMemoryProperties2 where-        showsPrec d x-          = showString "VkPhysicalDeviceMemoryProperties2 {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "memoryProperties = " .-                            showsPrec d (getField @"memoryProperties" x) . showChar '}'---- | Alias for `VkPhysicalDeviceMemoryProperties2`-type VkPhysicalDeviceMemoryProperties2KHR =-     VkPhysicalDeviceMemoryProperties2---- | > typedef struct VkPhysicalDeviceMultiviewFeatures {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     VkBool32                         multiview;---   >     VkBool32                         multiviewGeometryShader;---   >     VkBool32                         multiviewTessellationShader;---   > } VkPhysicalDeviceMultiviewFeatures;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org>-type VkPhysicalDeviceMultiviewFeatures =-     VulkanStruct VkPhysicalDeviceMultiviewFeatures' -- ' closing tick for hsc2hs--data VkPhysicalDeviceMultiviewFeatures' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceMultiviewFeatures where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceMultiviewFeatures where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceMultiviewFeatures where-        sizeOf ~_ = #{size VkPhysicalDeviceMultiviewFeatures}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceMultiviewFeatures}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDeviceMultiviewFeatures where-        type StructFields VkPhysicalDeviceMultiviewFeatures =-             '["sType", "pNext", "multiview", "multiviewGeometryShader", -- ' closing tick for hsc2hs-               "multiviewTessellationShader"]-        type CUnionType VkPhysicalDeviceMultiviewFeatures = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceMultiviewFeatures = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceMultiviewFeatures =-             '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceMultiviewFeatures where-        type FieldType "sType" VkPhysicalDeviceMultiviewFeatures =-             VkStructureType-        type FieldOptional "sType" VkPhysicalDeviceMultiviewFeatures =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPhysicalDeviceMultiviewFeatures =-             #{offset VkPhysicalDeviceMultiviewFeatures, sType}-        type FieldIsArray "sType" VkPhysicalDeviceMultiviewFeatures =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceMultiviewFeatures, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDeviceMultiviewFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMultiviewFeatures, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceMultiviewFeatures, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPhysicalDeviceMultiviewFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceMultiviewFeatures, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceMultiviewFeatures where-        type FieldType "pNext" VkPhysicalDeviceMultiviewFeatures = Ptr Void-        type FieldOptional "pNext" VkPhysicalDeviceMultiviewFeatures =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPhysicalDeviceMultiviewFeatures =-             #{offset VkPhysicalDeviceMultiviewFeatures, pNext}-        type FieldIsArray "pNext" VkPhysicalDeviceMultiviewFeatures =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceMultiviewFeatures, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDeviceMultiviewFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMultiviewFeatures, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceMultiviewFeatures, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPhysicalDeviceMultiviewFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceMultiviewFeatures, pNext}--instance {-# OVERLAPPING #-}-         HasField "multiview" VkPhysicalDeviceMultiviewFeatures where-        type FieldType "multiview" VkPhysicalDeviceMultiviewFeatures =-             VkBool32-        type FieldOptional "multiview" VkPhysicalDeviceMultiviewFeatures =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "multiview" VkPhysicalDeviceMultiviewFeatures =-             #{offset VkPhysicalDeviceMultiviewFeatures, multiview}-        type FieldIsArray "multiview" VkPhysicalDeviceMultiviewFeatures =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceMultiviewFeatures, multiview}--instance {-# OVERLAPPING #-}-         CanReadField "multiview" VkPhysicalDeviceMultiviewFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMultiviewFeatures, multiview})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceMultiviewFeatures, multiview}--instance {-# OVERLAPPING #-}-         CanWriteField "multiview" VkPhysicalDeviceMultiviewFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceMultiviewFeatures, multiview}--instance {-# OVERLAPPING #-}-         HasField "multiviewGeometryShader"-           VkPhysicalDeviceMultiviewFeatures-         where-        type FieldType "multiviewGeometryShader"-               VkPhysicalDeviceMultiviewFeatures-             = VkBool32-        type FieldOptional "multiviewGeometryShader"-               VkPhysicalDeviceMultiviewFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "multiviewGeometryShader"-               VkPhysicalDeviceMultiviewFeatures-             =-             #{offset VkPhysicalDeviceMultiviewFeatures, multiviewGeometryShader}-        type FieldIsArray "multiviewGeometryShader"-               VkPhysicalDeviceMultiviewFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceMultiviewFeatures, multiviewGeometryShader}--instance {-# OVERLAPPING #-}-         CanReadField "multiviewGeometryShader"-           VkPhysicalDeviceMultiviewFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMultiviewFeatures, multiviewGeometryShader})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceMultiviewFeatures, multiviewGeometryShader}--instance {-# OVERLAPPING #-}-         CanWriteField "multiviewGeometryShader"-           VkPhysicalDeviceMultiviewFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceMultiviewFeatures, multiviewGeometryShader}--instance {-# OVERLAPPING #-}-         HasField "multiviewTessellationShader"-           VkPhysicalDeviceMultiviewFeatures-         where-        type FieldType "multiviewTessellationShader"-               VkPhysicalDeviceMultiviewFeatures-             = VkBool32-        type FieldOptional "multiviewTessellationShader"-               VkPhysicalDeviceMultiviewFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "multiviewTessellationShader"-               VkPhysicalDeviceMultiviewFeatures-             =-             #{offset VkPhysicalDeviceMultiviewFeatures, multiviewTessellationShader}-        type FieldIsArray "multiviewTessellationShader"-               VkPhysicalDeviceMultiviewFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceMultiviewFeatures, multiviewTessellationShader}--instance {-# OVERLAPPING #-}-         CanReadField "multiviewTessellationShader"-           VkPhysicalDeviceMultiviewFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMultiviewFeatures, multiviewTessellationShader})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceMultiviewFeatures, multiviewTessellationShader}--instance {-# OVERLAPPING #-}-         CanWriteField "multiviewTessellationShader"-           VkPhysicalDeviceMultiviewFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceMultiviewFeatures, multiviewTessellationShader}--instance Show VkPhysicalDeviceMultiviewFeatures where-        showsPrec d x-          = showString "VkPhysicalDeviceMultiviewFeatures {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "multiview = " .-                            showsPrec d (getField @"multiview" x) .-                              showString ", " .-                                showString "multiviewGeometryShader = " .-                                  showsPrec d (getField @"multiviewGeometryShader" x) .-                                    showString ", " .-                                      showString "multiviewTessellationShader = " .-                                        showsPrec d (getField @"multiviewTessellationShader" x) .-                                          showChar '}'---- | Alias for `VkPhysicalDeviceMultiviewFeatures`-type VkPhysicalDeviceMultiviewFeaturesKHR =-     VkPhysicalDeviceMultiviewFeatures---- | > typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     VkBool32                         perViewPositionAllComponents;---   > } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at www.khronos.org>-type VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX =-     VulkanStruct-       VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX' -- ' closing tick for hsc2hs--data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-         where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord-           VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-         where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable-           VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-         where-        sizeOf ~_-          = #{size VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal-           VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-         where-        type StructFields-               VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-             = '["sType", "pNext", "perViewPositionAllComponents"] -- ' closing tick for hsc2hs-        type CUnionType-               VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-             = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly-               VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-             = 'True -- ' closing tick for hsc2hs-        type StructExtends-               VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-             = '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType"-           VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-         where-        type FieldType "sType"-               VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-             = VkStructureType-        type FieldOptional "sType"-               VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-             =-             #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, sType}-        type FieldIsArray "sType"-               VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType"-           VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType"-           VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext"-           VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-         where-        type FieldType "pNext"-               VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-             = Ptr Void-        type FieldOptional "pNext"-               VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-             =-             #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, pNext}-        type FieldIsArray "pNext"-               VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext"-           VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext"-           VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, pNext}--instance {-# OVERLAPPING #-}-         HasField "perViewPositionAllComponents"-           VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-         where-        type FieldType "perViewPositionAllComponents"-               VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-             = VkBool32-        type FieldOptional "perViewPositionAllComponents"-               VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "perViewPositionAllComponents"-               VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-             =-             #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, perViewPositionAllComponents}-        type FieldIsArray "perViewPositionAllComponents"-               VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, perViewPositionAllComponents}--instance {-# OVERLAPPING #-}-         CanReadField "perViewPositionAllComponents"-           VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, perViewPositionAllComponents})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, perViewPositionAllComponents}--instance {-# OVERLAPPING #-}-         CanWriteField "perViewPositionAllComponents"-           VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, perViewPositionAllComponents}--instance Show-           VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-         where-        showsPrec d x-          = showString-              "VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {"-              .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "perViewPositionAllComponents = " .-                            showsPrec d (getField @"perViewPositionAllComponents" x) .-                              showChar '}'---- | > typedef struct VkPhysicalDeviceMultiviewProperties {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     uint32_t                         maxMultiviewViewCount;---   >     uint32_t                         maxMultiviewInstanceIndex;---   > } VkPhysicalDeviceMultiviewProperties;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties registry at www.khronos.org>-type VkPhysicalDeviceMultiviewProperties =-     VulkanStruct VkPhysicalDeviceMultiviewProperties' -- ' closing tick for hsc2hs--data VkPhysicalDeviceMultiviewProperties' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceMultiviewProperties where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceMultiviewProperties where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceMultiviewProperties where-        sizeOf ~_ = #{size VkPhysicalDeviceMultiviewProperties}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceMultiviewProperties}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDeviceMultiviewProperties where-        type StructFields VkPhysicalDeviceMultiviewProperties =-             '["sType", "pNext", "maxMultiviewViewCount", -- ' closing tick for hsc2hs-               "maxMultiviewInstanceIndex"]-        type CUnionType VkPhysicalDeviceMultiviewProperties = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceMultiviewProperties = 'True -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceMultiviewProperties =-             '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceMultiviewProperties where-        type FieldType "sType" VkPhysicalDeviceMultiviewProperties =-             VkStructureType-        type FieldOptional "sType" VkPhysicalDeviceMultiviewProperties =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPhysicalDeviceMultiviewProperties =-             #{offset VkPhysicalDeviceMultiviewProperties, sType}-        type FieldIsArray "sType" VkPhysicalDeviceMultiviewProperties =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceMultiviewProperties, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDeviceMultiviewProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMultiviewProperties, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceMultiviewProperties, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPhysicalDeviceMultiviewProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceMultiviewProperties, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceMultiviewProperties where-        type FieldType "pNext" VkPhysicalDeviceMultiviewProperties =-             Ptr Void-        type FieldOptional "pNext" VkPhysicalDeviceMultiviewProperties =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPhysicalDeviceMultiviewProperties =-             #{offset VkPhysicalDeviceMultiviewProperties, pNext}-        type FieldIsArray "pNext" VkPhysicalDeviceMultiviewProperties =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceMultiviewProperties, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDeviceMultiviewProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMultiviewProperties, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceMultiviewProperties, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPhysicalDeviceMultiviewProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceMultiviewProperties, pNext}--instance {-# OVERLAPPING #-}-         HasField "maxMultiviewViewCount"-           VkPhysicalDeviceMultiviewProperties-         where-        type FieldType "maxMultiviewViewCount"-               VkPhysicalDeviceMultiviewProperties-             = Word32-        type FieldOptional "maxMultiviewViewCount"-               VkPhysicalDeviceMultiviewProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxMultiviewViewCount"-               VkPhysicalDeviceMultiviewProperties-             =-             #{offset VkPhysicalDeviceMultiviewProperties, maxMultiviewViewCount}-        type FieldIsArray "maxMultiviewViewCount"-               VkPhysicalDeviceMultiviewProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceMultiviewProperties, maxMultiviewViewCount}--instance {-# OVERLAPPING #-}-         CanReadField "maxMultiviewViewCount"-           VkPhysicalDeviceMultiviewProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMultiviewProperties, maxMultiviewViewCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceMultiviewProperties, maxMultiviewViewCount}--instance {-# OVERLAPPING #-}-         CanWriteField "maxMultiviewViewCount"-           VkPhysicalDeviceMultiviewProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceMultiviewProperties, maxMultiviewViewCount}--instance {-# OVERLAPPING #-}-         HasField "maxMultiviewInstanceIndex"-           VkPhysicalDeviceMultiviewProperties-         where-        type FieldType "maxMultiviewInstanceIndex"-               VkPhysicalDeviceMultiviewProperties-             = Word32-        type FieldOptional "maxMultiviewInstanceIndex"-               VkPhysicalDeviceMultiviewProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxMultiviewInstanceIndex"-               VkPhysicalDeviceMultiviewProperties-             =-             #{offset VkPhysicalDeviceMultiviewProperties, maxMultiviewInstanceIndex}-        type FieldIsArray "maxMultiviewInstanceIndex"-               VkPhysicalDeviceMultiviewProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceMultiviewProperties, maxMultiviewInstanceIndex}--instance {-# OVERLAPPING #-}-         CanReadField "maxMultiviewInstanceIndex"-           VkPhysicalDeviceMultiviewProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMultiviewProperties, maxMultiviewInstanceIndex})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceMultiviewProperties, maxMultiviewInstanceIndex}--instance {-# OVERLAPPING #-}-         CanWriteField "maxMultiviewInstanceIndex"-           VkPhysicalDeviceMultiviewProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceMultiviewProperties, maxMultiviewInstanceIndex}--instance Show VkPhysicalDeviceMultiviewProperties where-        showsPrec d x-          = showString "VkPhysicalDeviceMultiviewProperties {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "maxMultiviewViewCount = " .-                            showsPrec d (getField @"maxMultiviewViewCount" x) .-                              showString ", " .-                                showString "maxMultiviewInstanceIndex = " .-                                  showsPrec d (getField @"maxMultiviewInstanceIndex" x) .-                                    showChar '}'---- | Alias for `VkPhysicalDeviceMultiviewProperties`-type VkPhysicalDeviceMultiviewPropertiesKHR =-     VkPhysicalDeviceMultiviewProperties---- | > typedef struct VkPhysicalDevicePointClippingProperties {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     VkPointClippingBehavior      pointClippingBehavior;---   > } VkPhysicalDevicePointClippingProperties;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties registry at www.khronos.org>-type VkPhysicalDevicePointClippingProperties =-     VulkanStruct VkPhysicalDevicePointClippingProperties' -- ' closing tick for hsc2hs--data VkPhysicalDevicePointClippingProperties' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDevicePointClippingProperties where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDevicePointClippingProperties where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDevicePointClippingProperties where-        sizeOf ~_-          = #{size VkPhysicalDevicePointClippingProperties}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDevicePointClippingProperties}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDevicePointClippingProperties-         where-        type StructFields VkPhysicalDevicePointClippingProperties =-             '["sType", "pNext", "pointClippingBehavior"] -- ' closing tick for hsc2hs-        type CUnionType VkPhysicalDevicePointClippingProperties = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDevicePointClippingProperties = 'True -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDevicePointClippingProperties =-             '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDevicePointClippingProperties where-        type FieldType "sType" VkPhysicalDevicePointClippingProperties =-             VkStructureType-        type FieldOptional "sType" VkPhysicalDevicePointClippingProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPhysicalDevicePointClippingProperties =-             #{offset VkPhysicalDevicePointClippingProperties, sType}-        type FieldIsArray "sType" VkPhysicalDevicePointClippingProperties =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDevicePointClippingProperties, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDevicePointClippingProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDevicePointClippingProperties, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDevicePointClippingProperties, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPhysicalDevicePointClippingProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDevicePointClippingProperties, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDevicePointClippingProperties where-        type FieldType "pNext" VkPhysicalDevicePointClippingProperties =-             Ptr Void-        type FieldOptional "pNext" VkPhysicalDevicePointClippingProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPhysicalDevicePointClippingProperties =-             #{offset VkPhysicalDevicePointClippingProperties, pNext}-        type FieldIsArray "pNext" VkPhysicalDevicePointClippingProperties =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDevicePointClippingProperties, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDevicePointClippingProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDevicePointClippingProperties, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDevicePointClippingProperties, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPhysicalDevicePointClippingProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDevicePointClippingProperties, pNext}--instance {-# OVERLAPPING #-}-         HasField "pointClippingBehavior"-           VkPhysicalDevicePointClippingProperties-         where-        type FieldType "pointClippingBehavior"-               VkPhysicalDevicePointClippingProperties-             = VkPointClippingBehavior-        type FieldOptional "pointClippingBehavior"-               VkPhysicalDevicePointClippingProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pointClippingBehavior"-               VkPhysicalDevicePointClippingProperties-             =-             #{offset VkPhysicalDevicePointClippingProperties, pointClippingBehavior}-        type FieldIsArray "pointClippingBehavior"-               VkPhysicalDevicePointClippingProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDevicePointClippingProperties, pointClippingBehavior}--instance {-# OVERLAPPING #-}-         CanReadField "pointClippingBehavior"-           VkPhysicalDevicePointClippingProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDevicePointClippingProperties, pointClippingBehavior})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDevicePointClippingProperties, pointClippingBehavior}--instance {-# OVERLAPPING #-}-         CanWriteField "pointClippingBehavior"-           VkPhysicalDevicePointClippingProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDevicePointClippingProperties, pointClippingBehavior}--instance Show VkPhysicalDevicePointClippingProperties where-        showsPrec d x-          = showString "VkPhysicalDevicePointClippingProperties {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "pointClippingBehavior = " .-                            showsPrec d (getField @"pointClippingBehavior" x) . showChar '}'---- | Alias for `VkPhysicalDevicePointClippingProperties`-type VkPhysicalDevicePointClippingPropertiesKHR =-     VkPhysicalDevicePointClippingProperties---- | > typedef struct VkPhysicalDeviceProperties {---   >     uint32_t       apiVersion;---   >     uint32_t       driverVersion;---   >     uint32_t       vendorID;---   >     uint32_t       deviceID;---   >     VkPhysicalDeviceType deviceType;---   >     char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];---   >     uint8_t        pipelineCacheUUID[VK_UUID_SIZE];---   >     VkPhysicalDeviceLimits limits;---   >     VkPhysicalDeviceSparseProperties sparseProperties;---   > } VkPhysicalDeviceProperties;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceProperties VkPhysicalDeviceProperties registry at www.khronos.org>-type VkPhysicalDeviceProperties =-     VulkanStruct VkPhysicalDeviceProperties' -- ' closing tick for hsc2hs--data VkPhysicalDeviceProperties' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceProperties where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceProperties where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceProperties where-        sizeOf ~_ = #{size VkPhysicalDeviceProperties}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkPhysicalDeviceProperties}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDeviceProperties where-        type StructFields VkPhysicalDeviceProperties =-             '["apiVersion", "driverVersion", "vendorID", "deviceID", -- ' closing tick for hsc2hs-               "deviceType", "deviceName", "pipelineCacheUUID", "limits",-               "sparseProperties"]-        type CUnionType VkPhysicalDeviceProperties = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceProperties = 'True -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceProperties = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "apiVersion" VkPhysicalDeviceProperties where-        type FieldType "apiVersion" VkPhysicalDeviceProperties = Word32-        type FieldOptional "apiVersion" VkPhysicalDeviceProperties = 'False -- ' closing tick for hsc2hs-        type FieldOffset "apiVersion" VkPhysicalDeviceProperties =-             #{offset VkPhysicalDeviceProperties, apiVersion}-        type FieldIsArray "apiVersion" VkPhysicalDeviceProperties = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceProperties, apiVersion}--instance {-# OVERLAPPING #-}-         CanReadField "apiVersion" VkPhysicalDeviceProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProperties, apiVersion})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceProperties, apiVersion}--instance {-# OVERLAPPING #-}-         CanWriteField "apiVersion" VkPhysicalDeviceProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceProperties, apiVersion}--instance {-# OVERLAPPING #-}-         HasField "driverVersion" VkPhysicalDeviceProperties where-        type FieldType "driverVersion" VkPhysicalDeviceProperties = Word32-        type FieldOptional "driverVersion" VkPhysicalDeviceProperties =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "driverVersion" VkPhysicalDeviceProperties =-             #{offset VkPhysicalDeviceProperties, driverVersion}-        type FieldIsArray "driverVersion" VkPhysicalDeviceProperties =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceProperties, driverVersion}--instance {-# OVERLAPPING #-}-         CanReadField "driverVersion" VkPhysicalDeviceProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProperties, driverVersion})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceProperties, driverVersion}--instance {-# OVERLAPPING #-}-         CanWriteField "driverVersion" VkPhysicalDeviceProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceProperties, driverVersion}--instance {-# OVERLAPPING #-}-         HasField "vendorID" VkPhysicalDeviceProperties where-        type FieldType "vendorID" VkPhysicalDeviceProperties = Word32-        type FieldOptional "vendorID" VkPhysicalDeviceProperties = 'False -- ' closing tick for hsc2hs-        type FieldOffset "vendorID" VkPhysicalDeviceProperties =-             #{offset VkPhysicalDeviceProperties, vendorID}-        type FieldIsArray "vendorID" VkPhysicalDeviceProperties = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceProperties, vendorID}--instance {-# OVERLAPPING #-}-         CanReadField "vendorID" VkPhysicalDeviceProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProperties, vendorID})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceProperties, vendorID}--instance {-# OVERLAPPING #-}-         CanWriteField "vendorID" VkPhysicalDeviceProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceProperties, vendorID}--instance {-# OVERLAPPING #-}-         HasField "deviceID" VkPhysicalDeviceProperties where-        type FieldType "deviceID" VkPhysicalDeviceProperties = Word32-        type FieldOptional "deviceID" VkPhysicalDeviceProperties = 'False -- ' closing tick for hsc2hs-        type FieldOffset "deviceID" VkPhysicalDeviceProperties =-             #{offset VkPhysicalDeviceProperties, deviceID}-        type FieldIsArray "deviceID" VkPhysicalDeviceProperties = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceProperties, deviceID}--instance {-# OVERLAPPING #-}-         CanReadField "deviceID" VkPhysicalDeviceProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProperties, deviceID})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceProperties, deviceID}--instance {-# OVERLAPPING #-}-         CanWriteField "deviceID" VkPhysicalDeviceProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceProperties, deviceID}--instance {-# OVERLAPPING #-}-         HasField "deviceType" VkPhysicalDeviceProperties where-        type FieldType "deviceType" VkPhysicalDeviceProperties =-             VkPhysicalDeviceType-        type FieldOptional "deviceType" VkPhysicalDeviceProperties = 'False -- ' closing tick for hsc2hs-        type FieldOffset "deviceType" VkPhysicalDeviceProperties =-             #{offset VkPhysicalDeviceProperties, deviceType}-        type FieldIsArray "deviceType" VkPhysicalDeviceProperties = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceProperties, deviceType}--instance {-# OVERLAPPING #-}-         CanReadField "deviceType" VkPhysicalDeviceProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProperties, deviceType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceProperties, deviceType}--instance {-# OVERLAPPING #-}-         CanWriteField "deviceType" VkPhysicalDeviceProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceProperties, deviceType}--instance {-# OVERLAPPING #-}-         HasField "deviceName" VkPhysicalDeviceProperties where-        type FieldType "deviceName" VkPhysicalDeviceProperties = CChar-        type FieldOptional "deviceName" VkPhysicalDeviceProperties = 'False -- ' closing tick for hsc2hs-        type FieldOffset "deviceName" VkPhysicalDeviceProperties =-             #{offset VkPhysicalDeviceProperties, deviceName}-        type FieldIsArray "deviceName" VkPhysicalDeviceProperties = 'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceProperties, deviceName}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "deviceName" VkPhysicalDeviceProperties where-        type FieldArrayLength "deviceName" VkPhysicalDeviceProperties =-             VK_MAX_PHYSICAL_DEVICE_NAME_SIZE--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = VK_MAX_PHYSICAL_DEVICE_NAME_SIZE--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkPhysicalDeviceProperties, deviceName} +-                      sizeOf (undefined :: CChar) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkPhysicalDeviceProperties, deviceName} +-                 sizeOf (undefined :: CChar) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "deviceName" VkPhysicalDeviceProperties where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkPhysicalDeviceProperties, deviceName} +-                 sizeOf (undefined :: CChar) * i)--instance {-# OVERLAPPING #-}-         HasField "pipelineCacheUUID" VkPhysicalDeviceProperties where-        type FieldType "pipelineCacheUUID" VkPhysicalDeviceProperties =-             Word8-        type FieldOptional "pipelineCacheUUID" VkPhysicalDeviceProperties =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pipelineCacheUUID" VkPhysicalDeviceProperties =-             #{offset VkPhysicalDeviceProperties, pipelineCacheUUID}-        type FieldIsArray "pipelineCacheUUID" VkPhysicalDeviceProperties =-             'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceProperties, pipelineCacheUUID}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "pipelineCacheUUID" VkPhysicalDeviceProperties-         where-        type FieldArrayLength "pipelineCacheUUID"-               VkPhysicalDeviceProperties-             = VK_UUID_SIZE--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = VK_UUID_SIZE--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkPhysicalDeviceProperties, pipelineCacheUUID}-                      + sizeOf (undefined :: Word8) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkPhysicalDeviceProperties, pipelineCacheUUID}-                 + sizeOf (undefined :: Word8) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "pipelineCacheUUID" VkPhysicalDeviceProperties-         where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkPhysicalDeviceProperties, pipelineCacheUUID}-                 + sizeOf (undefined :: Word8) * i)--instance {-# OVERLAPPING #-}-         HasField "limits" VkPhysicalDeviceProperties where-        type FieldType "limits" VkPhysicalDeviceProperties =-             VkPhysicalDeviceLimits-        type FieldOptional "limits" VkPhysicalDeviceProperties = 'False -- ' closing tick for hsc2hs-        type FieldOffset "limits" VkPhysicalDeviceProperties =-             #{offset VkPhysicalDeviceProperties, limits}-        type FieldIsArray "limits" VkPhysicalDeviceProperties = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceProperties, limits}--instance {-# OVERLAPPING #-}-         CanReadField "limits" VkPhysicalDeviceProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProperties, limits})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceProperties, limits}--instance {-# OVERLAPPING #-}-         CanWriteField "limits" VkPhysicalDeviceProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceProperties, limits}--instance {-# OVERLAPPING #-}-         HasField "sparseProperties" VkPhysicalDeviceProperties where-        type FieldType "sparseProperties" VkPhysicalDeviceProperties =-             VkPhysicalDeviceSparseProperties-        type FieldOptional "sparseProperties" VkPhysicalDeviceProperties =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sparseProperties" VkPhysicalDeviceProperties =-             #{offset VkPhysicalDeviceProperties, sparseProperties}-        type FieldIsArray "sparseProperties" VkPhysicalDeviceProperties =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceProperties, sparseProperties}--instance {-# OVERLAPPING #-}-         CanReadField "sparseProperties" VkPhysicalDeviceProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProperties, sparseProperties})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceProperties, sparseProperties}--instance {-# OVERLAPPING #-}-         CanWriteField "sparseProperties" VkPhysicalDeviceProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceProperties, sparseProperties}--instance Show VkPhysicalDeviceProperties where-        showsPrec d x-          = showString "VkPhysicalDeviceProperties {" .-              showString "apiVersion = " .-                showsPrec d (getField @"apiVersion" x) .-                  showString ", " .-                    showString "driverVersion = " .-                      showsPrec d (getField @"driverVersion" x) .-                        showString ", " .-                          showString "vendorID = " .-                            showsPrec d (getField @"vendorID" x) .-                              showString ", " .-                                showString "deviceID = " .-                                  showsPrec d (getField @"deviceID" x) .-                                    showString ", " .-                                      showString "deviceType = " .-                                        showsPrec d (getField @"deviceType" x) .-                                          showString ", " .-                                            (showString "deviceName = [" .-                                               showsPrec d-                                                 (let s = sizeOf-                                                            (undefined ::-                                                               FieldType "deviceName"-                                                                 VkPhysicalDeviceProperties)-                                                      o = fieldOffset @"deviceName"-                                                            @VkPhysicalDeviceProperties-                                                      f i-                                                        = peekByteOff (unsafePtr x) i ::-                                                            IO-                                                              (FieldType "deviceName"-                                                                 VkPhysicalDeviceProperties)-                                                    in-                                                    unsafeDupablePerformIO . mapM f $-                                                      map (\ i -> o + i * s)-                                                        [0 .. VK_MAX_PHYSICAL_DEVICE_NAME_SIZE - 1])-                                                 . showChar ']')-                                              .-                                              showString ", " .-                                                (showString "pipelineCacheUUID = [" .-                                                   showsPrec d-                                                     (let s = sizeOf-                                                                (undefined ::-                                                                   FieldType "pipelineCacheUUID"-                                                                     VkPhysicalDeviceProperties)-                                                          o = fieldOffset @"pipelineCacheUUID"-                                                                @VkPhysicalDeviceProperties-                                                          f i-                                                            = peekByteOff (unsafePtr x) i ::-                                                                IO-                                                                  (FieldType "pipelineCacheUUID"-                                                                     VkPhysicalDeviceProperties)-                                                        in-                                                        unsafeDupablePerformIO . mapM f $-                                                          map (\ i -> o + i * s)-                                                            [0 .. VK_UUID_SIZE - 1])-                                                     . showChar ']')-                                                  .-                                                  showString ", " .-                                                    showString "limits = " .-                                                      showsPrec d (getField @"limits" x) .-                                                        showString ", " .-                                                          showString "sparseProperties = " .-                                                            showsPrec d-                                                              (getField @"sparseProperties" x)-                                                              . showChar '}'---- | > typedef struct VkPhysicalDeviceProperties2 {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     VkPhysicalDeviceProperties       properties;---   > } VkPhysicalDeviceProperties2;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2 registry at www.khronos.org>-type VkPhysicalDeviceProperties2 =-     VulkanStruct VkPhysicalDeviceProperties2' -- ' closing tick for hsc2hs--data VkPhysicalDeviceProperties2' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceProperties2 where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceProperties2 where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceProperties2 where-        sizeOf ~_ = #{size VkPhysicalDeviceProperties2}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkPhysicalDeviceProperties2}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDeviceProperties2 where-        type StructFields VkPhysicalDeviceProperties2 =-             '["sType", "pNext", "properties"] -- ' closing tick for hsc2hs-        type CUnionType VkPhysicalDeviceProperties2 = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceProperties2 = 'True -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceProperties2 = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceProperties2 where-        type FieldType "sType" VkPhysicalDeviceProperties2 =-             VkStructureType-        type FieldOptional "sType" VkPhysicalDeviceProperties2 = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPhysicalDeviceProperties2 =-             #{offset VkPhysicalDeviceProperties2, sType}-        type FieldIsArray "sType" VkPhysicalDeviceProperties2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceProperties2, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDeviceProperties2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProperties2, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceProperties2, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPhysicalDeviceProperties2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceProperties2, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceProperties2 where-        type FieldType "pNext" VkPhysicalDeviceProperties2 = Ptr Void-        type FieldOptional "pNext" VkPhysicalDeviceProperties2 = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPhysicalDeviceProperties2 =-             #{offset VkPhysicalDeviceProperties2, pNext}-        type FieldIsArray "pNext" VkPhysicalDeviceProperties2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceProperties2, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDeviceProperties2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProperties2, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceProperties2, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPhysicalDeviceProperties2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceProperties2, pNext}--instance {-# OVERLAPPING #-}-         HasField "properties" VkPhysicalDeviceProperties2 where-        type FieldType "properties" VkPhysicalDeviceProperties2 =-             VkPhysicalDeviceProperties-        type FieldOptional "properties" VkPhysicalDeviceProperties2 =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "properties" VkPhysicalDeviceProperties2 =-             #{offset VkPhysicalDeviceProperties2, properties}-        type FieldIsArray "properties" VkPhysicalDeviceProperties2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceProperties2, properties}--instance {-# OVERLAPPING #-}-         CanReadField "properties" VkPhysicalDeviceProperties2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProperties2, properties})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceProperties2, properties}--instance {-# OVERLAPPING #-}-         CanWriteField "properties" VkPhysicalDeviceProperties2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceProperties2, properties}--instance Show VkPhysicalDeviceProperties2 where-        showsPrec d x-          = showString "VkPhysicalDeviceProperties2 {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "properties = " .-                            showsPrec d (getField @"properties" x) . showChar '}'---- | Alias for `VkPhysicalDeviceProperties2`-type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2---- | > typedef struct VkPhysicalDeviceProtectedMemoryFeatures {---   >     VkStructureType sType;---   >     void*                               pNext;---   >     VkBool32                            protectedMemory;---   > } VkPhysicalDeviceProtectedMemoryFeatures;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures registry at www.khronos.org>-type VkPhysicalDeviceProtectedMemoryFeatures =-     VulkanStruct VkPhysicalDeviceProtectedMemoryFeatures' -- ' closing tick for hsc2hs--data VkPhysicalDeviceProtectedMemoryFeatures' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceProtectedMemoryFeatures where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceProtectedMemoryFeatures where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceProtectedMemoryFeatures where-        sizeOf ~_-          = #{size VkPhysicalDeviceProtectedMemoryFeatures}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceProtectedMemoryFeatures}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDeviceProtectedMemoryFeatures-         where-        type StructFields VkPhysicalDeviceProtectedMemoryFeatures =-             '["sType", "pNext", "protectedMemory"] -- ' closing tick for hsc2hs-        type CUnionType VkPhysicalDeviceProtectedMemoryFeatures = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceProtectedMemoryFeatures = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceProtectedMemoryFeatures =-             '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceProtectedMemoryFeatures where-        type FieldType "sType" VkPhysicalDeviceProtectedMemoryFeatures =-             VkStructureType-        type FieldOptional "sType" VkPhysicalDeviceProtectedMemoryFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPhysicalDeviceProtectedMemoryFeatures =-             #{offset VkPhysicalDeviceProtectedMemoryFeatures, sType}-        type FieldIsArray "sType" VkPhysicalDeviceProtectedMemoryFeatures =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceProtectedMemoryFeatures, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDeviceProtectedMemoryFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProtectedMemoryFeatures, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceProtectedMemoryFeatures, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPhysicalDeviceProtectedMemoryFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceProtectedMemoryFeatures, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceProtectedMemoryFeatures where-        type FieldType "pNext" VkPhysicalDeviceProtectedMemoryFeatures =-             Ptr Void-        type FieldOptional "pNext" VkPhysicalDeviceProtectedMemoryFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPhysicalDeviceProtectedMemoryFeatures =-             #{offset VkPhysicalDeviceProtectedMemoryFeatures, pNext}-        type FieldIsArray "pNext" VkPhysicalDeviceProtectedMemoryFeatures =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceProtectedMemoryFeatures, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDeviceProtectedMemoryFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProtectedMemoryFeatures, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceProtectedMemoryFeatures, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPhysicalDeviceProtectedMemoryFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceProtectedMemoryFeatures, pNext}--instance {-# OVERLAPPING #-}-         HasField "protectedMemory" VkPhysicalDeviceProtectedMemoryFeatures-         where-        type FieldType "protectedMemory"-               VkPhysicalDeviceProtectedMemoryFeatures-             = VkBool32-        type FieldOptional "protectedMemory"-               VkPhysicalDeviceProtectedMemoryFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "protectedMemory"-               VkPhysicalDeviceProtectedMemoryFeatures-             =-             #{offset VkPhysicalDeviceProtectedMemoryFeatures, protectedMemory}-        type FieldIsArray "protectedMemory"-               VkPhysicalDeviceProtectedMemoryFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceProtectedMemoryFeatures, protectedMemory}--instance {-# OVERLAPPING #-}-         CanReadField "protectedMemory"-           VkPhysicalDeviceProtectedMemoryFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProtectedMemoryFeatures, protectedMemory})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceProtectedMemoryFeatures, protectedMemory}--instance {-# OVERLAPPING #-}-         CanWriteField "protectedMemory"-           VkPhysicalDeviceProtectedMemoryFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceProtectedMemoryFeatures, protectedMemory}--instance Show VkPhysicalDeviceProtectedMemoryFeatures where-        showsPrec d x-          = showString "VkPhysicalDeviceProtectedMemoryFeatures {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "protectedMemory = " .-                            showsPrec d (getField @"protectedMemory" x) . showChar '}'---- | > typedef struct VkPhysicalDeviceProtectedMemoryProperties {---   >     VkStructureType sType;---   >     void*                               pNext;---   >     VkBool32                            protectedNoFault;---   > } VkPhysicalDeviceProtectedMemoryProperties;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties registry at www.khronos.org>-type VkPhysicalDeviceProtectedMemoryProperties =-     VulkanStruct VkPhysicalDeviceProtectedMemoryProperties' -- ' closing tick for hsc2hs--data VkPhysicalDeviceProtectedMemoryProperties' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceProtectedMemoryProperties where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceProtectedMemoryProperties where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceProtectedMemoryProperties where-        sizeOf ~_-          = #{size VkPhysicalDeviceProtectedMemoryProperties}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceProtectedMemoryProperties}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDeviceProtectedMemoryProperties-         where-        type StructFields VkPhysicalDeviceProtectedMemoryProperties =-             '["sType", "pNext", "protectedNoFault"] -- ' closing tick for hsc2hs-        type CUnionType VkPhysicalDeviceProtectedMemoryProperties = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceProtectedMemoryProperties =-             'False -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceProtectedMemoryProperties =-             '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceProtectedMemoryProperties where-        type FieldType "sType" VkPhysicalDeviceProtectedMemoryProperties =-             VkStructureType-        type FieldOptional "sType"-               VkPhysicalDeviceProtectedMemoryProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPhysicalDeviceProtectedMemoryProperties-             =-             #{offset VkPhysicalDeviceProtectedMemoryProperties, sType}-        type FieldIsArray "sType" VkPhysicalDeviceProtectedMemoryProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceProtectedMemoryProperties, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDeviceProtectedMemoryProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProtectedMemoryProperties, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceProtectedMemoryProperties, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPhysicalDeviceProtectedMemoryProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceProtectedMemoryProperties, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceProtectedMemoryProperties where-        type FieldType "pNext" VkPhysicalDeviceProtectedMemoryProperties =-             Ptr Void-        type FieldOptional "pNext"-               VkPhysicalDeviceProtectedMemoryProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPhysicalDeviceProtectedMemoryProperties-             =-             #{offset VkPhysicalDeviceProtectedMemoryProperties, pNext}-        type FieldIsArray "pNext" VkPhysicalDeviceProtectedMemoryProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceProtectedMemoryProperties, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDeviceProtectedMemoryProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProtectedMemoryProperties, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceProtectedMemoryProperties, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPhysicalDeviceProtectedMemoryProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceProtectedMemoryProperties, pNext}--instance {-# OVERLAPPING #-}-         HasField "protectedNoFault"-           VkPhysicalDeviceProtectedMemoryProperties-         where-        type FieldType "protectedNoFault"-               VkPhysicalDeviceProtectedMemoryProperties-             = VkBool32-        type FieldOptional "protectedNoFault"-               VkPhysicalDeviceProtectedMemoryProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "protectedNoFault"-               VkPhysicalDeviceProtectedMemoryProperties-             =-             #{offset VkPhysicalDeviceProtectedMemoryProperties, protectedNoFault}-        type FieldIsArray "protectedNoFault"-               VkPhysicalDeviceProtectedMemoryProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceProtectedMemoryProperties, protectedNoFault}--instance {-# OVERLAPPING #-}-         CanReadField "protectedNoFault"-           VkPhysicalDeviceProtectedMemoryProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProtectedMemoryProperties, protectedNoFault})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceProtectedMemoryProperties, protectedNoFault}--instance {-# OVERLAPPING #-}-         CanWriteField "protectedNoFault"-           VkPhysicalDeviceProtectedMemoryProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceProtectedMemoryProperties, protectedNoFault}--instance Show VkPhysicalDeviceProtectedMemoryProperties where-        showsPrec d x-          = showString "VkPhysicalDeviceProtectedMemoryProperties {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "protectedNoFault = " .-                            showsPrec d (getField @"protectedNoFault" x) . showChar '}'---- | > typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     uint32_t                         maxPushDescriptors;---   > } VkPhysicalDevicePushDescriptorPropertiesKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR registry at www.khronos.org>-type VkPhysicalDevicePushDescriptorPropertiesKHR =-     VulkanStruct VkPhysicalDevicePushDescriptorPropertiesKHR' -- ' closing tick for hsc2hs--data VkPhysicalDevicePushDescriptorPropertiesKHR' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDevicePushDescriptorPropertiesKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDevicePushDescriptorPropertiesKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDevicePushDescriptorPropertiesKHR where-        sizeOf ~_-          = #{size VkPhysicalDevicePushDescriptorPropertiesKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDevicePushDescriptorPropertiesKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDevicePushDescriptorPropertiesKHR-         where-        type StructFields VkPhysicalDevicePushDescriptorPropertiesKHR =-             '["sType", "pNext", "maxPushDescriptors"] -- ' closing tick for hsc2hs-        type CUnionType VkPhysicalDevicePushDescriptorPropertiesKHR =-             'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDevicePushDescriptorPropertiesKHR =-             'False -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDevicePushDescriptorPropertiesKHR =-             '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDevicePushDescriptorPropertiesKHR where-        type FieldType "sType" VkPhysicalDevicePushDescriptorPropertiesKHR-             = VkStructureType-        type FieldOptional "sType"-               VkPhysicalDevicePushDescriptorPropertiesKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkPhysicalDevicePushDescriptorPropertiesKHR-             =-             #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, sType}-        type FieldIsArray "sType"-               VkPhysicalDevicePushDescriptorPropertiesKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDevicePushDescriptorPropertiesKHR-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPhysicalDevicePushDescriptorPropertiesKHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDevicePushDescriptorPropertiesKHR where-        type FieldType "pNext" VkPhysicalDevicePushDescriptorPropertiesKHR-             = Ptr Void-        type FieldOptional "pNext"-               VkPhysicalDevicePushDescriptorPropertiesKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkPhysicalDevicePushDescriptorPropertiesKHR-             =-             #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, pNext}-        type FieldIsArray "pNext"-               VkPhysicalDevicePushDescriptorPropertiesKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDevicePushDescriptorPropertiesKHR-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPhysicalDevicePushDescriptorPropertiesKHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "maxPushDescriptors"-           VkPhysicalDevicePushDescriptorPropertiesKHR-         where-        type FieldType "maxPushDescriptors"-               VkPhysicalDevicePushDescriptorPropertiesKHR-             = Word32-        type FieldOptional "maxPushDescriptors"-               VkPhysicalDevicePushDescriptorPropertiesKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxPushDescriptors"-               VkPhysicalDevicePushDescriptorPropertiesKHR-             =-             #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, maxPushDescriptors}-        type FieldIsArray "maxPushDescriptors"-               VkPhysicalDevicePushDescriptorPropertiesKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, maxPushDescriptors}--instance {-# OVERLAPPING #-}-         CanReadField "maxPushDescriptors"-           VkPhysicalDevicePushDescriptorPropertiesKHR-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, maxPushDescriptors})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, maxPushDescriptors}--instance {-# OVERLAPPING #-}-         CanWriteField "maxPushDescriptors"-           VkPhysicalDevicePushDescriptorPropertiesKHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, maxPushDescriptors}--instance Show VkPhysicalDevicePushDescriptorPropertiesKHR where-        showsPrec d x-          = showString "VkPhysicalDevicePushDescriptorPropertiesKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "maxPushDescriptors = " .-                            showsPrec d (getField @"maxPushDescriptors" x) . showChar '}'---- | > typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     VkSampleCountFlags               sampleLocationSampleCounts;---   >     VkExtent2D                       maxSampleLocationGridSize;---   >     float                            sampleLocationCoordinateRange[2];---   >     uint32_t                         sampleLocationSubPixelBits;---   >     VkBool32                         variableSampleLocations;---   > } VkPhysicalDeviceSampleLocationsPropertiesEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT registry at www.khronos.org>-type VkPhysicalDeviceSampleLocationsPropertiesEXT =-     VulkanStruct VkPhysicalDeviceSampleLocationsPropertiesEXT' -- ' closing tick for hsc2hs--data VkPhysicalDeviceSampleLocationsPropertiesEXT' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceSampleLocationsPropertiesEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceSampleLocationsPropertiesEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceSampleLocationsPropertiesEXT-         where-        sizeOf ~_-          = #{size VkPhysicalDeviceSampleLocationsPropertiesEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceSampleLocationsPropertiesEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDeviceSampleLocationsPropertiesEXT-         where-        type StructFields VkPhysicalDeviceSampleLocationsPropertiesEXT =-             '["sType", "pNext", "sampleLocationSampleCounts", -- ' closing tick for hsc2hs-               "maxSampleLocationGridSize", "sampleLocationCoordinateRange",-               "sampleLocationSubPixelBits", "variableSampleLocations"]-        type CUnionType VkPhysicalDeviceSampleLocationsPropertiesEXT =-             'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceSampleLocationsPropertiesEXT =-             'True -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceSampleLocationsPropertiesEXT =-             '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceSampleLocationsPropertiesEXT where-        type FieldType "sType" VkPhysicalDeviceSampleLocationsPropertiesEXT-             = VkStructureType-        type FieldOptional "sType"-               VkPhysicalDeviceSampleLocationsPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkPhysicalDeviceSampleLocationsPropertiesEXT-             =-             #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sType}-        type FieldIsArray "sType"-               VkPhysicalDeviceSampleLocationsPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDeviceSampleLocationsPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPhysicalDeviceSampleLocationsPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceSampleLocationsPropertiesEXT where-        type FieldType "pNext" VkPhysicalDeviceSampleLocationsPropertiesEXT-             = Ptr Void-        type FieldOptional "pNext"-               VkPhysicalDeviceSampleLocationsPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkPhysicalDeviceSampleLocationsPropertiesEXT-             =-             #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, pNext}-        type FieldIsArray "pNext"-               VkPhysicalDeviceSampleLocationsPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDeviceSampleLocationsPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPhysicalDeviceSampleLocationsPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "sampleLocationSampleCounts"-           VkPhysicalDeviceSampleLocationsPropertiesEXT-         where-        type FieldType "sampleLocationSampleCounts"-               VkPhysicalDeviceSampleLocationsPropertiesEXT-             = VkSampleCountFlags-        type FieldOptional "sampleLocationSampleCounts"-               VkPhysicalDeviceSampleLocationsPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sampleLocationSampleCounts"-               VkPhysicalDeviceSampleLocationsPropertiesEXT-             =-             #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationSampleCounts}-        type FieldIsArray "sampleLocationSampleCounts"-               VkPhysicalDeviceSampleLocationsPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationSampleCounts}--instance {-# OVERLAPPING #-}-         CanReadField "sampleLocationSampleCounts"-           VkPhysicalDeviceSampleLocationsPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationSampleCounts})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationSampleCounts}--instance {-# OVERLAPPING #-}-         CanWriteField "sampleLocationSampleCounts"-           VkPhysicalDeviceSampleLocationsPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationSampleCounts}--instance {-# OVERLAPPING #-}-         HasField "maxSampleLocationGridSize"-           VkPhysicalDeviceSampleLocationsPropertiesEXT-         where-        type FieldType "maxSampleLocationGridSize"-               VkPhysicalDeviceSampleLocationsPropertiesEXT-             = VkExtent2D-        type FieldOptional "maxSampleLocationGridSize"-               VkPhysicalDeviceSampleLocationsPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxSampleLocationGridSize"-               VkPhysicalDeviceSampleLocationsPropertiesEXT-             =-             #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, maxSampleLocationGridSize}-        type FieldIsArray "maxSampleLocationGridSize"-               VkPhysicalDeviceSampleLocationsPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, maxSampleLocationGridSize}--instance {-# OVERLAPPING #-}-         CanReadField "maxSampleLocationGridSize"-           VkPhysicalDeviceSampleLocationsPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, maxSampleLocationGridSize})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, maxSampleLocationGridSize}--instance {-# OVERLAPPING #-}-         CanWriteField "maxSampleLocationGridSize"-           VkPhysicalDeviceSampleLocationsPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, maxSampleLocationGridSize}--instance {-# OVERLAPPING #-}-         HasField "sampleLocationCoordinateRange"-           VkPhysicalDeviceSampleLocationsPropertiesEXT-         where-        type FieldType "sampleLocationCoordinateRange"-               VkPhysicalDeviceSampleLocationsPropertiesEXT-             = #{type float}-        type FieldOptional "sampleLocationCoordinateRange"-               VkPhysicalDeviceSampleLocationsPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sampleLocationCoordinateRange"-               VkPhysicalDeviceSampleLocationsPropertiesEXT-             =-             #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationCoordinateRange}-        type FieldIsArray "sampleLocationCoordinateRange"-               VkPhysicalDeviceSampleLocationsPropertiesEXT-             = 'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationCoordinateRange}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "sampleLocationCoordinateRange"-           VkPhysicalDeviceSampleLocationsPropertiesEXT-         where-        type FieldArrayLength "sampleLocationCoordinateRange"-               VkPhysicalDeviceSampleLocationsPropertiesEXT-             = 2--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = 2--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationCoordinateRange}-                      + sizeOf (undefined :: #{type float}) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationCoordinateRange}-                 + sizeOf (undefined :: #{type float}) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "sampleLocationCoordinateRange"-           VkPhysicalDeviceSampleLocationsPropertiesEXT-         where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationCoordinateRange}-                 + sizeOf (undefined :: #{type float}) * i)--instance {-# OVERLAPPING #-}-         HasField "sampleLocationSubPixelBits"-           VkPhysicalDeviceSampleLocationsPropertiesEXT-         where-        type FieldType "sampleLocationSubPixelBits"-               VkPhysicalDeviceSampleLocationsPropertiesEXT-             = Word32-        type FieldOptional "sampleLocationSubPixelBits"-               VkPhysicalDeviceSampleLocationsPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sampleLocationSubPixelBits"-               VkPhysicalDeviceSampleLocationsPropertiesEXT-             =-             #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationSubPixelBits}-        type FieldIsArray "sampleLocationSubPixelBits"-               VkPhysicalDeviceSampleLocationsPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationSubPixelBits}--instance {-# OVERLAPPING #-}-         CanReadField "sampleLocationSubPixelBits"-           VkPhysicalDeviceSampleLocationsPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationSubPixelBits})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationSubPixelBits}--instance {-# OVERLAPPING #-}-         CanWriteField "sampleLocationSubPixelBits"-           VkPhysicalDeviceSampleLocationsPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationSubPixelBits}--instance {-# OVERLAPPING #-}-         HasField "variableSampleLocations"-           VkPhysicalDeviceSampleLocationsPropertiesEXT-         where-        type FieldType "variableSampleLocations"-               VkPhysicalDeviceSampleLocationsPropertiesEXT-             = VkBool32-        type FieldOptional "variableSampleLocations"-               VkPhysicalDeviceSampleLocationsPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "variableSampleLocations"-               VkPhysicalDeviceSampleLocationsPropertiesEXT-             =-             #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, variableSampleLocations}-        type FieldIsArray "variableSampleLocations"-               VkPhysicalDeviceSampleLocationsPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, variableSampleLocations}--instance {-# OVERLAPPING #-}-         CanReadField "variableSampleLocations"-           VkPhysicalDeviceSampleLocationsPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, variableSampleLocations})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, variableSampleLocations}--instance {-# OVERLAPPING #-}-         CanWriteField "variableSampleLocations"-           VkPhysicalDeviceSampleLocationsPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, variableSampleLocations}--instance Show VkPhysicalDeviceSampleLocationsPropertiesEXT where-        showsPrec d x-          = showString "VkPhysicalDeviceSampleLocationsPropertiesEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "sampleLocationSampleCounts = " .-                            showsPrec d (getField @"sampleLocationSampleCounts" x) .-                              showString ", " .-                                showString "maxSampleLocationGridSize = " .-                                  showsPrec d (getField @"maxSampleLocationGridSize" x) .-                                    showString ", " .-                                      (showString "sampleLocationCoordinateRange = [" .-                                         showsPrec d-                                           (let s = sizeOf-                                                      (undefined ::-                                                         FieldType "sampleLocationCoordinateRange"-                                                           VkPhysicalDeviceSampleLocationsPropertiesEXT)-                                                o = fieldOffset @"sampleLocationCoordinateRange"-                                                      @VkPhysicalDeviceSampleLocationsPropertiesEXT-                                                f i-                                                  = peekByteOff (unsafePtr x) i ::-                                                      IO-                                                        (FieldType "sampleLocationCoordinateRange"-                                                           VkPhysicalDeviceSampleLocationsPropertiesEXT)-                                              in-                                              unsafeDupablePerformIO . mapM f $-                                                map (\ i -> o + i * s) [0 .. 2 - 1])-                                           . showChar ']')-                                        .-                                        showString ", " .-                                          showString "sampleLocationSubPixelBits = " .-                                            showsPrec d (getField @"sampleLocationSubPixelBits" x) .-                                              showString ", " .-                                                showString "variableSampleLocations = " .-                                                  showsPrec d-                                                    (getField @"variableSampleLocations" x)-                                                    . showChar '}'---- | > typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {---   >     VkStructureType sType;---   >     void*                  pNext;---   >     VkBool32               filterMinmaxSingleComponentFormats;---   >     VkBool32               filterMinmaxImageComponentMapping;---   > } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at www.khronos.org>-type VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT =-     VulkanStruct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT' -- ' closing tick for hsc2hs--data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-         where-        sizeOf ~_-          = #{size VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal-           VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-         where-        type StructFields VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-             =-             '["sType", "pNext", "filterMinmaxSingleComponentFormats", -- ' closing tick for hsc2hs-               "filterMinmaxImageComponentMapping"]-        type CUnionType VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT =-             'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-             = 'True -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-             = '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-         where-        type FieldType "sType"-               VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-             = VkStructureType-        type FieldOptional "sType"-               VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-             =-             #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, sType}-        type FieldIsArray "sType"-               VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType"-           VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType"-           VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-         where-        type FieldType "pNext"-               VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-             = Ptr Void-        type FieldOptional "pNext"-               VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-             =-             #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, pNext}-        type FieldIsArray "pNext"-               VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext"-           VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext"-           VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "filterMinmaxSingleComponentFormats"-           VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-         where-        type FieldType "filterMinmaxSingleComponentFormats"-               VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-             = VkBool32-        type FieldOptional "filterMinmaxSingleComponentFormats"-               VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "filterMinmaxSingleComponentFormats"-               VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-             =-             #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, filterMinmaxSingleComponentFormats}-        type FieldIsArray "filterMinmaxSingleComponentFormats"-               VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, filterMinmaxSingleComponentFormats}--instance {-# OVERLAPPING #-}-         CanReadField "filterMinmaxSingleComponentFormats"-           VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, filterMinmaxSingleComponentFormats})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, filterMinmaxSingleComponentFormats}--instance {-# OVERLAPPING #-}-         CanWriteField "filterMinmaxSingleComponentFormats"-           VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, filterMinmaxSingleComponentFormats}--instance {-# OVERLAPPING #-}-         HasField "filterMinmaxImageComponentMapping"-           VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-         where-        type FieldType "filterMinmaxImageComponentMapping"-               VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-             = VkBool32-        type FieldOptional "filterMinmaxImageComponentMapping"-               VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "filterMinmaxImageComponentMapping"-               VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-             =-             #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, filterMinmaxImageComponentMapping}-        type FieldIsArray "filterMinmaxImageComponentMapping"-               VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, filterMinmaxImageComponentMapping}--instance {-# OVERLAPPING #-}-         CanReadField "filterMinmaxImageComponentMapping"-           VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, filterMinmaxImageComponentMapping})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, filterMinmaxImageComponentMapping}--instance {-# OVERLAPPING #-}-         CanWriteField "filterMinmaxImageComponentMapping"-           VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, filterMinmaxImageComponentMapping}--instance Show VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-         where-        showsPrec d x-          = showString "VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "filterMinmaxSingleComponentFormats = " .-                            showsPrec d (getField @"filterMinmaxSingleComponentFormats" x) .-                              showString ", " .-                                showString "filterMinmaxImageComponentMapping = " .-                                  showsPrec d (getField @"filterMinmaxImageComponentMapping" x) .-                                    showChar '}'---- | > typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {---   >     VkStructureType sType;---   >     void*      pNext;---   >     VkBool32                         samplerYcbcrConversion;---   > } VkPhysicalDeviceSamplerYcbcrConversionFeatures;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at www.khronos.org>-type VkPhysicalDeviceSamplerYcbcrConversionFeatures =-     VulkanStruct VkPhysicalDeviceSamplerYcbcrConversionFeatures' -- ' closing tick for hsc2hs--data VkPhysicalDeviceSamplerYcbcrConversionFeatures' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceSamplerYcbcrConversionFeatures where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceSamplerYcbcrConversionFeatures where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceSamplerYcbcrConversionFeatures-         where-        sizeOf ~_-          = #{size VkPhysicalDeviceSamplerYcbcrConversionFeatures}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceSamplerYcbcrConversionFeatures}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal-           VkPhysicalDeviceSamplerYcbcrConversionFeatures-         where-        type StructFields VkPhysicalDeviceSamplerYcbcrConversionFeatures =-             '["sType", "pNext", "samplerYcbcrConversion"] -- ' closing tick for hsc2hs-        type CUnionType VkPhysicalDeviceSamplerYcbcrConversionFeatures =-             'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceSamplerYcbcrConversionFeatures =-             'False -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceSamplerYcbcrConversionFeatures =-             '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceSamplerYcbcrConversionFeatures-         where-        type FieldType "sType"-               VkPhysicalDeviceSamplerYcbcrConversionFeatures-             = VkStructureType-        type FieldOptional "sType"-               VkPhysicalDeviceSamplerYcbcrConversionFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkPhysicalDeviceSamplerYcbcrConversionFeatures-             =-             #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, sType}-        type FieldIsArray "sType"-               VkPhysicalDeviceSamplerYcbcrConversionFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDeviceSamplerYcbcrConversionFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType"-           VkPhysicalDeviceSamplerYcbcrConversionFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceSamplerYcbcrConversionFeatures-         where-        type FieldType "pNext"-               VkPhysicalDeviceSamplerYcbcrConversionFeatures-             = Ptr Void-        type FieldOptional "pNext"-               VkPhysicalDeviceSamplerYcbcrConversionFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkPhysicalDeviceSamplerYcbcrConversionFeatures-             =-             #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, pNext}-        type FieldIsArray "pNext"-               VkPhysicalDeviceSamplerYcbcrConversionFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDeviceSamplerYcbcrConversionFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext"-           VkPhysicalDeviceSamplerYcbcrConversionFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, pNext}--instance {-# OVERLAPPING #-}-         HasField "samplerYcbcrConversion"-           VkPhysicalDeviceSamplerYcbcrConversionFeatures-         where-        type FieldType "samplerYcbcrConversion"-               VkPhysicalDeviceSamplerYcbcrConversionFeatures-             = VkBool32-        type FieldOptional "samplerYcbcrConversion"-               VkPhysicalDeviceSamplerYcbcrConversionFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "samplerYcbcrConversion"-               VkPhysicalDeviceSamplerYcbcrConversionFeatures-             =-             #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, samplerYcbcrConversion}-        type FieldIsArray "samplerYcbcrConversion"-               VkPhysicalDeviceSamplerYcbcrConversionFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, samplerYcbcrConversion}--instance {-# OVERLAPPING #-}-         CanReadField "samplerYcbcrConversion"-           VkPhysicalDeviceSamplerYcbcrConversionFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, samplerYcbcrConversion})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, samplerYcbcrConversion}--instance {-# OVERLAPPING #-}-         CanWriteField "samplerYcbcrConversion"-           VkPhysicalDeviceSamplerYcbcrConversionFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, samplerYcbcrConversion}--instance Show VkPhysicalDeviceSamplerYcbcrConversionFeatures where-        showsPrec d x-          = showString "VkPhysicalDeviceSamplerYcbcrConversionFeatures {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "samplerYcbcrConversion = " .-                            showsPrec d (getField @"samplerYcbcrConversion" x) . showChar '}'---- | Alias for `VkPhysicalDeviceSamplerYcbcrConversionFeatures`-type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR =-     VkPhysicalDeviceSamplerYcbcrConversionFeatures---- | > typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {---   >     VkStructureType sType;---   >     void*    pNext;---   >     uint32_t shaderEngineCount;---   >     uint32_t shaderArraysPerEngineCount;---   >     uint32_t computeUnitsPerShaderArray;---   >     uint32_t simdPerComputeUnit;---   >     uint32_t wavefrontsPerSimd;---   >     uint32_t wavefrontSize;---   >     uint32_t sgprsPerSimd;---   >     uint32_t minSgprAllocation;---   >     uint32_t maxSgprAllocation;---   >     uint32_t sgprAllocationGranularity;---   >     uint32_t vgprsPerSimd;---   >     uint32_t minVgprAllocation;---   >     uint32_t maxVgprAllocation;---   >     uint32_t vgprAllocationGranularity;---   > } VkPhysicalDeviceShaderCorePropertiesAMD;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD registry at www.khronos.org>-type VkPhysicalDeviceShaderCorePropertiesAMD =-     VulkanStruct VkPhysicalDeviceShaderCorePropertiesAMD' -- ' closing tick for hsc2hs--data VkPhysicalDeviceShaderCorePropertiesAMD' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceShaderCorePropertiesAMD where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceShaderCorePropertiesAMD where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceShaderCorePropertiesAMD where-        sizeOf ~_-          = #{size VkPhysicalDeviceShaderCorePropertiesAMD}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceShaderCorePropertiesAMD}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDeviceShaderCorePropertiesAMD-         where-        type StructFields VkPhysicalDeviceShaderCorePropertiesAMD =-             '["sType", "pNext", "shaderEngineCount", -- ' closing tick for hsc2hs-               "shaderArraysPerEngineCount", "computeUnitsPerShaderArray",-               "simdPerComputeUnit", "wavefrontsPerSimd", "wavefrontSize",-               "sgprsPerSimd", "minSgprAllocation", "maxSgprAllocation",-               "sgprAllocationGranularity", "vgprsPerSimd", "minVgprAllocation",-               "maxVgprAllocation", "vgprAllocationGranularity"]-        type CUnionType VkPhysicalDeviceShaderCorePropertiesAMD = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceShaderCorePropertiesAMD = 'True -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceShaderCorePropertiesAMD =-             '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceShaderCorePropertiesAMD where-        type FieldType "sType" VkPhysicalDeviceShaderCorePropertiesAMD =-             VkStructureType-        type FieldOptional "sType" VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPhysicalDeviceShaderCorePropertiesAMD =-             #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sType}-        type FieldIsArray "sType" VkPhysicalDeviceShaderCorePropertiesAMD =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDeviceShaderCorePropertiesAMD where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPhysicalDeviceShaderCorePropertiesAMD where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceShaderCorePropertiesAMD where-        type FieldType "pNext" VkPhysicalDeviceShaderCorePropertiesAMD =-             Ptr Void-        type FieldOptional "pNext" VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPhysicalDeviceShaderCorePropertiesAMD =-             #{offset VkPhysicalDeviceShaderCorePropertiesAMD, pNext}-        type FieldIsArray "pNext" VkPhysicalDeviceShaderCorePropertiesAMD =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDeviceShaderCorePropertiesAMD where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPhysicalDeviceShaderCorePropertiesAMD where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, pNext}--instance {-# OVERLAPPING #-}-         HasField "shaderEngineCount"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        type FieldType "shaderEngineCount"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = Word32-        type FieldOptional "shaderEngineCount"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderEngineCount"-               VkPhysicalDeviceShaderCorePropertiesAMD-             =-             #{offset VkPhysicalDeviceShaderCorePropertiesAMD, shaderEngineCount}-        type FieldIsArray "shaderEngineCount"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, shaderEngineCount}--instance {-# OVERLAPPING #-}-         CanReadField "shaderEngineCount"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, shaderEngineCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, shaderEngineCount}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderEngineCount"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, shaderEngineCount}--instance {-# OVERLAPPING #-}-         HasField "shaderArraysPerEngineCount"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        type FieldType "shaderArraysPerEngineCount"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = Word32-        type FieldOptional "shaderArraysPerEngineCount"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderArraysPerEngineCount"-               VkPhysicalDeviceShaderCorePropertiesAMD-             =-             #{offset VkPhysicalDeviceShaderCorePropertiesAMD, shaderArraysPerEngineCount}-        type FieldIsArray "shaderArraysPerEngineCount"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, shaderArraysPerEngineCount}--instance {-# OVERLAPPING #-}-         CanReadField "shaderArraysPerEngineCount"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, shaderArraysPerEngineCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, shaderArraysPerEngineCount}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderArraysPerEngineCount"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, shaderArraysPerEngineCount}--instance {-# OVERLAPPING #-}-         HasField "computeUnitsPerShaderArray"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        type FieldType "computeUnitsPerShaderArray"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = Word32-        type FieldOptional "computeUnitsPerShaderArray"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "computeUnitsPerShaderArray"-               VkPhysicalDeviceShaderCorePropertiesAMD-             =-             #{offset VkPhysicalDeviceShaderCorePropertiesAMD, computeUnitsPerShaderArray}-        type FieldIsArray "computeUnitsPerShaderArray"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, computeUnitsPerShaderArray}--instance {-# OVERLAPPING #-}-         CanReadField "computeUnitsPerShaderArray"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, computeUnitsPerShaderArray})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, computeUnitsPerShaderArray}--instance {-# OVERLAPPING #-}-         CanWriteField "computeUnitsPerShaderArray"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, computeUnitsPerShaderArray}--instance {-# OVERLAPPING #-}-         HasField "simdPerComputeUnit"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        type FieldType "simdPerComputeUnit"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = Word32-        type FieldOptional "simdPerComputeUnit"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "simdPerComputeUnit"-               VkPhysicalDeviceShaderCorePropertiesAMD-             =-             #{offset VkPhysicalDeviceShaderCorePropertiesAMD, simdPerComputeUnit}-        type FieldIsArray "simdPerComputeUnit"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, simdPerComputeUnit}--instance {-# OVERLAPPING #-}-         CanReadField "simdPerComputeUnit"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, simdPerComputeUnit})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, simdPerComputeUnit}--instance {-# OVERLAPPING #-}-         CanWriteField "simdPerComputeUnit"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, simdPerComputeUnit}--instance {-# OVERLAPPING #-}-         HasField "wavefrontsPerSimd"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        type FieldType "wavefrontsPerSimd"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = Word32-        type FieldOptional "wavefrontsPerSimd"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "wavefrontsPerSimd"-               VkPhysicalDeviceShaderCorePropertiesAMD-             =-             #{offset VkPhysicalDeviceShaderCorePropertiesAMD, wavefrontsPerSimd}-        type FieldIsArray "wavefrontsPerSimd"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, wavefrontsPerSimd}--instance {-# OVERLAPPING #-}-         CanReadField "wavefrontsPerSimd"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, wavefrontsPerSimd})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, wavefrontsPerSimd}--instance {-# OVERLAPPING #-}-         CanWriteField "wavefrontsPerSimd"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, wavefrontsPerSimd}--instance {-# OVERLAPPING #-}-         HasField "wavefrontSize" VkPhysicalDeviceShaderCorePropertiesAMD-         where-        type FieldType "wavefrontSize"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = Word32-        type FieldOptional "wavefrontSize"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "wavefrontSize"-               VkPhysicalDeviceShaderCorePropertiesAMD-             =-             #{offset VkPhysicalDeviceShaderCorePropertiesAMD, wavefrontSize}-        type FieldIsArray "wavefrontSize"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, wavefrontSize}--instance {-# OVERLAPPING #-}-         CanReadField "wavefrontSize"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, wavefrontSize})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, wavefrontSize}--instance {-# OVERLAPPING #-}-         CanWriteField "wavefrontSize"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, wavefrontSize}--instance {-# OVERLAPPING #-}-         HasField "sgprsPerSimd" VkPhysicalDeviceShaderCorePropertiesAMD-         where-        type FieldType "sgprsPerSimd"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = Word32-        type FieldOptional "sgprsPerSimd"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sgprsPerSimd"-               VkPhysicalDeviceShaderCorePropertiesAMD-             =-             #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sgprsPerSimd}-        type FieldIsArray "sgprsPerSimd"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sgprsPerSimd}--instance {-# OVERLAPPING #-}-         CanReadField "sgprsPerSimd" VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sgprsPerSimd})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sgprsPerSimd}--instance {-# OVERLAPPING #-}-         CanWriteField "sgprsPerSimd"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sgprsPerSimd}--instance {-# OVERLAPPING #-}-         HasField "minSgprAllocation"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        type FieldType "minSgprAllocation"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = Word32-        type FieldOptional "minSgprAllocation"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "minSgprAllocation"-               VkPhysicalDeviceShaderCorePropertiesAMD-             =-             #{offset VkPhysicalDeviceShaderCorePropertiesAMD, minSgprAllocation}-        type FieldIsArray "minSgprAllocation"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, minSgprAllocation}--instance {-# OVERLAPPING #-}-         CanReadField "minSgprAllocation"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, minSgprAllocation})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, minSgprAllocation}--instance {-# OVERLAPPING #-}-         CanWriteField "minSgprAllocation"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, minSgprAllocation}--instance {-# OVERLAPPING #-}-         HasField "maxSgprAllocation"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        type FieldType "maxSgprAllocation"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = Word32-        type FieldOptional "maxSgprAllocation"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxSgprAllocation"-               VkPhysicalDeviceShaderCorePropertiesAMD-             =-             #{offset VkPhysicalDeviceShaderCorePropertiesAMD, maxSgprAllocation}-        type FieldIsArray "maxSgprAllocation"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, maxSgprAllocation}--instance {-# OVERLAPPING #-}-         CanReadField "maxSgprAllocation"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, maxSgprAllocation})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, maxSgprAllocation}--instance {-# OVERLAPPING #-}-         CanWriteField "maxSgprAllocation"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, maxSgprAllocation}--instance {-# OVERLAPPING #-}-         HasField "sgprAllocationGranularity"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        type FieldType "sgprAllocationGranularity"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = Word32-        type FieldOptional "sgprAllocationGranularity"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sgprAllocationGranularity"-               VkPhysicalDeviceShaderCorePropertiesAMD-             =-             #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sgprAllocationGranularity}-        type FieldIsArray "sgprAllocationGranularity"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sgprAllocationGranularity}--instance {-# OVERLAPPING #-}-         CanReadField "sgprAllocationGranularity"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sgprAllocationGranularity})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sgprAllocationGranularity}--instance {-# OVERLAPPING #-}-         CanWriteField "sgprAllocationGranularity"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sgprAllocationGranularity}--instance {-# OVERLAPPING #-}-         HasField "vgprsPerSimd" VkPhysicalDeviceShaderCorePropertiesAMD-         where-        type FieldType "vgprsPerSimd"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = Word32-        type FieldOptional "vgprsPerSimd"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "vgprsPerSimd"-               VkPhysicalDeviceShaderCorePropertiesAMD-             =-             #{offset VkPhysicalDeviceShaderCorePropertiesAMD, vgprsPerSimd}-        type FieldIsArray "vgprsPerSimd"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, vgprsPerSimd}--instance {-# OVERLAPPING #-}-         CanReadField "vgprsPerSimd" VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, vgprsPerSimd})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, vgprsPerSimd}--instance {-# OVERLAPPING #-}-         CanWriteField "vgprsPerSimd"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, vgprsPerSimd}--instance {-# OVERLAPPING #-}-         HasField "minVgprAllocation"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        type FieldType "minVgprAllocation"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = Word32-        type FieldOptional "minVgprAllocation"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "minVgprAllocation"-               VkPhysicalDeviceShaderCorePropertiesAMD-             =-             #{offset VkPhysicalDeviceShaderCorePropertiesAMD, minVgprAllocation}-        type FieldIsArray "minVgprAllocation"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, minVgprAllocation}--instance {-# OVERLAPPING #-}-         CanReadField "minVgprAllocation"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, minVgprAllocation})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, minVgprAllocation}--instance {-# OVERLAPPING #-}-         CanWriteField "minVgprAllocation"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, minVgprAllocation}--instance {-# OVERLAPPING #-}-         HasField "maxVgprAllocation"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        type FieldType "maxVgprAllocation"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = Word32-        type FieldOptional "maxVgprAllocation"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxVgprAllocation"-               VkPhysicalDeviceShaderCorePropertiesAMD-             =-             #{offset VkPhysicalDeviceShaderCorePropertiesAMD, maxVgprAllocation}-        type FieldIsArray "maxVgprAllocation"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, maxVgprAllocation}--instance {-# OVERLAPPING #-}-         CanReadField "maxVgprAllocation"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, maxVgprAllocation})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, maxVgprAllocation}--instance {-# OVERLAPPING #-}-         CanWriteField "maxVgprAllocation"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, maxVgprAllocation}--instance {-# OVERLAPPING #-}-         HasField "vgprAllocationGranularity"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        type FieldType "vgprAllocationGranularity"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = Word32-        type FieldOptional "vgprAllocationGranularity"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "vgprAllocationGranularity"-               VkPhysicalDeviceShaderCorePropertiesAMD-             =-             #{offset VkPhysicalDeviceShaderCorePropertiesAMD, vgprAllocationGranularity}-        type FieldIsArray "vgprAllocationGranularity"-               VkPhysicalDeviceShaderCorePropertiesAMD-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, vgprAllocationGranularity}--instance {-# OVERLAPPING #-}-         CanReadField "vgprAllocationGranularity"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, vgprAllocationGranularity})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, vgprAllocationGranularity}--instance {-# OVERLAPPING #-}-         CanWriteField "vgprAllocationGranularity"-           VkPhysicalDeviceShaderCorePropertiesAMD-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, vgprAllocationGranularity}--instance Show VkPhysicalDeviceShaderCorePropertiesAMD where-        showsPrec d x-          = showString "VkPhysicalDeviceShaderCorePropertiesAMD {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "shaderEngineCount = " .-                            showsPrec d (getField @"shaderEngineCount" x) .-                              showString ", " .-                                showString "shaderArraysPerEngineCount = " .-                                  showsPrec d (getField @"shaderArraysPerEngineCount" x) .-                                    showString ", " .-                                      showString "computeUnitsPerShaderArray = " .-                                        showsPrec d (getField @"computeUnitsPerShaderArray" x) .-                                          showString ", " .-                                            showString "simdPerComputeUnit = " .-                                              showsPrec d (getField @"simdPerComputeUnit" x) .-                                                showString ", " .-                                                  showString "wavefrontsPerSimd = " .-                                                    showsPrec d (getField @"wavefrontsPerSimd" x) .-                                                      showString ", " .-                                                        showString "wavefrontSize = " .-                                                          showsPrec d (getField @"wavefrontSize" x)-                                                            .-                                                            showString ", " .-                                                              showString "sgprsPerSimd = " .-                                                                showsPrec d-                                                                  (getField @"sgprsPerSimd" x)-                                                                  .-                                                                  showString ", " .-                                                                    showString-                                                                      "minSgprAllocation = "-                                                                      .-                                                                      showsPrec d-                                                                        (getField-                                                                           @"minSgprAllocation"-                                                                           x)-                                                                        .-                                                                        showString ", " .-                                                                          showString-                                                                            "maxSgprAllocation = "-                                                                            .-                                                                            showsPrec d-                                                                              (getField-                                                                                 @"maxSgprAllocation"-                                                                                 x)-                                                                              .-                                                                              showString ", " .-                                                                                showString-                                                                                  "sgprAllocationGranularity = "-                                                                                  .-                                                                                  showsPrec d-                                                                                    (getField-                                                                                       @"sgprAllocationGranularity"-                                                                                       x)-                                                                                    .-                                                                                    showString ", "-                                                                                      .-                                                                                      showString-                                                                                        "vgprsPerSimd = "-                                                                                        .-                                                                                        showsPrec d-                                                                                          (getField-                                                                                             @"vgprsPerSimd"-                                                                                             x)-                                                                                          .-                                                                                          showString-                                                                                            ", "-                                                                                            .-                                                                                            showString-                                                                                              "minVgprAllocation = "-                                                                                              .-                                                                                              showsPrec-                                                                                                d-                                                                                                (getField-                                                                                                   @"minVgprAllocation"-                                                                                                   x)-                                                                                                .-                                                                                                showString-                                                                                                  ", "-                                                                                                  .-                                                                                                  showString-                                                                                                    "maxVgprAllocation = "-                                                                                                    .-                                                                                                    showsPrec-                                                                                                      d-                                                                                                      (getField-                                                                                                         @"maxVgprAllocation"-                                                                                                         x)-                                                                                                      .-                                                                                                      showString-                                                                                                        ", "-                                                                                                        .-                                                                                                        showString-                                                                                                          "vgprAllocationGranularity = "-                                                                                                          .-                                                                                                          showsPrec-                                                                                                            d-                                                                                                            (getField-                                                                                                               @"vgprAllocationGranularity"-                                                                                                               x)-                                                                                                            .-                                                                                                            showChar-                                                                                                              '}'---- | > typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     VkBool32                         shaderDrawParameters;---   > } VkPhysicalDeviceShaderDrawParameterFeatures;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures registry at www.khronos.org>-type VkPhysicalDeviceShaderDrawParameterFeatures =-     VulkanStruct VkPhysicalDeviceShaderDrawParameterFeatures' -- ' closing tick for hsc2hs--data VkPhysicalDeviceShaderDrawParameterFeatures' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceShaderDrawParameterFeatures where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceShaderDrawParameterFeatures where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceShaderDrawParameterFeatures where-        sizeOf ~_-          = #{size VkPhysicalDeviceShaderDrawParameterFeatures}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceShaderDrawParameterFeatures}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDeviceShaderDrawParameterFeatures-         where-        type StructFields VkPhysicalDeviceShaderDrawParameterFeatures =-             '["sType", "pNext", "shaderDrawParameters"] -- ' closing tick for hsc2hs-        type CUnionType VkPhysicalDeviceShaderDrawParameterFeatures =-             'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceShaderDrawParameterFeatures =-             'False -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceShaderDrawParameterFeatures =-             '[VkPhysicalDeviceFeatures2] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceShaderDrawParameterFeatures where-        type FieldType "sType" VkPhysicalDeviceShaderDrawParameterFeatures-             = VkStructureType-        type FieldOptional "sType"-               VkPhysicalDeviceShaderDrawParameterFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkPhysicalDeviceShaderDrawParameterFeatures-             =-             #{offset VkPhysicalDeviceShaderDrawParameterFeatures, sType}-        type FieldIsArray "sType"-               VkPhysicalDeviceShaderDrawParameterFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceShaderDrawParameterFeatures, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDeviceShaderDrawParameterFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderDrawParameterFeatures, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceShaderDrawParameterFeatures, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPhysicalDeviceShaderDrawParameterFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceShaderDrawParameterFeatures, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceShaderDrawParameterFeatures where-        type FieldType "pNext" VkPhysicalDeviceShaderDrawParameterFeatures-             = Ptr Void-        type FieldOptional "pNext"-               VkPhysicalDeviceShaderDrawParameterFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkPhysicalDeviceShaderDrawParameterFeatures-             =-             #{offset VkPhysicalDeviceShaderDrawParameterFeatures, pNext}-        type FieldIsArray "pNext"-               VkPhysicalDeviceShaderDrawParameterFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceShaderDrawParameterFeatures, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDeviceShaderDrawParameterFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderDrawParameterFeatures, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceShaderDrawParameterFeatures, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPhysicalDeviceShaderDrawParameterFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceShaderDrawParameterFeatures, pNext}--instance {-# OVERLAPPING #-}-         HasField "shaderDrawParameters"-           VkPhysicalDeviceShaderDrawParameterFeatures-         where-        type FieldType "shaderDrawParameters"-               VkPhysicalDeviceShaderDrawParameterFeatures-             = VkBool32-        type FieldOptional "shaderDrawParameters"-               VkPhysicalDeviceShaderDrawParameterFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderDrawParameters"-               VkPhysicalDeviceShaderDrawParameterFeatures-             =-             #{offset VkPhysicalDeviceShaderDrawParameterFeatures, shaderDrawParameters}-        type FieldIsArray "shaderDrawParameters"-               VkPhysicalDeviceShaderDrawParameterFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceShaderDrawParameterFeatures, shaderDrawParameters}--instance {-# OVERLAPPING #-}-         CanReadField "shaderDrawParameters"-           VkPhysicalDeviceShaderDrawParameterFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderDrawParameterFeatures, shaderDrawParameters})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceShaderDrawParameterFeatures, shaderDrawParameters}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderDrawParameters"-           VkPhysicalDeviceShaderDrawParameterFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceShaderDrawParameterFeatures, shaderDrawParameters}--instance Show VkPhysicalDeviceShaderDrawParameterFeatures where-        showsPrec d x-          = showString "VkPhysicalDeviceShaderDrawParameterFeatures {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "shaderDrawParameters = " .-                            showsPrec d (getField @"shaderDrawParameters" x) . showChar '}'---- | > typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkFormat                         format;---   >     VkImageType                      type;---   >     VkSampleCountFlagBits            samples;---   >     VkImageUsageFlags                usage;---   >     VkImageTiling                    tiling;---   > } VkPhysicalDeviceSparseImageFormatInfo2;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2 registry at www.khronos.org>-type VkPhysicalDeviceSparseImageFormatInfo2 =-     VulkanStruct VkPhysicalDeviceSparseImageFormatInfo2' -- ' closing tick for hsc2hs--data VkPhysicalDeviceSparseImageFormatInfo2' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceSparseImageFormatInfo2 where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceSparseImageFormatInfo2 where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceSparseImageFormatInfo2 where-        sizeOf ~_-          = #{size VkPhysicalDeviceSparseImageFormatInfo2}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceSparseImageFormatInfo2}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDeviceSparseImageFormatInfo2 where-        type StructFields VkPhysicalDeviceSparseImageFormatInfo2 =-             '["sType", "pNext", "format", "type", "samples", "usage", "tiling"] -- ' closing tick for hsc2hs-        type CUnionType VkPhysicalDeviceSparseImageFormatInfo2 = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceSparseImageFormatInfo2 = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceSparseImageFormatInfo2 = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceSparseImageFormatInfo2 where-        type FieldType "sType" VkPhysicalDeviceSparseImageFormatInfo2 =-             VkStructureType-        type FieldOptional "sType" VkPhysicalDeviceSparseImageFormatInfo2 =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPhysicalDeviceSparseImageFormatInfo2 =-             #{offset VkPhysicalDeviceSparseImageFormatInfo2, sType}-        type FieldIsArray "sType" VkPhysicalDeviceSparseImageFormatInfo2 =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSparseImageFormatInfo2, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDeviceSparseImageFormatInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSparseImageFormatInfo2, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPhysicalDeviceSparseImageFormatInfo2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceSparseImageFormatInfo2 where-        type FieldType "pNext" VkPhysicalDeviceSparseImageFormatInfo2 =-             Ptr Void-        type FieldOptional "pNext" VkPhysicalDeviceSparseImageFormatInfo2 =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPhysicalDeviceSparseImageFormatInfo2 =-             #{offset VkPhysicalDeviceSparseImageFormatInfo2, pNext}-        type FieldIsArray "pNext" VkPhysicalDeviceSparseImageFormatInfo2 =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSparseImageFormatInfo2, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDeviceSparseImageFormatInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSparseImageFormatInfo2, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPhysicalDeviceSparseImageFormatInfo2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, pNext}--instance {-# OVERLAPPING #-}-         HasField "format" VkPhysicalDeviceSparseImageFormatInfo2 where-        type FieldType "format" VkPhysicalDeviceSparseImageFormatInfo2 =-             VkFormat-        type FieldOptional "format" VkPhysicalDeviceSparseImageFormatInfo2-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "format" VkPhysicalDeviceSparseImageFormatInfo2 =-             #{offset VkPhysicalDeviceSparseImageFormatInfo2, format}-        type FieldIsArray "format" VkPhysicalDeviceSparseImageFormatInfo2 =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSparseImageFormatInfo2, format}--instance {-# OVERLAPPING #-}-         CanReadField "format" VkPhysicalDeviceSparseImageFormatInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSparseImageFormatInfo2, format})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, format}--instance {-# OVERLAPPING #-}-         CanWriteField "format" VkPhysicalDeviceSparseImageFormatInfo2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, format}--instance {-# OVERLAPPING #-}-         HasField "type" VkPhysicalDeviceSparseImageFormatInfo2 where-        type FieldType "type" VkPhysicalDeviceSparseImageFormatInfo2 =-             VkImageType-        type FieldOptional "type" VkPhysicalDeviceSparseImageFormatInfo2 =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "type" VkPhysicalDeviceSparseImageFormatInfo2 =-             #{offset VkPhysicalDeviceSparseImageFormatInfo2, type}-        type FieldIsArray "type" VkPhysicalDeviceSparseImageFormatInfo2 =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSparseImageFormatInfo2, type}--instance {-# OVERLAPPING #-}-         CanReadField "type" VkPhysicalDeviceSparseImageFormatInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSparseImageFormatInfo2, type})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, type}--instance {-# OVERLAPPING #-}-         CanWriteField "type" VkPhysicalDeviceSparseImageFormatInfo2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, type}--instance {-# OVERLAPPING #-}-         HasField "samples" VkPhysicalDeviceSparseImageFormatInfo2 where-        type FieldType "samples" VkPhysicalDeviceSparseImageFormatInfo2 =-             VkSampleCountFlagBits-        type FieldOptional "samples" VkPhysicalDeviceSparseImageFormatInfo2-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "samples" VkPhysicalDeviceSparseImageFormatInfo2 =-             #{offset VkPhysicalDeviceSparseImageFormatInfo2, samples}-        type FieldIsArray "samples" VkPhysicalDeviceSparseImageFormatInfo2-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSparseImageFormatInfo2, samples}--instance {-# OVERLAPPING #-}-         CanReadField "samples" VkPhysicalDeviceSparseImageFormatInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSparseImageFormatInfo2, samples})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, samples}--instance {-# OVERLAPPING #-}-         CanWriteField "samples" VkPhysicalDeviceSparseImageFormatInfo2-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, samples}--instance {-# OVERLAPPING #-}-         HasField "usage" VkPhysicalDeviceSparseImageFormatInfo2 where-        type FieldType "usage" VkPhysicalDeviceSparseImageFormatInfo2 =-             VkImageUsageFlags-        type FieldOptional "usage" VkPhysicalDeviceSparseImageFormatInfo2 =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "usage" VkPhysicalDeviceSparseImageFormatInfo2 =-             #{offset VkPhysicalDeviceSparseImageFormatInfo2, usage}-        type FieldIsArray "usage" VkPhysicalDeviceSparseImageFormatInfo2 =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSparseImageFormatInfo2, usage}--instance {-# OVERLAPPING #-}-         CanReadField "usage" VkPhysicalDeviceSparseImageFormatInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSparseImageFormatInfo2, usage})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, usage}--instance {-# OVERLAPPING #-}-         CanWriteField "usage" VkPhysicalDeviceSparseImageFormatInfo2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, usage}--instance {-# OVERLAPPING #-}-         HasField "tiling" VkPhysicalDeviceSparseImageFormatInfo2 where-        type FieldType "tiling" VkPhysicalDeviceSparseImageFormatInfo2 =-             VkImageTiling-        type FieldOptional "tiling" VkPhysicalDeviceSparseImageFormatInfo2-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "tiling" VkPhysicalDeviceSparseImageFormatInfo2 =-             #{offset VkPhysicalDeviceSparseImageFormatInfo2, tiling}-        type FieldIsArray "tiling" VkPhysicalDeviceSparseImageFormatInfo2 =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSparseImageFormatInfo2, tiling}--instance {-# OVERLAPPING #-}-         CanReadField "tiling" VkPhysicalDeviceSparseImageFormatInfo2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSparseImageFormatInfo2, tiling})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, tiling}--instance {-# OVERLAPPING #-}-         CanWriteField "tiling" VkPhysicalDeviceSparseImageFormatInfo2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, tiling}--instance Show VkPhysicalDeviceSparseImageFormatInfo2 where-        showsPrec d x-          = showString "VkPhysicalDeviceSparseImageFormatInfo2 {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "format = " .-                            showsPrec d (getField @"format" x) .-                              showString ", " .-                                showString "type = " .-                                  showsPrec d (getField @"type" x) .-                                    showString ", " .-                                      showString "samples = " .-                                        showsPrec d (getField @"samples" x) .-                                          showString ", " .-                                            showString "usage = " .-                                              showsPrec d (getField @"usage" x) .-                                                showString ", " .-                                                  showString "tiling = " .-                                                    showsPrec d (getField @"tiling" x) .-                                                      showChar '}'---- | Alias for `VkPhysicalDeviceSparseImageFormatInfo2`-type VkPhysicalDeviceSparseImageFormatInfo2KHR =-     VkPhysicalDeviceSparseImageFormatInfo2---- | > typedef struct VkPhysicalDeviceSparseProperties {---   >     VkBool32               residencyStandard2DBlockShape;---   >     VkBool32               residencyStandard2DMultisampleBlockShape;---   >     VkBool32               residencyStandard3DBlockShape;---   >     VkBool32               residencyAlignedMipSize;---   >     VkBool32               residencyNonResidentStrict;---   > } VkPhysicalDeviceSparseProperties;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties registry at www.khronos.org>-type VkPhysicalDeviceSparseProperties =-     VulkanStruct VkPhysicalDeviceSparseProperties' -- ' closing tick for hsc2hs--data VkPhysicalDeviceSparseProperties' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceSparseProperties where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceSparseProperties where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceSparseProperties where-        sizeOf ~_ = #{size VkPhysicalDeviceSparseProperties}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceSparseProperties}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDeviceSparseProperties where-        type StructFields VkPhysicalDeviceSparseProperties =-             '["residencyStandard2DBlockShape", -- ' closing tick for hsc2hs-               "residencyStandard2DMultisampleBlockShape",-               "residencyStandard3DBlockShape", "residencyAlignedMipSize",-               "residencyNonResidentStrict"]-        type CUnionType VkPhysicalDeviceSparseProperties = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceSparseProperties = 'True -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceSparseProperties = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "residencyStandard2DBlockShape"-           VkPhysicalDeviceSparseProperties-         where-        type FieldType "residencyStandard2DBlockShape"-               VkPhysicalDeviceSparseProperties-             = VkBool32-        type FieldOptional "residencyStandard2DBlockShape"-               VkPhysicalDeviceSparseProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "residencyStandard2DBlockShape"-               VkPhysicalDeviceSparseProperties-             =-             #{offset VkPhysicalDeviceSparseProperties, residencyStandard2DBlockShape}-        type FieldIsArray "residencyStandard2DBlockShape"-               VkPhysicalDeviceSparseProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSparseProperties, residencyStandard2DBlockShape}--instance {-# OVERLAPPING #-}-         CanReadField "residencyStandard2DBlockShape"-           VkPhysicalDeviceSparseProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSparseProperties, residencyStandard2DBlockShape})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSparseProperties, residencyStandard2DBlockShape}--instance {-# OVERLAPPING #-}-         CanWriteField "residencyStandard2DBlockShape"-           VkPhysicalDeviceSparseProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSparseProperties, residencyStandard2DBlockShape}--instance {-# OVERLAPPING #-}-         HasField "residencyStandard2DMultisampleBlockShape"-           VkPhysicalDeviceSparseProperties-         where-        type FieldType "residencyStandard2DMultisampleBlockShape"-               VkPhysicalDeviceSparseProperties-             = VkBool32-        type FieldOptional "residencyStandard2DMultisampleBlockShape"-               VkPhysicalDeviceSparseProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "residencyStandard2DMultisampleBlockShape"-               VkPhysicalDeviceSparseProperties-             =-             #{offset VkPhysicalDeviceSparseProperties, residencyStandard2DMultisampleBlockShape}-        type FieldIsArray "residencyStandard2DMultisampleBlockShape"-               VkPhysicalDeviceSparseProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSparseProperties, residencyStandard2DMultisampleBlockShape}--instance {-# OVERLAPPING #-}-         CanReadField "residencyStandard2DMultisampleBlockShape"-           VkPhysicalDeviceSparseProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSparseProperties, residencyStandard2DMultisampleBlockShape})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSparseProperties, residencyStandard2DMultisampleBlockShape}--instance {-# OVERLAPPING #-}-         CanWriteField "residencyStandard2DMultisampleBlockShape"-           VkPhysicalDeviceSparseProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSparseProperties, residencyStandard2DMultisampleBlockShape}--instance {-# OVERLAPPING #-}-         HasField "residencyStandard3DBlockShape"-           VkPhysicalDeviceSparseProperties-         where-        type FieldType "residencyStandard3DBlockShape"-               VkPhysicalDeviceSparseProperties-             = VkBool32-        type FieldOptional "residencyStandard3DBlockShape"-               VkPhysicalDeviceSparseProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "residencyStandard3DBlockShape"-               VkPhysicalDeviceSparseProperties-             =-             #{offset VkPhysicalDeviceSparseProperties, residencyStandard3DBlockShape}-        type FieldIsArray "residencyStandard3DBlockShape"-               VkPhysicalDeviceSparseProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSparseProperties, residencyStandard3DBlockShape}--instance {-# OVERLAPPING #-}-         CanReadField "residencyStandard3DBlockShape"-           VkPhysicalDeviceSparseProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSparseProperties, residencyStandard3DBlockShape})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSparseProperties, residencyStandard3DBlockShape}--instance {-# OVERLAPPING #-}-         CanWriteField "residencyStandard3DBlockShape"-           VkPhysicalDeviceSparseProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSparseProperties, residencyStandard3DBlockShape}--instance {-# OVERLAPPING #-}-         HasField "residencyAlignedMipSize" VkPhysicalDeviceSparseProperties-         where-        type FieldType "residencyAlignedMipSize"-               VkPhysicalDeviceSparseProperties-             = VkBool32-        type FieldOptional "residencyAlignedMipSize"-               VkPhysicalDeviceSparseProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "residencyAlignedMipSize"-               VkPhysicalDeviceSparseProperties-             =-             #{offset VkPhysicalDeviceSparseProperties, residencyAlignedMipSize}-        type FieldIsArray "residencyAlignedMipSize"-               VkPhysicalDeviceSparseProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSparseProperties, residencyAlignedMipSize}--instance {-# OVERLAPPING #-}-         CanReadField "residencyAlignedMipSize"-           VkPhysicalDeviceSparseProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSparseProperties, residencyAlignedMipSize})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSparseProperties, residencyAlignedMipSize}--instance {-# OVERLAPPING #-}-         CanWriteField "residencyAlignedMipSize"-           VkPhysicalDeviceSparseProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSparseProperties, residencyAlignedMipSize}--instance {-# OVERLAPPING #-}-         HasField "residencyNonResidentStrict"-           VkPhysicalDeviceSparseProperties-         where-        type FieldType "residencyNonResidentStrict"-               VkPhysicalDeviceSparseProperties-             = VkBool32-        type FieldOptional "residencyNonResidentStrict"-               VkPhysicalDeviceSparseProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "residencyNonResidentStrict"-               VkPhysicalDeviceSparseProperties-             =-             #{offset VkPhysicalDeviceSparseProperties, residencyNonResidentStrict}-        type FieldIsArray "residencyNonResidentStrict"-               VkPhysicalDeviceSparseProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSparseProperties, residencyNonResidentStrict}--instance {-# OVERLAPPING #-}-         CanReadField "residencyNonResidentStrict"-           VkPhysicalDeviceSparseProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSparseProperties, residencyNonResidentStrict})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSparseProperties, residencyNonResidentStrict}--instance {-# OVERLAPPING #-}-         CanWriteField "residencyNonResidentStrict"-           VkPhysicalDeviceSparseProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSparseProperties, residencyNonResidentStrict}--instance Show VkPhysicalDeviceSparseProperties where-        showsPrec d x-          = showString "VkPhysicalDeviceSparseProperties {" .-              showString "residencyStandard2DBlockShape = " .-                showsPrec d (getField @"residencyStandard2DBlockShape" x) .-                  showString ", " .-                    showString "residencyStandard2DMultisampleBlockShape = " .-                      showsPrec d-                        (getField @"residencyStandard2DMultisampleBlockShape" x)-                        .-                        showString ", " .-                          showString "residencyStandard3DBlockShape = " .-                            showsPrec d (getField @"residencyStandard3DBlockShape" x) .-                              showString ", " .-                                showString "residencyAlignedMipSize = " .-                                  showsPrec d (getField @"residencyAlignedMipSize" x) .-                                    showString ", " .-                                      showString "residencyNonResidentStrict = " .-                                        showsPrec d (getField @"residencyNonResidentStrict" x) .-                                          showChar '}'---- | > typedef struct VkPhysicalDeviceSubgroupProperties {---   >     VkStructureType sType;---   >     void*                   pNext;---   >     uint32_t                      subgroupSize;---   >     VkShaderStageFlags            supportedStages;---   >     VkSubgroupFeatureFlags        supportedOperations;---   >     VkBool32 quadOperationsInAllStages;---   > } VkPhysicalDeviceSubgroupProperties;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties registry at www.khronos.org>-type VkPhysicalDeviceSubgroupProperties =-     VulkanStruct VkPhysicalDeviceSubgroupProperties' -- ' closing tick for hsc2hs--data VkPhysicalDeviceSubgroupProperties' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceSubgroupProperties where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceSubgroupProperties where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceSubgroupProperties where-        sizeOf ~_ = #{size VkPhysicalDeviceSubgroupProperties}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceSubgroupProperties}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDeviceSubgroupProperties where-        type StructFields VkPhysicalDeviceSubgroupProperties =-             '["sType", "pNext", "subgroupSize", "supportedStages", -- ' closing tick for hsc2hs-               "supportedOperations", "quadOperationsInAllStages"]-        type CUnionType VkPhysicalDeviceSubgroupProperties = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceSubgroupProperties = 'True -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceSubgroupProperties =-             '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceSubgroupProperties where-        type FieldType "sType" VkPhysicalDeviceSubgroupProperties =-             VkStructureType-        type FieldOptional "sType" VkPhysicalDeviceSubgroupProperties =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPhysicalDeviceSubgroupProperties =-             #{offset VkPhysicalDeviceSubgroupProperties, sType}-        type FieldIsArray "sType" VkPhysicalDeviceSubgroupProperties =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSubgroupProperties, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDeviceSubgroupProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSubgroupProperties, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSubgroupProperties, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPhysicalDeviceSubgroupProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSubgroupProperties, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceSubgroupProperties where-        type FieldType "pNext" VkPhysicalDeviceSubgroupProperties =-             Ptr Void-        type FieldOptional "pNext" VkPhysicalDeviceSubgroupProperties =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPhysicalDeviceSubgroupProperties =-             #{offset VkPhysicalDeviceSubgroupProperties, pNext}-        type FieldIsArray "pNext" VkPhysicalDeviceSubgroupProperties =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSubgroupProperties, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDeviceSubgroupProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSubgroupProperties, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSubgroupProperties, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPhysicalDeviceSubgroupProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSubgroupProperties, pNext}--instance {-# OVERLAPPING #-}-         HasField "subgroupSize" VkPhysicalDeviceSubgroupProperties where-        type FieldType "subgroupSize" VkPhysicalDeviceSubgroupProperties =-             Word32-        type FieldOptional "subgroupSize"-               VkPhysicalDeviceSubgroupProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "subgroupSize" VkPhysicalDeviceSubgroupProperties-             =-             #{offset VkPhysicalDeviceSubgroupProperties, subgroupSize}-        type FieldIsArray "subgroupSize" VkPhysicalDeviceSubgroupProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSubgroupProperties, subgroupSize}--instance {-# OVERLAPPING #-}-         CanReadField "subgroupSize" VkPhysicalDeviceSubgroupProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSubgroupProperties, subgroupSize})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSubgroupProperties, subgroupSize}--instance {-# OVERLAPPING #-}-         CanWriteField "subgroupSize" VkPhysicalDeviceSubgroupProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSubgroupProperties, subgroupSize}--instance {-# OVERLAPPING #-}-         HasField "supportedStages" VkPhysicalDeviceSubgroupProperties where-        type FieldType "supportedStages" VkPhysicalDeviceSubgroupProperties-             = VkShaderStageFlags-        type FieldOptional "supportedStages"-               VkPhysicalDeviceSubgroupProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "supportedStages"-               VkPhysicalDeviceSubgroupProperties-             =-             #{offset VkPhysicalDeviceSubgroupProperties, supportedStages}-        type FieldIsArray "supportedStages"-               VkPhysicalDeviceSubgroupProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSubgroupProperties, supportedStages}--instance {-# OVERLAPPING #-}-         CanReadField "supportedStages" VkPhysicalDeviceSubgroupProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSubgroupProperties, supportedStages})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSubgroupProperties, supportedStages}--instance {-# OVERLAPPING #-}-         CanWriteField "supportedStages" VkPhysicalDeviceSubgroupProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSubgroupProperties, supportedStages}--instance {-# OVERLAPPING #-}-         HasField "supportedOperations" VkPhysicalDeviceSubgroupProperties-         where-        type FieldType "supportedOperations"-               VkPhysicalDeviceSubgroupProperties-             = VkSubgroupFeatureFlags-        type FieldOptional "supportedOperations"-               VkPhysicalDeviceSubgroupProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "supportedOperations"-               VkPhysicalDeviceSubgroupProperties-             =-             #{offset VkPhysicalDeviceSubgroupProperties, supportedOperations}-        type FieldIsArray "supportedOperations"-               VkPhysicalDeviceSubgroupProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSubgroupProperties, supportedOperations}--instance {-# OVERLAPPING #-}-         CanReadField "supportedOperations"-           VkPhysicalDeviceSubgroupProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSubgroupProperties, supportedOperations})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSubgroupProperties, supportedOperations}--instance {-# OVERLAPPING #-}-         CanWriteField "supportedOperations"-           VkPhysicalDeviceSubgroupProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSubgroupProperties, supportedOperations}--instance {-# OVERLAPPING #-}-         HasField "quadOperationsInAllStages"-           VkPhysicalDeviceSubgroupProperties-         where-        type FieldType "quadOperationsInAllStages"-               VkPhysicalDeviceSubgroupProperties-             = VkBool32-        type FieldOptional "quadOperationsInAllStages"-               VkPhysicalDeviceSubgroupProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "quadOperationsInAllStages"-               VkPhysicalDeviceSubgroupProperties-             =-             #{offset VkPhysicalDeviceSubgroupProperties, quadOperationsInAllStages}-        type FieldIsArray "quadOperationsInAllStages"-               VkPhysicalDeviceSubgroupProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSubgroupProperties, quadOperationsInAllStages}--instance {-# OVERLAPPING #-}-         CanReadField "quadOperationsInAllStages"-           VkPhysicalDeviceSubgroupProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSubgroupProperties, quadOperationsInAllStages})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSubgroupProperties, quadOperationsInAllStages}--instance {-# OVERLAPPING #-}-         CanWriteField "quadOperationsInAllStages"-           VkPhysicalDeviceSubgroupProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSubgroupProperties, quadOperationsInAllStages}--instance Show VkPhysicalDeviceSubgroupProperties where-        showsPrec d x-          = showString "VkPhysicalDeviceSubgroupProperties {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "subgroupSize = " .-                            showsPrec d (getField @"subgroupSize" x) .-                              showString ", " .-                                showString "supportedStages = " .-                                  showsPrec d (getField @"supportedStages" x) .-                                    showString ", " .-                                      showString "supportedOperations = " .-                                        showsPrec d (getField @"supportedOperations" x) .-                                          showString ", " .-                                            showString "quadOperationsInAllStages = " .-                                              showsPrec d (getField @"quadOperationsInAllStages" x)-                                                . showChar '}'---- | > typedef struct VkPhysicalDeviceSurfaceInfo2KHR {---   >     VkStructureType sType;---   >     const void* pNext;---   >     VkSurfaceKHR surface;---   > } VkPhysicalDeviceSurfaceInfo2KHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org>-type VkPhysicalDeviceSurfaceInfo2KHR =-     VulkanStruct VkPhysicalDeviceSurfaceInfo2KHR' -- ' closing tick for hsc2hs--data VkPhysicalDeviceSurfaceInfo2KHR' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceSurfaceInfo2KHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceSurfaceInfo2KHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceSurfaceInfo2KHR where-        sizeOf ~_ = #{size VkPhysicalDeviceSurfaceInfo2KHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceSurfaceInfo2KHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDeviceSurfaceInfo2KHR where-        type StructFields VkPhysicalDeviceSurfaceInfo2KHR =-             '["sType", "pNext", "surface"] -- ' closing tick for hsc2hs-        type CUnionType VkPhysicalDeviceSurfaceInfo2KHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceSurfaceInfo2KHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceSurfaceInfo2KHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceSurfaceInfo2KHR where-        type FieldType "sType" VkPhysicalDeviceSurfaceInfo2KHR =-             VkStructureType-        type FieldOptional "sType" VkPhysicalDeviceSurfaceInfo2KHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPhysicalDeviceSurfaceInfo2KHR =-             #{offset VkPhysicalDeviceSurfaceInfo2KHR, sType}-        type FieldIsArray "sType" VkPhysicalDeviceSurfaceInfo2KHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSurfaceInfo2KHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDeviceSurfaceInfo2KHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSurfaceInfo2KHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSurfaceInfo2KHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPhysicalDeviceSurfaceInfo2KHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSurfaceInfo2KHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceSurfaceInfo2KHR where-        type FieldType "pNext" VkPhysicalDeviceSurfaceInfo2KHR = Ptr Void-        type FieldOptional "pNext" VkPhysicalDeviceSurfaceInfo2KHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPhysicalDeviceSurfaceInfo2KHR =-             #{offset VkPhysicalDeviceSurfaceInfo2KHR, pNext}-        type FieldIsArray "pNext" VkPhysicalDeviceSurfaceInfo2KHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSurfaceInfo2KHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDeviceSurfaceInfo2KHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSurfaceInfo2KHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSurfaceInfo2KHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPhysicalDeviceSurfaceInfo2KHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSurfaceInfo2KHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "surface" VkPhysicalDeviceSurfaceInfo2KHR where-        type FieldType "surface" VkPhysicalDeviceSurfaceInfo2KHR =-             VkSurfaceKHR-        type FieldOptional "surface" VkPhysicalDeviceSurfaceInfo2KHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "surface" VkPhysicalDeviceSurfaceInfo2KHR =-             #{offset VkPhysicalDeviceSurfaceInfo2KHR, surface}-        type FieldIsArray "surface" VkPhysicalDeviceSurfaceInfo2KHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceSurfaceInfo2KHR, surface}--instance {-# OVERLAPPING #-}-         CanReadField "surface" VkPhysicalDeviceSurfaceInfo2KHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSurfaceInfo2KHR, surface})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceSurfaceInfo2KHR, surface}--instance {-# OVERLAPPING #-}-         CanWriteField "surface" VkPhysicalDeviceSurfaceInfo2KHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceSurfaceInfo2KHR, surface}--instance Show VkPhysicalDeviceSurfaceInfo2KHR where-        showsPrec d x-          = showString "VkPhysicalDeviceSurfaceInfo2KHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "surface = " .-                            showsPrec d (getField @"surface" x) . showChar '}'---- | > typedef struct VkPhysicalDeviceVariablePointerFeatures {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     VkBool32                         variablePointersStorageBuffer;---   >     VkBool32                         variablePointers;---   > } VkPhysicalDeviceVariablePointerFeatures;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures registry at www.khronos.org>-type VkPhysicalDeviceVariablePointerFeatures =-     VulkanStruct VkPhysicalDeviceVariablePointerFeatures' -- ' closing tick for hsc2hs--data VkPhysicalDeviceVariablePointerFeatures' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceVariablePointerFeatures where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceVariablePointerFeatures where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceVariablePointerFeatures where-        sizeOf ~_-          = #{size VkPhysicalDeviceVariablePointerFeatures}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceVariablePointerFeatures}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDeviceVariablePointerFeatures-         where-        type StructFields VkPhysicalDeviceVariablePointerFeatures =-             '["sType", "pNext", "variablePointersStorageBuffer", -- ' closing tick for hsc2hs-               "variablePointers"]-        type CUnionType VkPhysicalDeviceVariablePointerFeatures = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceVariablePointerFeatures = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceVariablePointerFeatures =-             '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPhysicalDeviceVariablePointerFeatures where-        type FieldType "sType" VkPhysicalDeviceVariablePointerFeatures =-             VkStructureType-        type FieldOptional "sType" VkPhysicalDeviceVariablePointerFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPhysicalDeviceVariablePointerFeatures =-             #{offset VkPhysicalDeviceVariablePointerFeatures, sType}-        type FieldIsArray "sType" VkPhysicalDeviceVariablePointerFeatures =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceVariablePointerFeatures, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPhysicalDeviceVariablePointerFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceVariablePointerFeatures, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceVariablePointerFeatures, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPhysicalDeviceVariablePointerFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceVariablePointerFeatures, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPhysicalDeviceVariablePointerFeatures where-        type FieldType "pNext" VkPhysicalDeviceVariablePointerFeatures =-             Ptr Void-        type FieldOptional "pNext" VkPhysicalDeviceVariablePointerFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPhysicalDeviceVariablePointerFeatures =-             #{offset VkPhysicalDeviceVariablePointerFeatures, pNext}-        type FieldIsArray "pNext" VkPhysicalDeviceVariablePointerFeatures =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceVariablePointerFeatures, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPhysicalDeviceVariablePointerFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceVariablePointerFeatures, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceVariablePointerFeatures, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPhysicalDeviceVariablePointerFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceVariablePointerFeatures, pNext}--instance {-# OVERLAPPING #-}-         HasField "variablePointersStorageBuffer"-           VkPhysicalDeviceVariablePointerFeatures-         where-        type FieldType "variablePointersStorageBuffer"-               VkPhysicalDeviceVariablePointerFeatures-             = VkBool32-        type FieldOptional "variablePointersStorageBuffer"-               VkPhysicalDeviceVariablePointerFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "variablePointersStorageBuffer"-               VkPhysicalDeviceVariablePointerFeatures-             =-             #{offset VkPhysicalDeviceVariablePointerFeatures, variablePointersStorageBuffer}-        type FieldIsArray "variablePointersStorageBuffer"-               VkPhysicalDeviceVariablePointerFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceVariablePointerFeatures, variablePointersStorageBuffer}--instance {-# OVERLAPPING #-}-         CanReadField "variablePointersStorageBuffer"-           VkPhysicalDeviceVariablePointerFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceVariablePointerFeatures, variablePointersStorageBuffer})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceVariablePointerFeatures, variablePointersStorageBuffer}--instance {-# OVERLAPPING #-}-         CanWriteField "variablePointersStorageBuffer"-           VkPhysicalDeviceVariablePointerFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceVariablePointerFeatures, variablePointersStorageBuffer}--instance {-# OVERLAPPING #-}-         HasField "variablePointers" VkPhysicalDeviceVariablePointerFeatures-         where-        type FieldType "variablePointers"-               VkPhysicalDeviceVariablePointerFeatures-             = VkBool32-        type FieldOptional "variablePointers"-               VkPhysicalDeviceVariablePointerFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "variablePointers"-               VkPhysicalDeviceVariablePointerFeatures-             =-             #{offset VkPhysicalDeviceVariablePointerFeatures, variablePointers}-        type FieldIsArray "variablePointers"-               VkPhysicalDeviceVariablePointerFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceVariablePointerFeatures, variablePointers}--instance {-# OVERLAPPING #-}-         CanReadField "variablePointers"-           VkPhysicalDeviceVariablePointerFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceVariablePointerFeatures, variablePointers})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceVariablePointerFeatures, variablePointers}--instance {-# OVERLAPPING #-}-         CanWriteField "variablePointers"-           VkPhysicalDeviceVariablePointerFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceVariablePointerFeatures, variablePointers}--instance Show VkPhysicalDeviceVariablePointerFeatures where-        showsPrec d x-          = showString "VkPhysicalDeviceVariablePointerFeatures {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "variablePointersStorageBuffer = " .-                            showsPrec d (getField @"variablePointersStorageBuffer" x) .-                              showString ", " .-                                showString "variablePointers = " .-                                  showsPrec d (getField @"variablePointers" x) . showChar '}'---- | Alias for `VkPhysicalDeviceVariablePointerFeatures`-type VkPhysicalDeviceVariablePointerFeaturesKHR =-     VkPhysicalDeviceVariablePointerFeatures---- | > typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {---   >     VkStructureType sType;---   >     void*                  pNext;---   >     uint32_t               maxVertexAttribDivisor;---   > } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at www.khronos.org>-type VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT =-     VulkanStruct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT' -- ' closing tick for hsc2hs--data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-         where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-         where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable-           VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-         where-        sizeOf ~_-          = #{size VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal-           VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-         where-        type StructFields-               VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-             = '["sType", "pNext", "maxVertexAttribDivisor"] -- ' closing tick for hsc2hs-        type CUnionType VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly-               VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type StructExtends-               VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-             = '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType"-           VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-         where-        type FieldType "sType"-               VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-             = VkStructureType-        type FieldOptional "sType"-               VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-             =-             #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, sType}-        type FieldIsArray "sType"-               VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType"-           VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType"-           VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext"-           VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-         where-        type FieldType "pNext"-               VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-             = Ptr Void-        type FieldOptional "pNext"-               VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-             =-             #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, pNext}-        type FieldIsArray "pNext"-               VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext"-           VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext"-           VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "maxVertexAttribDivisor"-           VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-         where-        type FieldType "maxVertexAttribDivisor"-               VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-             = Word32-        type FieldOptional "maxVertexAttribDivisor"-               VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxVertexAttribDivisor"-               VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-             =-             #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, maxVertexAttribDivisor}-        type FieldIsArray "maxVertexAttribDivisor"-               VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, maxVertexAttribDivisor}--instance {-# OVERLAPPING #-}-         CanReadField "maxVertexAttribDivisor"-           VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, maxVertexAttribDivisor})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, maxVertexAttribDivisor}--instance {-# OVERLAPPING #-}-         CanWriteField "maxVertexAttribDivisor"-           VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, maxVertexAttribDivisor}--instance Show VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-         where-        showsPrec d x-          = showString-              "VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {"-              .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "maxVertexAttribDivisor = " .-                            showsPrec d (getField @"maxVertexAttribDivisor" x) . showChar '}'+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.PhysicalDevice+       (VkPhysicalDevice16BitStorageFeatures,+        VkPhysicalDevice16BitStorageFeaturesKHR,+        VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT,+        VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT,+        VkPhysicalDeviceConservativeRasterizationPropertiesEXT,+        VkPhysicalDeviceDescriptorIndexingFeaturesEXT,+        VkPhysicalDeviceDescriptorIndexingPropertiesEXT,+        VkPhysicalDeviceDiscardRectanglePropertiesEXT,+        VkPhysicalDeviceExternalBufferInfo,+        VkPhysicalDeviceExternalBufferInfoKHR,+        VkPhysicalDeviceExternalFenceInfo,+        VkPhysicalDeviceExternalFenceInfoKHR,+        VkPhysicalDeviceExternalImageFormatInfo,+        VkPhysicalDeviceExternalImageFormatInfoKHR,+        VkPhysicalDeviceExternalMemoryHostPropertiesEXT,+        VkPhysicalDeviceExternalSemaphoreInfo,+        VkPhysicalDeviceExternalSemaphoreInfoKHR,+        VkPhysicalDeviceFeatures2, VkPhysicalDeviceFeatures2KHR,+        VkPhysicalDeviceGroupProperties,+        VkPhysicalDeviceGroupPropertiesKHR, VkPhysicalDeviceIDProperties,+        VkPhysicalDeviceIDPropertiesKHR, VkPhysicalDeviceImageFormatInfo2,+        VkPhysicalDeviceImageFormatInfo2KHR, VkPhysicalDeviceLimits,+        VkPhysicalDeviceMaintenance3Properties,+        VkPhysicalDeviceMaintenance3PropertiesKHR,+        VkPhysicalDeviceMemoryProperties,+        VkPhysicalDeviceMemoryProperties2,+        VkPhysicalDeviceMemoryProperties2KHR,+        VkPhysicalDeviceMultiviewFeatures,+        VkPhysicalDeviceMultiviewFeaturesKHR,+        VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,+        VkPhysicalDeviceMultiviewProperties,+        VkPhysicalDeviceMultiviewPropertiesKHR,+        VkPhysicalDevicePointClippingProperties,+        VkPhysicalDevicePointClippingPropertiesKHR,+        VkPhysicalDeviceProperties, VkPhysicalDeviceProperties2,+        VkPhysicalDeviceProperties2KHR,+        VkPhysicalDeviceProtectedMemoryFeatures,+        VkPhysicalDeviceProtectedMemoryProperties,+        VkPhysicalDevicePushDescriptorPropertiesKHR,+        VkPhysicalDeviceSampleLocationsPropertiesEXT,+        VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT,+        VkPhysicalDeviceSamplerYcbcrConversionFeatures,+        VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR,+        VkPhysicalDeviceShaderCorePropertiesAMD,+        VkPhysicalDeviceShaderDrawParameterFeatures,+        VkPhysicalDeviceSparseImageFormatInfo2,+        VkPhysicalDeviceSparseImageFormatInfo2KHR,+        VkPhysicalDeviceSparseProperties,+        VkPhysicalDeviceSubgroupProperties,+        VkPhysicalDeviceSurfaceInfo2KHR,+        VkPhysicalDeviceVariablePointerFeatures,+        VkPhysicalDeviceVariablePointerFeaturesKHR,+        VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT)+       where+import Graphics.Vulkan.Constants                           (VK_LUID_SIZE, VK_MAX_DEVICE_GROUP_SIZE,+                                                            VK_MAX_MEMORY_HEAPS,+                                                            VK_MAX_MEMORY_TYPES,+                                                            VK_MAX_PHYSICAL_DEVICE_NAME_SIZE,+                                                            VK_UUID_SIZE)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes                     (VkBool32,+                                                            VkDeviceSize)+import Graphics.Vulkan.Types.Enum.Buffer                   (VkBufferCreateFlags,+                                                            VkBufferUsageFlags)+import Graphics.Vulkan.Types.Enum.External                 (VkExternalFenceHandleTypeFlagBits,+                                                            VkExternalMemoryHandleTypeFlagBits,+                                                            VkExternalSemaphoreHandleTypeFlagBits)+import Graphics.Vulkan.Types.Enum.Format                   (VkFormat)+import Graphics.Vulkan.Types.Enum.Image                    (VkImageCreateFlags,+                                                            VkImageTiling,+                                                            VkImageType,+                                                            VkImageUsageFlags)+import Graphics.Vulkan.Types.Enum.PhysicalDeviceType       (VkPhysicalDeviceType)+import Graphics.Vulkan.Types.Enum.PointClippingBehavior    (VkPointClippingBehavior)+import Graphics.Vulkan.Types.Enum.SampleCountFlags         (VkSampleCountFlagBits,+                                                            VkSampleCountFlags)+import Graphics.Vulkan.Types.Enum.Shader                   (VkShaderStageFlags)+import Graphics.Vulkan.Types.Enum.StructureType            (VkStructureType)+import Graphics.Vulkan.Types.Enum.SubgroupFeatureFlags     (VkSubgroupFeatureFlags)+import Graphics.Vulkan.Types.Handles                       (VkPhysicalDevice,+                                                            VkSurfaceKHR)+import Graphics.Vulkan.Types.Struct.Device                 (VkDeviceCreateInfo)+import Graphics.Vulkan.Types.Struct.Extent                 (VkExtent2D)+import Graphics.Vulkan.Types.Struct.Memory                 (VkMemoryHeap,+                                                            VkMemoryType)+import Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures (VkPhysicalDeviceFeatures)++-- | > typedef struct VkPhysicalDevice16BitStorageFeatures {+--   >     VkStructureType sType;+--   >     void*      pNext;+--   >     VkBool32                         storageBuffer16BitAccess;+--   >     VkBool32                         uniformAndStorageBuffer16BitAccess;+--   >     VkBool32                         storagePushConstant16;+--   >     VkBool32                         storageInputOutput16;+--   > } VkPhysicalDevice16BitStorageFeatures;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures registry at www.khronos.org>+type VkPhysicalDevice16BitStorageFeatures =+     VkStruct VkPhysicalDevice16BitStorageFeatures' -- ' closing tick for hsc2hs++data VkPhysicalDevice16BitStorageFeatures' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDevice16BitStorageFeatures where+    type StructRep VkPhysicalDevice16BitStorageFeatures =+         'StructMeta "VkPhysicalDevice16BitStorageFeatures" -- ' closing tick for hsc2hs+           VkPhysicalDevice16BitStorageFeatures+           #{size VkPhysicalDevice16BitStorageFeatures}+           #{alignment VkPhysicalDevice16BitStorageFeatures}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDevice16BitStorageFeatures, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDevice16BitStorageFeatures, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "storageBuffer16BitAccess" VkBool32 'False +                                                                    #{offset VkPhysicalDevice16BitStorageFeatures, storageBuffer16BitAccess}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "uniformAndStorageBuffer16BitAccess" VkBool32 'False+                #{offset VkPhysicalDevice16BitStorageFeatures, uniformAndStorageBuffer16BitAccess}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "storagePushConstant16" VkBool32 'False +                                                                 #{offset VkPhysicalDevice16BitStorageFeatures, storagePushConstant16}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "storageInputOutput16" VkBool32 'False +                                                                #{offset VkPhysicalDevice16BitStorageFeatures, storageInputOutput16}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs++-- | Alias for `VkPhysicalDevice16BitStorageFeatures`+type VkPhysicalDevice16BitStorageFeaturesKHR =+     VkPhysicalDevice16BitStorageFeatures++-- | > typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     VkBool32                         advancedBlendCoherentOperations;+--   > } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at www.khronos.org>+type VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT =+     VkStruct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT' -- ' closing tick for hsc2hs++data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal+           VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+         where+    type StructRep VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT =+         'StructMeta "VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT" -- ' closing tick for hsc2hs+           VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+           #{size VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT}+           #{alignment VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "advancedBlendCoherentOperations" VkBool32 'False+                #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, advancedBlendCoherentOperations}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPhysicalDeviceFeatures2] -- ' closing tick for hsc2hs++-- | > typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     uint32_t                         advancedBlendMaxColorAttachments;+--   >     VkBool32                         advancedBlendIndependentBlend;+--   >     VkBool32                         advancedBlendNonPremultipliedSrcColor;+--   >     VkBool32                         advancedBlendNonPremultipliedDstColor;+--   >     VkBool32                         advancedBlendCorrelatedOverlap;+--   >     VkBool32                         advancedBlendAllOperations;+--   > } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT registry at www.khronos.org>+type VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT =+     VkStruct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT' -- ' closing tick for hsc2hs++data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal+           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+         where+    type StructRep VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+         =+         'StructMeta "VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT" -- ' closing tick for hsc2hs+           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+           #{size VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT}+           #{alignment VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "advancedBlendMaxColorAttachments" Word32 'False+                #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendMaxColorAttachments}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "advancedBlendIndependentBlend" VkBool32 'False+                #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendIndependentBlend}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "advancedBlendNonPremultipliedSrcColor" VkBool32 'False+                #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendNonPremultipliedSrcColor}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "advancedBlendNonPremultipliedDstColor" VkBool32 'False+                #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendNonPremultipliedDstColor}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "advancedBlendCorrelatedOverlap" VkBool32 'False+                #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendCorrelatedOverlap}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "advancedBlendAllOperations" VkBool32 'False +                                                                      #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendAllOperations}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++-- | > typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {+--   >     VkStructureType sType;+--   >     void*                  pNext;+--   >     float                  primitiveOverestimationSize;+--   >     float                  maxExtraPrimitiveOverestimationSize;+--   >     float                  extraPrimitiveOverestimationSizeGranularity;+--   >     VkBool32               primitiveUnderestimation;+--   >     VkBool32               conservativePointAndLineRasterization;+--   >     VkBool32               degenerateTrianglesRasterized;+--   >     VkBool32               degenerateLinesRasterized;+--   >     VkBool32               fullyCoveredFragmentShaderInputVariable;+--   >     VkBool32               conservativeRasterizationPostDepthCoverage;+--   > } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT registry at www.khronos.org>+type VkPhysicalDeviceConservativeRasterizationPropertiesEXT =+     VkStruct VkPhysicalDeviceConservativeRasterizationPropertiesEXT' -- ' closing tick for hsc2hs++data VkPhysicalDeviceConservativeRasterizationPropertiesEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal+           VkPhysicalDeviceConservativeRasterizationPropertiesEXT+         where+    type StructRep+           VkPhysicalDeviceConservativeRasterizationPropertiesEXT+         =+         'StructMeta -- ' closing tick for hsc2hs+           "VkPhysicalDeviceConservativeRasterizationPropertiesEXT"+           VkPhysicalDeviceConservativeRasterizationPropertiesEXT+           #{size VkPhysicalDeviceConservativeRasterizationPropertiesEXT}+           #{alignment VkPhysicalDeviceConservativeRasterizationPropertiesEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "primitiveOverestimationSize" -- ' closing tick for hsc2hs+                (#{type float})+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, primitiveOverestimationSize}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxExtraPrimitiveOverestimationSize" -- ' closing tick for hsc2hs+                (#{type float})+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, maxExtraPrimitiveOverestimationSize}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "extraPrimitiveOverestimationSizeGranularity" -- ' closing tick for hsc2hs+                (#{type float})+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, extraPrimitiveOverestimationSizeGranularity}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "primitiveUnderestimation" VkBool32 'False +                                                                    #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, primitiveUnderestimation}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "conservativePointAndLineRasterization" VkBool32 'False+                #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, conservativePointAndLineRasterization}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "degenerateTrianglesRasterized" VkBool32 'False+                #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, degenerateTrianglesRasterized}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "degenerateLinesRasterized" VkBool32 'False +                                                                     #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, degenerateLinesRasterized}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "fullyCoveredFragmentShaderInputVariable" VkBool32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, fullyCoveredFragmentShaderInputVariable}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "conservativeRasterizationPostDepthCoverage" VkBool32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, conservativeRasterizationPostDepthCoverage}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++-- | > typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     VkBool32               shaderInputAttachmentArrayDynamicIndexing;+--   >     VkBool32               shaderUniformTexelBufferArrayDynamicIndexing;+--   >     VkBool32               shaderStorageTexelBufferArrayDynamicIndexing;+--   >     VkBool32               shaderUniformBufferArrayNonUniformIndexing;+--   >     VkBool32               shaderSampledImageArrayNonUniformIndexing;+--   >     VkBool32               shaderStorageBufferArrayNonUniformIndexing;+--   >     VkBool32               shaderStorageImageArrayNonUniformIndexing;+--   >     VkBool32               shaderInputAttachmentArrayNonUniformIndexing;+--   >     VkBool32               shaderUniformTexelBufferArrayNonUniformIndexing;+--   >     VkBool32               shaderStorageTexelBufferArrayNonUniformIndexing;+--   >     VkBool32               descriptorBindingUniformBufferUpdateAfterBind;+--   >     VkBool32               descriptorBindingSampledImageUpdateAfterBind;+--   >     VkBool32               descriptorBindingStorageImageUpdateAfterBind;+--   >     VkBool32               descriptorBindingStorageBufferUpdateAfterBind;+--   >     VkBool32               descriptorBindingUniformTexelBufferUpdateAfterBind;+--   >     VkBool32               descriptorBindingStorageTexelBufferUpdateAfterBind;+--   >     VkBool32               descriptorBindingUpdateUnusedWhilePending;+--   >     VkBool32               descriptorBindingPartiallyBound;+--   >     VkBool32               descriptorBindingVariableDescriptorCount;+--   >     VkBool32               runtimeDescriptorArray;+--   > } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at www.khronos.org>+type VkPhysicalDeviceDescriptorIndexingFeaturesEXT =+     VkStruct VkPhysicalDeviceDescriptorIndexingFeaturesEXT' -- ' closing tick for hsc2hs++data VkPhysicalDeviceDescriptorIndexingFeaturesEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal+           VkPhysicalDeviceDescriptorIndexingFeaturesEXT+         where+    type StructRep VkPhysicalDeviceDescriptorIndexingFeaturesEXT =+         'StructMeta "VkPhysicalDeviceDescriptorIndexingFeaturesEXT" -- ' closing tick for hsc2hs+           VkPhysicalDeviceDescriptorIndexingFeaturesEXT+           #{size VkPhysicalDeviceDescriptorIndexingFeaturesEXT}+           #{alignment VkPhysicalDeviceDescriptorIndexingFeaturesEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderInputAttachmentArrayDynamicIndexing" VkBool32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderInputAttachmentArrayDynamicIndexing}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderUniformTexelBufferArrayDynamicIndexing" VkBool32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformTexelBufferArrayDynamicIndexing}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderStorageTexelBufferArrayDynamicIndexing" VkBool32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageTexelBufferArrayDynamicIndexing}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderUniformBufferArrayNonUniformIndexing" VkBool32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformBufferArrayNonUniformIndexing}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderSampledImageArrayNonUniformIndexing" VkBool32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderSampledImageArrayNonUniformIndexing}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderStorageBufferArrayNonUniformIndexing" VkBool32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageBufferArrayNonUniformIndexing}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderStorageImageArrayNonUniformIndexing" VkBool32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageImageArrayNonUniformIndexing}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderInputAttachmentArrayNonUniformIndexing" VkBool32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderInputAttachmentArrayNonUniformIndexing}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderUniformTexelBufferArrayNonUniformIndexing" -- ' closing tick for hsc2hs+                VkBool32+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformTexelBufferArrayNonUniformIndexing}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderStorageTexelBufferArrayNonUniformIndexing" -- ' closing tick for hsc2hs+                VkBool32+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageTexelBufferArrayNonUniformIndexing}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "descriptorBindingUniformBufferUpdateAfterBind" -- ' closing tick for hsc2hs+                VkBool32+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUniformBufferUpdateAfterBind}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "descriptorBindingSampledImageUpdateAfterBind" VkBool32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingSampledImageUpdateAfterBind}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "descriptorBindingStorageImageUpdateAfterBind" VkBool32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageImageUpdateAfterBind}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "descriptorBindingStorageBufferUpdateAfterBind" -- ' closing tick for hsc2hs+                VkBool32+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageBufferUpdateAfterBind}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "descriptorBindingUniformTexelBufferUpdateAfterBind" -- ' closing tick for hsc2hs+                VkBool32+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUniformTexelBufferUpdateAfterBind}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "descriptorBindingStorageTexelBufferUpdateAfterBind" -- ' closing tick for hsc2hs+                VkBool32+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageTexelBufferUpdateAfterBind}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "descriptorBindingUpdateUnusedWhilePending" VkBool32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUpdateUnusedWhilePending}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "descriptorBindingPartiallyBound" VkBool32 'False+                #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingPartiallyBound}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "descriptorBindingVariableDescriptorCount" VkBool32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingVariableDescriptorCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "runtimeDescriptorArray" VkBool32 'False +                                                                  #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, runtimeDescriptorArray}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     uint32_t               maxUpdateAfterBindDescriptorsInAllPools;+--   >     VkBool32               shaderUniformBufferArrayNonUniformIndexingNative;+--   >     VkBool32               shaderSampledImageArrayNonUniformIndexingNative;+--   >     VkBool32               shaderStorageBufferArrayNonUniformIndexingNative;+--   >     VkBool32               shaderStorageImageArrayNonUniformIndexingNative;+--   >     VkBool32               shaderInputAttachmentArrayNonUniformIndexingNative;+--   >     VkBool32               robustBufferAccessUpdateAfterBind;+--   >     VkBool32               quadDivergentImplicitLod;+--   >     uint32_t               maxPerStageDescriptorUpdateAfterBindSamplers;+--   >     uint32_t               maxPerStageDescriptorUpdateAfterBindUniformBuffers;+--   >     uint32_t               maxPerStageDescriptorUpdateAfterBindStorageBuffers;+--   >     uint32_t               maxPerStageDescriptorUpdateAfterBindSampledImages;+--   >     uint32_t               maxPerStageDescriptorUpdateAfterBindStorageImages;+--   >     uint32_t               maxPerStageDescriptorUpdateAfterBindInputAttachments;+--   >     uint32_t               maxPerStageUpdateAfterBindResources;+--   >     uint32_t               maxDescriptorSetUpdateAfterBindSamplers;+--   >     uint32_t               maxDescriptorSetUpdateAfterBindUniformBuffers;+--   >     uint32_t               maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;+--   >     uint32_t               maxDescriptorSetUpdateAfterBindStorageBuffers;+--   >     uint32_t               maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;+--   >     uint32_t               maxDescriptorSetUpdateAfterBindSampledImages;+--   >     uint32_t               maxDescriptorSetUpdateAfterBindStorageImages;+--   >     uint32_t               maxDescriptorSetUpdateAfterBindInputAttachments;+--   > } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at www.khronos.org>+type VkPhysicalDeviceDescriptorIndexingPropertiesEXT =+     VkStruct VkPhysicalDeviceDescriptorIndexingPropertiesEXT' -- ' closing tick for hsc2hs++data VkPhysicalDeviceDescriptorIndexingPropertiesEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal+           VkPhysicalDeviceDescriptorIndexingPropertiesEXT+         where+    type StructRep VkPhysicalDeviceDescriptorIndexingPropertiesEXT =+         'StructMeta "VkPhysicalDeviceDescriptorIndexingPropertiesEXT" -- ' closing tick for hsc2hs+           VkPhysicalDeviceDescriptorIndexingPropertiesEXT+           #{size VkPhysicalDeviceDescriptorIndexingPropertiesEXT}+           #{alignment VkPhysicalDeviceDescriptorIndexingPropertiesEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxUpdateAfterBindDescriptorsInAllPools" Word32 'False+                #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxUpdateAfterBindDescriptorsInAllPools}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderUniformBufferArrayNonUniformIndexingNative" -- ' closing tick for hsc2hs+                VkBool32+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderUniformBufferArrayNonUniformIndexingNative}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderSampledImageArrayNonUniformIndexingNative" -- ' closing tick for hsc2hs+                VkBool32+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderSampledImageArrayNonUniformIndexingNative}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderStorageBufferArrayNonUniformIndexingNative" -- ' closing tick for hsc2hs+                VkBool32+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderStorageBufferArrayNonUniformIndexingNative}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderStorageImageArrayNonUniformIndexingNative" -- ' closing tick for hsc2hs+                VkBool32+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderStorageImageArrayNonUniformIndexingNative}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderInputAttachmentArrayNonUniformIndexingNative" -- ' closing tick for hsc2hs+                VkBool32+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderInputAttachmentArrayNonUniformIndexingNative}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "robustBufferAccessUpdateAfterBind" VkBool32 'False+                #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, robustBufferAccessUpdateAfterBind}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "quadDivergentImplicitLod" VkBool32 'False +                                                                    #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, quadDivergentImplicitLod}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxPerStageDescriptorUpdateAfterBindSamplers" Word32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindSamplers}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxPerStageDescriptorUpdateAfterBindUniformBuffers" -- ' closing tick for hsc2hs+                Word32+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindUniformBuffers}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxPerStageDescriptorUpdateAfterBindStorageBuffers" -- ' closing tick for hsc2hs+                Word32+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindStorageBuffers}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxPerStageDescriptorUpdateAfterBindSampledImages" -- ' closing tick for hsc2hs+                Word32+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindSampledImages}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxPerStageDescriptorUpdateAfterBindStorageImages" -- ' closing tick for hsc2hs+                Word32+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindStorageImages}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxPerStageDescriptorUpdateAfterBindInputAttachments" -- ' closing tick for hsc2hs+                Word32+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindInputAttachments}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxPerStageUpdateAfterBindResources" Word32 'False+                #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageUpdateAfterBindResources}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxDescriptorSetUpdateAfterBindSamplers" Word32 'False+                #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindSamplers}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxDescriptorSetUpdateAfterBindUniformBuffers" Word32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindUniformBuffers}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxDescriptorSetUpdateAfterBindUniformBuffersDynamic" -- ' closing tick for hsc2hs+                Word32+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindUniformBuffersDynamic}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxDescriptorSetUpdateAfterBindStorageBuffers" Word32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageBuffers}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxDescriptorSetUpdateAfterBindStorageBuffersDynamic" -- ' closing tick for hsc2hs+                Word32+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageBuffersDynamic}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxDescriptorSetUpdateAfterBindSampledImages" Word32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindSampledImages}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxDescriptorSetUpdateAfterBindStorageImages" Word32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageImages}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxDescriptorSetUpdateAfterBindInputAttachments" -- ' closing tick for hsc2hs+                Word32+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindInputAttachments}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++-- | > typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {+--   >     VkStructureType sType;+--   >     void*                  pNext;+--   >     uint32_t               maxDiscardRectangles;+--   > } VkPhysicalDeviceDiscardRectanglePropertiesEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at www.khronos.org>+type VkPhysicalDeviceDiscardRectanglePropertiesEXT =+     VkStruct VkPhysicalDeviceDiscardRectanglePropertiesEXT' -- ' closing tick for hsc2hs++data VkPhysicalDeviceDiscardRectanglePropertiesEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal+           VkPhysicalDeviceDiscardRectanglePropertiesEXT+         where+    type StructRep VkPhysicalDeviceDiscardRectanglePropertiesEXT =+         'StructMeta "VkPhysicalDeviceDiscardRectanglePropertiesEXT" -- ' closing tick for hsc2hs+           VkPhysicalDeviceDiscardRectanglePropertiesEXT+           #{size VkPhysicalDeviceDiscardRectanglePropertiesEXT}+           #{alignment VkPhysicalDeviceDiscardRectanglePropertiesEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxDiscardRectangles" Word32 'False +                                                              #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, maxDiscardRectangles}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++-- | > typedef struct VkPhysicalDeviceExternalBufferInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkBufferCreateFlags flags;+--   >     VkBufferUsageFlags               usage;+--   >     VkExternalMemoryHandleTypeFlagBits handleType;+--   > } VkPhysicalDeviceExternalBufferInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org>+type VkPhysicalDeviceExternalBufferInfo =+     VkStruct VkPhysicalDeviceExternalBufferInfo' -- ' closing tick for hsc2hs++data VkPhysicalDeviceExternalBufferInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDeviceExternalBufferInfo where+    type StructRep VkPhysicalDeviceExternalBufferInfo =+         'StructMeta "VkPhysicalDeviceExternalBufferInfo" -- ' closing tick for hsc2hs+           VkPhysicalDeviceExternalBufferInfo+           #{size VkPhysicalDeviceExternalBufferInfo}+           #{alignment VkPhysicalDeviceExternalBufferInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceExternalBufferInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceExternalBufferInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkBufferCreateFlags 'True +                                                           #{offset VkPhysicalDeviceExternalBufferInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "usage" VkBufferUsageFlags 'False +                                                           #{offset VkPhysicalDeviceExternalBufferInfo, usage}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handleType" VkExternalMemoryHandleTypeFlagBits 'False+                #{offset VkPhysicalDeviceExternalBufferInfo, handleType}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | Alias for `VkPhysicalDeviceExternalBufferInfo`+type VkPhysicalDeviceExternalBufferInfoKHR =+     VkPhysicalDeviceExternalBufferInfo++-- | > typedef struct VkPhysicalDeviceExternalFenceInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkExternalFenceHandleTypeFlagBits handleType;+--   > } VkPhysicalDeviceExternalFenceInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org>+type VkPhysicalDeviceExternalFenceInfo =+     VkStruct VkPhysicalDeviceExternalFenceInfo' -- ' closing tick for hsc2hs++data VkPhysicalDeviceExternalFenceInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDeviceExternalFenceInfo where+    type StructRep VkPhysicalDeviceExternalFenceInfo =+         'StructMeta "VkPhysicalDeviceExternalFenceInfo" -- ' closing tick for hsc2hs+           VkPhysicalDeviceExternalFenceInfo+           #{size VkPhysicalDeviceExternalFenceInfo}+           #{alignment VkPhysicalDeviceExternalFenceInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceExternalFenceInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceExternalFenceInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handleType" VkExternalFenceHandleTypeFlagBits 'False+                #{offset VkPhysicalDeviceExternalFenceInfo, handleType}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | Alias for `VkPhysicalDeviceExternalFenceInfo`+type VkPhysicalDeviceExternalFenceInfoKHR =+     VkPhysicalDeviceExternalFenceInfo++-- | > typedef struct VkPhysicalDeviceExternalImageFormatInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkExternalMemoryHandleTypeFlagBits handleType;+--   > } VkPhysicalDeviceExternalImageFormatInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo registry at www.khronos.org>+type VkPhysicalDeviceExternalImageFormatInfo =+     VkStruct VkPhysicalDeviceExternalImageFormatInfo' -- ' closing tick for hsc2hs++data VkPhysicalDeviceExternalImageFormatInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDeviceExternalImageFormatInfo+         where+    type StructRep VkPhysicalDeviceExternalImageFormatInfo =+         'StructMeta "VkPhysicalDeviceExternalImageFormatInfo" -- ' closing tick for hsc2hs+           VkPhysicalDeviceExternalImageFormatInfo+           #{size VkPhysicalDeviceExternalImageFormatInfo}+           #{alignment VkPhysicalDeviceExternalImageFormatInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceExternalImageFormatInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceExternalImageFormatInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handleType" VkExternalMemoryHandleTypeFlagBits 'True+                #{offset VkPhysicalDeviceExternalImageFormatInfo, handleType}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPhysicalDeviceImageFormatInfo2] -- ' closing tick for hsc2hs++-- | Alias for `VkPhysicalDeviceExternalImageFormatInfo`+type VkPhysicalDeviceExternalImageFormatInfoKHR =+     VkPhysicalDeviceExternalImageFormatInfo++-- | > typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {+--   >     VkStructureType sType;+--   >     void* pNext;+--   >     VkDeviceSize minImportedHostPointerAlignment;+--   > } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at www.khronos.org>+type VkPhysicalDeviceExternalMemoryHostPropertiesEXT =+     VkStruct VkPhysicalDeviceExternalMemoryHostPropertiesEXT' -- ' closing tick for hsc2hs++data VkPhysicalDeviceExternalMemoryHostPropertiesEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal+           VkPhysicalDeviceExternalMemoryHostPropertiesEXT+         where+    type StructRep VkPhysicalDeviceExternalMemoryHostPropertiesEXT =+         'StructMeta "VkPhysicalDeviceExternalMemoryHostPropertiesEXT" -- ' closing tick for hsc2hs+           VkPhysicalDeviceExternalMemoryHostPropertiesEXT+           #{size VkPhysicalDeviceExternalMemoryHostPropertiesEXT}+           #{alignment VkPhysicalDeviceExternalMemoryHostPropertiesEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minImportedHostPointerAlignment" VkDeviceSize 'False+                #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, minImportedHostPointerAlignment}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++-- | > typedef struct VkPhysicalDeviceExternalSemaphoreInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkExternalSemaphoreHandleTypeFlagBits handleType;+--   > } VkPhysicalDeviceExternalSemaphoreInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo registry at www.khronos.org>+type VkPhysicalDeviceExternalSemaphoreInfo =+     VkStruct VkPhysicalDeviceExternalSemaphoreInfo' -- ' closing tick for hsc2hs++data VkPhysicalDeviceExternalSemaphoreInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDeviceExternalSemaphoreInfo where+    type StructRep VkPhysicalDeviceExternalSemaphoreInfo =+         'StructMeta "VkPhysicalDeviceExternalSemaphoreInfo" -- ' closing tick for hsc2hs+           VkPhysicalDeviceExternalSemaphoreInfo+           #{size VkPhysicalDeviceExternalSemaphoreInfo}+           #{alignment VkPhysicalDeviceExternalSemaphoreInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceExternalSemaphoreInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceExternalSemaphoreInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handleType" VkExternalSemaphoreHandleTypeFlagBits -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceExternalSemaphoreInfo, handleType}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | Alias for `VkPhysicalDeviceExternalSemaphoreInfo`+type VkPhysicalDeviceExternalSemaphoreInfoKHR =+     VkPhysicalDeviceExternalSemaphoreInfo++-- | > typedef struct VkPhysicalDeviceFeatures2 {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     VkPhysicalDeviceFeatures         features;+--   > } VkPhysicalDeviceFeatures2;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2 registry at www.khronos.org>+type VkPhysicalDeviceFeatures2 =+     VkStruct VkPhysicalDeviceFeatures2' -- ' closing tick for hsc2hs++data VkPhysicalDeviceFeatures2' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDeviceFeatures2 where+    type StructRep VkPhysicalDeviceFeatures2 =+         'StructMeta "VkPhysicalDeviceFeatures2" VkPhysicalDeviceFeatures2 -- ' closing tick for hsc2hs+           #{size VkPhysicalDeviceFeatures2}+           #{alignment VkPhysicalDeviceFeatures2}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceFeatures2, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceFeatures2, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "features" VkPhysicalDeviceFeatures 'False +                                                                    #{offset VkPhysicalDeviceFeatures2, features}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkDeviceCreateInfo] -- ' closing tick for hsc2hs++-- | Alias for `VkPhysicalDeviceFeatures2`+type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2++-- | > typedef struct VkPhysicalDeviceGroupProperties {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     uint32_t                         physicalDeviceCount;+--   >     VkPhysicalDevice                 physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];+--   >     VkBool32                         subsetAllocation;+--   > } VkPhysicalDeviceGroupProperties;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties registry at www.khronos.org>+type VkPhysicalDeviceGroupProperties =+     VkStruct VkPhysicalDeviceGroupProperties' -- ' closing tick for hsc2hs++data VkPhysicalDeviceGroupProperties' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDeviceGroupProperties where+    type StructRep VkPhysicalDeviceGroupProperties =+         'StructMeta "VkPhysicalDeviceGroupProperties" -- ' closing tick for hsc2hs+           VkPhysicalDeviceGroupProperties+           #{size VkPhysicalDeviceGroupProperties}+           #{alignment VkPhysicalDeviceGroupProperties}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceGroupProperties, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceGroupProperties, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "physicalDeviceCount" Word32 'False +                                                             #{offset VkPhysicalDeviceGroupProperties, physicalDeviceCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "physicalDevices" VkPhysicalDevice 'False +                                                                   #{offset VkPhysicalDeviceGroupProperties, physicalDevices}+                VK_MAX_DEVICE_GROUP_SIZE+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "subsetAllocation" VkBool32 'False +                                                            #{offset VkPhysicalDeviceGroupProperties, subsetAllocation}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | Alias for `VkPhysicalDeviceGroupProperties`+type VkPhysicalDeviceGroupPropertiesKHR =+     VkPhysicalDeviceGroupProperties++-- | > typedef struct VkPhysicalDeviceIDProperties {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     uint8_t                          deviceUUID[VK_UUID_SIZE];+--   >     uint8_t                          driverUUID[VK_UUID_SIZE];+--   >     uint8_t                          deviceLUID[VK_LUID_SIZE];+--   >     uint32_t                         deviceNodeMask;+--   >     VkBool32                         deviceLUIDValid;+--   > } VkPhysicalDeviceIDProperties;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties registry at www.khronos.org>+type VkPhysicalDeviceIDProperties =+     VkStruct VkPhysicalDeviceIDProperties' -- ' closing tick for hsc2hs++data VkPhysicalDeviceIDProperties' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDeviceIDProperties where+    type StructRep VkPhysicalDeviceIDProperties =+         'StructMeta "VkPhysicalDeviceIDProperties" -- ' closing tick for hsc2hs+           VkPhysicalDeviceIDProperties+           #{size VkPhysicalDeviceIDProperties}+           #{alignment VkPhysicalDeviceIDProperties}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceIDProperties, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceIDProperties, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "deviceUUID" Word8 'False +                                                   #{offset VkPhysicalDeviceIDProperties, deviceUUID}+                VK_UUID_SIZE+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "driverUUID" Word8 'False +                                                   #{offset VkPhysicalDeviceIDProperties, driverUUID}+                VK_UUID_SIZE+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "deviceLUID" Word8 'False +                                                   #{offset VkPhysicalDeviceIDProperties, deviceLUID}+                VK_LUID_SIZE+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "deviceNodeMask" Word32 'False +                                                        #{offset VkPhysicalDeviceIDProperties, deviceNodeMask}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "deviceLUIDValid" VkBool32 'False +                                                           #{offset VkPhysicalDeviceIDProperties, deviceLUIDValid}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++-- | Alias for `VkPhysicalDeviceIDProperties`+type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties++-- | > typedef struct VkPhysicalDeviceImageFormatInfo2 {+--   >     VkStructureType sType;+--   >     const void* pNext;+--   >     VkFormat                         format;+--   >     VkImageType                      type;+--   >     VkImageTiling                    tiling;+--   >     VkImageUsageFlags                usage;+--   >     VkImageCreateFlags flags;+--   > } VkPhysicalDeviceImageFormatInfo2;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2 registry at www.khronos.org>+type VkPhysicalDeviceImageFormatInfo2 =+     VkStruct VkPhysicalDeviceImageFormatInfo2' -- ' closing tick for hsc2hs++data VkPhysicalDeviceImageFormatInfo2' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDeviceImageFormatInfo2 where+    type StructRep VkPhysicalDeviceImageFormatInfo2 =+         'StructMeta "VkPhysicalDeviceImageFormatInfo2" -- ' closing tick for hsc2hs+           VkPhysicalDeviceImageFormatInfo2+           #{size VkPhysicalDeviceImageFormatInfo2}+           #{alignment VkPhysicalDeviceImageFormatInfo2}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceImageFormatInfo2, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceImageFormatInfo2, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "format" VkFormat 'False +                                                  #{offset VkPhysicalDeviceImageFormatInfo2, format}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "type" VkImageType 'False +                                                   #{offset VkPhysicalDeviceImageFormatInfo2, type}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "tiling" VkImageTiling 'False +                                                       #{offset VkPhysicalDeviceImageFormatInfo2, tiling}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "usage" VkImageUsageFlags 'False +                                                          #{offset VkPhysicalDeviceImageFormatInfo2, usage}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkImageCreateFlags 'True +                                                          #{offset VkPhysicalDeviceImageFormatInfo2, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | Alias for `VkPhysicalDeviceImageFormatInfo2`+type VkPhysicalDeviceImageFormatInfo2KHR =+     VkPhysicalDeviceImageFormatInfo2++-- | > typedef struct VkPhysicalDeviceLimits {+--   >     uint32_t               maxImageDimension1D;+--   >     uint32_t               maxImageDimension2D;+--   >     uint32_t               maxImageDimension3D;+--   >     uint32_t               maxImageDimensionCube;+--   >     uint32_t               maxImageArrayLayers;+--   >     uint32_t               maxTexelBufferElements;+--   >     uint32_t               maxUniformBufferRange;+--   >     uint32_t               maxStorageBufferRange;+--   >     uint32_t               maxPushConstantsSize;+--   >     uint32_t               maxMemoryAllocationCount;+--   >     uint32_t               maxSamplerAllocationCount;+--   >     VkDeviceSize           bufferImageGranularity;+--   >     VkDeviceSize           sparseAddressSpaceSize;+--   >     uint32_t               maxBoundDescriptorSets;+--   >     uint32_t               maxPerStageDescriptorSamplers;+--   >     uint32_t               maxPerStageDescriptorUniformBuffers;+--   >     uint32_t               maxPerStageDescriptorStorageBuffers;+--   >     uint32_t               maxPerStageDescriptorSampledImages;+--   >     uint32_t               maxPerStageDescriptorStorageImages;+--   >     uint32_t               maxPerStageDescriptorInputAttachments;+--   >     uint32_t               maxPerStageResources;+--   >     uint32_t               maxDescriptorSetSamplers;+--   >     uint32_t               maxDescriptorSetUniformBuffers;+--   >     uint32_t               maxDescriptorSetUniformBuffersDynamic;+--   >     uint32_t               maxDescriptorSetStorageBuffers;+--   >     uint32_t               maxDescriptorSetStorageBuffersDynamic;+--   >     uint32_t               maxDescriptorSetSampledImages;+--   >     uint32_t               maxDescriptorSetStorageImages;+--   >     uint32_t               maxDescriptorSetInputAttachments;+--   >     uint32_t               maxVertexInputAttributes;+--   >     uint32_t               maxVertexInputBindings;+--   >     uint32_t               maxVertexInputAttributeOffset;+--   >     uint32_t               maxVertexInputBindingStride;+--   >     uint32_t               maxVertexOutputComponents;+--   >     uint32_t               maxTessellationGenerationLevel;+--   >     uint32_t               maxTessellationPatchSize;+--   >     uint32_t               maxTessellationControlPerVertexInputComponents;+--   >     uint32_t               maxTessellationControlPerVertexOutputComponents;+--   >     uint32_t               maxTessellationControlPerPatchOutputComponents;+--   >     uint32_t               maxTessellationControlTotalOutputComponents;+--   >     uint32_t               maxTessellationEvaluationInputComponents;+--   >     uint32_t               maxTessellationEvaluationOutputComponents;+--   >     uint32_t               maxGeometryShaderInvocations;+--   >     uint32_t               maxGeometryInputComponents;+--   >     uint32_t               maxGeometryOutputComponents;+--   >     uint32_t               maxGeometryOutputVertices;+--   >     uint32_t               maxGeometryTotalOutputComponents;+--   >     uint32_t               maxFragmentInputComponents;+--   >     uint32_t               maxFragmentOutputAttachments;+--   >     uint32_t               maxFragmentDualSrcAttachments;+--   >     uint32_t               maxFragmentCombinedOutputResources;+--   >     uint32_t               maxComputeSharedMemorySize;+--   >     uint32_t               maxComputeWorkGroupCount[3];+--   >     uint32_t               maxComputeWorkGroupInvocations;+--   >     uint32_t               maxComputeWorkGroupSize[3];+--   >     uint32_t               subPixelPrecisionBits;+--   >     uint32_t               subTexelPrecisionBits;+--   >     uint32_t               mipmapPrecisionBits;+--   >     uint32_t               maxDrawIndexedIndexValue;+--   >     uint32_t               maxDrawIndirectCount;+--   >     float                  maxSamplerLodBias;+--   >     float                  maxSamplerAnisotropy;+--   >     uint32_t               maxViewports;+--   >     uint32_t               maxViewportDimensions[2];+--   >     float                  viewportBoundsRange[2];+--   >     uint32_t               viewportSubPixelBits;+--   >     size_t                 minMemoryMapAlignment;+--   >     VkDeviceSize           minTexelBufferOffsetAlignment;+--   >     VkDeviceSize           minUniformBufferOffsetAlignment;+--   >     VkDeviceSize           minStorageBufferOffsetAlignment;+--   >     int32_t                minTexelOffset;+--   >     uint32_t               maxTexelOffset;+--   >     int32_t                minTexelGatherOffset;+--   >     uint32_t               maxTexelGatherOffset;+--   >     float                  minInterpolationOffset;+--   >     float                  maxInterpolationOffset;+--   >     uint32_t               subPixelInterpolationOffsetBits;+--   >     uint32_t               maxFramebufferWidth;+--   >     uint32_t               maxFramebufferHeight;+--   >     uint32_t               maxFramebufferLayers;+--   >     VkSampleCountFlags     framebufferColorSampleCounts;+--   >     VkSampleCountFlags     framebufferDepthSampleCounts;+--   >     VkSampleCountFlags     framebufferStencilSampleCounts;+--   >     VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;+--   >     uint32_t               maxColorAttachments;+--   >     VkSampleCountFlags     sampledImageColorSampleCounts;+--   >     VkSampleCountFlags     sampledImageIntegerSampleCounts;+--   >     VkSampleCountFlags     sampledImageDepthSampleCounts;+--   >     VkSampleCountFlags     sampledImageStencilSampleCounts;+--   >     VkSampleCountFlags     storageImageSampleCounts;+--   >     uint32_t               maxSampleMaskWords;+--   >     VkBool32               timestampComputeAndGraphics;+--   >     float                  timestampPeriod;+--   >     uint32_t               maxClipDistances;+--   >     uint32_t               maxCullDistances;+--   >     uint32_t               maxCombinedClipAndCullDistances;+--   >     uint32_t               discreteQueuePriorities;+--   >     float                  pointSizeRange[2];+--   >     float                  lineWidthRange[2];+--   >     float                  pointSizeGranularity;+--   >     float                  lineWidthGranularity;+--   >     VkBool32               strictLines;+--   >     VkBool32               standardSampleLocations;+--   >     VkDeviceSize           optimalBufferCopyOffsetAlignment;+--   >     VkDeviceSize           optimalBufferCopyRowPitchAlignment;+--   >     VkDeviceSize           nonCoherentAtomSize;+--   > } VkPhysicalDeviceLimits;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceLimits VkPhysicalDeviceLimits registry at www.khronos.org>+type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- ' closing tick for hsc2hs++data VkPhysicalDeviceLimits' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDeviceLimits where+    type StructRep VkPhysicalDeviceLimits =+         'StructMeta "VkPhysicalDeviceLimits" VkPhysicalDeviceLimits -- ' closing tick for hsc2hs+           #{size VkPhysicalDeviceLimits}+           #{alignment VkPhysicalDeviceLimits}+           '[('FieldMeta "maxImageDimension1D" Word32 'False  -- ' closing tick for hsc2hs+                                                             #{offset VkPhysicalDeviceLimits, maxImageDimension1D}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxImageDimension2D" Word32 'False +                                                             #{offset VkPhysicalDeviceLimits, maxImageDimension2D}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxImageDimension3D" Word32 'False +                                                             #{offset VkPhysicalDeviceLimits, maxImageDimension3D}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxImageDimensionCube" Word32 'False +                                                               #{offset VkPhysicalDeviceLimits, maxImageDimensionCube}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxImageArrayLayers" Word32 'False +                                                             #{offset VkPhysicalDeviceLimits, maxImageArrayLayers}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxTexelBufferElements" Word32 'False +                                                                #{offset VkPhysicalDeviceLimits, maxTexelBufferElements}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxUniformBufferRange" Word32 'False +                                                               #{offset VkPhysicalDeviceLimits, maxUniformBufferRange}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxStorageBufferRange" Word32 'False +                                                               #{offset VkPhysicalDeviceLimits, maxStorageBufferRange}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxPushConstantsSize" Word32 'False +                                                              #{offset VkPhysicalDeviceLimits, maxPushConstantsSize}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxMemoryAllocationCount" Word32 'False +                                                                  #{offset VkPhysicalDeviceLimits, maxMemoryAllocationCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxSamplerAllocationCount" Word32 'False +                                                                   #{offset VkPhysicalDeviceLimits, maxSamplerAllocationCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "bufferImageGranularity" VkDeviceSize 'False +                                                                      #{offset VkPhysicalDeviceLimits, bufferImageGranularity}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sparseAddressSpaceSize" VkDeviceSize 'False +                                                                      #{offset VkPhysicalDeviceLimits, sparseAddressSpaceSize}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxBoundDescriptorSets" Word32 'False +                                                                #{offset VkPhysicalDeviceLimits, maxBoundDescriptorSets}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxPerStageDescriptorSamplers" Word32 'False +                                                                       #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorSamplers}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxPerStageDescriptorUniformBuffers" Word32 'False+                #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorUniformBuffers}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxPerStageDescriptorStorageBuffers" Word32 'False+                #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorStorageBuffers}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxPerStageDescriptorSampledImages" Word32 'False+                #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorSampledImages}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxPerStageDescriptorStorageImages" Word32 'False+                #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorStorageImages}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxPerStageDescriptorInputAttachments" Word32 'False+                #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorInputAttachments}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxPerStageResources" Word32 'False +                                                              #{offset VkPhysicalDeviceLimits, maxPerStageResources}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxDescriptorSetSamplers" Word32 'False +                                                                  #{offset VkPhysicalDeviceLimits, maxDescriptorSetSamplers}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxDescriptorSetUniformBuffers" Word32 'False+                #{offset VkPhysicalDeviceLimits, maxDescriptorSetUniformBuffers}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxDescriptorSetUniformBuffersDynamic" Word32 'False+                #{offset VkPhysicalDeviceLimits, maxDescriptorSetUniformBuffersDynamic}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxDescriptorSetStorageBuffers" Word32 'False+                #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageBuffers}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxDescriptorSetStorageBuffersDynamic" Word32 'False+                #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageBuffersDynamic}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxDescriptorSetSampledImages" Word32 'False +                                                                       #{offset VkPhysicalDeviceLimits, maxDescriptorSetSampledImages}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxDescriptorSetStorageImages" Word32 'False +                                                                       #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageImages}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxDescriptorSetInputAttachments" Word32 'False+                #{offset VkPhysicalDeviceLimits, maxDescriptorSetInputAttachments}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxVertexInputAttributes" Word32 'False +                                                                  #{offset VkPhysicalDeviceLimits, maxVertexInputAttributes}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxVertexInputBindings" Word32 'False +                                                                #{offset VkPhysicalDeviceLimits, maxVertexInputBindings}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxVertexInputAttributeOffset" Word32 'False +                                                                       #{offset VkPhysicalDeviceLimits, maxVertexInputAttributeOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxVertexInputBindingStride" Word32 'False +                                                                     #{offset VkPhysicalDeviceLimits, maxVertexInputBindingStride}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxVertexOutputComponents" Word32 'False +                                                                   #{offset VkPhysicalDeviceLimits, maxVertexOutputComponents}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxTessellationGenerationLevel" Word32 'False+                #{offset VkPhysicalDeviceLimits, maxTessellationGenerationLevel}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxTessellationPatchSize" Word32 'False +                                                                  #{offset VkPhysicalDeviceLimits, maxTessellationPatchSize}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxTessellationControlPerVertexInputComponents" Word32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceLimits, maxTessellationControlPerVertexInputComponents}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxTessellationControlPerVertexOutputComponents" -- ' closing tick for hsc2hs+                Word32+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceLimits, maxTessellationControlPerVertexOutputComponents}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxTessellationControlPerPatchOutputComponents" Word32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceLimits, maxTessellationControlPerPatchOutputComponents}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxTessellationControlTotalOutputComponents" Word32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceLimits, maxTessellationControlTotalOutputComponents}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxTessellationEvaluationInputComponents" Word32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceLimits, maxTessellationEvaluationInputComponents}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxTessellationEvaluationOutputComponents" Word32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceLimits, maxTessellationEvaluationOutputComponents}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxGeometryShaderInvocations" Word32 'False +                                                                      #{offset VkPhysicalDeviceLimits, maxGeometryShaderInvocations}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxGeometryInputComponents" Word32 'False +                                                                    #{offset VkPhysicalDeviceLimits, maxGeometryInputComponents}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxGeometryOutputComponents" Word32 'False +                                                                     #{offset VkPhysicalDeviceLimits, maxGeometryOutputComponents}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxGeometryOutputVertices" Word32 'False +                                                                   #{offset VkPhysicalDeviceLimits, maxGeometryOutputVertices}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxGeometryTotalOutputComponents" Word32 'False+                #{offset VkPhysicalDeviceLimits, maxGeometryTotalOutputComponents}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxFragmentInputComponents" Word32 'False +                                                                    #{offset VkPhysicalDeviceLimits, maxFragmentInputComponents}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxFragmentOutputAttachments" Word32 'False +                                                                      #{offset VkPhysicalDeviceLimits, maxFragmentOutputAttachments}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxFragmentDualSrcAttachments" Word32 'False +                                                                       #{offset VkPhysicalDeviceLimits, maxFragmentDualSrcAttachments}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxFragmentCombinedOutputResources" Word32 'False+                #{offset VkPhysicalDeviceLimits, maxFragmentCombinedOutputResources}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxComputeSharedMemorySize" Word32 'False +                                                                    #{offset VkPhysicalDeviceLimits, maxComputeSharedMemorySize}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxComputeWorkGroupCount" Word32 'False +                                                                  #{offset VkPhysicalDeviceLimits, maxComputeWorkGroupCount}+                3+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxComputeWorkGroupInvocations" Word32 'False+                #{offset VkPhysicalDeviceLimits, maxComputeWorkGroupInvocations}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxComputeWorkGroupSize" Word32 'False +                                                                 #{offset VkPhysicalDeviceLimits, maxComputeWorkGroupSize}+                3+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "subPixelPrecisionBits" Word32 'False +                                                               #{offset VkPhysicalDeviceLimits, subPixelPrecisionBits}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "subTexelPrecisionBits" Word32 'False +                                                               #{offset VkPhysicalDeviceLimits, subTexelPrecisionBits}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "mipmapPrecisionBits" Word32 'False +                                                             #{offset VkPhysicalDeviceLimits, mipmapPrecisionBits}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxDrawIndexedIndexValue" Word32 'False +                                                                  #{offset VkPhysicalDeviceLimits, maxDrawIndexedIndexValue}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxDrawIndirectCount" Word32 'False +                                                              #{offset VkPhysicalDeviceLimits, maxDrawIndirectCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxSamplerLodBias" ( -- ' closing tick for hsc2hs+                                              #{type float}+                                              ) 'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceLimits, maxSamplerLodBias}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxSamplerAnisotropy" ( -- ' closing tick for hsc2hs+                                                 #{type float})+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceLimits, maxSamplerAnisotropy}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxViewports" Word32 'False +                                                      #{offset VkPhysicalDeviceLimits, maxViewports}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxViewportDimensions" Word32 'False +                                                               #{offset VkPhysicalDeviceLimits, maxViewportDimensions}+                2+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "viewportBoundsRange" ( -- ' closing tick for hsc2hs+                                                #{type float})+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceLimits, viewportBoundsRange}+                2+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "viewportSubPixelBits" Word32 'False +                                                              #{offset VkPhysicalDeviceLimits, viewportSubPixelBits}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minMemoryMapAlignment" CSize 'False +                                                              #{offset VkPhysicalDeviceLimits, minMemoryMapAlignment}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minTexelBufferOffsetAlignment" VkDeviceSize 'False+                #{offset VkPhysicalDeviceLimits, minTexelBufferOffsetAlignment}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minUniformBufferOffsetAlignment" VkDeviceSize 'False+                #{offset VkPhysicalDeviceLimits, minUniformBufferOffsetAlignment}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minStorageBufferOffsetAlignment" VkDeviceSize 'False+                #{offset VkPhysicalDeviceLimits, minStorageBufferOffsetAlignment}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minTexelOffset" Int32 'False +                                                       #{offset VkPhysicalDeviceLimits, minTexelOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxTexelOffset" Word32 'False +                                                        #{offset VkPhysicalDeviceLimits, maxTexelOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minTexelGatherOffset" Int32 'False +                                                             #{offset VkPhysicalDeviceLimits, minTexelGatherOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxTexelGatherOffset" Word32 'False +                                                              #{offset VkPhysicalDeviceLimits, maxTexelGatherOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minInterpolationOffset" ( -- ' closing tick for hsc2hs+                                                   #{type float})+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceLimits, minInterpolationOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxInterpolationOffset" ( -- ' closing tick for hsc2hs+                                                   #{type float})+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceLimits, maxInterpolationOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "subPixelInterpolationOffsetBits" Word32 'False+                #{offset VkPhysicalDeviceLimits, subPixelInterpolationOffsetBits}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxFramebufferWidth" Word32 'False +                                                             #{offset VkPhysicalDeviceLimits, maxFramebufferWidth}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxFramebufferHeight" Word32 'False +                                                              #{offset VkPhysicalDeviceLimits, maxFramebufferHeight}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxFramebufferLayers" Word32 'False +                                                              #{offset VkPhysicalDeviceLimits, maxFramebufferLayers}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "framebufferColorSampleCounts" VkSampleCountFlags 'True+                #{offset VkPhysicalDeviceLimits, framebufferColorSampleCounts}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "framebufferDepthSampleCounts" VkSampleCountFlags 'True+                #{offset VkPhysicalDeviceLimits, framebufferDepthSampleCounts}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "framebufferStencilSampleCounts" VkSampleCountFlags -- ' closing tick for hsc2hs+                'True -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceLimits, framebufferStencilSampleCounts}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "framebufferNoAttachmentsSampleCounts" -- ' closing tick for hsc2hs+                VkSampleCountFlags+                'True -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceLimits, framebufferNoAttachmentsSampleCounts}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxColorAttachments" Word32 'False +                                                             #{offset VkPhysicalDeviceLimits, maxColorAttachments}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sampledImageColorSampleCounts" VkSampleCountFlags -- ' closing tick for hsc2hs+                'True -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceLimits, sampledImageColorSampleCounts}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sampledImageIntegerSampleCounts" VkSampleCountFlags -- ' closing tick for hsc2hs+                'True -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceLimits, sampledImageIntegerSampleCounts}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sampledImageDepthSampleCounts" VkSampleCountFlags -- ' closing tick for hsc2hs+                'True -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceLimits, sampledImageDepthSampleCounts}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sampledImageStencilSampleCounts" VkSampleCountFlags -- ' closing tick for hsc2hs+                'True -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceLimits, sampledImageStencilSampleCounts}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "storageImageSampleCounts" VkSampleCountFlags 'True+                #{offset VkPhysicalDeviceLimits, storageImageSampleCounts}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxSampleMaskWords" Word32 'False +                                                            #{offset VkPhysicalDeviceLimits, maxSampleMaskWords}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "timestampComputeAndGraphics" VkBool32 'False +                                                                       #{offset VkPhysicalDeviceLimits, timestampComputeAndGraphics}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "timestampPeriod" ( -- ' closing tick for hsc2hs+                                            #{type float}+                                            ) 'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceLimits, timestampPeriod}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxClipDistances" Word32 'False +                                                          #{offset VkPhysicalDeviceLimits, maxClipDistances}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxCullDistances" Word32 'False +                                                          #{offset VkPhysicalDeviceLimits, maxCullDistances}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxCombinedClipAndCullDistances" Word32 'False+                #{offset VkPhysicalDeviceLimits, maxCombinedClipAndCullDistances}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "discreteQueuePriorities" Word32 'False +                                                                 #{offset VkPhysicalDeviceLimits, discreteQueuePriorities}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pointSizeRange" ( -- ' closing tick for hsc2hs+                                           #{type float}+                                           ) 'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceLimits, pointSizeRange}+                2+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "lineWidthRange" ( -- ' closing tick for hsc2hs+                                           #{type float}+                                           ) 'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceLimits, lineWidthRange}+                2+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pointSizeGranularity" ( -- ' closing tick for hsc2hs+                                                 #{type float})+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceLimits, pointSizeGranularity}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "lineWidthGranularity" ( -- ' closing tick for hsc2hs+                                                 #{type float})+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceLimits, lineWidthGranularity}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "strictLines" VkBool32 'False +                                                       #{offset VkPhysicalDeviceLimits, strictLines}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "standardSampleLocations" VkBool32 'False +                                                                   #{offset VkPhysicalDeviceLimits, standardSampleLocations}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "optimalBufferCopyOffsetAlignment" VkDeviceSize 'False+                #{offset VkPhysicalDeviceLimits, optimalBufferCopyOffsetAlignment}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "optimalBufferCopyRowPitchAlignment" VkDeviceSize -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceLimits, optimalBufferCopyRowPitchAlignment}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "nonCoherentAtomSize" VkDeviceSize 'False +                                                                   #{offset VkPhysicalDeviceLimits, nonCoherentAtomSize}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkPhysicalDeviceMaintenance3Properties {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     uint32_t                         maxPerSetDescriptors;+--   >     VkDeviceSize                     maxMemoryAllocationSize;+--   > } VkPhysicalDeviceMaintenance3Properties;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties registry at www.khronos.org>+type VkPhysicalDeviceMaintenance3Properties =+     VkStruct VkPhysicalDeviceMaintenance3Properties' -- ' closing tick for hsc2hs++data VkPhysicalDeviceMaintenance3Properties' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDeviceMaintenance3Properties where+    type StructRep VkPhysicalDeviceMaintenance3Properties =+         'StructMeta "VkPhysicalDeviceMaintenance3Properties" -- ' closing tick for hsc2hs+           VkPhysicalDeviceMaintenance3Properties+           #{size VkPhysicalDeviceMaintenance3Properties}+           #{alignment VkPhysicalDeviceMaintenance3Properties}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceMaintenance3Properties, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceMaintenance3Properties, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxPerSetDescriptors" Word32 'False +                                                              #{offset VkPhysicalDeviceMaintenance3Properties, maxPerSetDescriptors}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxMemoryAllocationSize" VkDeviceSize 'False +                                                                       #{offset VkPhysicalDeviceMaintenance3Properties, maxMemoryAllocationSize}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++-- | Alias for `VkPhysicalDeviceMaintenance3Properties`+type VkPhysicalDeviceMaintenance3PropertiesKHR =+     VkPhysicalDeviceMaintenance3Properties++-- | > typedef struct VkPhysicalDeviceMemoryProperties {+--   >     uint32_t               memoryTypeCount;+--   >     VkMemoryType           memoryTypes[VK_MAX_MEMORY_TYPES];+--   >     uint32_t               memoryHeapCount;+--   >     VkMemoryHeap           memoryHeaps[VK_MAX_MEMORY_HEAPS];+--   > } VkPhysicalDeviceMemoryProperties;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties registry at www.khronos.org>+type VkPhysicalDeviceMemoryProperties =+     VkStruct VkPhysicalDeviceMemoryProperties' -- ' closing tick for hsc2hs++data VkPhysicalDeviceMemoryProperties' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDeviceMemoryProperties where+    type StructRep VkPhysicalDeviceMemoryProperties =+         'StructMeta "VkPhysicalDeviceMemoryProperties" -- ' closing tick for hsc2hs+           VkPhysicalDeviceMemoryProperties+           #{size VkPhysicalDeviceMemoryProperties}+           #{alignment VkPhysicalDeviceMemoryProperties}+           '[('FieldMeta "memoryTypeCount" Word32 'False  -- ' closing tick for hsc2hs+                                                         #{offset VkPhysicalDeviceMemoryProperties, memoryTypeCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "memoryTypes" VkMemoryType 'False +                                                           #{offset VkPhysicalDeviceMemoryProperties, memoryTypes}+                VK_MAX_MEMORY_TYPES+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "memoryHeapCount" Word32 'False +                                                         #{offset VkPhysicalDeviceMemoryProperties, memoryHeapCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "memoryHeaps" VkMemoryHeap 'False +                                                           #{offset VkPhysicalDeviceMemoryProperties, memoryHeaps}+                VK_MAX_MEMORY_HEAPS+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkPhysicalDeviceMemoryProperties2 {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     VkPhysicalDeviceMemoryProperties memoryProperties;+--   > } VkPhysicalDeviceMemoryProperties2;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org>+type VkPhysicalDeviceMemoryProperties2 =+     VkStruct VkPhysicalDeviceMemoryProperties2' -- ' closing tick for hsc2hs++data VkPhysicalDeviceMemoryProperties2' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDeviceMemoryProperties2 where+    type StructRep VkPhysicalDeviceMemoryProperties2 =+         'StructMeta "VkPhysicalDeviceMemoryProperties2" -- ' closing tick for hsc2hs+           VkPhysicalDeviceMemoryProperties2+           #{size VkPhysicalDeviceMemoryProperties2}+           #{alignment VkPhysicalDeviceMemoryProperties2}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceMemoryProperties2, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceMemoryProperties2, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "memoryProperties" VkPhysicalDeviceMemoryProperties -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceMemoryProperties2, memoryProperties}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | Alias for `VkPhysicalDeviceMemoryProperties2`+type VkPhysicalDeviceMemoryProperties2KHR =+     VkPhysicalDeviceMemoryProperties2++-- | > typedef struct VkPhysicalDeviceMultiviewFeatures {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     VkBool32                         multiview;+--   >     VkBool32                         multiviewGeometryShader;+--   >     VkBool32                         multiviewTessellationShader;+--   > } VkPhysicalDeviceMultiviewFeatures;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org>+type VkPhysicalDeviceMultiviewFeatures =+     VkStruct VkPhysicalDeviceMultiviewFeatures' -- ' closing tick for hsc2hs++data VkPhysicalDeviceMultiviewFeatures' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDeviceMultiviewFeatures where+    type StructRep VkPhysicalDeviceMultiviewFeatures =+         'StructMeta "VkPhysicalDeviceMultiviewFeatures" -- ' closing tick for hsc2hs+           VkPhysicalDeviceMultiviewFeatures+           #{size VkPhysicalDeviceMultiviewFeatures}+           #{alignment VkPhysicalDeviceMultiviewFeatures}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceMultiviewFeatures, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceMultiviewFeatures, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "multiview" VkBool32 'False +                                                     #{offset VkPhysicalDeviceMultiviewFeatures, multiview}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "multiviewGeometryShader" VkBool32 'False +                                                                   #{offset VkPhysicalDeviceMultiviewFeatures, multiviewGeometryShader}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "multiviewTessellationShader" VkBool32 'False +                                                                       #{offset VkPhysicalDeviceMultiviewFeatures, multiviewTessellationShader}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs++-- | Alias for `VkPhysicalDeviceMultiviewFeatures`+type VkPhysicalDeviceMultiviewFeaturesKHR =+     VkPhysicalDeviceMultiviewFeatures++-- | > typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     VkBool32                         perViewPositionAllComponents;+--   > } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at www.khronos.org>+type VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX =+     VkStruct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX' -- ' closing tick for hsc2hs++data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX' -- ' closing tick for hsc2hs++instance VulkanMarshal+           VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+         where+    type StructRep+           VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+         =+         'StructMeta -- ' closing tick for hsc2hs+           "VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX"+           VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+           #{size VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX}+           #{alignment VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "perViewPositionAllComponents" VkBool32 'False+                #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, perViewPositionAllComponents}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++-- | > typedef struct VkPhysicalDeviceMultiviewProperties {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     uint32_t                         maxMultiviewViewCount;+--   >     uint32_t                         maxMultiviewInstanceIndex;+--   > } VkPhysicalDeviceMultiviewProperties;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties registry at www.khronos.org>+type VkPhysicalDeviceMultiviewProperties =+     VkStruct VkPhysicalDeviceMultiviewProperties' -- ' closing tick for hsc2hs++data VkPhysicalDeviceMultiviewProperties' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDeviceMultiviewProperties where+    type StructRep VkPhysicalDeviceMultiviewProperties =+         'StructMeta "VkPhysicalDeviceMultiviewProperties" -- ' closing tick for hsc2hs+           VkPhysicalDeviceMultiviewProperties+           #{size VkPhysicalDeviceMultiviewProperties}+           #{alignment VkPhysicalDeviceMultiviewProperties}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceMultiviewProperties, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceMultiviewProperties, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxMultiviewViewCount" Word32 'False +                                                               #{offset VkPhysicalDeviceMultiviewProperties, maxMultiviewViewCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxMultiviewInstanceIndex" Word32 'False +                                                                   #{offset VkPhysicalDeviceMultiviewProperties, maxMultiviewInstanceIndex}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++-- | Alias for `VkPhysicalDeviceMultiviewProperties`+type VkPhysicalDeviceMultiviewPropertiesKHR =+     VkPhysicalDeviceMultiviewProperties++-- | > typedef struct VkPhysicalDevicePointClippingProperties {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     VkPointClippingBehavior      pointClippingBehavior;+--   > } VkPhysicalDevicePointClippingProperties;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties registry at www.khronos.org>+type VkPhysicalDevicePointClippingProperties =+     VkStruct VkPhysicalDevicePointClippingProperties' -- ' closing tick for hsc2hs++data VkPhysicalDevicePointClippingProperties' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDevicePointClippingProperties+         where+    type StructRep VkPhysicalDevicePointClippingProperties =+         'StructMeta "VkPhysicalDevicePointClippingProperties" -- ' closing tick for hsc2hs+           VkPhysicalDevicePointClippingProperties+           #{size VkPhysicalDevicePointClippingProperties}+           #{alignment VkPhysicalDevicePointClippingProperties}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDevicePointClippingProperties, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDevicePointClippingProperties, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pointClippingBehavior" VkPointClippingBehavior 'False+                #{offset VkPhysicalDevicePointClippingProperties, pointClippingBehavior}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++-- | Alias for `VkPhysicalDevicePointClippingProperties`+type VkPhysicalDevicePointClippingPropertiesKHR =+     VkPhysicalDevicePointClippingProperties++-- | > typedef struct VkPhysicalDeviceProperties {+--   >     uint32_t       apiVersion;+--   >     uint32_t       driverVersion;+--   >     uint32_t       vendorID;+--   >     uint32_t       deviceID;+--   >     VkPhysicalDeviceType deviceType;+--   >     char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];+--   >     uint8_t        pipelineCacheUUID[VK_UUID_SIZE];+--   >     VkPhysicalDeviceLimits limits;+--   >     VkPhysicalDeviceSparseProperties sparseProperties;+--   > } VkPhysicalDeviceProperties;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceProperties VkPhysicalDeviceProperties registry at www.khronos.org>+type VkPhysicalDeviceProperties =+     VkStruct VkPhysicalDeviceProperties' -- ' closing tick for hsc2hs++data VkPhysicalDeviceProperties' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDeviceProperties where+    type StructRep VkPhysicalDeviceProperties =+         'StructMeta "VkPhysicalDeviceProperties" VkPhysicalDeviceProperties -- ' closing tick for hsc2hs+           #{size VkPhysicalDeviceProperties}+           #{alignment VkPhysicalDeviceProperties}+           '[('FieldMeta "apiVersion" Word32 'False  -- ' closing tick for hsc2hs+                                                    #{offset VkPhysicalDeviceProperties, apiVersion}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "driverVersion" Word32 'False +                                                       #{offset VkPhysicalDeviceProperties, driverVersion}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "vendorID" Word32 'False +                                                  #{offset VkPhysicalDeviceProperties, vendorID}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "deviceID" Word32 'False +                                                  #{offset VkPhysicalDeviceProperties, deviceID}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "deviceType" VkPhysicalDeviceType 'False +                                                                  #{offset VkPhysicalDeviceProperties, deviceType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "deviceName" CChar 'False +                                                   #{offset VkPhysicalDeviceProperties, deviceName}+                VK_MAX_PHYSICAL_DEVICE_NAME_SIZE+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pipelineCacheUUID" Word8 'False +                                                          #{offset VkPhysicalDeviceProperties, pipelineCacheUUID}+                VK_UUID_SIZE+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "limits" VkPhysicalDeviceLimits 'False +                                                                #{offset VkPhysicalDeviceProperties, limits}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sparseProperties" VkPhysicalDeviceSparseProperties -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceProperties, sparseProperties}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkPhysicalDeviceProperties2 {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     VkPhysicalDeviceProperties       properties;+--   > } VkPhysicalDeviceProperties2;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2 registry at www.khronos.org>+type VkPhysicalDeviceProperties2 =+     VkStruct VkPhysicalDeviceProperties2' -- ' closing tick for hsc2hs++data VkPhysicalDeviceProperties2' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDeviceProperties2 where+    type StructRep VkPhysicalDeviceProperties2 =+         'StructMeta "VkPhysicalDeviceProperties2" -- ' closing tick for hsc2hs+           VkPhysicalDeviceProperties2+           #{size VkPhysicalDeviceProperties2}+           #{alignment VkPhysicalDeviceProperties2}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceProperties2, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceProperties2, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "properties" VkPhysicalDeviceProperties 'False+                #{offset VkPhysicalDeviceProperties2, properties}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | Alias for `VkPhysicalDeviceProperties2`+type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2++-- | > typedef struct VkPhysicalDeviceProtectedMemoryFeatures {+--   >     VkStructureType sType;+--   >     void*                               pNext;+--   >     VkBool32                            protectedMemory;+--   > } VkPhysicalDeviceProtectedMemoryFeatures;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures registry at www.khronos.org>+type VkPhysicalDeviceProtectedMemoryFeatures =+     VkStruct VkPhysicalDeviceProtectedMemoryFeatures' -- ' closing tick for hsc2hs++data VkPhysicalDeviceProtectedMemoryFeatures' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDeviceProtectedMemoryFeatures+         where+    type StructRep VkPhysicalDeviceProtectedMemoryFeatures =+         'StructMeta "VkPhysicalDeviceProtectedMemoryFeatures" -- ' closing tick for hsc2hs+           VkPhysicalDeviceProtectedMemoryFeatures+           #{size VkPhysicalDeviceProtectedMemoryFeatures}+           #{alignment VkPhysicalDeviceProtectedMemoryFeatures}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceProtectedMemoryFeatures, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceProtectedMemoryFeatures, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "protectedMemory" VkBool32 'False +                                                           #{offset VkPhysicalDeviceProtectedMemoryFeatures, protectedMemory}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkPhysicalDeviceProtectedMemoryProperties {+--   >     VkStructureType sType;+--   >     void*                               pNext;+--   >     VkBool32                            protectedNoFault;+--   > } VkPhysicalDeviceProtectedMemoryProperties;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties registry at www.khronos.org>+type VkPhysicalDeviceProtectedMemoryProperties =+     VkStruct VkPhysicalDeviceProtectedMemoryProperties' -- ' closing tick for hsc2hs++data VkPhysicalDeviceProtectedMemoryProperties' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDeviceProtectedMemoryProperties+         where+    type StructRep VkPhysicalDeviceProtectedMemoryProperties =+         'StructMeta "VkPhysicalDeviceProtectedMemoryProperties" -- ' closing tick for hsc2hs+           VkPhysicalDeviceProtectedMemoryProperties+           #{size VkPhysicalDeviceProtectedMemoryProperties}+           #{alignment VkPhysicalDeviceProtectedMemoryProperties}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceProtectedMemoryProperties, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceProtectedMemoryProperties, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "protectedNoFault" VkBool32 'False +                                                            #{offset VkPhysicalDeviceProtectedMemoryProperties, protectedNoFault}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++-- | > typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     uint32_t                         maxPushDescriptors;+--   > } VkPhysicalDevicePushDescriptorPropertiesKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR registry at www.khronos.org>+type VkPhysicalDevicePushDescriptorPropertiesKHR =+     VkStruct VkPhysicalDevicePushDescriptorPropertiesKHR' -- ' closing tick for hsc2hs++data VkPhysicalDevicePushDescriptorPropertiesKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDevicePushDescriptorPropertiesKHR+         where+    type StructRep VkPhysicalDevicePushDescriptorPropertiesKHR =+         'StructMeta "VkPhysicalDevicePushDescriptorPropertiesKHR" -- ' closing tick for hsc2hs+           VkPhysicalDevicePushDescriptorPropertiesKHR+           #{size VkPhysicalDevicePushDescriptorPropertiesKHR}+           #{alignment VkPhysicalDevicePushDescriptorPropertiesKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxPushDescriptors" Word32 'False +                                                            #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, maxPushDescriptors}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++-- | > typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     VkSampleCountFlags               sampleLocationSampleCounts;+--   >     VkExtent2D                       maxSampleLocationGridSize;+--   >     float                            sampleLocationCoordinateRange[2];+--   >     uint32_t                         sampleLocationSubPixelBits;+--   >     VkBool32                         variableSampleLocations;+--   > } VkPhysicalDeviceSampleLocationsPropertiesEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT registry at www.khronos.org>+type VkPhysicalDeviceSampleLocationsPropertiesEXT =+     VkStruct VkPhysicalDeviceSampleLocationsPropertiesEXT' -- ' closing tick for hsc2hs++data VkPhysicalDeviceSampleLocationsPropertiesEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDeviceSampleLocationsPropertiesEXT+         where+    type StructRep VkPhysicalDeviceSampleLocationsPropertiesEXT =+         'StructMeta "VkPhysicalDeviceSampleLocationsPropertiesEXT" -- ' closing tick for hsc2hs+           VkPhysicalDeviceSampleLocationsPropertiesEXT+           #{size VkPhysicalDeviceSampleLocationsPropertiesEXT}+           #{alignment VkPhysicalDeviceSampleLocationsPropertiesEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sampleLocationSampleCounts" VkSampleCountFlags 'False+                #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationSampleCounts}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxSampleLocationGridSize" VkExtent2D 'False +                                                                       #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, maxSampleLocationGridSize}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sampleLocationCoordinateRange" -- ' closing tick for hsc2hs+                (#{type float})+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationCoordinateRange}+                2+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sampleLocationSubPixelBits" Word32 'False +                                                                    #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationSubPixelBits}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "variableSampleLocations" VkBool32 'False +                                                                   #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, variableSampleLocations}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++-- | > typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {+--   >     VkStructureType sType;+--   >     void*                  pNext;+--   >     VkBool32               filterMinmaxSingleComponentFormats;+--   >     VkBool32               filterMinmaxImageComponentMapping;+--   > } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at www.khronos.org>+type VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT =+     VkStruct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT' -- ' closing tick for hsc2hs++data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal+           VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+         where+    type StructRep VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT =+         'StructMeta "VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT" -- ' closing tick for hsc2hs+           VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+           #{size VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT}+           #{alignment VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "filterMinmaxSingleComponentFormats" VkBool32 'False+                #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, filterMinmaxSingleComponentFormats}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "filterMinmaxImageComponentMapping" VkBool32 'False+                #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, filterMinmaxImageComponentMapping}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++-- | > typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {+--   >     VkStructureType sType;+--   >     void*      pNext;+--   >     VkBool32                         samplerYcbcrConversion;+--   > } VkPhysicalDeviceSamplerYcbcrConversionFeatures;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at www.khronos.org>+type VkPhysicalDeviceSamplerYcbcrConversionFeatures =+     VkStruct VkPhysicalDeviceSamplerYcbcrConversionFeatures' -- ' closing tick for hsc2hs++data VkPhysicalDeviceSamplerYcbcrConversionFeatures' -- ' closing tick for hsc2hs++instance VulkanMarshal+           VkPhysicalDeviceSamplerYcbcrConversionFeatures+         where+    type StructRep VkPhysicalDeviceSamplerYcbcrConversionFeatures =+         'StructMeta "VkPhysicalDeviceSamplerYcbcrConversionFeatures" -- ' closing tick for hsc2hs+           VkPhysicalDeviceSamplerYcbcrConversionFeatures+           #{size VkPhysicalDeviceSamplerYcbcrConversionFeatures}+           #{alignment VkPhysicalDeviceSamplerYcbcrConversionFeatures}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "samplerYcbcrConversion" VkBool32 'False +                                                                  #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, samplerYcbcrConversion}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs++-- | Alias for `VkPhysicalDeviceSamplerYcbcrConversionFeatures`+type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR =+     VkPhysicalDeviceSamplerYcbcrConversionFeatures++-- | > typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {+--   >     VkStructureType sType;+--   >     void*    pNext;+--   >     uint32_t shaderEngineCount;+--   >     uint32_t shaderArraysPerEngineCount;+--   >     uint32_t computeUnitsPerShaderArray;+--   >     uint32_t simdPerComputeUnit;+--   >     uint32_t wavefrontsPerSimd;+--   >     uint32_t wavefrontSize;+--   >     uint32_t sgprsPerSimd;+--   >     uint32_t minSgprAllocation;+--   >     uint32_t maxSgprAllocation;+--   >     uint32_t sgprAllocationGranularity;+--   >     uint32_t vgprsPerSimd;+--   >     uint32_t minVgprAllocation;+--   >     uint32_t maxVgprAllocation;+--   >     uint32_t vgprAllocationGranularity;+--   > } VkPhysicalDeviceShaderCorePropertiesAMD;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD registry at www.khronos.org>+type VkPhysicalDeviceShaderCorePropertiesAMD =+     VkStruct VkPhysicalDeviceShaderCorePropertiesAMD' -- ' closing tick for hsc2hs++data VkPhysicalDeviceShaderCorePropertiesAMD' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDeviceShaderCorePropertiesAMD+         where+    type StructRep VkPhysicalDeviceShaderCorePropertiesAMD =+         'StructMeta "VkPhysicalDeviceShaderCorePropertiesAMD" -- ' closing tick for hsc2hs+           VkPhysicalDeviceShaderCorePropertiesAMD+           #{size VkPhysicalDeviceShaderCorePropertiesAMD}+           #{alignment VkPhysicalDeviceShaderCorePropertiesAMD}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceShaderCorePropertiesAMD, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderEngineCount" Word32 'False +                                                           #{offset VkPhysicalDeviceShaderCorePropertiesAMD, shaderEngineCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderArraysPerEngineCount" Word32 'False +                                                                    #{offset VkPhysicalDeviceShaderCorePropertiesAMD, shaderArraysPerEngineCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "computeUnitsPerShaderArray" Word32 'False +                                                                    #{offset VkPhysicalDeviceShaderCorePropertiesAMD, computeUnitsPerShaderArray}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "simdPerComputeUnit" Word32 'False +                                                            #{offset VkPhysicalDeviceShaderCorePropertiesAMD, simdPerComputeUnit}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "wavefrontsPerSimd" Word32 'False +                                                           #{offset VkPhysicalDeviceShaderCorePropertiesAMD, wavefrontsPerSimd}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "wavefrontSize" Word32 'False +                                                       #{offset VkPhysicalDeviceShaderCorePropertiesAMD, wavefrontSize}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sgprsPerSimd" Word32 'False +                                                      #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sgprsPerSimd}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minSgprAllocation" Word32 'False +                                                           #{offset VkPhysicalDeviceShaderCorePropertiesAMD, minSgprAllocation}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxSgprAllocation" Word32 'False +                                                           #{offset VkPhysicalDeviceShaderCorePropertiesAMD, maxSgprAllocation}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sgprAllocationGranularity" Word32 'False +                                                                   #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sgprAllocationGranularity}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "vgprsPerSimd" Word32 'False +                                                      #{offset VkPhysicalDeviceShaderCorePropertiesAMD, vgprsPerSimd}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minVgprAllocation" Word32 'False +                                                           #{offset VkPhysicalDeviceShaderCorePropertiesAMD, minVgprAllocation}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxVgprAllocation" Word32 'False +                                                           #{offset VkPhysicalDeviceShaderCorePropertiesAMD, maxVgprAllocation}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "vgprAllocationGranularity" Word32 'False +                                                                   #{offset VkPhysicalDeviceShaderCorePropertiesAMD, vgprAllocationGranularity}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++-- | > typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     VkBool32                         shaderDrawParameters;+--   > } VkPhysicalDeviceShaderDrawParameterFeatures;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures registry at www.khronos.org>+type VkPhysicalDeviceShaderDrawParameterFeatures =+     VkStruct VkPhysicalDeviceShaderDrawParameterFeatures' -- ' closing tick for hsc2hs++data VkPhysicalDeviceShaderDrawParameterFeatures' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDeviceShaderDrawParameterFeatures+         where+    type StructRep VkPhysicalDeviceShaderDrawParameterFeatures =+         'StructMeta "VkPhysicalDeviceShaderDrawParameterFeatures" -- ' closing tick for hsc2hs+           VkPhysicalDeviceShaderDrawParameterFeatures+           #{size VkPhysicalDeviceShaderDrawParameterFeatures}+           #{alignment VkPhysicalDeviceShaderDrawParameterFeatures}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceShaderDrawParameterFeatures, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceShaderDrawParameterFeatures, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderDrawParameters" VkBool32 'False +                                                                #{offset VkPhysicalDeviceShaderDrawParameterFeatures, shaderDrawParameters}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPhysicalDeviceFeatures2] -- ' closing tick for hsc2hs++-- | > typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkFormat                         format;+--   >     VkImageType                      type;+--   >     VkSampleCountFlagBits            samples;+--   >     VkImageUsageFlags                usage;+--   >     VkImageTiling                    tiling;+--   > } VkPhysicalDeviceSparseImageFormatInfo2;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2 registry at www.khronos.org>+type VkPhysicalDeviceSparseImageFormatInfo2 =+     VkStruct VkPhysicalDeviceSparseImageFormatInfo2' -- ' closing tick for hsc2hs++data VkPhysicalDeviceSparseImageFormatInfo2' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDeviceSparseImageFormatInfo2 where+    type StructRep VkPhysicalDeviceSparseImageFormatInfo2 =+         'StructMeta "VkPhysicalDeviceSparseImageFormatInfo2" -- ' closing tick for hsc2hs+           VkPhysicalDeviceSparseImageFormatInfo2+           #{size VkPhysicalDeviceSparseImageFormatInfo2}+           #{alignment VkPhysicalDeviceSparseImageFormatInfo2}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceSparseImageFormatInfo2, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceSparseImageFormatInfo2, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "format" VkFormat 'False +                                                  #{offset VkPhysicalDeviceSparseImageFormatInfo2, format}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "type" VkImageType 'False +                                                   #{offset VkPhysicalDeviceSparseImageFormatInfo2, type}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "samples" VkSampleCountFlagBits 'False +                                                                #{offset VkPhysicalDeviceSparseImageFormatInfo2, samples}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "usage" VkImageUsageFlags 'False +                                                          #{offset VkPhysicalDeviceSparseImageFormatInfo2, usage}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "tiling" VkImageTiling 'False +                                                       #{offset VkPhysicalDeviceSparseImageFormatInfo2, tiling}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | Alias for `VkPhysicalDeviceSparseImageFormatInfo2`+type VkPhysicalDeviceSparseImageFormatInfo2KHR =+     VkPhysicalDeviceSparseImageFormatInfo2++-- | > typedef struct VkPhysicalDeviceSparseProperties {+--   >     VkBool32               residencyStandard2DBlockShape;+--   >     VkBool32               residencyStandard2DMultisampleBlockShape;+--   >     VkBool32               residencyStandard3DBlockShape;+--   >     VkBool32               residencyAlignedMipSize;+--   >     VkBool32               residencyNonResidentStrict;+--   > } VkPhysicalDeviceSparseProperties;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties registry at www.khronos.org>+type VkPhysicalDeviceSparseProperties =+     VkStruct VkPhysicalDeviceSparseProperties' -- ' closing tick for hsc2hs++data VkPhysicalDeviceSparseProperties' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDeviceSparseProperties where+    type StructRep VkPhysicalDeviceSparseProperties =+         'StructMeta "VkPhysicalDeviceSparseProperties" -- ' closing tick for hsc2hs+           VkPhysicalDeviceSparseProperties+           #{size VkPhysicalDeviceSparseProperties}+           #{alignment VkPhysicalDeviceSparseProperties}+           '[('FieldMeta "residencyStandard2DBlockShape" VkBool32 'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceSparseProperties, residencyStandard2DBlockShape}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "residencyStandard2DMultisampleBlockShape" VkBool32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceSparseProperties, residencyStandard2DMultisampleBlockShape}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "residencyStandard3DBlockShape" VkBool32 'False+                #{offset VkPhysicalDeviceSparseProperties, residencyStandard3DBlockShape}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "residencyAlignedMipSize" VkBool32 'False +                                                                   #{offset VkPhysicalDeviceSparseProperties, residencyAlignedMipSize}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "residencyNonResidentStrict" VkBool32 'False +                                                                      #{offset VkPhysicalDeviceSparseProperties, residencyNonResidentStrict}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkPhysicalDeviceSubgroupProperties {+--   >     VkStructureType sType;+--   >     void*                   pNext;+--   >     uint32_t                      subgroupSize;+--   >     VkShaderStageFlags            supportedStages;+--   >     VkSubgroupFeatureFlags        supportedOperations;+--   >     VkBool32 quadOperationsInAllStages;+--   > } VkPhysicalDeviceSubgroupProperties;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties registry at www.khronos.org>+type VkPhysicalDeviceSubgroupProperties =+     VkStruct VkPhysicalDeviceSubgroupProperties' -- ' closing tick for hsc2hs++data VkPhysicalDeviceSubgroupProperties' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDeviceSubgroupProperties where+    type StructRep VkPhysicalDeviceSubgroupProperties =+         'StructMeta "VkPhysicalDeviceSubgroupProperties" -- ' closing tick for hsc2hs+           VkPhysicalDeviceSubgroupProperties+           #{size VkPhysicalDeviceSubgroupProperties}+           #{alignment VkPhysicalDeviceSubgroupProperties}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceSubgroupProperties, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceSubgroupProperties, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "subgroupSize" Word32 'False +                                                      #{offset VkPhysicalDeviceSubgroupProperties, subgroupSize}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "supportedStages" VkShaderStageFlags 'False +                                                                     #{offset VkPhysicalDeviceSubgroupProperties, supportedStages}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "supportedOperations" VkSubgroupFeatureFlags 'False+                #{offset VkPhysicalDeviceSubgroupProperties, supportedOperations}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "quadOperationsInAllStages" VkBool32 'False +                                                                     #{offset VkPhysicalDeviceSubgroupProperties, quadOperationsInAllStages}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++-- | > typedef struct VkPhysicalDeviceSurfaceInfo2KHR {+--   >     VkStructureType sType;+--   >     const void* pNext;+--   >     VkSurfaceKHR surface;+--   > } VkPhysicalDeviceSurfaceInfo2KHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org>+type VkPhysicalDeviceSurfaceInfo2KHR =+     VkStruct VkPhysicalDeviceSurfaceInfo2KHR' -- ' closing tick for hsc2hs++data VkPhysicalDeviceSurfaceInfo2KHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDeviceSurfaceInfo2KHR where+    type StructRep VkPhysicalDeviceSurfaceInfo2KHR =+         'StructMeta "VkPhysicalDeviceSurfaceInfo2KHR" -- ' closing tick for hsc2hs+           VkPhysicalDeviceSurfaceInfo2KHR+           #{size VkPhysicalDeviceSurfaceInfo2KHR}+           #{alignment VkPhysicalDeviceSurfaceInfo2KHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceSurfaceInfo2KHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceSurfaceInfo2KHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "surface" VkSurfaceKHR 'False +                                                       #{offset VkPhysicalDeviceSurfaceInfo2KHR, surface}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkPhysicalDeviceVariablePointerFeatures {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     VkBool32                         variablePointersStorageBuffer;+--   >     VkBool32                         variablePointers;+--   > } VkPhysicalDeviceVariablePointerFeatures;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures registry at www.khronos.org>+type VkPhysicalDeviceVariablePointerFeatures =+     VkStruct VkPhysicalDeviceVariablePointerFeatures' -- ' closing tick for hsc2hs++data VkPhysicalDeviceVariablePointerFeatures' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDeviceVariablePointerFeatures+         where+    type StructRep VkPhysicalDeviceVariablePointerFeatures =+         'StructMeta "VkPhysicalDeviceVariablePointerFeatures" -- ' closing tick for hsc2hs+           VkPhysicalDeviceVariablePointerFeatures+           #{size VkPhysicalDeviceVariablePointerFeatures}+           #{alignment VkPhysicalDeviceVariablePointerFeatures}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceVariablePointerFeatures, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceVariablePointerFeatures, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "variablePointersStorageBuffer" VkBool32 'False+                #{offset VkPhysicalDeviceVariablePointerFeatures, variablePointersStorageBuffer}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "variablePointers" VkBool32 'False +                                                            #{offset VkPhysicalDeviceVariablePointerFeatures, variablePointers}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs++-- | Alias for `VkPhysicalDeviceVariablePointerFeatures`+type VkPhysicalDeviceVariablePointerFeaturesKHR =+     VkPhysicalDeviceVariablePointerFeatures++-- | > typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {+--   >     VkStructureType sType;+--   >     void*                  pNext;+--   >     uint32_t               maxVertexAttribDivisor;+--   > } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at www.khronos.org>+type VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT =+     VkStruct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT' -- ' closing tick for hsc2hs++data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal+           VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+         where+    type StructRep VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+         =+         'StructMeta "VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT" -- ' closing tick for hsc2hs+           VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+           #{size VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT}+           #{alignment VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxVertexAttribDivisor" Word32 'False +                                                                #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, maxVertexAttribDivisor}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/PhysicalDeviceFeatures.hsc view
@@ -2,2786 +2,363 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures-       (VkPhysicalDeviceFeatures, VkPhysicalDeviceFeatures') where -- ' closing tick for hsc2hs-import Foreign.Storable                 (Storable (..))-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Internal-import Graphics.Vulkan.Types.BaseTypes  (VkBool32)-import System.IO.Unsafe                 (unsafeDupablePerformIO)---- | > typedef struct VkPhysicalDeviceFeatures {---   >     VkBool32               robustBufferAccess;---   >     VkBool32               fullDrawIndexUint32;---   >     VkBool32               imageCubeArray;---   >     VkBool32               independentBlend;---   >     VkBool32               geometryShader;---   >     VkBool32               tessellationShader;---   >     VkBool32               sampleRateShading;---   >     VkBool32               dualSrcBlend;---   >     VkBool32               logicOp;---   >     VkBool32               multiDrawIndirect;---   >     VkBool32               drawIndirectFirstInstance;---   >     VkBool32               depthClamp;---   >     VkBool32               depthBiasClamp;---   >     VkBool32               fillModeNonSolid;---   >     VkBool32               depthBounds;---   >     VkBool32               wideLines;---   >     VkBool32               largePoints;---   >     VkBool32               alphaToOne;---   >     VkBool32               multiViewport;---   >     VkBool32               samplerAnisotropy;---   >     VkBool32               textureCompressionETC2;---   >     VkBool32               textureCompressionASTC_LDR;---   >     VkBool32               textureCompressionBC;---   >     VkBool32               occlusionQueryPrecise;---   >     VkBool32               pipelineStatisticsQuery;---   >     VkBool32               vertexPipelineStoresAndAtomics;---   >     VkBool32               fragmentStoresAndAtomics;---   >     VkBool32               shaderTessellationAndGeometryPointSize;---   >     VkBool32               shaderImageGatherExtended;---   >     VkBool32               shaderStorageImageExtendedFormats;---   >     VkBool32               shaderStorageImageMultisample;---   >     VkBool32               shaderStorageImageReadWithoutFormat;---   >     VkBool32               shaderStorageImageWriteWithoutFormat;---   >     VkBool32               shaderUniformBufferArrayDynamicIndexing;---   >     VkBool32               shaderSampledImageArrayDynamicIndexing;---   >     VkBool32               shaderStorageBufferArrayDynamicIndexing;---   >     VkBool32               shaderStorageImageArrayDynamicIndexing;---   >     VkBool32               shaderClipDistance;---   >     VkBool32               shaderCullDistance;---   >     VkBool32               shaderFloat64;---   >     VkBool32               shaderInt64;---   >     VkBool32               shaderInt16;---   >     VkBool32               shaderResourceResidency;---   >     VkBool32               shaderResourceMinLod;---   >     VkBool32               sparseBinding;---   >     VkBool32               sparseResidencyBuffer;---   >     VkBool32               sparseResidencyImage2D;---   >     VkBool32               sparseResidencyImage3D;---   >     VkBool32               sparseResidency2Samples;---   >     VkBool32               sparseResidency4Samples;---   >     VkBool32               sparseResidency8Samples;---   >     VkBool32               sparseResidency16Samples;---   >     VkBool32               sparseResidencyAliased;---   >     VkBool32               variableMultisampleRate;---   >     VkBool32               inheritedQueries;---   > } VkPhysicalDeviceFeatures;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceFeatures VkPhysicalDeviceFeatures registry at www.khronos.org>-type VkPhysicalDeviceFeatures =-     VulkanStruct VkPhysicalDeviceFeatures' -- ' closing tick for hsc2hs--data VkPhysicalDeviceFeatures' -- ' closing tick for hsc2hs--instance Eq VkPhysicalDeviceFeatures where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPhysicalDeviceFeatures where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPhysicalDeviceFeatures where-        sizeOf ~_ = #{size VkPhysicalDeviceFeatures}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkPhysicalDeviceFeatures}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPhysicalDeviceFeatures where-        type StructFields VkPhysicalDeviceFeatures =-             '["robustBufferAccess", "fullDrawIndexUint32", "imageCubeArray", -- ' closing tick for hsc2hs-               "independentBlend", "geometryShader", "tessellationShader",-               "sampleRateShading", "dualSrcBlend", "logicOp",-               "multiDrawIndirect", "drawIndirectFirstInstance", "depthClamp",-               "depthBiasClamp", "fillModeNonSolid", "depthBounds", "wideLines",-               "largePoints", "alphaToOne", "multiViewport", "samplerAnisotropy",-               "textureCompressionETC2", "textureCompressionASTC_LDR",-               "textureCompressionBC", "occlusionQueryPrecise",-               "pipelineStatisticsQuery", "vertexPipelineStoresAndAtomics",-               "fragmentStoresAndAtomics",-               "shaderTessellationAndGeometryPointSize",-               "shaderImageGatherExtended", "shaderStorageImageExtendedFormats",-               "shaderStorageImageMultisample",-               "shaderStorageImageReadWithoutFormat",-               "shaderStorageImageWriteWithoutFormat",-               "shaderUniformBufferArrayDynamicIndexing",-               "shaderSampledImageArrayDynamicIndexing",-               "shaderStorageBufferArrayDynamicIndexing",-               "shaderStorageImageArrayDynamicIndexing", "shaderClipDistance",-               "shaderCullDistance", "shaderFloat64", "shaderInt64",-               "shaderInt16", "shaderResourceResidency", "shaderResourceMinLod",-               "sparseBinding", "sparseResidencyBuffer", "sparseResidencyImage2D",-               "sparseResidencyImage3D", "sparseResidency2Samples",-               "sparseResidency4Samples", "sparseResidency8Samples",-               "sparseResidency16Samples", "sparseResidencyAliased",-               "variableMultisampleRate", "inheritedQueries"]-        type CUnionType VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPhysicalDeviceFeatures = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "robustBufferAccess" VkPhysicalDeviceFeatures where-        type FieldType "robustBufferAccess" VkPhysicalDeviceFeatures =-             VkBool32-        type FieldOptional "robustBufferAccess" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "robustBufferAccess" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, robustBufferAccess}-        type FieldIsArray "robustBufferAccess" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, robustBufferAccess}--instance {-# OVERLAPPING #-}-         CanReadField "robustBufferAccess" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, robustBufferAccess})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, robustBufferAccess}--instance {-# OVERLAPPING #-}-         CanWriteField "robustBufferAccess" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, robustBufferAccess}--instance {-# OVERLAPPING #-}-         HasField "fullDrawIndexUint32" VkPhysicalDeviceFeatures where-        type FieldType "fullDrawIndexUint32" VkPhysicalDeviceFeatures =-             VkBool32-        type FieldOptional "fullDrawIndexUint32" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "fullDrawIndexUint32" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, fullDrawIndexUint32}-        type FieldIsArray "fullDrawIndexUint32" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, fullDrawIndexUint32}--instance {-# OVERLAPPING #-}-         CanReadField "fullDrawIndexUint32" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, fullDrawIndexUint32})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, fullDrawIndexUint32}--instance {-# OVERLAPPING #-}-         CanWriteField "fullDrawIndexUint32" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, fullDrawIndexUint32}--instance {-# OVERLAPPING #-}-         HasField "imageCubeArray" VkPhysicalDeviceFeatures where-        type FieldType "imageCubeArray" VkPhysicalDeviceFeatures = VkBool32-        type FieldOptional "imageCubeArray" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "imageCubeArray" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, imageCubeArray}-        type FieldIsArray "imageCubeArray" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, imageCubeArray}--instance {-# OVERLAPPING #-}-         CanReadField "imageCubeArray" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, imageCubeArray})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, imageCubeArray}--instance {-# OVERLAPPING #-}-         CanWriteField "imageCubeArray" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, imageCubeArray}--instance {-# OVERLAPPING #-}-         HasField "independentBlend" VkPhysicalDeviceFeatures where-        type FieldType "independentBlend" VkPhysicalDeviceFeatures =-             VkBool32-        type FieldOptional "independentBlend" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "independentBlend" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, independentBlend}-        type FieldIsArray "independentBlend" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, independentBlend}--instance {-# OVERLAPPING #-}-         CanReadField "independentBlend" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, independentBlend})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, independentBlend}--instance {-# OVERLAPPING #-}-         CanWriteField "independentBlend" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, independentBlend}--instance {-# OVERLAPPING #-}-         HasField "geometryShader" VkPhysicalDeviceFeatures where-        type FieldType "geometryShader" VkPhysicalDeviceFeatures = VkBool32-        type FieldOptional "geometryShader" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "geometryShader" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, geometryShader}-        type FieldIsArray "geometryShader" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, geometryShader}--instance {-# OVERLAPPING #-}-         CanReadField "geometryShader" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, geometryShader})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, geometryShader}--instance {-# OVERLAPPING #-}-         CanWriteField "geometryShader" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, geometryShader}--instance {-# OVERLAPPING #-}-         HasField "tessellationShader" VkPhysicalDeviceFeatures where-        type FieldType "tessellationShader" VkPhysicalDeviceFeatures =-             VkBool32-        type FieldOptional "tessellationShader" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "tessellationShader" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, tessellationShader}-        type FieldIsArray "tessellationShader" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, tessellationShader}--instance {-# OVERLAPPING #-}-         CanReadField "tessellationShader" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, tessellationShader})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, tessellationShader}--instance {-# OVERLAPPING #-}-         CanWriteField "tessellationShader" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, tessellationShader}--instance {-# OVERLAPPING #-}-         HasField "sampleRateShading" VkPhysicalDeviceFeatures where-        type FieldType "sampleRateShading" VkPhysicalDeviceFeatures =-             VkBool32-        type FieldOptional "sampleRateShading" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sampleRateShading" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, sampleRateShading}-        type FieldIsArray "sampleRateShading" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, sampleRateShading}--instance {-# OVERLAPPING #-}-         CanReadField "sampleRateShading" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, sampleRateShading})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, sampleRateShading}--instance {-# OVERLAPPING #-}-         CanWriteField "sampleRateShading" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, sampleRateShading}--instance {-# OVERLAPPING #-}-         HasField "dualSrcBlend" VkPhysicalDeviceFeatures where-        type FieldType "dualSrcBlend" VkPhysicalDeviceFeatures = VkBool32-        type FieldOptional "dualSrcBlend" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dualSrcBlend" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, dualSrcBlend}-        type FieldIsArray "dualSrcBlend" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, dualSrcBlend}--instance {-# OVERLAPPING #-}-         CanReadField "dualSrcBlend" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, dualSrcBlend})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, dualSrcBlend}--instance {-# OVERLAPPING #-}-         CanWriteField "dualSrcBlend" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, dualSrcBlend}--instance {-# OVERLAPPING #-}-         HasField "logicOp" VkPhysicalDeviceFeatures where-        type FieldType "logicOp" VkPhysicalDeviceFeatures = VkBool32-        type FieldOptional "logicOp" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs-        type FieldOffset "logicOp" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, logicOp}-        type FieldIsArray "logicOp" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, logicOp}--instance {-# OVERLAPPING #-}-         CanReadField "logicOp" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, logicOp})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, logicOp}--instance {-# OVERLAPPING #-}-         CanWriteField "logicOp" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, logicOp}--instance {-# OVERLAPPING #-}-         HasField "multiDrawIndirect" VkPhysicalDeviceFeatures where-        type FieldType "multiDrawIndirect" VkPhysicalDeviceFeatures =-             VkBool32-        type FieldOptional "multiDrawIndirect" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "multiDrawIndirect" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, multiDrawIndirect}-        type FieldIsArray "multiDrawIndirect" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, multiDrawIndirect}--instance {-# OVERLAPPING #-}-         CanReadField "multiDrawIndirect" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, multiDrawIndirect})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, multiDrawIndirect}--instance {-# OVERLAPPING #-}-         CanWriteField "multiDrawIndirect" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, multiDrawIndirect}--instance {-# OVERLAPPING #-}-         HasField "drawIndirectFirstInstance" VkPhysicalDeviceFeatures where-        type FieldType "drawIndirectFirstInstance" VkPhysicalDeviceFeatures-             = VkBool32-        type FieldOptional "drawIndirectFirstInstance"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "drawIndirectFirstInstance"-               VkPhysicalDeviceFeatures-             =-             #{offset VkPhysicalDeviceFeatures, drawIndirectFirstInstance}-        type FieldIsArray "drawIndirectFirstInstance"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, drawIndirectFirstInstance}--instance {-# OVERLAPPING #-}-         CanReadField "drawIndirectFirstInstance" VkPhysicalDeviceFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, drawIndirectFirstInstance})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, drawIndirectFirstInstance}--instance {-# OVERLAPPING #-}-         CanWriteField "drawIndirectFirstInstance" VkPhysicalDeviceFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, drawIndirectFirstInstance}--instance {-# OVERLAPPING #-}-         HasField "depthClamp" VkPhysicalDeviceFeatures where-        type FieldType "depthClamp" VkPhysicalDeviceFeatures = VkBool32-        type FieldOptional "depthClamp" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs-        type FieldOffset "depthClamp" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, depthClamp}-        type FieldIsArray "depthClamp" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, depthClamp}--instance {-# OVERLAPPING #-}-         CanReadField "depthClamp" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, depthClamp})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, depthClamp}--instance {-# OVERLAPPING #-}-         CanWriteField "depthClamp" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, depthClamp}--instance {-# OVERLAPPING #-}-         HasField "depthBiasClamp" VkPhysicalDeviceFeatures where-        type FieldType "depthBiasClamp" VkPhysicalDeviceFeatures = VkBool32-        type FieldOptional "depthBiasClamp" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "depthBiasClamp" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, depthBiasClamp}-        type FieldIsArray "depthBiasClamp" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, depthBiasClamp}--instance {-# OVERLAPPING #-}-         CanReadField "depthBiasClamp" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, depthBiasClamp})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, depthBiasClamp}--instance {-# OVERLAPPING #-}-         CanWriteField "depthBiasClamp" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, depthBiasClamp}--instance {-# OVERLAPPING #-}-         HasField "fillModeNonSolid" VkPhysicalDeviceFeatures where-        type FieldType "fillModeNonSolid" VkPhysicalDeviceFeatures =-             VkBool32-        type FieldOptional "fillModeNonSolid" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "fillModeNonSolid" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, fillModeNonSolid}-        type FieldIsArray "fillModeNonSolid" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, fillModeNonSolid}--instance {-# OVERLAPPING #-}-         CanReadField "fillModeNonSolid" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, fillModeNonSolid})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, fillModeNonSolid}--instance {-# OVERLAPPING #-}-         CanWriteField "fillModeNonSolid" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, fillModeNonSolid}--instance {-# OVERLAPPING #-}-         HasField "depthBounds" VkPhysicalDeviceFeatures where-        type FieldType "depthBounds" VkPhysicalDeviceFeatures = VkBool32-        type FieldOptional "depthBounds" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs-        type FieldOffset "depthBounds" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, depthBounds}-        type FieldIsArray "depthBounds" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, depthBounds}--instance {-# OVERLAPPING #-}-         CanReadField "depthBounds" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, depthBounds})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, depthBounds}--instance {-# OVERLAPPING #-}-         CanWriteField "depthBounds" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, depthBounds}--instance {-# OVERLAPPING #-}-         HasField "wideLines" VkPhysicalDeviceFeatures where-        type FieldType "wideLines" VkPhysicalDeviceFeatures = VkBool32-        type FieldOptional "wideLines" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs-        type FieldOffset "wideLines" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, wideLines}-        type FieldIsArray "wideLines" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, wideLines}--instance {-# OVERLAPPING #-}-         CanReadField "wideLines" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, wideLines})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, wideLines}--instance {-# OVERLAPPING #-}-         CanWriteField "wideLines" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, wideLines}--instance {-# OVERLAPPING #-}-         HasField "largePoints" VkPhysicalDeviceFeatures where-        type FieldType "largePoints" VkPhysicalDeviceFeatures = VkBool32-        type FieldOptional "largePoints" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs-        type FieldOffset "largePoints" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, largePoints}-        type FieldIsArray "largePoints" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, largePoints}--instance {-# OVERLAPPING #-}-         CanReadField "largePoints" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, largePoints})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, largePoints}--instance {-# OVERLAPPING #-}-         CanWriteField "largePoints" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, largePoints}--instance {-# OVERLAPPING #-}-         HasField "alphaToOne" VkPhysicalDeviceFeatures where-        type FieldType "alphaToOne" VkPhysicalDeviceFeatures = VkBool32-        type FieldOptional "alphaToOne" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs-        type FieldOffset "alphaToOne" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, alphaToOne}-        type FieldIsArray "alphaToOne" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, alphaToOne}--instance {-# OVERLAPPING #-}-         CanReadField "alphaToOne" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, alphaToOne})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, alphaToOne}--instance {-# OVERLAPPING #-}-         CanWriteField "alphaToOne" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, alphaToOne}--instance {-# OVERLAPPING #-}-         HasField "multiViewport" VkPhysicalDeviceFeatures where-        type FieldType "multiViewport" VkPhysicalDeviceFeatures = VkBool32-        type FieldOptional "multiViewport" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "multiViewport" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, multiViewport}-        type FieldIsArray "multiViewport" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, multiViewport}--instance {-# OVERLAPPING #-}-         CanReadField "multiViewport" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, multiViewport})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, multiViewport}--instance {-# OVERLAPPING #-}-         CanWriteField "multiViewport" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, multiViewport}--instance {-# OVERLAPPING #-}-         HasField "samplerAnisotropy" VkPhysicalDeviceFeatures where-        type FieldType "samplerAnisotropy" VkPhysicalDeviceFeatures =-             VkBool32-        type FieldOptional "samplerAnisotropy" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "samplerAnisotropy" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, samplerAnisotropy}-        type FieldIsArray "samplerAnisotropy" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, samplerAnisotropy}--instance {-# OVERLAPPING #-}-         CanReadField "samplerAnisotropy" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, samplerAnisotropy})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, samplerAnisotropy}--instance {-# OVERLAPPING #-}-         CanWriteField "samplerAnisotropy" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, samplerAnisotropy}--instance {-# OVERLAPPING #-}-         HasField "textureCompressionETC2" VkPhysicalDeviceFeatures where-        type FieldType "textureCompressionETC2" VkPhysicalDeviceFeatures =-             VkBool32-        type FieldOptional "textureCompressionETC2"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "textureCompressionETC2" VkPhysicalDeviceFeatures-             =-             #{offset VkPhysicalDeviceFeatures, textureCompressionETC2}-        type FieldIsArray "textureCompressionETC2" VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, textureCompressionETC2}--instance {-# OVERLAPPING #-}-         CanReadField "textureCompressionETC2" VkPhysicalDeviceFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, textureCompressionETC2})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, textureCompressionETC2}--instance {-# OVERLAPPING #-}-         CanWriteField "textureCompressionETC2" VkPhysicalDeviceFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, textureCompressionETC2}--instance {-# OVERLAPPING #-}-         HasField "textureCompressionASTC_LDR" VkPhysicalDeviceFeatures-         where-        type FieldType "textureCompressionASTC_LDR"-               VkPhysicalDeviceFeatures-             = VkBool32-        type FieldOptional "textureCompressionASTC_LDR"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "textureCompressionASTC_LDR"-               VkPhysicalDeviceFeatures-             =-             #{offset VkPhysicalDeviceFeatures, textureCompressionASTC_LDR}-        type FieldIsArray "textureCompressionASTC_LDR"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, textureCompressionASTC_LDR}--instance {-# OVERLAPPING #-}-         CanReadField "textureCompressionASTC_LDR" VkPhysicalDeviceFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, textureCompressionASTC_LDR})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, textureCompressionASTC_LDR}--instance {-# OVERLAPPING #-}-         CanWriteField "textureCompressionASTC_LDR" VkPhysicalDeviceFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, textureCompressionASTC_LDR}--instance {-# OVERLAPPING #-}-         HasField "textureCompressionBC" VkPhysicalDeviceFeatures where-        type FieldType "textureCompressionBC" VkPhysicalDeviceFeatures =-             VkBool32-        type FieldOptional "textureCompressionBC" VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "textureCompressionBC" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, textureCompressionBC}-        type FieldIsArray "textureCompressionBC" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, textureCompressionBC}--instance {-# OVERLAPPING #-}-         CanReadField "textureCompressionBC" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, textureCompressionBC})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, textureCompressionBC}--instance {-# OVERLAPPING #-}-         CanWriteField "textureCompressionBC" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, textureCompressionBC}--instance {-# OVERLAPPING #-}-         HasField "occlusionQueryPrecise" VkPhysicalDeviceFeatures where-        type FieldType "occlusionQueryPrecise" VkPhysicalDeviceFeatures =-             VkBool32-        type FieldOptional "occlusionQueryPrecise" VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "occlusionQueryPrecise" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, occlusionQueryPrecise}-        type FieldIsArray "occlusionQueryPrecise" VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, occlusionQueryPrecise}--instance {-# OVERLAPPING #-}-         CanReadField "occlusionQueryPrecise" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, occlusionQueryPrecise})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, occlusionQueryPrecise}--instance {-# OVERLAPPING #-}-         CanWriteField "occlusionQueryPrecise" VkPhysicalDeviceFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, occlusionQueryPrecise}--instance {-# OVERLAPPING #-}-         HasField "pipelineStatisticsQuery" VkPhysicalDeviceFeatures where-        type FieldType "pipelineStatisticsQuery" VkPhysicalDeviceFeatures =-             VkBool32-        type FieldOptional "pipelineStatisticsQuery"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pipelineStatisticsQuery" VkPhysicalDeviceFeatures-             =-             #{offset VkPhysicalDeviceFeatures, pipelineStatisticsQuery}-        type FieldIsArray "pipelineStatisticsQuery"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, pipelineStatisticsQuery}--instance {-# OVERLAPPING #-}-         CanReadField "pipelineStatisticsQuery" VkPhysicalDeviceFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, pipelineStatisticsQuery})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, pipelineStatisticsQuery}--instance {-# OVERLAPPING #-}-         CanWriteField "pipelineStatisticsQuery" VkPhysicalDeviceFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, pipelineStatisticsQuery}--instance {-# OVERLAPPING #-}-         HasField "vertexPipelineStoresAndAtomics" VkPhysicalDeviceFeatures-         where-        type FieldType "vertexPipelineStoresAndAtomics"-               VkPhysicalDeviceFeatures-             = VkBool32-        type FieldOptional "vertexPipelineStoresAndAtomics"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "vertexPipelineStoresAndAtomics"-               VkPhysicalDeviceFeatures-             =-             #{offset VkPhysicalDeviceFeatures, vertexPipelineStoresAndAtomics}-        type FieldIsArray "vertexPipelineStoresAndAtomics"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, vertexPipelineStoresAndAtomics}--instance {-# OVERLAPPING #-}-         CanReadField "vertexPipelineStoresAndAtomics"-           VkPhysicalDeviceFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, vertexPipelineStoresAndAtomics})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, vertexPipelineStoresAndAtomics}--instance {-# OVERLAPPING #-}-         CanWriteField "vertexPipelineStoresAndAtomics"-           VkPhysicalDeviceFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, vertexPipelineStoresAndAtomics}--instance {-# OVERLAPPING #-}-         HasField "fragmentStoresAndAtomics" VkPhysicalDeviceFeatures where-        type FieldType "fragmentStoresAndAtomics" VkPhysicalDeviceFeatures-             = VkBool32-        type FieldOptional "fragmentStoresAndAtomics"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "fragmentStoresAndAtomics"-               VkPhysicalDeviceFeatures-             =-             #{offset VkPhysicalDeviceFeatures, fragmentStoresAndAtomics}-        type FieldIsArray "fragmentStoresAndAtomics"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, fragmentStoresAndAtomics}--instance {-# OVERLAPPING #-}-         CanReadField "fragmentStoresAndAtomics" VkPhysicalDeviceFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, fragmentStoresAndAtomics})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, fragmentStoresAndAtomics}--instance {-# OVERLAPPING #-}-         CanWriteField "fragmentStoresAndAtomics" VkPhysicalDeviceFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, fragmentStoresAndAtomics}--instance {-# OVERLAPPING #-}-         HasField "shaderTessellationAndGeometryPointSize"-           VkPhysicalDeviceFeatures-         where-        type FieldType "shaderTessellationAndGeometryPointSize"-               VkPhysicalDeviceFeatures-             = VkBool32-        type FieldOptional "shaderTessellationAndGeometryPointSize"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderTessellationAndGeometryPointSize"-               VkPhysicalDeviceFeatures-             =-             #{offset VkPhysicalDeviceFeatures, shaderTessellationAndGeometryPointSize}-        type FieldIsArray "shaderTessellationAndGeometryPointSize"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, shaderTessellationAndGeometryPointSize}--instance {-# OVERLAPPING #-}-         CanReadField "shaderTessellationAndGeometryPointSize"-           VkPhysicalDeviceFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderTessellationAndGeometryPointSize})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderTessellationAndGeometryPointSize}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderTessellationAndGeometryPointSize"-           VkPhysicalDeviceFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderTessellationAndGeometryPointSize}--instance {-# OVERLAPPING #-}-         HasField "shaderImageGatherExtended" VkPhysicalDeviceFeatures where-        type FieldType "shaderImageGatherExtended" VkPhysicalDeviceFeatures-             = VkBool32-        type FieldOptional "shaderImageGatherExtended"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderImageGatherExtended"-               VkPhysicalDeviceFeatures-             =-             #{offset VkPhysicalDeviceFeatures, shaderImageGatherExtended}-        type FieldIsArray "shaderImageGatherExtended"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, shaderImageGatherExtended}--instance {-# OVERLAPPING #-}-         CanReadField "shaderImageGatherExtended" VkPhysicalDeviceFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderImageGatherExtended})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderImageGatherExtended}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderImageGatherExtended" VkPhysicalDeviceFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderImageGatherExtended}--instance {-# OVERLAPPING #-}-         HasField "shaderStorageImageExtendedFormats"-           VkPhysicalDeviceFeatures-         where-        type FieldType "shaderStorageImageExtendedFormats"-               VkPhysicalDeviceFeatures-             = VkBool32-        type FieldOptional "shaderStorageImageExtendedFormats"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderStorageImageExtendedFormats"-               VkPhysicalDeviceFeatures-             =-             #{offset VkPhysicalDeviceFeatures, shaderStorageImageExtendedFormats}-        type FieldIsArray "shaderStorageImageExtendedFormats"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, shaderStorageImageExtendedFormats}--instance {-# OVERLAPPING #-}-         CanReadField "shaderStorageImageExtendedFormats"-           VkPhysicalDeviceFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderStorageImageExtendedFormats})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderStorageImageExtendedFormats}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderStorageImageExtendedFormats"-           VkPhysicalDeviceFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderStorageImageExtendedFormats}--instance {-# OVERLAPPING #-}-         HasField "shaderStorageImageMultisample" VkPhysicalDeviceFeatures-         where-        type FieldType "shaderStorageImageMultisample"-               VkPhysicalDeviceFeatures-             = VkBool32-        type FieldOptional "shaderStorageImageMultisample"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderStorageImageMultisample"-               VkPhysicalDeviceFeatures-             =-             #{offset VkPhysicalDeviceFeatures, shaderStorageImageMultisample}-        type FieldIsArray "shaderStorageImageMultisample"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, shaderStorageImageMultisample}--instance {-# OVERLAPPING #-}-         CanReadField "shaderStorageImageMultisample"-           VkPhysicalDeviceFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderStorageImageMultisample})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderStorageImageMultisample}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderStorageImageMultisample"-           VkPhysicalDeviceFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderStorageImageMultisample}--instance {-# OVERLAPPING #-}-         HasField "shaderStorageImageReadWithoutFormat"-           VkPhysicalDeviceFeatures-         where-        type FieldType "shaderStorageImageReadWithoutFormat"-               VkPhysicalDeviceFeatures-             = VkBool32-        type FieldOptional "shaderStorageImageReadWithoutFormat"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderStorageImageReadWithoutFormat"-               VkPhysicalDeviceFeatures-             =-             #{offset VkPhysicalDeviceFeatures, shaderStorageImageReadWithoutFormat}-        type FieldIsArray "shaderStorageImageReadWithoutFormat"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, shaderStorageImageReadWithoutFormat}--instance {-# OVERLAPPING #-}-         CanReadField "shaderStorageImageReadWithoutFormat"-           VkPhysicalDeviceFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderStorageImageReadWithoutFormat})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderStorageImageReadWithoutFormat}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderStorageImageReadWithoutFormat"-           VkPhysicalDeviceFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderStorageImageReadWithoutFormat}--instance {-# OVERLAPPING #-}-         HasField "shaderStorageImageWriteWithoutFormat"-           VkPhysicalDeviceFeatures-         where-        type FieldType "shaderStorageImageWriteWithoutFormat"-               VkPhysicalDeviceFeatures-             = VkBool32-        type FieldOptional "shaderStorageImageWriteWithoutFormat"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderStorageImageWriteWithoutFormat"-               VkPhysicalDeviceFeatures-             =-             #{offset VkPhysicalDeviceFeatures, shaderStorageImageWriteWithoutFormat}-        type FieldIsArray "shaderStorageImageWriteWithoutFormat"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, shaderStorageImageWriteWithoutFormat}--instance {-# OVERLAPPING #-}-         CanReadField "shaderStorageImageWriteWithoutFormat"-           VkPhysicalDeviceFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderStorageImageWriteWithoutFormat})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderStorageImageWriteWithoutFormat}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderStorageImageWriteWithoutFormat"-           VkPhysicalDeviceFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderStorageImageWriteWithoutFormat}--instance {-# OVERLAPPING #-}-         HasField "shaderUniformBufferArrayDynamicIndexing"-           VkPhysicalDeviceFeatures-         where-        type FieldType "shaderUniformBufferArrayDynamicIndexing"-               VkPhysicalDeviceFeatures-             = VkBool32-        type FieldOptional "shaderUniformBufferArrayDynamicIndexing"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderUniformBufferArrayDynamicIndexing"-               VkPhysicalDeviceFeatures-             =-             #{offset VkPhysicalDeviceFeatures, shaderUniformBufferArrayDynamicIndexing}-        type FieldIsArray "shaderUniformBufferArrayDynamicIndexing"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, shaderUniformBufferArrayDynamicIndexing}--instance {-# OVERLAPPING #-}-         CanReadField "shaderUniformBufferArrayDynamicIndexing"-           VkPhysicalDeviceFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderUniformBufferArrayDynamicIndexing})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderUniformBufferArrayDynamicIndexing}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderUniformBufferArrayDynamicIndexing"-           VkPhysicalDeviceFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderUniformBufferArrayDynamicIndexing}--instance {-# OVERLAPPING #-}-         HasField "shaderSampledImageArrayDynamicIndexing"-           VkPhysicalDeviceFeatures-         where-        type FieldType "shaderSampledImageArrayDynamicIndexing"-               VkPhysicalDeviceFeatures-             = VkBool32-        type FieldOptional "shaderSampledImageArrayDynamicIndexing"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderSampledImageArrayDynamicIndexing"-               VkPhysicalDeviceFeatures-             =-             #{offset VkPhysicalDeviceFeatures, shaderSampledImageArrayDynamicIndexing}-        type FieldIsArray "shaderSampledImageArrayDynamicIndexing"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, shaderSampledImageArrayDynamicIndexing}--instance {-# OVERLAPPING #-}-         CanReadField "shaderSampledImageArrayDynamicIndexing"-           VkPhysicalDeviceFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderSampledImageArrayDynamicIndexing})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderSampledImageArrayDynamicIndexing}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderSampledImageArrayDynamicIndexing"-           VkPhysicalDeviceFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderSampledImageArrayDynamicIndexing}--instance {-# OVERLAPPING #-}-         HasField "shaderStorageBufferArrayDynamicIndexing"-           VkPhysicalDeviceFeatures-         where-        type FieldType "shaderStorageBufferArrayDynamicIndexing"-               VkPhysicalDeviceFeatures-             = VkBool32-        type FieldOptional "shaderStorageBufferArrayDynamicIndexing"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderStorageBufferArrayDynamicIndexing"-               VkPhysicalDeviceFeatures-             =-             #{offset VkPhysicalDeviceFeatures, shaderStorageBufferArrayDynamicIndexing}-        type FieldIsArray "shaderStorageBufferArrayDynamicIndexing"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, shaderStorageBufferArrayDynamicIndexing}--instance {-# OVERLAPPING #-}-         CanReadField "shaderStorageBufferArrayDynamicIndexing"-           VkPhysicalDeviceFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderStorageBufferArrayDynamicIndexing})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderStorageBufferArrayDynamicIndexing}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderStorageBufferArrayDynamicIndexing"-           VkPhysicalDeviceFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderStorageBufferArrayDynamicIndexing}--instance {-# OVERLAPPING #-}-         HasField "shaderStorageImageArrayDynamicIndexing"-           VkPhysicalDeviceFeatures-         where-        type FieldType "shaderStorageImageArrayDynamicIndexing"-               VkPhysicalDeviceFeatures-             = VkBool32-        type FieldOptional "shaderStorageImageArrayDynamicIndexing"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderStorageImageArrayDynamicIndexing"-               VkPhysicalDeviceFeatures-             =-             #{offset VkPhysicalDeviceFeatures, shaderStorageImageArrayDynamicIndexing}-        type FieldIsArray "shaderStorageImageArrayDynamicIndexing"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, shaderStorageImageArrayDynamicIndexing}--instance {-# OVERLAPPING #-}-         CanReadField "shaderStorageImageArrayDynamicIndexing"-           VkPhysicalDeviceFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderStorageImageArrayDynamicIndexing})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderStorageImageArrayDynamicIndexing}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderStorageImageArrayDynamicIndexing"-           VkPhysicalDeviceFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderStorageImageArrayDynamicIndexing}--instance {-# OVERLAPPING #-}-         HasField "shaderClipDistance" VkPhysicalDeviceFeatures where-        type FieldType "shaderClipDistance" VkPhysicalDeviceFeatures =-             VkBool32-        type FieldOptional "shaderClipDistance" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderClipDistance" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, shaderClipDistance}-        type FieldIsArray "shaderClipDistance" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, shaderClipDistance}--instance {-# OVERLAPPING #-}-         CanReadField "shaderClipDistance" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderClipDistance})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderClipDistance}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderClipDistance" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderClipDistance}--instance {-# OVERLAPPING #-}-         HasField "shaderCullDistance" VkPhysicalDeviceFeatures where-        type FieldType "shaderCullDistance" VkPhysicalDeviceFeatures =-             VkBool32-        type FieldOptional "shaderCullDistance" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderCullDistance" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, shaderCullDistance}-        type FieldIsArray "shaderCullDistance" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, shaderCullDistance}--instance {-# OVERLAPPING #-}-         CanReadField "shaderCullDistance" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderCullDistance})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderCullDistance}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderCullDistance" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderCullDistance}--instance {-# OVERLAPPING #-}-         HasField "shaderFloat64" VkPhysicalDeviceFeatures where-        type FieldType "shaderFloat64" VkPhysicalDeviceFeatures = VkBool32-        type FieldOptional "shaderFloat64" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderFloat64" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, shaderFloat64}-        type FieldIsArray "shaderFloat64" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, shaderFloat64}--instance {-# OVERLAPPING #-}-         CanReadField "shaderFloat64" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderFloat64})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderFloat64}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderFloat64" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderFloat64}--instance {-# OVERLAPPING #-}-         HasField "shaderInt64" VkPhysicalDeviceFeatures where-        type FieldType "shaderInt64" VkPhysicalDeviceFeatures = VkBool32-        type FieldOptional "shaderInt64" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderInt64" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, shaderInt64}-        type FieldIsArray "shaderInt64" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, shaderInt64}--instance {-# OVERLAPPING #-}-         CanReadField "shaderInt64" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderInt64})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderInt64}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderInt64" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderInt64}--instance {-# OVERLAPPING #-}-         HasField "shaderInt16" VkPhysicalDeviceFeatures where-        type FieldType "shaderInt16" VkPhysicalDeviceFeatures = VkBool32-        type FieldOptional "shaderInt16" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderInt16" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, shaderInt16}-        type FieldIsArray "shaderInt16" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, shaderInt16}--instance {-# OVERLAPPING #-}-         CanReadField "shaderInt16" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderInt16})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderInt16}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderInt16" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderInt16}--instance {-# OVERLAPPING #-}-         HasField "shaderResourceResidency" VkPhysicalDeviceFeatures where-        type FieldType "shaderResourceResidency" VkPhysicalDeviceFeatures =-             VkBool32-        type FieldOptional "shaderResourceResidency"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderResourceResidency" VkPhysicalDeviceFeatures-             =-             #{offset VkPhysicalDeviceFeatures, shaderResourceResidency}-        type FieldIsArray "shaderResourceResidency"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, shaderResourceResidency}--instance {-# OVERLAPPING #-}-         CanReadField "shaderResourceResidency" VkPhysicalDeviceFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderResourceResidency})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderResourceResidency}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderResourceResidency" VkPhysicalDeviceFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderResourceResidency}--instance {-# OVERLAPPING #-}-         HasField "shaderResourceMinLod" VkPhysicalDeviceFeatures where-        type FieldType "shaderResourceMinLod" VkPhysicalDeviceFeatures =-             VkBool32-        type FieldOptional "shaderResourceMinLod" VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderResourceMinLod" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, shaderResourceMinLod}-        type FieldIsArray "shaderResourceMinLod" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, shaderResourceMinLod}--instance {-# OVERLAPPING #-}-         CanReadField "shaderResourceMinLod" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderResourceMinLod})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderResourceMinLod}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderResourceMinLod" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderResourceMinLod}--instance {-# OVERLAPPING #-}-         HasField "sparseBinding" VkPhysicalDeviceFeatures where-        type FieldType "sparseBinding" VkPhysicalDeviceFeatures = VkBool32-        type FieldOptional "sparseBinding" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sparseBinding" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, sparseBinding}-        type FieldIsArray "sparseBinding" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, sparseBinding}--instance {-# OVERLAPPING #-}-         CanReadField "sparseBinding" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, sparseBinding})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, sparseBinding}--instance {-# OVERLAPPING #-}-         CanWriteField "sparseBinding" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, sparseBinding}--instance {-# OVERLAPPING #-}-         HasField "sparseResidencyBuffer" VkPhysicalDeviceFeatures where-        type FieldType "sparseResidencyBuffer" VkPhysicalDeviceFeatures =-             VkBool32-        type FieldOptional "sparseResidencyBuffer" VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sparseResidencyBuffer" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, sparseResidencyBuffer}-        type FieldIsArray "sparseResidencyBuffer" VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, sparseResidencyBuffer}--instance {-# OVERLAPPING #-}-         CanReadField "sparseResidencyBuffer" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, sparseResidencyBuffer})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidencyBuffer}--instance {-# OVERLAPPING #-}-         CanWriteField "sparseResidencyBuffer" VkPhysicalDeviceFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidencyBuffer}--instance {-# OVERLAPPING #-}-         HasField "sparseResidencyImage2D" VkPhysicalDeviceFeatures where-        type FieldType "sparseResidencyImage2D" VkPhysicalDeviceFeatures =-             VkBool32-        type FieldOptional "sparseResidencyImage2D"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sparseResidencyImage2D" VkPhysicalDeviceFeatures-             =-             #{offset VkPhysicalDeviceFeatures, sparseResidencyImage2D}-        type FieldIsArray "sparseResidencyImage2D" VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, sparseResidencyImage2D}--instance {-# OVERLAPPING #-}-         CanReadField "sparseResidencyImage2D" VkPhysicalDeviceFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, sparseResidencyImage2D})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidencyImage2D}--instance {-# OVERLAPPING #-}-         CanWriteField "sparseResidencyImage2D" VkPhysicalDeviceFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidencyImage2D}--instance {-# OVERLAPPING #-}-         HasField "sparseResidencyImage3D" VkPhysicalDeviceFeatures where-        type FieldType "sparseResidencyImage3D" VkPhysicalDeviceFeatures =-             VkBool32-        type FieldOptional "sparseResidencyImage3D"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sparseResidencyImage3D" VkPhysicalDeviceFeatures-             =-             #{offset VkPhysicalDeviceFeatures, sparseResidencyImage3D}-        type FieldIsArray "sparseResidencyImage3D" VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, sparseResidencyImage3D}--instance {-# OVERLAPPING #-}-         CanReadField "sparseResidencyImage3D" VkPhysicalDeviceFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, sparseResidencyImage3D})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidencyImage3D}--instance {-# OVERLAPPING #-}-         CanWriteField "sparseResidencyImage3D" VkPhysicalDeviceFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidencyImage3D}--instance {-# OVERLAPPING #-}-         HasField "sparseResidency2Samples" VkPhysicalDeviceFeatures where-        type FieldType "sparseResidency2Samples" VkPhysicalDeviceFeatures =-             VkBool32-        type FieldOptional "sparseResidency2Samples"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sparseResidency2Samples" VkPhysicalDeviceFeatures-             =-             #{offset VkPhysicalDeviceFeatures, sparseResidency2Samples}-        type FieldIsArray "sparseResidency2Samples"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, sparseResidency2Samples}--instance {-# OVERLAPPING #-}-         CanReadField "sparseResidency2Samples" VkPhysicalDeviceFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, sparseResidency2Samples})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidency2Samples}--instance {-# OVERLAPPING #-}-         CanWriteField "sparseResidency2Samples" VkPhysicalDeviceFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidency2Samples}--instance {-# OVERLAPPING #-}-         HasField "sparseResidency4Samples" VkPhysicalDeviceFeatures where-        type FieldType "sparseResidency4Samples" VkPhysicalDeviceFeatures =-             VkBool32-        type FieldOptional "sparseResidency4Samples"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sparseResidency4Samples" VkPhysicalDeviceFeatures-             =-             #{offset VkPhysicalDeviceFeatures, sparseResidency4Samples}-        type FieldIsArray "sparseResidency4Samples"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, sparseResidency4Samples}--instance {-# OVERLAPPING #-}-         CanReadField "sparseResidency4Samples" VkPhysicalDeviceFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, sparseResidency4Samples})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidency4Samples}--instance {-# OVERLAPPING #-}-         CanWriteField "sparseResidency4Samples" VkPhysicalDeviceFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidency4Samples}--instance {-# OVERLAPPING #-}-         HasField "sparseResidency8Samples" VkPhysicalDeviceFeatures where-        type FieldType "sparseResidency8Samples" VkPhysicalDeviceFeatures =-             VkBool32-        type FieldOptional "sparseResidency8Samples"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sparseResidency8Samples" VkPhysicalDeviceFeatures-             =-             #{offset VkPhysicalDeviceFeatures, sparseResidency8Samples}-        type FieldIsArray "sparseResidency8Samples"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, sparseResidency8Samples}--instance {-# OVERLAPPING #-}-         CanReadField "sparseResidency8Samples" VkPhysicalDeviceFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, sparseResidency8Samples})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidency8Samples}--instance {-# OVERLAPPING #-}-         CanWriteField "sparseResidency8Samples" VkPhysicalDeviceFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidency8Samples}--instance {-# OVERLAPPING #-}-         HasField "sparseResidency16Samples" VkPhysicalDeviceFeatures where-        type FieldType "sparseResidency16Samples" VkPhysicalDeviceFeatures-             = VkBool32-        type FieldOptional "sparseResidency16Samples"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sparseResidency16Samples"-               VkPhysicalDeviceFeatures-             =-             #{offset VkPhysicalDeviceFeatures, sparseResidency16Samples}-        type FieldIsArray "sparseResidency16Samples"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, sparseResidency16Samples}--instance {-# OVERLAPPING #-}-         CanReadField "sparseResidency16Samples" VkPhysicalDeviceFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, sparseResidency16Samples})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidency16Samples}--instance {-# OVERLAPPING #-}-         CanWriteField "sparseResidency16Samples" VkPhysicalDeviceFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidency16Samples}--instance {-# OVERLAPPING #-}-         HasField "sparseResidencyAliased" VkPhysicalDeviceFeatures where-        type FieldType "sparseResidencyAliased" VkPhysicalDeviceFeatures =-             VkBool32-        type FieldOptional "sparseResidencyAliased"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sparseResidencyAliased" VkPhysicalDeviceFeatures-             =-             #{offset VkPhysicalDeviceFeatures, sparseResidencyAliased}-        type FieldIsArray "sparseResidencyAliased" VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, sparseResidencyAliased}--instance {-# OVERLAPPING #-}-         CanReadField "sparseResidencyAliased" VkPhysicalDeviceFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, sparseResidencyAliased})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidencyAliased}--instance {-# OVERLAPPING #-}-         CanWriteField "sparseResidencyAliased" VkPhysicalDeviceFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidencyAliased}--instance {-# OVERLAPPING #-}-         HasField "variableMultisampleRate" VkPhysicalDeviceFeatures where-        type FieldType "variableMultisampleRate" VkPhysicalDeviceFeatures =-             VkBool32-        type FieldOptional "variableMultisampleRate"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "variableMultisampleRate" VkPhysicalDeviceFeatures-             =-             #{offset VkPhysicalDeviceFeatures, variableMultisampleRate}-        type FieldIsArray "variableMultisampleRate"-               VkPhysicalDeviceFeatures-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, variableMultisampleRate}--instance {-# OVERLAPPING #-}-         CanReadField "variableMultisampleRate" VkPhysicalDeviceFeatures-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, variableMultisampleRate})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, variableMultisampleRate}--instance {-# OVERLAPPING #-}-         CanWriteField "variableMultisampleRate" VkPhysicalDeviceFeatures-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, variableMultisampleRate}--instance {-# OVERLAPPING #-}-         HasField "inheritedQueries" VkPhysicalDeviceFeatures where-        type FieldType "inheritedQueries" VkPhysicalDeviceFeatures =-             VkBool32-        type FieldOptional "inheritedQueries" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "inheritedQueries" VkPhysicalDeviceFeatures =-             #{offset VkPhysicalDeviceFeatures, inheritedQueries}-        type FieldIsArray "inheritedQueries" VkPhysicalDeviceFeatures =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPhysicalDeviceFeatures, inheritedQueries}--instance {-# OVERLAPPING #-}-         CanReadField "inheritedQueries" VkPhysicalDeviceFeatures where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, inheritedQueries})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPhysicalDeviceFeatures, inheritedQueries}--instance {-# OVERLAPPING #-}-         CanWriteField "inheritedQueries" VkPhysicalDeviceFeatures where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPhysicalDeviceFeatures, inheritedQueries}--instance Show VkPhysicalDeviceFeatures where-        showsPrec d x-          = showString "VkPhysicalDeviceFeatures {" .-              showString "robustBufferAccess = " .-                showsPrec d (getField @"robustBufferAccess" x) .-                  showString ", " .-                    showString "fullDrawIndexUint32 = " .-                      showsPrec d (getField @"fullDrawIndexUint32" x) .-                        showString ", " .-                          showString "imageCubeArray = " .-                            showsPrec d (getField @"imageCubeArray" x) .-                              showString ", " .-                                showString "independentBlend = " .-                                  showsPrec d (getField @"independentBlend" x) .-                                    showString ", " .-                                      showString "geometryShader = " .-                                        showsPrec d (getField @"geometryShader" x) .-                                          showString ", " .-                                            showString "tessellationShader = " .-                                              showsPrec d (getField @"tessellationShader" x) .-                                                showString ", " .-                                                  showString "sampleRateShading = " .-                                                    showsPrec d (getField @"sampleRateShading" x) .-                                                      showString ", " .-                                                        showString "dualSrcBlend = " .-                                                          showsPrec d (getField @"dualSrcBlend" x) .-                                                            showString ", " .-                                                              showString "logicOp = " .-                                                                showsPrec d (getField @"logicOp" x)-                                                                  .-                                                                  showString ", " .-                                                                    showString-                                                                      "multiDrawIndirect = "-                                                                      .-                                                                      showsPrec d-                                                                        (getField-                                                                           @"multiDrawIndirect"-                                                                           x)-                                                                        .-                                                                        showString ", " .-                                                                          showString-                                                                            "drawIndirectFirstInstance = "-                                                                            .-                                                                            showsPrec d-                                                                              (getField-                                                                                 @"drawIndirectFirstInstance"-                                                                                 x)-                                                                              .-                                                                              showString ", " .-                                                                                showString-                                                                                  "depthClamp = "-                                                                                  .-                                                                                  showsPrec d-                                                                                    (getField-                                                                                       @"depthClamp"-                                                                                       x)-                                                                                    .-                                                                                    showString ", "-                                                                                      .-                                                                                      showString-                                                                                        "depthBiasClamp = "-                                                                                        .-                                                                                        showsPrec d-                                                                                          (getField-                                                                                             @"depthBiasClamp"-                                                                                             x)-                                                                                          .-                                                                                          showString-                                                                                            ", "-                                                                                            .-                                                                                            showString-                                                                                              "fillModeNonSolid = "-                                                                                              .-                                                                                              showsPrec-                                                                                                d-                                                                                                (getField-                                                                                                   @"fillModeNonSolid"-                                                                                                   x)-                                                                                                .-                                                                                                showString-                                                                                                  ", "-                                                                                                  .-                                                                                                  showString-                                                                                                    "depthBounds = "-                                                                                                    .-                                                                                                    showsPrec-                                                                                                      d-                                                                                                      (getField-                                                                                                         @"depthBounds"-                                                                                                         x)-                                                                                                      .-                                                                                                      showString-                                                                                                        ", "-                                                                                                        .-                                                                                                        showString-                                                                                                          "wideLines = "-                                                                                                          .-                                                                                                          showsPrec-                                                                                                            d-                                                                                                            (getField-                                                                                                               @"wideLines"-                                                                                                               x)-                                                                                                            .-                                                                                                            showString-                                                                                                              ", "-                                                                                                              .-                                                                                                              showString-                                                                                                                "largePoints = "-                                                                                                                .-                                                                                                                showsPrec-                                                                                                                  d-                                                                                                                  (getField-                                                                                                                     @"largePoints"-                                                                                                                     x)-                                                                                                                  .-                                                                                                                  showString-                                                                                                                    ", "-                                                                                                                    .-                                                                                                                    showString-                                                                                                                      "alphaToOne = "-                                                                                                                      .-                                                                                                                      showsPrec-                                                                                                                        d-                                                                                                                        (getField-                                                                                                                           @"alphaToOne"-                                                                                                                           x)-                                                                                                                        .-                                                                                                                        showString-                                                                                                                          ", "-                                                                                                                          .-                                                                                                                          showString-                                                                                                                            "multiViewport = "-                                                                                                                            .-                                                                                                                            showsPrec-                                                                                                                              d-                                                                                                                              (getField-                                                                                                                                 @"multiViewport"-                                                                                                                                 x)-                                                                                                                              .-                                                                                                                              showString-                                                                                                                                ", "-                                                                                                                                .-                                                                                                                                showString-                                                                                                                                  "samplerAnisotropy = "-                                                                                                                                  .-                                                                                                                                  showsPrec-                                                                                                                                    d-                                                                                                                                    (getField-                                                                                                                                       @"samplerAnisotropy"-                                                                                                                                       x)-                                                                                                                                    .-                                                                                                                                    showString-                                                                                                                                      ", "-                                                                                                                                      .-                                                                                                                                      showString-                                                                                                                                        "textureCompressionETC2 = "-                                                                                                                                        .-                                                                                                                                        showsPrec-                                                                                                                                          d-                                                                                                                                          (getField-                                                                                                                                             @"textureCompressionETC2"-                                                                                                                                             x)-                                                                                                                                          .-                                                                                                                                          showString-                                                                                                                                            ", "-                                                                                                                                            .-                                                                                                                                            showString-                                                                                                                                              "textureCompressionASTC_LDR = "-                                                                                                                                              .-                                                                                                                                              showsPrec-                                                                                                                                                d-                                                                                                                                                (getField-                                                                                                                                                   @"textureCompressionASTC_LDR"-                                                                                                                                                   x)-                                                                                                                                                .-                                                                                                                                                showString-                                                                                                                                                  ", "-                                                                                                                                                  .-                                                                                                                                                  showString-                                                                                                                                                    "textureCompressionBC = "-                                                                                                                                                    .-                                                                                                                                                    showsPrec-                                                                                                                                                      d-                                                                                                                                                      (getField-                                                                                                                                                         @"textureCompressionBC"-                                                                                                                                                         x)-                                                                                                                                                      .-                                                                                                                                                      showString-                                                                                                                                                        ", "-                                                                                                                                                        .-                                                                                                                                                        showString-                                                                                                                                                          "occlusionQueryPrecise = "-                                                                                                                                                          .-                                                                                                                                                          showsPrec-                                                                                                                                                            d-                                                                                                                                                            (getField-                                                                                                                                                               @"occlusionQueryPrecise"-                                                                                                                                                               x)-                                                                                                                                                            .-                                                                                                                                                            showString-                                                                                                                                                              ", "-                                                                                                                                                              .-                                                                                                                                                              showString-                                                                                                                                                                "pipelineStatisticsQuery = "-                                                                                                                                                                .-                                                                                                                                                                showsPrec-                                                                                                                                                                  d-                                                                                                                                                                  (getField-                                                                                                                                                                     @"pipelineStatisticsQuery"-                                                                                                                                                                     x)-                                                                                                                                                                  .-                                                                                                                                                                  showString-                                                                                                                                                                    ", "-                                                                                                                                                                    .-                                                                                                                                                                    showString-                                                                                                                                                                      "vertexPipelineStoresAndAtomics = "-                                                                                                                                                                      .-                                                                                                                                                                      showsPrec-                                                                                                                                                                        d-                                                                                                                                                                        (getField-                                                                                                                                                                           @"vertexPipelineStoresAndAtomics"-                                                                                                                                                                           x)-                                                                                                                                                                        .-                                                                                                                                                                        showString-                                                                                                                                                                          ", "-                                                                                                                                                                          .-                                                                                                                                                                          showString-                                                                                                                                                                            "fragmentStoresAndAtomics = "-                                                                                                                                                                            .-                                                                                                                                                                            showsPrec-                                                                                                                                                                              d-                                                                                                                                                                              (getField-                                                                                                                                                                                 @"fragmentStoresAndAtomics"-                                                                                                                                                                                 x)-                                                                                                                                                                              .-                                                                                                                                                                              showString-                                                                                                                                                                                ", "-                                                                                                                                                                                .-                                                                                                                                                                                showString-                                                                                                                                                                                  "shaderTessellationAndGeometryPointSize = "-                                                                                                                                                                                  .-                                                                                                                                                                                  showsPrec-                                                                                                                                                                                    d-                                                                                                                                                                                    (getField-                                                                                                                                                                                       @"shaderTessellationAndGeometryPointSize"-                                                                                                                                                                                       x)-                                                                                                                                                                                    .-                                                                                                                                                                                    showString-                                                                                                                                                                                      ", "-                                                                                                                                                                                      .-                                                                                                                                                                                      showString-                                                                                                                                                                                        "shaderImageGatherExtended = "-                                                                                                                                                                                        .-                                                                                                                                                                                        showsPrec-                                                                                                                                                                                          d-                                                                                                                                                                                          (getField-                                                                                                                                                                                             @"shaderImageGatherExtended"-                                                                                                                                                                                             x)-                                                                                                                                                                                          .-                                                                                                                                                                                          showString-                                                                                                                                                                                            ", "-                                                                                                                                                                                            .-                                                                                                                                                                                            showString-                                                                                                                                                                                              "shaderStorageImageExtendedFormats = "-                                                                                                                                                                                              .-                                                                                                                                                                                              showsPrec-                                                                                                                                                                                                d-                                                                                                                                                                                                (getField-                                                                                                                                                                                                   @"shaderStorageImageExtendedFormats"-                                                                                                                                                                                                   x)-                                                                                                                                                                                                .-                                                                                                                                                                                                showString-                                                                                                                                                                                                  ", "-                                                                                                                                                                                                  .-                                                                                                                                                                                                  showString-                                                                                                                                                                                                    "shaderStorageImageMultisample = "-                                                                                                                                                                                                    .-                                                                                                                                                                                                    showsPrec-                                                                                                                                                                                                      d-                                                                                                                                                                                                      (getField-                                                                                                                                                                                                         @"shaderStorageImageMultisample"-                                                                                                                                                                                                         x)-                                                                                                                                                                                                      .-                                                                                                                                                                                                      showString-                                                                                                                                                                                                        ", "-                                                                                                                                                                                                        .-                                                                                                                                                                                                        showString-                                                                                                                                                                                                          "shaderStorageImageReadWithoutFormat = "-                                                                                                                                                                                                          .-                                                                                                                                                                                                          showsPrec-                                                                                                                                                                                                            d-                                                                                                                                                                                                            (getField-                                                                                                                                                                                                               @"shaderStorageImageReadWithoutFormat"-                                                                                                                                                                                                               x)-                                                                                                                                                                                                            .-                                                                                                                                                                                                            showString-                                                                                                                                                                                                              ", "-                                                                                                                                                                                                              .-                                                                                                                                                                                                              showString-                                                                                                                                                                                                                "shaderStorageImageWriteWithoutFormat = "-                                                                                                                                                                                                                .-                                                                                                                                                                                                                showsPrec-                                                                                                                                                                                                                  d-                                                                                                                                                                                                                  (getField-                                                                                                                                                                                                                     @"shaderStorageImageWriteWithoutFormat"-                                                                                                                                                                                                                     x)-                                                                                                                                                                                                                  .-                                                                                                                                                                                                                  showString-                                                                                                                                                                                                                    ", "-                                                                                                                                                                                                                    .-                                                                                                                                                                                                                    showString-                                                                                                                                                                                                                      "shaderUniformBufferArrayDynamicIndexing = "-                                                                                                                                                                                                                      .-                                                                                                                                                                                                                      showsPrec-                                                                                                                                                                                                                        d-                                                                                                                                                                                                                        (getField-                                                                                                                                                                                                                           @"shaderUniformBufferArrayDynamicIndexing"-                                                                                                                                                                                                                           x)-                                                                                                                                                                                                                        .-                                                                                                                                                                                                                        showString-                                                                                                                                                                                                                          ", "-                                                                                                                                                                                                                          .-                                                                                                                                                                                                                          showString-                                                                                                                                                                                                                            "shaderSampledImageArrayDynamicIndexing = "-                                                                                                                                                                                                                            .-                                                                                                                                                                                                                            showsPrec-                                                                                                                                                                                                                              d-                                                                                                                                                                                                                              (getField-                                                                                                                                                                                                                                 @"shaderSampledImageArrayDynamicIndexing"-                                                                                                                                                                                                                                 x)-                                                                                                                                                                                                                              .-                                                                                                                                                                                                                              showString-                                                                                                                                                                                                                                ", "-                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                showString-                                                                                                                                                                                                                                  "shaderStorageBufferArrayDynamicIndexing = "-                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                  showsPrec-                                                                                                                                                                                                                                    d-                                                                                                                                                                                                                                    (getField-                                                                                                                                                                                                                                       @"shaderStorageBufferArrayDynamicIndexing"-                                                                                                                                                                                                                                       x)-                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                    showString-                                                                                                                                                                                                                                      ", "-                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                      showString-                                                                                                                                                                                                                                        "shaderStorageImageArrayDynamicIndexing = "-                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                        showsPrec-                                                                                                                                                                                                                                          d-                                                                                                                                                                                                                                          (getField-                                                                                                                                                                                                                                             @"shaderStorageImageArrayDynamicIndexing"-                                                                                                                                                                                                                                             x)-                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                          showString-                                                                                                                                                                                                                                            ", "-                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                            showString-                                                                                                                                                                                                                                              "shaderClipDistance = "-                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                              showsPrec-                                                                                                                                                                                                                                                d-                                                                                                                                                                                                                                                (getField-                                                                                                                                                                                                                                                   @"shaderClipDistance"-                                                                                                                                                                                                                                                   x)-                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                showString-                                                                                                                                                                                                                                                  ", "-                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                  showString-                                                                                                                                                                                                                                                    "shaderCullDistance = "-                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                    showsPrec-                                                                                                                                                                                                                                                      d-                                                                                                                                                                                                                                                      (getField-                                                                                                                                                                                                                                                         @"shaderCullDistance"-                                                                                                                                                                                                                                                         x)-                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                      showString-                                                                                                                                                                                                                                                        ", "-                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                        showString-                                                                                                                                                                                                                                                          "shaderFloat64 = "-                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                          showsPrec-                                                                                                                                                                                                                                                            d-                                                                                                                                                                                                                                                            (getField-                                                                                                                                                                                                                                                               @"shaderFloat64"-                                                                                                                                                                                                                                                               x)-                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                            showString-                                                                                                                                                                                                                                                              ", "-                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                              showString-                                                                                                                                                                                                                                                                "shaderInt64 = "-                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                showsPrec-                                                                                                                                                                                                                                                                  d-                                                                                                                                                                                                                                                                  (getField-                                                                                                                                                                                                                                                                     @"shaderInt64"-                                                                                                                                                                                                                                                                     x)-                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                  showString-                                                                                                                                                                                                                                                                    ", "-                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                    showString-                                                                                                                                                                                                                                                                      "shaderInt16 = "-                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                      showsPrec-                                                                                                                                                                                                                                                                        d-                                                                                                                                                                                                                                                                        (getField-                                                                                                                                                                                                                                                                           @"shaderInt16"-                                                                                                                                                                                                                                                                           x)-                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                        showString-                                                                                                                                                                                                                                                                          ", "-                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                          showString-                                                                                                                                                                                                                                                                            "shaderResourceResidency = "-                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                            showsPrec-                                                                                                                                                                                                                                                                              d-                                                                                                                                                                                                                                                                              (getField-                                                                                                                                                                                                                                                                                 @"shaderResourceResidency"-                                                                                                                                                                                                                                                                                 x)-                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                              showString-                                                                                                                                                                                                                                                                                ", "-                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                showString-                                                                                                                                                                                                                                                                                  "shaderResourceMinLod = "-                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                  showsPrec-                                                                                                                                                                                                                                                                                    d-                                                                                                                                                                                                                                                                                    (getField-                                                                                                                                                                                                                                                                                       @"shaderResourceMinLod"-                                                                                                                                                                                                                                                                                       x)-                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                    showString-                                                                                                                                                                                                                                                                                      ", "-                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                      showString-                                                                                                                                                                                                                                                                                        "sparseBinding = "-                                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                                        showsPrec-                                                                                                                                                                                                                                                                                          d-                                                                                                                                                                                                                                                                                          (getField-                                                                                                                                                                                                                                                                                             @"sparseBinding"-                                                                                                                                                                                                                                                                                             x)-                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                          showString-                                                                                                                                                                                                                                                                                            ", "-                                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                                            showString-                                                                                                                                                                                                                                                                                              "sparseResidencyBuffer = "-                                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                                              showsPrec-                                                                                                                                                                                                                                                                                                d-                                                                                                                                                                                                                                                                                                (getField-                                                                                                                                                                                                                                                                                                   @"sparseResidencyBuffer"-                                                                                                                                                                                                                                                                                                   x)-                                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                                showString-                                                                                                                                                                                                                                                                                                  ", "-                                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                                  showString-                                                                                                                                                                                                                                                                                                    "sparseResidencyImage2D = "-                                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                                    showsPrec-                                                                                                                                                                                                                                                                                                      d-                                                                                                                                                                                                                                                                                                      (getField-                                                                                                                                                                                                                                                                                                         @"sparseResidencyImage2D"-                                                                                                                                                                                                                                                                                                         x)-                                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                                      showString-                                                                                                                                                                                                                                                                                                        ", "-                                                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                                                        showString-                                                                                                                                                                                                                                                                                                          "sparseResidencyImage3D = "-                                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                                          showsPrec-                                                                                                                                                                                                                                                                                                            d-                                                                                                                                                                                                                                                                                                            (getField-                                                                                                                                                                                                                                                                                                               @"sparseResidencyImage3D"-                                                                                                                                                                                                                                                                                                               x)-                                                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                                                            showString-                                                                                                                                                                                                                                                                                                              ", "-                                                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                                                              showString-                                                                                                                                                                                                                                                                                                                "sparseResidency2Samples = "-                                                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                                                showsPrec-                                                                                                                                                                                                                                                                                                                  d-                                                                                                                                                                                                                                                                                                                  (getField-                                                                                                                                                                                                                                                                                                                     @"sparseResidency2Samples"-                                                                                                                                                                                                                                                                                                                     x)-                                                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                                                  showString-                                                                                                                                                                                                                                                                                                                    ", "-                                                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                                                    showString-                                                                                                                                                                                                                                                                                                                      "sparseResidency4Samples = "-                                                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                                                      showsPrec-                                                                                                                                                                                                                                                                                                                        d-                                                                                                                                                                                                                                                                                                                        (getField-                                                                                                                                                                                                                                                                                                                           @"sparseResidency4Samples"-                                                                                                                                                                                                                                                                                                                           x)-                                                                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                                                                        showString-                                                                                                                                                                                                                                                                                                                          ", "-                                                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                                                          showString-                                                                                                                                                                                                                                                                                                                            "sparseResidency8Samples = "-                                                                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                                                                            showsPrec-                                                                                                                                                                                                                                                                                                                              d-                                                                                                                                                                                                                                                                                                                              (getField-                                                                                                                                                                                                                                                                                                                                 @"sparseResidency8Samples"-                                                                                                                                                                                                                                                                                                                                 x)-                                                                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                                                                              showString-                                                                                                                                                                                                                                                                                                                                ", "-                                                                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                                                                showString-                                                                                                                                                                                                                                                                                                                                  "sparseResidency16Samples = "-                                                                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                                                                  showsPrec-                                                                                                                                                                                                                                                                                                                                    d-                                                                                                                                                                                                                                                                                                                                    (getField-                                                                                                                                                                                                                                                                                                                                       @"sparseResidency16Samples"-                                                                                                                                                                                                                                                                                                                                       x)-                                                                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                                                                    showString-                                                                                                                                                                                                                                                                                                                                      ", "-                                                                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                                                                      showString-                                                                                                                                                                                                                                                                                                                                        "sparseResidencyAliased = "-                                                                                                                                                                                                                                                                                                                                        .-                                                                                                                                                                                                                                                                                                                                        showsPrec-                                                                                                                                                                                                                                                                                                                                          d-                                                                                                                                                                                                                                                                                                                                          (getField-                                                                                                                                                                                                                                                                                                                                             @"sparseResidencyAliased"-                                                                                                                                                                                                                                                                                                                                             x)-                                                                                                                                                                                                                                                                                                                                          .-                                                                                                                                                                                                                                                                                                                                          showString-                                                                                                                                                                                                                                                                                                                                            ", "-                                                                                                                                                                                                                                                                                                                                            .-                                                                                                                                                                                                                                                                                                                                            showString-                                                                                                                                                                                                                                                                                                                                              "variableMultisampleRate = "-                                                                                                                                                                                                                                                                                                                                              .-                                                                                                                                                                                                                                                                                                                                              showsPrec-                                                                                                                                                                                                                                                                                                                                                d-                                                                                                                                                                                                                                                                                                                                                (getField-                                                                                                                                                                                                                                                                                                                                                   @"variableMultisampleRate"-                                                                                                                                                                                                                                                                                                                                                   x)-                                                                                                                                                                                                                                                                                                                                                .-                                                                                                                                                                                                                                                                                                                                                showString-                                                                                                                                                                                                                                                                                                                                                  ", "-                                                                                                                                                                                                                                                                                                                                                  .-                                                                                                                                                                                                                                                                                                                                                  showString-                                                                                                                                                                                                                                                                                                                                                    "inheritedQueries = "-                                                                                                                                                                                                                                                                                                                                                    .-                                                                                                                                                                                                                                                                                                                                                    showsPrec-                                                                                                                                                                                                                                                                                                                                                      d-                                                                                                                                                                                                                                                                                                                                                      (getField-                                                                                                                                                                                                                                                                                                                                                         @"inheritedQueries"-                                                                                                                                                                                                                                                                                                                                                         x)-                                                                                                                                                                                                                                                                                                                                                      .-                                                                                                                                                                                                                                                                                                                                                      showChar-                                                                                                                                                                                                                                                                                                                                                        '}'+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures+       (VkPhysicalDeviceFeatures) where+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes  (VkBool32)++-- | > typedef struct VkPhysicalDeviceFeatures {+--   >     VkBool32               robustBufferAccess;+--   >     VkBool32               fullDrawIndexUint32;+--   >     VkBool32               imageCubeArray;+--   >     VkBool32               independentBlend;+--   >     VkBool32               geometryShader;+--   >     VkBool32               tessellationShader;+--   >     VkBool32               sampleRateShading;+--   >     VkBool32               dualSrcBlend;+--   >     VkBool32               logicOp;+--   >     VkBool32               multiDrawIndirect;+--   >     VkBool32               drawIndirectFirstInstance;+--   >     VkBool32               depthClamp;+--   >     VkBool32               depthBiasClamp;+--   >     VkBool32               fillModeNonSolid;+--   >     VkBool32               depthBounds;+--   >     VkBool32               wideLines;+--   >     VkBool32               largePoints;+--   >     VkBool32               alphaToOne;+--   >     VkBool32               multiViewport;+--   >     VkBool32               samplerAnisotropy;+--   >     VkBool32               textureCompressionETC2;+--   >     VkBool32               textureCompressionASTC_LDR;+--   >     VkBool32               textureCompressionBC;+--   >     VkBool32               occlusionQueryPrecise;+--   >     VkBool32               pipelineStatisticsQuery;+--   >     VkBool32               vertexPipelineStoresAndAtomics;+--   >     VkBool32               fragmentStoresAndAtomics;+--   >     VkBool32               shaderTessellationAndGeometryPointSize;+--   >     VkBool32               shaderImageGatherExtended;+--   >     VkBool32               shaderStorageImageExtendedFormats;+--   >     VkBool32               shaderStorageImageMultisample;+--   >     VkBool32               shaderStorageImageReadWithoutFormat;+--   >     VkBool32               shaderStorageImageWriteWithoutFormat;+--   >     VkBool32               shaderUniformBufferArrayDynamicIndexing;+--   >     VkBool32               shaderSampledImageArrayDynamicIndexing;+--   >     VkBool32               shaderStorageBufferArrayDynamicIndexing;+--   >     VkBool32               shaderStorageImageArrayDynamicIndexing;+--   >     VkBool32               shaderClipDistance;+--   >     VkBool32               shaderCullDistance;+--   >     VkBool32               shaderFloat64;+--   >     VkBool32               shaderInt64;+--   >     VkBool32               shaderInt16;+--   >     VkBool32               shaderResourceResidency;+--   >     VkBool32               shaderResourceMinLod;+--   >     VkBool32               sparseBinding;+--   >     VkBool32               sparseResidencyBuffer;+--   >     VkBool32               sparseResidencyImage2D;+--   >     VkBool32               sparseResidencyImage3D;+--   >     VkBool32               sparseResidency2Samples;+--   >     VkBool32               sparseResidency4Samples;+--   >     VkBool32               sparseResidency8Samples;+--   >     VkBool32               sparseResidency16Samples;+--   >     VkBool32               sparseResidencyAliased;+--   >     VkBool32               variableMultisampleRate;+--   >     VkBool32               inheritedQueries;+--   > } VkPhysicalDeviceFeatures;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceFeatures VkPhysicalDeviceFeatures registry at www.khronos.org>+type VkPhysicalDeviceFeatures = VkStruct VkPhysicalDeviceFeatures' -- ' closing tick for hsc2hs++data VkPhysicalDeviceFeatures' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPhysicalDeviceFeatures where+    type StructRep VkPhysicalDeviceFeatures =+         'StructMeta "VkPhysicalDeviceFeatures" VkPhysicalDeviceFeatures -- ' closing tick for hsc2hs+           #{size VkPhysicalDeviceFeatures}+           #{alignment VkPhysicalDeviceFeatures}+           '[('FieldMeta "robustBufferAccess" VkBool32 'False  -- ' closing tick for hsc2hs+                                                              #{offset VkPhysicalDeviceFeatures, robustBufferAccess}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "fullDrawIndexUint32" VkBool32 'False +                                                               #{offset VkPhysicalDeviceFeatures, fullDrawIndexUint32}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "imageCubeArray" VkBool32 'False +                                                          #{offset VkPhysicalDeviceFeatures, imageCubeArray}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "independentBlend" VkBool32 'False +                                                            #{offset VkPhysicalDeviceFeatures, independentBlend}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "geometryShader" VkBool32 'False +                                                          #{offset VkPhysicalDeviceFeatures, geometryShader}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "tessellationShader" VkBool32 'False +                                                              #{offset VkPhysicalDeviceFeatures, tessellationShader}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sampleRateShading" VkBool32 'False +                                                             #{offset VkPhysicalDeviceFeatures, sampleRateShading}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dualSrcBlend" VkBool32 'False +                                                        #{offset VkPhysicalDeviceFeatures, dualSrcBlend}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "logicOp" VkBool32 'False +                                                   #{offset VkPhysicalDeviceFeatures, logicOp}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "multiDrawIndirect" VkBool32 'False +                                                             #{offset VkPhysicalDeviceFeatures, multiDrawIndirect}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "drawIndirectFirstInstance" VkBool32 'False +                                                                     #{offset VkPhysicalDeviceFeatures, drawIndirectFirstInstance}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "depthClamp" VkBool32 'False +                                                      #{offset VkPhysicalDeviceFeatures, depthClamp}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "depthBiasClamp" VkBool32 'False +                                                          #{offset VkPhysicalDeviceFeatures, depthBiasClamp}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "fillModeNonSolid" VkBool32 'False +                                                            #{offset VkPhysicalDeviceFeatures, fillModeNonSolid}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "depthBounds" VkBool32 'False +                                                       #{offset VkPhysicalDeviceFeatures, depthBounds}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "wideLines" VkBool32 'False +                                                     #{offset VkPhysicalDeviceFeatures, wideLines}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "largePoints" VkBool32 'False +                                                       #{offset VkPhysicalDeviceFeatures, largePoints}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "alphaToOne" VkBool32 'False +                                                      #{offset VkPhysicalDeviceFeatures, alphaToOne}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "multiViewport" VkBool32 'False +                                                         #{offset VkPhysicalDeviceFeatures, multiViewport}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "samplerAnisotropy" VkBool32 'False +                                                             #{offset VkPhysicalDeviceFeatures, samplerAnisotropy}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "textureCompressionETC2" VkBool32 'False +                                                                  #{offset VkPhysicalDeviceFeatures, textureCompressionETC2}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "textureCompressionASTC_LDR" VkBool32 'False +                                                                      #{offset VkPhysicalDeviceFeatures, textureCompressionASTC_LDR}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "textureCompressionBC" VkBool32 'False +                                                                #{offset VkPhysicalDeviceFeatures, textureCompressionBC}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "occlusionQueryPrecise" VkBool32 'False +                                                                 #{offset VkPhysicalDeviceFeatures, occlusionQueryPrecise}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pipelineStatisticsQuery" VkBool32 'False +                                                                   #{offset VkPhysicalDeviceFeatures, pipelineStatisticsQuery}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "vertexPipelineStoresAndAtomics" VkBool32 'False+                #{offset VkPhysicalDeviceFeatures, vertexPipelineStoresAndAtomics}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "fragmentStoresAndAtomics" VkBool32 'False +                                                                    #{offset VkPhysicalDeviceFeatures, fragmentStoresAndAtomics}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderTessellationAndGeometryPointSize" VkBool32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceFeatures, shaderTessellationAndGeometryPointSize}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderImageGatherExtended" VkBool32 'False +                                                                     #{offset VkPhysicalDeviceFeatures, shaderImageGatherExtended}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderStorageImageExtendedFormats" VkBool32 'False+                #{offset VkPhysicalDeviceFeatures, shaderStorageImageExtendedFormats}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderStorageImageMultisample" VkBool32 'False+                #{offset VkPhysicalDeviceFeatures, shaderStorageImageMultisample}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderStorageImageReadWithoutFormat" VkBool32 'False+                #{offset VkPhysicalDeviceFeatures, shaderStorageImageReadWithoutFormat}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderStorageImageWriteWithoutFormat" VkBool32 'False+                #{offset VkPhysicalDeviceFeatures, shaderStorageImageWriteWithoutFormat}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderUniformBufferArrayDynamicIndexing" VkBool32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceFeatures, shaderUniformBufferArrayDynamicIndexing}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderSampledImageArrayDynamicIndexing" VkBool32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceFeatures, shaderSampledImageArrayDynamicIndexing}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderStorageBufferArrayDynamicIndexing" VkBool32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceFeatures, shaderStorageBufferArrayDynamicIndexing}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderStorageImageArrayDynamicIndexing" VkBool32 -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPhysicalDeviceFeatures, shaderStorageImageArrayDynamicIndexing}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderClipDistance" VkBool32 'False +                                                              #{offset VkPhysicalDeviceFeatures, shaderClipDistance}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderCullDistance" VkBool32 'False +                                                              #{offset VkPhysicalDeviceFeatures, shaderCullDistance}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderFloat64" VkBool32 'False +                                                         #{offset VkPhysicalDeviceFeatures, shaderFloat64}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderInt64" VkBool32 'False +                                                       #{offset VkPhysicalDeviceFeatures, shaderInt64}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderInt16" VkBool32 'False +                                                       #{offset VkPhysicalDeviceFeatures, shaderInt16}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderResourceResidency" VkBool32 'False +                                                                   #{offset VkPhysicalDeviceFeatures, shaderResourceResidency}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "shaderResourceMinLod" VkBool32 'False +                                                                #{offset VkPhysicalDeviceFeatures, shaderResourceMinLod}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sparseBinding" VkBool32 'False +                                                         #{offset VkPhysicalDeviceFeatures, sparseBinding}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sparseResidencyBuffer" VkBool32 'False +                                                                 #{offset VkPhysicalDeviceFeatures, sparseResidencyBuffer}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sparseResidencyImage2D" VkBool32 'False +                                                                  #{offset VkPhysicalDeviceFeatures, sparseResidencyImage2D}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sparseResidencyImage3D" VkBool32 'False +                                                                  #{offset VkPhysicalDeviceFeatures, sparseResidencyImage3D}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sparseResidency2Samples" VkBool32 'False +                                                                   #{offset VkPhysicalDeviceFeatures, sparseResidency2Samples}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sparseResidency4Samples" VkBool32 'False +                                                                   #{offset VkPhysicalDeviceFeatures, sparseResidency4Samples}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sparseResidency8Samples" VkBool32 'False +                                                                   #{offset VkPhysicalDeviceFeatures, sparseResidency8Samples}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sparseResidency16Samples" VkBool32 'False +                                                                    #{offset VkPhysicalDeviceFeatures, sparseResidency16Samples}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sparseResidencyAliased" VkBool32 'False +                                                                  #{offset VkPhysicalDeviceFeatures, sparseResidencyAliased}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "variableMultisampleRate" VkBool32 'False +                                                                   #{offset VkPhysicalDeviceFeatures, variableMultisampleRate}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "inheritedQueries" VkBool32 'False +                                                            #{offset VkPhysicalDeviceFeatures, inheritedQueries}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc view
@@ -1,8923 +1,1647 @@ #include "vulkan/vulkan.h"  {-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleContexts      #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE PatternSynonyms       #-}-{-# LANGUAGE ScopedTypeVariables   #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-}-{-# LANGUAGE TypeFamilies          #-}-{-# LANGUAGE UndecidableInstances  #-}-module Graphics.Vulkan.Types.Struct.Pipeline-       (VkGraphicsPipelineCreateInfo, VkGraphicsPipelineCreateInfo', -- ' closing tick for hsc2hs-        VkPipelineCacheCreateInfo, VkPipelineCacheCreateInfo', -- ' closing tick for hsc2hs-        VkPipelineColorBlendAdvancedStateCreateInfoEXT,-        VkPipelineColorBlendAdvancedStateCreateInfoEXT', -- ' closing tick for hsc2hs-        VkPipelineColorBlendAttachmentState,-        VkPipelineColorBlendAttachmentState', -- ' closing tick for hsc2hs-        VkPipelineColorBlendStateCreateInfo,-        VkPipelineColorBlendStateCreateInfo', -- ' closing tick for hsc2hs-        VkPipelineCoverageModulationStateCreateInfoNV,-        VkPipelineCoverageModulationStateCreateInfoNV', -- ' closing tick for hsc2hs-        VkPipelineCoverageToColorStateCreateInfoNV,-        VkPipelineCoverageToColorStateCreateInfoNV', -- ' closing tick for hsc2hs-        VkPipelineDepthStencilStateCreateInfo,-        VkPipelineDepthStencilStateCreateInfo', -- ' closing tick for hsc2hs-        VkPipelineDiscardRectangleStateCreateInfoEXT,-        VkPipelineDiscardRectangleStateCreateInfoEXT', -- ' closing tick for hsc2hs-        VkPipelineDynamicStateCreateInfo,-        VkPipelineDynamicStateCreateInfo', -- ' closing tick for hsc2hs-        VkPipelineInputAssemblyStateCreateInfo,-        VkPipelineInputAssemblyStateCreateInfo', -- ' closing tick for hsc2hs-        VkPipelineLayoutCreateInfo, VkPipelineLayoutCreateInfo', -- ' closing tick for hsc2hs-        VkPipelineMultisampleStateCreateInfo,-        VkPipelineMultisampleStateCreateInfo', -- ' closing tick for hsc2hs-        VkPipelineRasterizationConservativeStateCreateInfoEXT,-        VkPipelineRasterizationConservativeStateCreateInfoEXT', -- ' closing tick for hsc2hs-        VkPipelineRasterizationStateCreateInfo,-        VkPipelineRasterizationStateCreateInfo', -- ' closing tick for hsc2hs-        VkPipelineRasterizationStateRasterizationOrderAMD,-        VkPipelineRasterizationStateRasterizationOrderAMD', -- ' closing tick for hsc2hs-        VkPipelineSampleLocationsStateCreateInfoEXT,-        VkPipelineSampleLocationsStateCreateInfoEXT', -- ' closing tick for hsc2hs-        VkPipelineShaderStageCreateInfo, VkPipelineShaderStageCreateInfo', -- ' closing tick for hsc2hs-        VkPipelineTessellationDomainOriginStateCreateInfo,-        VkPipelineTessellationDomainOriginStateCreateInfo', -- ' closing tick for hsc2hs-        VkPipelineTessellationDomainOriginStateCreateInfoKHR,-        VkPipelineTessellationStateCreateInfo,-        VkPipelineTessellationStateCreateInfo', -- ' closing tick for hsc2hs-        VkPipelineVertexInputDivisorStateCreateInfoEXT,-        VkPipelineVertexInputDivisorStateCreateInfoEXT', -- ' closing tick for hsc2hs-        VkPipelineVertexInputStateCreateInfo,-        VkPipelineVertexInputStateCreateInfo', -- ' closing tick for hsc2hs-        VkPipelineViewportStateCreateInfo,-        VkPipelineViewportStateCreateInfo', -- ' closing tick for hsc2hs-        VkPipelineViewportSwizzleStateCreateInfoNV,-        VkPipelineViewportSwizzleStateCreateInfoNV', -- ' closing tick for hsc2hs-        VkPipelineViewportWScalingStateCreateInfoNV,-        VkPipelineViewportWScalingStateCreateInfoNV') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                                            (Storable (..))-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Internal-import Graphics.Vulkan.Types.BaseTypes                             (VkBool32,-                                                                    VkSampleMask)-import Graphics.Vulkan.Types.Bitmasks                              (VkPipelineCacheCreateFlags,-                                                                    VkPipelineColorBlendStateCreateFlags,-                                                                    VkPipelineCoverageModulationStateCreateFlagsNV,-                                                                    VkPipelineCoverageToColorStateCreateFlagsNV,-                                                                    VkPipelineDepthStencilStateCreateFlags,-                                                                    VkPipelineDiscardRectangleStateCreateFlagsEXT,-                                                                    VkPipelineDynamicStateCreateFlags,-                                                                    VkPipelineInputAssemblyStateCreateFlags,-                                                                    VkPipelineLayoutCreateFlags,-                                                                    VkPipelineMultisampleStateCreateFlags,-                                                                    VkPipelineRasterizationConservativeStateCreateFlagsEXT,-                                                                    VkPipelineRasterizationStateCreateFlags,-                                                                    VkPipelineShaderStageCreateFlags,-                                                                    VkPipelineTessellationStateCreateFlags,-                                                                    VkPipelineVertexInputStateCreateFlags,-                                                                    VkPipelineViewportStateCreateFlags,-                                                                    VkPipelineViewportSwizzleStateCreateFlagsNV)-import Graphics.Vulkan.Types.Enum.Blend                            (VkBlendFactor,-                                                                    VkBlendOp,-                                                                    VkBlendOverlapEXT)-import Graphics.Vulkan.Types.Enum.Color                            (VkColorComponentFlags)-import Graphics.Vulkan.Types.Enum.CompareOp                        (VkCompareOp)-import Graphics.Vulkan.Types.Enum.ConservativeRasterizationModeEXT (VkConservativeRasterizationModeEXT)-import Graphics.Vulkan.Types.Enum.CoverageModulationModeNV         (VkCoverageModulationModeNV)-import Graphics.Vulkan.Types.Enum.CullModeFlags                    (VkCullModeFlags)-import Graphics.Vulkan.Types.Enum.DiscardRectangleModeEXT          (VkDiscardRectangleModeEXT)-import Graphics.Vulkan.Types.Enum.DynamicState                     (VkDynamicState)-import Graphics.Vulkan.Types.Enum.FrontFace                        (VkFrontFace)-import Graphics.Vulkan.Types.Enum.LogicOp                          (VkLogicOp)-import Graphics.Vulkan.Types.Enum.Pipeline                         (VkPipelineCreateFlags)-import Graphics.Vulkan.Types.Enum.PolygonMode                      (VkPolygonMode)-import Graphics.Vulkan.Types.Enum.PrimitiveTopology                (VkPrimitiveTopology)-import Graphics.Vulkan.Types.Enum.RasterizationOrderAMD            (VkRasterizationOrderAMD)-import Graphics.Vulkan.Types.Enum.SampleCountFlags                 (VkSampleCountFlagBits)-import Graphics.Vulkan.Types.Enum.Shader                           (VkShaderStageFlagBits)-import Graphics.Vulkan.Types.Enum.StructureType                    (VkStructureType)-import Graphics.Vulkan.Types.Enum.TessellationDomainOrigin         (VkTessellationDomainOrigin)-import Graphics.Vulkan.Types.Handles                               (VkDescriptorSetLayout,-                                                                    VkPipeline,-                                                                    VkPipelineLayout,-                                                                    VkRenderPass,-                                                                    VkShaderModule)-import Graphics.Vulkan.Types.Struct.PushConstantRange              (VkPushConstantRange)-import Graphics.Vulkan.Types.Struct.Rect                           (VkRect2D)-import Graphics.Vulkan.Types.Struct.SampleLocation                 (VkSampleLocationsInfoEXT)-import Graphics.Vulkan.Types.Struct.Specialization                 (VkSpecializationInfo)-import Graphics.Vulkan.Types.Struct.StencilOpState                 (VkStencilOpState)-import Graphics.Vulkan.Types.Struct.VertexInput                    (VkVertexInputAttributeDescription,-                                                                    VkVertexInputBindingDescription,-                                                                    VkVertexInputBindingDivisorDescriptionEXT)-import Graphics.Vulkan.Types.Struct.Viewport                       (VkViewport, VkViewportSwizzleNV,-                                                                    VkViewportWScalingNV)-import System.IO.Unsafe                                            (unsafeDupablePerformIO)---- | > typedef struct VkGraphicsPipelineCreateInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkPipelineCreateFlags  flags;---   >     uint32_t               stageCount;---   >     const VkPipelineShaderStageCreateInfo* pStages;---   >     const VkPipelineVertexInputStateCreateInfo* pVertexInputState;---   >     const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;---   >     const VkPipelineTessellationStateCreateInfo* pTessellationState;---   >     const VkPipelineViewportStateCreateInfo* pViewportState;---   >     const VkPipelineRasterizationStateCreateInfo* pRasterizationState;---   >     const VkPipelineMultisampleStateCreateInfo* pMultisampleState;---   >     const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;---   >     const VkPipelineColorBlendStateCreateInfo* pColorBlendState;---   >     const VkPipelineDynamicStateCreateInfo* pDynamicState;---   >     VkPipelineLayout       layout;---   >     VkRenderPass           renderPass;---   >     uint32_t               subpass;---   >     VkPipeline      basePipelineHandle;---   >     int32_t                basePipelineIndex;---   > } VkGraphicsPipelineCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkGraphicsPipelineCreateInfo VkGraphicsPipelineCreateInfo registry at www.khronos.org>-type VkGraphicsPipelineCreateInfo =-     VulkanStruct VkGraphicsPipelineCreateInfo' -- ' closing tick for hsc2hs--data VkGraphicsPipelineCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkGraphicsPipelineCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkGraphicsPipelineCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkGraphicsPipelineCreateInfo where-        sizeOf ~_ = #{size VkGraphicsPipelineCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkGraphicsPipelineCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkGraphicsPipelineCreateInfo where-        type StructFields VkGraphicsPipelineCreateInfo =-             '["sType", "pNext", "flags", "stageCount", "pStages", -- ' closing tick for hsc2hs-               "pVertexInputState", "pInputAssemblyState", "pTessellationState",-               "pViewportState", "pRasterizationState", "pMultisampleState",-               "pDepthStencilState", "pColorBlendState", "pDynamicState",-               "layout", "renderPass", "subpass", "basePipelineHandle",-               "basePipelineIndex"]-        type CUnionType VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkGraphicsPipelineCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkGraphicsPipelineCreateInfo where-        type FieldType "sType" VkGraphicsPipelineCreateInfo =-             VkStructureType-        type FieldOptional "sType" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkGraphicsPipelineCreateInfo =-             #{offset VkGraphicsPipelineCreateInfo, sType}-        type FieldIsArray "sType" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkGraphicsPipelineCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkGraphicsPipelineCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkGraphicsPipelineCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkGraphicsPipelineCreateInfo where-        type FieldType "pNext" VkGraphicsPipelineCreateInfo = Ptr Void-        type FieldOptional "pNext" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkGraphicsPipelineCreateInfo =-             #{offset VkGraphicsPipelineCreateInfo, pNext}-        type FieldIsArray "pNext" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkGraphicsPipelineCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkGraphicsPipelineCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkGraphicsPipelineCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkGraphicsPipelineCreateInfo where-        type FieldType "flags" VkGraphicsPipelineCreateInfo =-             VkPipelineCreateFlags-        type FieldOptional "flags" VkGraphicsPipelineCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkGraphicsPipelineCreateInfo =-             #{offset VkGraphicsPipelineCreateInfo, flags}-        type FieldIsArray "flags" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkGraphicsPipelineCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkGraphicsPipelineCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkGraphicsPipelineCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "stageCount" VkGraphicsPipelineCreateInfo where-        type FieldType "stageCount" VkGraphicsPipelineCreateInfo = Word32-        type FieldOptional "stageCount" VkGraphicsPipelineCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "stageCount" VkGraphicsPipelineCreateInfo =-             #{offset VkGraphicsPipelineCreateInfo, stageCount}-        type FieldIsArray "stageCount" VkGraphicsPipelineCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkGraphicsPipelineCreateInfo, stageCount}--instance {-# OVERLAPPING #-}-         CanReadField "stageCount" VkGraphicsPipelineCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, stageCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, stageCount}--instance {-# OVERLAPPING #-}-         CanWriteField "stageCount" VkGraphicsPipelineCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, stageCount}--instance {-# OVERLAPPING #-}-         HasField "pStages" VkGraphicsPipelineCreateInfo where-        type FieldType "pStages" VkGraphicsPipelineCreateInfo =-             Ptr VkPipelineShaderStageCreateInfo-        type FieldOptional "pStages" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pStages" VkGraphicsPipelineCreateInfo =-             #{offset VkGraphicsPipelineCreateInfo, pStages}-        type FieldIsArray "pStages" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkGraphicsPipelineCreateInfo, pStages}--instance {-# OVERLAPPING #-}-         CanReadField "pStages" VkGraphicsPipelineCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pStages})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pStages}--instance {-# OVERLAPPING #-}-         CanWriteField "pStages" VkGraphicsPipelineCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pStages}--instance {-# OVERLAPPING #-}-         HasField "pVertexInputState" VkGraphicsPipelineCreateInfo where-        type FieldType "pVertexInputState" VkGraphicsPipelineCreateInfo =-             Ptr VkPipelineVertexInputStateCreateInfo-        type FieldOptional "pVertexInputState" VkGraphicsPipelineCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pVertexInputState" VkGraphicsPipelineCreateInfo =-             #{offset VkGraphicsPipelineCreateInfo, pVertexInputState}-        type FieldIsArray "pVertexInputState" VkGraphicsPipelineCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkGraphicsPipelineCreateInfo, pVertexInputState}--instance {-# OVERLAPPING #-}-         CanReadField "pVertexInputState" VkGraphicsPipelineCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pVertexInputState})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pVertexInputState}--instance {-# OVERLAPPING #-}-         CanWriteField "pVertexInputState" VkGraphicsPipelineCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pVertexInputState}--instance {-# OVERLAPPING #-}-         HasField "pInputAssemblyState" VkGraphicsPipelineCreateInfo where-        type FieldType "pInputAssemblyState" VkGraphicsPipelineCreateInfo =-             Ptr VkPipelineInputAssemblyStateCreateInfo-        type FieldOptional "pInputAssemblyState"-               VkGraphicsPipelineCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pInputAssemblyState" VkGraphicsPipelineCreateInfo-             =-             #{offset VkGraphicsPipelineCreateInfo, pInputAssemblyState}-        type FieldIsArray "pInputAssemblyState"-               VkGraphicsPipelineCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkGraphicsPipelineCreateInfo, pInputAssemblyState}--instance {-# OVERLAPPING #-}-         CanReadField "pInputAssemblyState" VkGraphicsPipelineCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pInputAssemblyState})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pInputAssemblyState}--instance {-# OVERLAPPING #-}-         CanWriteField "pInputAssemblyState" VkGraphicsPipelineCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pInputAssemblyState}--instance {-# OVERLAPPING #-}-         HasField "pTessellationState" VkGraphicsPipelineCreateInfo where-        type FieldType "pTessellationState" VkGraphicsPipelineCreateInfo =-             Ptr VkPipelineTessellationStateCreateInfo-        type FieldOptional "pTessellationState"-               VkGraphicsPipelineCreateInfo-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pTessellationState" VkGraphicsPipelineCreateInfo-             =-             #{offset VkGraphicsPipelineCreateInfo, pTessellationState}-        type FieldIsArray "pTessellationState" VkGraphicsPipelineCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkGraphicsPipelineCreateInfo, pTessellationState}--instance {-# OVERLAPPING #-}-         CanReadField "pTessellationState" VkGraphicsPipelineCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pTessellationState})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pTessellationState}--instance {-# OVERLAPPING #-}-         CanWriteField "pTessellationState" VkGraphicsPipelineCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pTessellationState}--instance {-# OVERLAPPING #-}-         HasField "pViewportState" VkGraphicsPipelineCreateInfo where-        type FieldType "pViewportState" VkGraphicsPipelineCreateInfo =-             Ptr VkPipelineViewportStateCreateInfo-        type FieldOptional "pViewportState" VkGraphicsPipelineCreateInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "pViewportState" VkGraphicsPipelineCreateInfo =-             #{offset VkGraphicsPipelineCreateInfo, pViewportState}-        type FieldIsArray "pViewportState" VkGraphicsPipelineCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkGraphicsPipelineCreateInfo, pViewportState}--instance {-# OVERLAPPING #-}-         CanReadField "pViewportState" VkGraphicsPipelineCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pViewportState})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pViewportState}--instance {-# OVERLAPPING #-}-         CanWriteField "pViewportState" VkGraphicsPipelineCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pViewportState}--instance {-# OVERLAPPING #-}-         HasField "pRasterizationState" VkGraphicsPipelineCreateInfo where-        type FieldType "pRasterizationState" VkGraphicsPipelineCreateInfo =-             Ptr VkPipelineRasterizationStateCreateInfo-        type FieldOptional "pRasterizationState"-               VkGraphicsPipelineCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pRasterizationState" VkGraphicsPipelineCreateInfo-             =-             #{offset VkGraphicsPipelineCreateInfo, pRasterizationState}-        type FieldIsArray "pRasterizationState"-               VkGraphicsPipelineCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkGraphicsPipelineCreateInfo, pRasterizationState}--instance {-# OVERLAPPING #-}-         CanReadField "pRasterizationState" VkGraphicsPipelineCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pRasterizationState})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pRasterizationState}--instance {-# OVERLAPPING #-}-         CanWriteField "pRasterizationState" VkGraphicsPipelineCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pRasterizationState}--instance {-# OVERLAPPING #-}-         HasField "pMultisampleState" VkGraphicsPipelineCreateInfo where-        type FieldType "pMultisampleState" VkGraphicsPipelineCreateInfo =-             Ptr VkPipelineMultisampleStateCreateInfo-        type FieldOptional "pMultisampleState" VkGraphicsPipelineCreateInfo-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pMultisampleState" VkGraphicsPipelineCreateInfo =-             #{offset VkGraphicsPipelineCreateInfo, pMultisampleState}-        type FieldIsArray "pMultisampleState" VkGraphicsPipelineCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkGraphicsPipelineCreateInfo, pMultisampleState}--instance {-# OVERLAPPING #-}-         CanReadField "pMultisampleState" VkGraphicsPipelineCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pMultisampleState})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pMultisampleState}--instance {-# OVERLAPPING #-}-         CanWriteField "pMultisampleState" VkGraphicsPipelineCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pMultisampleState}--instance {-# OVERLAPPING #-}-         HasField "pDepthStencilState" VkGraphicsPipelineCreateInfo where-        type FieldType "pDepthStencilState" VkGraphicsPipelineCreateInfo =-             Ptr VkPipelineDepthStencilStateCreateInfo-        type FieldOptional "pDepthStencilState"-               VkGraphicsPipelineCreateInfo-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pDepthStencilState" VkGraphicsPipelineCreateInfo-             =-             #{offset VkGraphicsPipelineCreateInfo, pDepthStencilState}-        type FieldIsArray "pDepthStencilState" VkGraphicsPipelineCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkGraphicsPipelineCreateInfo, pDepthStencilState}--instance {-# OVERLAPPING #-}-         CanReadField "pDepthStencilState" VkGraphicsPipelineCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pDepthStencilState})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pDepthStencilState}--instance {-# OVERLAPPING #-}-         CanWriteField "pDepthStencilState" VkGraphicsPipelineCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pDepthStencilState}--instance {-# OVERLAPPING #-}-         HasField "pColorBlendState" VkGraphicsPipelineCreateInfo where-        type FieldType "pColorBlendState" VkGraphicsPipelineCreateInfo =-             Ptr VkPipelineColorBlendStateCreateInfo-        type FieldOptional "pColorBlendState" VkGraphicsPipelineCreateInfo-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pColorBlendState" VkGraphicsPipelineCreateInfo =-             #{offset VkGraphicsPipelineCreateInfo, pColorBlendState}-        type FieldIsArray "pColorBlendState" VkGraphicsPipelineCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkGraphicsPipelineCreateInfo, pColorBlendState}--instance {-# OVERLAPPING #-}-         CanReadField "pColorBlendState" VkGraphicsPipelineCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pColorBlendState})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pColorBlendState}--instance {-# OVERLAPPING #-}-         CanWriteField "pColorBlendState" VkGraphicsPipelineCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pColorBlendState}--instance {-# OVERLAPPING #-}-         HasField "pDynamicState" VkGraphicsPipelineCreateInfo where-        type FieldType "pDynamicState" VkGraphicsPipelineCreateInfo =-             Ptr VkPipelineDynamicStateCreateInfo-        type FieldOptional "pDynamicState" VkGraphicsPipelineCreateInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "pDynamicState" VkGraphicsPipelineCreateInfo =-             #{offset VkGraphicsPipelineCreateInfo, pDynamicState}-        type FieldIsArray "pDynamicState" VkGraphicsPipelineCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkGraphicsPipelineCreateInfo, pDynamicState}--instance {-# OVERLAPPING #-}-         CanReadField "pDynamicState" VkGraphicsPipelineCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pDynamicState})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pDynamicState}--instance {-# OVERLAPPING #-}-         CanWriteField "pDynamicState" VkGraphicsPipelineCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pDynamicState}--instance {-# OVERLAPPING #-}-         HasField "layout" VkGraphicsPipelineCreateInfo where-        type FieldType "layout" VkGraphicsPipelineCreateInfo =-             VkPipelineLayout-        type FieldOptional "layout" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "layout" VkGraphicsPipelineCreateInfo =-             #{offset VkGraphicsPipelineCreateInfo, layout}-        type FieldIsArray "layout" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkGraphicsPipelineCreateInfo, layout}--instance {-# OVERLAPPING #-}-         CanReadField "layout" VkGraphicsPipelineCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, layout})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, layout}--instance {-# OVERLAPPING #-}-         CanWriteField "layout" VkGraphicsPipelineCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, layout}--instance {-# OVERLAPPING #-}-         HasField "renderPass" VkGraphicsPipelineCreateInfo where-        type FieldType "renderPass" VkGraphicsPipelineCreateInfo =-             VkRenderPass-        type FieldOptional "renderPass" VkGraphicsPipelineCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "renderPass" VkGraphicsPipelineCreateInfo =-             #{offset VkGraphicsPipelineCreateInfo, renderPass}-        type FieldIsArray "renderPass" VkGraphicsPipelineCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkGraphicsPipelineCreateInfo, renderPass}--instance {-# OVERLAPPING #-}-         CanReadField "renderPass" VkGraphicsPipelineCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, renderPass})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, renderPass}--instance {-# OVERLAPPING #-}-         CanWriteField "renderPass" VkGraphicsPipelineCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, renderPass}--instance {-# OVERLAPPING #-}-         HasField "subpass" VkGraphicsPipelineCreateInfo where-        type FieldType "subpass" VkGraphicsPipelineCreateInfo = Word32-        type FieldOptional "subpass" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "subpass" VkGraphicsPipelineCreateInfo =-             #{offset VkGraphicsPipelineCreateInfo, subpass}-        type FieldIsArray "subpass" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkGraphicsPipelineCreateInfo, subpass}--instance {-# OVERLAPPING #-}-         CanReadField "subpass" VkGraphicsPipelineCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, subpass})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, subpass}--instance {-# OVERLAPPING #-}-         CanWriteField "subpass" VkGraphicsPipelineCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, subpass}--instance {-# OVERLAPPING #-}-         HasField "basePipelineHandle" VkGraphicsPipelineCreateInfo where-        type FieldType "basePipelineHandle" VkGraphicsPipelineCreateInfo =-             VkPipeline-        type FieldOptional "basePipelineHandle"-               VkGraphicsPipelineCreateInfo-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "basePipelineHandle" VkGraphicsPipelineCreateInfo-             =-             #{offset VkGraphicsPipelineCreateInfo, basePipelineHandle}-        type FieldIsArray "basePipelineHandle" VkGraphicsPipelineCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkGraphicsPipelineCreateInfo, basePipelineHandle}--instance {-# OVERLAPPING #-}-         CanReadField "basePipelineHandle" VkGraphicsPipelineCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, basePipelineHandle})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, basePipelineHandle}--instance {-# OVERLAPPING #-}-         CanWriteField "basePipelineHandle" VkGraphicsPipelineCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, basePipelineHandle}--instance {-# OVERLAPPING #-}-         HasField "basePipelineIndex" VkGraphicsPipelineCreateInfo where-        type FieldType "basePipelineIndex" VkGraphicsPipelineCreateInfo =-             Int32-        type FieldOptional "basePipelineIndex" VkGraphicsPipelineCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "basePipelineIndex" VkGraphicsPipelineCreateInfo =-             #{offset VkGraphicsPipelineCreateInfo, basePipelineIndex}-        type FieldIsArray "basePipelineIndex" VkGraphicsPipelineCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkGraphicsPipelineCreateInfo, basePipelineIndex}--instance {-# OVERLAPPING #-}-         CanReadField "basePipelineIndex" VkGraphicsPipelineCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, basePipelineIndex})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, basePipelineIndex}--instance {-# OVERLAPPING #-}-         CanWriteField "basePipelineIndex" VkGraphicsPipelineCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, basePipelineIndex}--instance Show VkGraphicsPipelineCreateInfo where-        showsPrec d x-          = showString "VkGraphicsPipelineCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "stageCount = " .-                                  showsPrec d (getField @"stageCount" x) .-                                    showString ", " .-                                      showString "pStages = " .-                                        showsPrec d (getField @"pStages" x) .-                                          showString ", " .-                                            showString "pVertexInputState = " .-                                              showsPrec d (getField @"pVertexInputState" x) .-                                                showString ", " .-                                                  showString "pInputAssemblyState = " .-                                                    showsPrec d (getField @"pInputAssemblyState" x)-                                                      .-                                                      showString ", " .-                                                        showString "pTessellationState = " .-                                                          showsPrec d-                                                            (getField @"pTessellationState" x)-                                                            .-                                                            showString ", " .-                                                              showString "pViewportState = " .-                                                                showsPrec d-                                                                  (getField @"pViewportState" x)-                                                                  .-                                                                  showString ", " .-                                                                    showString-                                                                      "pRasterizationState = "-                                                                      .-                                                                      showsPrec d-                                                                        (getField-                                                                           @"pRasterizationState"-                                                                           x)-                                                                        .-                                                                        showString ", " .-                                                                          showString-                                                                            "pMultisampleState = "-                                                                            .-                                                                            showsPrec d-                                                                              (getField-                                                                                 @"pMultisampleState"-                                                                                 x)-                                                                              .-                                                                              showString ", " .-                                                                                showString-                                                                                  "pDepthStencilState = "-                                                                                  .-                                                                                  showsPrec d-                                                                                    (getField-                                                                                       @"pDepthStencilState"-                                                                                       x)-                                                                                    .-                                                                                    showString ", "-                                                                                      .-                                                                                      showString-                                                                                        "pColorBlendState = "-                                                                                        .-                                                                                        showsPrec d-                                                                                          (getField-                                                                                             @"pColorBlendState"-                                                                                             x)-                                                                                          .-                                                                                          showString-                                                                                            ", "-                                                                                            .-                                                                                            showString-                                                                                              "pDynamicState = "-                                                                                              .-                                                                                              showsPrec-                                                                                                d-                                                                                                (getField-                                                                                                   @"pDynamicState"-                                                                                                   x)-                                                                                                .-                                                                                                showString-                                                                                                  ", "-                                                                                                  .-                                                                                                  showString-                                                                                                    "layout = "-                                                                                                    .-                                                                                                    showsPrec-                                                                                                      d-                                                                                                      (getField-                                                                                                         @"layout"-                                                                                                         x)-                                                                                                      .-                                                                                                      showString-                                                                                                        ", "-                                                                                                        .-                                                                                                        showString-                                                                                                          "renderPass = "-                                                                                                          .-                                                                                                          showsPrec-                                                                                                            d-                                                                                                            (getField-                                                                                                               @"renderPass"-                                                                                                               x)-                                                                                                            .-                                                                                                            showString-                                                                                                              ", "-                                                                                                              .-                                                                                                              showString-                                                                                                                "subpass = "-                                                                                                                .-                                                                                                                showsPrec-                                                                                                                  d-                                                                                                                  (getField-                                                                                                                     @"subpass"-                                                                                                                     x)-                                                                                                                  .-                                                                                                                  showString-                                                                                                                    ", "-                                                                                                                    .-                                                                                                                    showString-                                                                                                                      "basePipelineHandle = "-                                                                                                                      .-                                                                                                                      showsPrec-                                                                                                                        d-                                                                                                                        (getField-                                                                                                                           @"basePipelineHandle"-                                                                                                                           x)-                                                                                                                        .-                                                                                                                        showString-                                                                                                                          ", "-                                                                                                                          .-                                                                                                                          showString-                                                                                                                            "basePipelineIndex = "-                                                                                                                            .-                                                                                                                            showsPrec-                                                                                                                              d-                                                                                                                              (getField-                                                                                                                                 @"basePipelineIndex"-                                                                                                                                 x)-                                                                                                                              .-                                                                                                                              showChar-                                                                                                                                '}'---- | > typedef struct VkPipelineCacheCreateInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkPipelineCacheCreateFlags    flags;---   >     size_t                 initialDataSize;---   >     const void*            pInitialData;---   > } VkPipelineCacheCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineCacheCreateInfo VkPipelineCacheCreateInfo registry at www.khronos.org>-type VkPipelineCacheCreateInfo =-     VulkanStruct VkPipelineCacheCreateInfo' -- ' closing tick for hsc2hs--data VkPipelineCacheCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkPipelineCacheCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPipelineCacheCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPipelineCacheCreateInfo where-        sizeOf ~_ = #{size VkPipelineCacheCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkPipelineCacheCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPipelineCacheCreateInfo where-        type StructFields VkPipelineCacheCreateInfo =-             '["sType", "pNext", "flags", "initialDataSize", "pInitialData"] -- ' closing tick for hsc2hs-        type CUnionType VkPipelineCacheCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPipelineCacheCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPipelineCacheCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPipelineCacheCreateInfo where-        type FieldType "sType" VkPipelineCacheCreateInfo = VkStructureType-        type FieldOptional "sType" VkPipelineCacheCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPipelineCacheCreateInfo =-             #{offset VkPipelineCacheCreateInfo, sType}-        type FieldIsArray "sType" VkPipelineCacheCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineCacheCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPipelineCacheCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineCacheCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineCacheCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPipelineCacheCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineCacheCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPipelineCacheCreateInfo where-        type FieldType "pNext" VkPipelineCacheCreateInfo = Ptr Void-        type FieldOptional "pNext" VkPipelineCacheCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPipelineCacheCreateInfo =-             #{offset VkPipelineCacheCreateInfo, pNext}-        type FieldIsArray "pNext" VkPipelineCacheCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineCacheCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPipelineCacheCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineCacheCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineCacheCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPipelineCacheCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineCacheCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkPipelineCacheCreateInfo where-        type FieldType "flags" VkPipelineCacheCreateInfo =-             VkPipelineCacheCreateFlags-        type FieldOptional "flags" VkPipelineCacheCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkPipelineCacheCreateInfo =-             #{offset VkPipelineCacheCreateInfo, flags}-        type FieldIsArray "flags" VkPipelineCacheCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineCacheCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkPipelineCacheCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineCacheCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineCacheCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkPipelineCacheCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineCacheCreateInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "initialDataSize" VkPipelineCacheCreateInfo where-        type FieldType "initialDataSize" VkPipelineCacheCreateInfo = CSize-        type FieldOptional "initialDataSize" VkPipelineCacheCreateInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "initialDataSize" VkPipelineCacheCreateInfo =-             #{offset VkPipelineCacheCreateInfo, initialDataSize}-        type FieldIsArray "initialDataSize" VkPipelineCacheCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineCacheCreateInfo, initialDataSize}--instance {-# OVERLAPPING #-}-         CanReadField "initialDataSize" VkPipelineCacheCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineCacheCreateInfo, initialDataSize})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineCacheCreateInfo, initialDataSize}--instance {-# OVERLAPPING #-}-         CanWriteField "initialDataSize" VkPipelineCacheCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineCacheCreateInfo, initialDataSize}--instance {-# OVERLAPPING #-}-         HasField "pInitialData" VkPipelineCacheCreateInfo where-        type FieldType "pInitialData" VkPipelineCacheCreateInfo = Ptr Void-        type FieldOptional "pInitialData" VkPipelineCacheCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pInitialData" VkPipelineCacheCreateInfo =-             #{offset VkPipelineCacheCreateInfo, pInitialData}-        type FieldIsArray "pInitialData" VkPipelineCacheCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineCacheCreateInfo, pInitialData}--instance {-# OVERLAPPING #-}-         CanReadField "pInitialData" VkPipelineCacheCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineCacheCreateInfo, pInitialData})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineCacheCreateInfo, pInitialData}--instance {-# OVERLAPPING #-}-         CanWriteField "pInitialData" VkPipelineCacheCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineCacheCreateInfo, pInitialData}--instance Show VkPipelineCacheCreateInfo where-        showsPrec d x-          = showString "VkPipelineCacheCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "initialDataSize = " .-                                  showsPrec d (getField @"initialDataSize" x) .-                                    showString ", " .-                                      showString "pInitialData = " .-                                        showsPrec d (getField @"pInitialData" x) . showChar '}'---- | > typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkBool32               srcPremultiplied;---   >     VkBool32               dstPremultiplied;---   >     VkBlendOverlapEXT      blendOverlap;---   > } VkPipelineColorBlendAdvancedStateCreateInfoEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineColorBlendAdvancedStateCreateInfoEXT VkPipelineColorBlendAdvancedStateCreateInfoEXT registry at www.khronos.org>-type VkPipelineColorBlendAdvancedStateCreateInfoEXT =-     VulkanStruct VkPipelineColorBlendAdvancedStateCreateInfoEXT' -- ' closing tick for hsc2hs--data VkPipelineColorBlendAdvancedStateCreateInfoEXT' -- ' closing tick for hsc2hs--instance Eq VkPipelineColorBlendAdvancedStateCreateInfoEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPipelineColorBlendAdvancedStateCreateInfoEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPipelineColorBlendAdvancedStateCreateInfoEXT-         where-        sizeOf ~_-          = #{size VkPipelineColorBlendAdvancedStateCreateInfoEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPipelineColorBlendAdvancedStateCreateInfoEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal-           VkPipelineColorBlendAdvancedStateCreateInfoEXT-         where-        type StructFields VkPipelineColorBlendAdvancedStateCreateInfoEXT =-             '["sType", "pNext", "srcPremultiplied", "dstPremultiplied", -- ' closing tick for hsc2hs-               "blendOverlap"]-        type CUnionType VkPipelineColorBlendAdvancedStateCreateInfoEXT =-             'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPipelineColorBlendAdvancedStateCreateInfoEXT =-             'False -- ' closing tick for hsc2hs-        type StructExtends VkPipelineColorBlendAdvancedStateCreateInfoEXT =-             '[VkPipelineColorBlendStateCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPipelineColorBlendAdvancedStateCreateInfoEXT-         where-        type FieldType "sType"-               VkPipelineColorBlendAdvancedStateCreateInfoEXT-             = VkStructureType-        type FieldOptional "sType"-               VkPipelineColorBlendAdvancedStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkPipelineColorBlendAdvancedStateCreateInfoEXT-             =-             #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, sType}-        type FieldIsArray "sType"-               VkPipelineColorBlendAdvancedStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPipelineColorBlendAdvancedStateCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType"-           VkPipelineColorBlendAdvancedStateCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPipelineColorBlendAdvancedStateCreateInfoEXT-         where-        type FieldType "pNext"-               VkPipelineColorBlendAdvancedStateCreateInfoEXT-             = Ptr Void-        type FieldOptional "pNext"-               VkPipelineColorBlendAdvancedStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkPipelineColorBlendAdvancedStateCreateInfoEXT-             =-             #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, pNext}-        type FieldIsArray "pNext"-               VkPipelineColorBlendAdvancedStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPipelineColorBlendAdvancedStateCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext"-           VkPipelineColorBlendAdvancedStateCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "srcPremultiplied"-           VkPipelineColorBlendAdvancedStateCreateInfoEXT-         where-        type FieldType "srcPremultiplied"-               VkPipelineColorBlendAdvancedStateCreateInfoEXT-             = VkBool32-        type FieldOptional "srcPremultiplied"-               VkPipelineColorBlendAdvancedStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "srcPremultiplied"-               VkPipelineColorBlendAdvancedStateCreateInfoEXT-             =-             #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, srcPremultiplied}-        type FieldIsArray "srcPremultiplied"-               VkPipelineColorBlendAdvancedStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, srcPremultiplied}--instance {-# OVERLAPPING #-}-         CanReadField "srcPremultiplied"-           VkPipelineColorBlendAdvancedStateCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, srcPremultiplied})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, srcPremultiplied}--instance {-# OVERLAPPING #-}-         CanWriteField "srcPremultiplied"-           VkPipelineColorBlendAdvancedStateCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, srcPremultiplied}--instance {-# OVERLAPPING #-}-         HasField "dstPremultiplied"-           VkPipelineColorBlendAdvancedStateCreateInfoEXT-         where-        type FieldType "dstPremultiplied"-               VkPipelineColorBlendAdvancedStateCreateInfoEXT-             = VkBool32-        type FieldOptional "dstPremultiplied"-               VkPipelineColorBlendAdvancedStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dstPremultiplied"-               VkPipelineColorBlendAdvancedStateCreateInfoEXT-             =-             #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, dstPremultiplied}-        type FieldIsArray "dstPremultiplied"-               VkPipelineColorBlendAdvancedStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, dstPremultiplied}--instance {-# OVERLAPPING #-}-         CanReadField "dstPremultiplied"-           VkPipelineColorBlendAdvancedStateCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, dstPremultiplied})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, dstPremultiplied}--instance {-# OVERLAPPING #-}-         CanWriteField "dstPremultiplied"-           VkPipelineColorBlendAdvancedStateCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, dstPremultiplied}--instance {-# OVERLAPPING #-}-         HasField "blendOverlap"-           VkPipelineColorBlendAdvancedStateCreateInfoEXT-         where-        type FieldType "blendOverlap"-               VkPipelineColorBlendAdvancedStateCreateInfoEXT-             = VkBlendOverlapEXT-        type FieldOptional "blendOverlap"-               VkPipelineColorBlendAdvancedStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "blendOverlap"-               VkPipelineColorBlendAdvancedStateCreateInfoEXT-             =-             #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, blendOverlap}-        type FieldIsArray "blendOverlap"-               VkPipelineColorBlendAdvancedStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, blendOverlap}--instance {-# OVERLAPPING #-}-         CanReadField "blendOverlap"-           VkPipelineColorBlendAdvancedStateCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, blendOverlap})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, blendOverlap}--instance {-# OVERLAPPING #-}-         CanWriteField "blendOverlap"-           VkPipelineColorBlendAdvancedStateCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, blendOverlap}--instance Show VkPipelineColorBlendAdvancedStateCreateInfoEXT where-        showsPrec d x-          = showString "VkPipelineColorBlendAdvancedStateCreateInfoEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "srcPremultiplied = " .-                            showsPrec d (getField @"srcPremultiplied" x) .-                              showString ", " .-                                showString "dstPremultiplied = " .-                                  showsPrec d (getField @"dstPremultiplied" x) .-                                    showString ", " .-                                      showString "blendOverlap = " .-                                        showsPrec d (getField @"blendOverlap" x) . showChar '}'---- | > typedef struct VkPipelineColorBlendAttachmentState {---   >     VkBool32               blendEnable;---   >     VkBlendFactor          srcColorBlendFactor;---   >     VkBlendFactor          dstColorBlendFactor;---   >     VkBlendOp              colorBlendOp;---   >     VkBlendFactor          srcAlphaBlendFactor;---   >     VkBlendFactor          dstAlphaBlendFactor;---   >     VkBlendOp              alphaBlendOp;---   >     VkColorComponentFlags  colorWriteMask;---   > } VkPipelineColorBlendAttachmentState;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineColorBlendAttachmentState VkPipelineColorBlendAttachmentState registry at www.khronos.org>-type VkPipelineColorBlendAttachmentState =-     VulkanStruct VkPipelineColorBlendAttachmentState' -- ' closing tick for hsc2hs--data VkPipelineColorBlendAttachmentState' -- ' closing tick for hsc2hs--instance Eq VkPipelineColorBlendAttachmentState where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPipelineColorBlendAttachmentState where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPipelineColorBlendAttachmentState where-        sizeOf ~_ = #{size VkPipelineColorBlendAttachmentState}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPipelineColorBlendAttachmentState}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPipelineColorBlendAttachmentState where-        type StructFields VkPipelineColorBlendAttachmentState =-             '["blendEnable", "srcColorBlendFactor", "dstColorBlendFactor", -- ' closing tick for hsc2hs-               "colorBlendOp", "srcAlphaBlendFactor", "dstAlphaBlendFactor",-               "alphaBlendOp", "colorWriteMask"]-        type CUnionType VkPipelineColorBlendAttachmentState = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPipelineColorBlendAttachmentState = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPipelineColorBlendAttachmentState = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "blendEnable" VkPipelineColorBlendAttachmentState where-        type FieldType "blendEnable" VkPipelineColorBlendAttachmentState =-             VkBool32-        type FieldOptional "blendEnable"-               VkPipelineColorBlendAttachmentState-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "blendEnable" VkPipelineColorBlendAttachmentState-             =-             #{offset VkPipelineColorBlendAttachmentState, blendEnable}-        type FieldIsArray "blendEnable" VkPipelineColorBlendAttachmentState-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineColorBlendAttachmentState, blendEnable}--instance {-# OVERLAPPING #-}-         CanReadField "blendEnable" VkPipelineColorBlendAttachmentState-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendAttachmentState, blendEnable})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineColorBlendAttachmentState, blendEnable}--instance {-# OVERLAPPING #-}-         CanWriteField "blendEnable" VkPipelineColorBlendAttachmentState-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineColorBlendAttachmentState, blendEnable}--instance {-# OVERLAPPING #-}-         HasField "srcColorBlendFactor" VkPipelineColorBlendAttachmentState-         where-        type FieldType "srcColorBlendFactor"-               VkPipelineColorBlendAttachmentState-             = VkBlendFactor-        type FieldOptional "srcColorBlendFactor"-               VkPipelineColorBlendAttachmentState-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "srcColorBlendFactor"-               VkPipelineColorBlendAttachmentState-             =-             #{offset VkPipelineColorBlendAttachmentState, srcColorBlendFactor}-        type FieldIsArray "srcColorBlendFactor"-               VkPipelineColorBlendAttachmentState-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineColorBlendAttachmentState, srcColorBlendFactor}--instance {-# OVERLAPPING #-}-         CanReadField "srcColorBlendFactor"-           VkPipelineColorBlendAttachmentState-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendAttachmentState, srcColorBlendFactor})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineColorBlendAttachmentState, srcColorBlendFactor}--instance {-# OVERLAPPING #-}-         CanWriteField "srcColorBlendFactor"-           VkPipelineColorBlendAttachmentState-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineColorBlendAttachmentState, srcColorBlendFactor}--instance {-# OVERLAPPING #-}-         HasField "dstColorBlendFactor" VkPipelineColorBlendAttachmentState-         where-        type FieldType "dstColorBlendFactor"-               VkPipelineColorBlendAttachmentState-             = VkBlendFactor-        type FieldOptional "dstColorBlendFactor"-               VkPipelineColorBlendAttachmentState-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dstColorBlendFactor"-               VkPipelineColorBlendAttachmentState-             =-             #{offset VkPipelineColorBlendAttachmentState, dstColorBlendFactor}-        type FieldIsArray "dstColorBlendFactor"-               VkPipelineColorBlendAttachmentState-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineColorBlendAttachmentState, dstColorBlendFactor}--instance {-# OVERLAPPING #-}-         CanReadField "dstColorBlendFactor"-           VkPipelineColorBlendAttachmentState-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendAttachmentState, dstColorBlendFactor})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineColorBlendAttachmentState, dstColorBlendFactor}--instance {-# OVERLAPPING #-}-         CanWriteField "dstColorBlendFactor"-           VkPipelineColorBlendAttachmentState-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineColorBlendAttachmentState, dstColorBlendFactor}--instance {-# OVERLAPPING #-}-         HasField "colorBlendOp" VkPipelineColorBlendAttachmentState where-        type FieldType "colorBlendOp" VkPipelineColorBlendAttachmentState =-             VkBlendOp-        type FieldOptional "colorBlendOp"-               VkPipelineColorBlendAttachmentState-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "colorBlendOp" VkPipelineColorBlendAttachmentState-             =-             #{offset VkPipelineColorBlendAttachmentState, colorBlendOp}-        type FieldIsArray "colorBlendOp"-               VkPipelineColorBlendAttachmentState-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineColorBlendAttachmentState, colorBlendOp}--instance {-# OVERLAPPING #-}-         CanReadField "colorBlendOp" VkPipelineColorBlendAttachmentState-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendAttachmentState, colorBlendOp})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineColorBlendAttachmentState, colorBlendOp}--instance {-# OVERLAPPING #-}-         CanWriteField "colorBlendOp" VkPipelineColorBlendAttachmentState-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineColorBlendAttachmentState, colorBlendOp}--instance {-# OVERLAPPING #-}-         HasField "srcAlphaBlendFactor" VkPipelineColorBlendAttachmentState-         where-        type FieldType "srcAlphaBlendFactor"-               VkPipelineColorBlendAttachmentState-             = VkBlendFactor-        type FieldOptional "srcAlphaBlendFactor"-               VkPipelineColorBlendAttachmentState-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "srcAlphaBlendFactor"-               VkPipelineColorBlendAttachmentState-             =-             #{offset VkPipelineColorBlendAttachmentState, srcAlphaBlendFactor}-        type FieldIsArray "srcAlphaBlendFactor"-               VkPipelineColorBlendAttachmentState-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineColorBlendAttachmentState, srcAlphaBlendFactor}--instance {-# OVERLAPPING #-}-         CanReadField "srcAlphaBlendFactor"-           VkPipelineColorBlendAttachmentState-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendAttachmentState, srcAlphaBlendFactor})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineColorBlendAttachmentState, srcAlphaBlendFactor}--instance {-# OVERLAPPING #-}-         CanWriteField "srcAlphaBlendFactor"-           VkPipelineColorBlendAttachmentState-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineColorBlendAttachmentState, srcAlphaBlendFactor}--instance {-# OVERLAPPING #-}-         HasField "dstAlphaBlendFactor" VkPipelineColorBlendAttachmentState-         where-        type FieldType "dstAlphaBlendFactor"-               VkPipelineColorBlendAttachmentState-             = VkBlendFactor-        type FieldOptional "dstAlphaBlendFactor"-               VkPipelineColorBlendAttachmentState-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dstAlphaBlendFactor"-               VkPipelineColorBlendAttachmentState-             =-             #{offset VkPipelineColorBlendAttachmentState, dstAlphaBlendFactor}-        type FieldIsArray "dstAlphaBlendFactor"-               VkPipelineColorBlendAttachmentState-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineColorBlendAttachmentState, dstAlphaBlendFactor}--instance {-# OVERLAPPING #-}-         CanReadField "dstAlphaBlendFactor"-           VkPipelineColorBlendAttachmentState-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendAttachmentState, dstAlphaBlendFactor})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineColorBlendAttachmentState, dstAlphaBlendFactor}--instance {-# OVERLAPPING #-}-         CanWriteField "dstAlphaBlendFactor"-           VkPipelineColorBlendAttachmentState-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineColorBlendAttachmentState, dstAlphaBlendFactor}--instance {-# OVERLAPPING #-}-         HasField "alphaBlendOp" VkPipelineColorBlendAttachmentState where-        type FieldType "alphaBlendOp" VkPipelineColorBlendAttachmentState =-             VkBlendOp-        type FieldOptional "alphaBlendOp"-               VkPipelineColorBlendAttachmentState-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "alphaBlendOp" VkPipelineColorBlendAttachmentState-             =-             #{offset VkPipelineColorBlendAttachmentState, alphaBlendOp}-        type FieldIsArray "alphaBlendOp"-               VkPipelineColorBlendAttachmentState-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineColorBlendAttachmentState, alphaBlendOp}--instance {-# OVERLAPPING #-}-         CanReadField "alphaBlendOp" VkPipelineColorBlendAttachmentState-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendAttachmentState, alphaBlendOp})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineColorBlendAttachmentState, alphaBlendOp}--instance {-# OVERLAPPING #-}-         CanWriteField "alphaBlendOp" VkPipelineColorBlendAttachmentState-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineColorBlendAttachmentState, alphaBlendOp}--instance {-# OVERLAPPING #-}-         HasField "colorWriteMask" VkPipelineColorBlendAttachmentState where-        type FieldType "colorWriteMask" VkPipelineColorBlendAttachmentState-             = VkColorComponentFlags-        type FieldOptional "colorWriteMask"-               VkPipelineColorBlendAttachmentState-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "colorWriteMask"-               VkPipelineColorBlendAttachmentState-             =-             #{offset VkPipelineColorBlendAttachmentState, colorWriteMask}-        type FieldIsArray "colorWriteMask"-               VkPipelineColorBlendAttachmentState-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineColorBlendAttachmentState, colorWriteMask}--instance {-# OVERLAPPING #-}-         CanReadField "colorWriteMask" VkPipelineColorBlendAttachmentState-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendAttachmentState, colorWriteMask})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineColorBlendAttachmentState, colorWriteMask}--instance {-# OVERLAPPING #-}-         CanWriteField "colorWriteMask" VkPipelineColorBlendAttachmentState-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineColorBlendAttachmentState, colorWriteMask}--instance Show VkPipelineColorBlendAttachmentState where-        showsPrec d x-          = showString "VkPipelineColorBlendAttachmentState {" .-              showString "blendEnable = " .-                showsPrec d (getField @"blendEnable" x) .-                  showString ", " .-                    showString "srcColorBlendFactor = " .-                      showsPrec d (getField @"srcColorBlendFactor" x) .-                        showString ", " .-                          showString "dstColorBlendFactor = " .-                            showsPrec d (getField @"dstColorBlendFactor" x) .-                              showString ", " .-                                showString "colorBlendOp = " .-                                  showsPrec d (getField @"colorBlendOp" x) .-                                    showString ", " .-                                      showString "srcAlphaBlendFactor = " .-                                        showsPrec d (getField @"srcAlphaBlendFactor" x) .-                                          showString ", " .-                                            showString "dstAlphaBlendFactor = " .-                                              showsPrec d (getField @"dstAlphaBlendFactor" x) .-                                                showString ", " .-                                                  showString "alphaBlendOp = " .-                                                    showsPrec d (getField @"alphaBlendOp" x) .-                                                      showString ", " .-                                                        showString "colorWriteMask = " .-                                                          showsPrec d (getField @"colorWriteMask" x)-                                                            . showChar '}'---- | > typedef struct VkPipelineColorBlendStateCreateInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkPipelineColorBlendStateCreateFlags    flags;---   >     VkBool32               logicOpEnable;---   >     VkLogicOp              logicOp;---   >     uint32_t               attachmentCount;---   >     const VkPipelineColorBlendAttachmentState* pAttachments;---   >     float                  blendConstants[4];---   > } VkPipelineColorBlendStateCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineColorBlendStateCreateInfo VkPipelineColorBlendStateCreateInfo registry at www.khronos.org>-type VkPipelineColorBlendStateCreateInfo =-     VulkanStruct VkPipelineColorBlendStateCreateInfo' -- ' closing tick for hsc2hs--data VkPipelineColorBlendStateCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkPipelineColorBlendStateCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPipelineColorBlendStateCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPipelineColorBlendStateCreateInfo where-        sizeOf ~_ = #{size VkPipelineColorBlendStateCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPipelineColorBlendStateCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPipelineColorBlendStateCreateInfo where-        type StructFields VkPipelineColorBlendStateCreateInfo =-             '["sType", "pNext", "flags", "logicOpEnable", "logicOp", -- ' closing tick for hsc2hs-               "attachmentCount", "pAttachments", "blendConstants"]-        type CUnionType VkPipelineColorBlendStateCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPipelineColorBlendStateCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPipelineColorBlendStateCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPipelineColorBlendStateCreateInfo where-        type FieldType "sType" VkPipelineColorBlendStateCreateInfo =-             VkStructureType-        type FieldOptional "sType" VkPipelineColorBlendStateCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPipelineColorBlendStateCreateInfo =-             #{offset VkPipelineColorBlendStateCreateInfo, sType}-        type FieldIsArray "sType" VkPipelineColorBlendStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineColorBlendStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPipelineColorBlendStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendStateCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineColorBlendStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPipelineColorBlendStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineColorBlendStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPipelineColorBlendStateCreateInfo where-        type FieldType "pNext" VkPipelineColorBlendStateCreateInfo =-             Ptr Void-        type FieldOptional "pNext" VkPipelineColorBlendStateCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPipelineColorBlendStateCreateInfo =-             #{offset VkPipelineColorBlendStateCreateInfo, pNext}-        type FieldIsArray "pNext" VkPipelineColorBlendStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineColorBlendStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPipelineColorBlendStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendStateCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineColorBlendStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPipelineColorBlendStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineColorBlendStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkPipelineColorBlendStateCreateInfo where-        type FieldType "flags" VkPipelineColorBlendStateCreateInfo =-             VkPipelineColorBlendStateCreateFlags-        type FieldOptional "flags" VkPipelineColorBlendStateCreateInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkPipelineColorBlendStateCreateInfo =-             #{offset VkPipelineColorBlendStateCreateInfo, flags}-        type FieldIsArray "flags" VkPipelineColorBlendStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineColorBlendStateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkPipelineColorBlendStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendStateCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineColorBlendStateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkPipelineColorBlendStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineColorBlendStateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "logicOpEnable" VkPipelineColorBlendStateCreateInfo where-        type FieldType "logicOpEnable" VkPipelineColorBlendStateCreateInfo-             = VkBool32-        type FieldOptional "logicOpEnable"-               VkPipelineColorBlendStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "logicOpEnable"-               VkPipelineColorBlendStateCreateInfo-             =-             #{offset VkPipelineColorBlendStateCreateInfo, logicOpEnable}-        type FieldIsArray "logicOpEnable"-               VkPipelineColorBlendStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineColorBlendStateCreateInfo, logicOpEnable}--instance {-# OVERLAPPING #-}-         CanReadField "logicOpEnable" VkPipelineColorBlendStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendStateCreateInfo, logicOpEnable})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineColorBlendStateCreateInfo, logicOpEnable}--instance {-# OVERLAPPING #-}-         CanWriteField "logicOpEnable" VkPipelineColorBlendStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineColorBlendStateCreateInfo, logicOpEnable}--instance {-# OVERLAPPING #-}-         HasField "logicOp" VkPipelineColorBlendStateCreateInfo where-        type FieldType "logicOp" VkPipelineColorBlendStateCreateInfo =-             VkLogicOp-        type FieldOptional "logicOp" VkPipelineColorBlendStateCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "logicOp" VkPipelineColorBlendStateCreateInfo =-             #{offset VkPipelineColorBlendStateCreateInfo, logicOp}-        type FieldIsArray "logicOp" VkPipelineColorBlendStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineColorBlendStateCreateInfo, logicOp}--instance {-# OVERLAPPING #-}-         CanReadField "logicOp" VkPipelineColorBlendStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendStateCreateInfo, logicOp})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineColorBlendStateCreateInfo, logicOp}--instance {-# OVERLAPPING #-}-         CanWriteField "logicOp" VkPipelineColorBlendStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineColorBlendStateCreateInfo, logicOp}--instance {-# OVERLAPPING #-}-         HasField "attachmentCount" VkPipelineColorBlendStateCreateInfo-         where-        type FieldType "attachmentCount"-               VkPipelineColorBlendStateCreateInfo-             = Word32-        type FieldOptional "attachmentCount"-               VkPipelineColorBlendStateCreateInfo-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "attachmentCount"-               VkPipelineColorBlendStateCreateInfo-             =-             #{offset VkPipelineColorBlendStateCreateInfo, attachmentCount}-        type FieldIsArray "attachmentCount"-               VkPipelineColorBlendStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineColorBlendStateCreateInfo, attachmentCount}--instance {-# OVERLAPPING #-}-         CanReadField "attachmentCount" VkPipelineColorBlendStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendStateCreateInfo, attachmentCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineColorBlendStateCreateInfo, attachmentCount}--instance {-# OVERLAPPING #-}-         CanWriteField "attachmentCount" VkPipelineColorBlendStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineColorBlendStateCreateInfo, attachmentCount}--instance {-# OVERLAPPING #-}-         HasField "pAttachments" VkPipelineColorBlendStateCreateInfo where-        type FieldType "pAttachments" VkPipelineColorBlendStateCreateInfo =-             Ptr VkPipelineColorBlendAttachmentState-        type FieldOptional "pAttachments"-               VkPipelineColorBlendStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pAttachments" VkPipelineColorBlendStateCreateInfo-             =-             #{offset VkPipelineColorBlendStateCreateInfo, pAttachments}-        type FieldIsArray "pAttachments"-               VkPipelineColorBlendStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineColorBlendStateCreateInfo, pAttachments}--instance {-# OVERLAPPING #-}-         CanReadField "pAttachments" VkPipelineColorBlendStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendStateCreateInfo, pAttachments})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineColorBlendStateCreateInfo, pAttachments}--instance {-# OVERLAPPING #-}-         CanWriteField "pAttachments" VkPipelineColorBlendStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineColorBlendStateCreateInfo, pAttachments}--instance {-# OVERLAPPING #-}-         HasField "blendConstants" VkPipelineColorBlendStateCreateInfo where-        type FieldType "blendConstants" VkPipelineColorBlendStateCreateInfo-             = #{type float}-        type FieldOptional "blendConstants"-               VkPipelineColorBlendStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "blendConstants"-               VkPipelineColorBlendStateCreateInfo-             =-             #{offset VkPipelineColorBlendStateCreateInfo, blendConstants}-        type FieldIsArray "blendConstants"-               VkPipelineColorBlendStateCreateInfo-             = 'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineColorBlendStateCreateInfo, blendConstants}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "blendConstants"-           VkPipelineColorBlendStateCreateInfo-         where-        type FieldArrayLength "blendConstants"-               VkPipelineColorBlendStateCreateInfo-             = 4--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = 4--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkPipelineColorBlendStateCreateInfo, blendConstants}-                      + sizeOf (undefined :: #{type float}) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkPipelineColorBlendStateCreateInfo, blendConstants}-                 + sizeOf (undefined :: #{type float}) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "blendConstants"-           VkPipelineColorBlendStateCreateInfo-         where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkPipelineColorBlendStateCreateInfo, blendConstants}-                 + sizeOf (undefined :: #{type float}) * i)--instance Show VkPipelineColorBlendStateCreateInfo where-        showsPrec d x-          = showString "VkPipelineColorBlendStateCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "logicOpEnable = " .-                                  showsPrec d (getField @"logicOpEnable" x) .-                                    showString ", " .-                                      showString "logicOp = " .-                                        showsPrec d (getField @"logicOp" x) .-                                          showString ", " .-                                            showString "attachmentCount = " .-                                              showsPrec d (getField @"attachmentCount" x) .-                                                showString ", " .-                                                  showString "pAttachments = " .-                                                    showsPrec d (getField @"pAttachments" x) .-                                                      showString ", " .-                                                        (showString "blendConstants = [" .-                                                           showsPrec d-                                                             (let s = sizeOf-                                                                        (undefined ::-                                                                           FieldType-                                                                             "blendConstants"-                                                                             VkPipelineColorBlendStateCreateInfo)-                                                                  o = fieldOffset @"blendConstants"-                                                                        @VkPipelineColorBlendStateCreateInfo-                                                                  f i-                                                                    = peekByteOff (unsafePtr x) i ::-                                                                        IO-                                                                          (FieldType-                                                                             "blendConstants"-                                                                             VkPipelineColorBlendStateCreateInfo)-                                                                in-                                                                unsafeDupablePerformIO . mapM f $-                                                                  map (\ i -> o + i * s)-                                                                    [0 .. 4 - 1])-                                                             . showChar ']')-                                                          . showChar '}'---- | > typedef struct VkPipelineCoverageModulationStateCreateInfoNV {---   >     VkStructureType sType;---   >     const void*                                                                      pNext;---   >     VkPipelineCoverageModulationStateCreateFlagsNV                   flags;---   >     VkCoverageModulationModeNV                                                       coverageModulationMode;---   >     VkBool32                                                                         coverageModulationTableEnable;---   >     uint32_t                                                                         coverageModulationTableCount;---   >     const float* pCoverageModulationTable;---   > } VkPipelineCoverageModulationStateCreateInfoNV;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineCoverageModulationStateCreateInfoNV VkPipelineCoverageModulationStateCreateInfoNV registry at www.khronos.org>-type VkPipelineCoverageModulationStateCreateInfoNV =-     VulkanStruct VkPipelineCoverageModulationStateCreateInfoNV' -- ' closing tick for hsc2hs--data VkPipelineCoverageModulationStateCreateInfoNV' -- ' closing tick for hsc2hs--instance Eq VkPipelineCoverageModulationStateCreateInfoNV where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPipelineCoverageModulationStateCreateInfoNV where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPipelineCoverageModulationStateCreateInfoNV-         where-        sizeOf ~_-          = #{size VkPipelineCoverageModulationStateCreateInfoNV}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPipelineCoverageModulationStateCreateInfoNV}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal-           VkPipelineCoverageModulationStateCreateInfoNV-         where-        type StructFields VkPipelineCoverageModulationStateCreateInfoNV =-             '["sType", "pNext", "flags", "coverageModulationMode", -- ' closing tick for hsc2hs-               "coverageModulationTableEnable", "coverageModulationTableCount",-               "pCoverageModulationTable"]-        type CUnionType VkPipelineCoverageModulationStateCreateInfoNV =-             'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPipelineCoverageModulationStateCreateInfoNV =-             'False -- ' closing tick for hsc2hs-        type StructExtends VkPipelineCoverageModulationStateCreateInfoNV =-             '[VkPipelineMultisampleStateCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPipelineCoverageModulationStateCreateInfoNV-         where-        type FieldType "sType"-               VkPipelineCoverageModulationStateCreateInfoNV-             = VkStructureType-        type FieldOptional "sType"-               VkPipelineCoverageModulationStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkPipelineCoverageModulationStateCreateInfoNV-             =-             #{offset VkPipelineCoverageModulationStateCreateInfoNV, sType}-        type FieldIsArray "sType"-               VkPipelineCoverageModulationStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineCoverageModulationStateCreateInfoNV, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPipelineCoverageModulationStateCreateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineCoverageModulationStateCreateInfoNV, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPipelineCoverageModulationStateCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPipelineCoverageModulationStateCreateInfoNV-         where-        type FieldType "pNext"-               VkPipelineCoverageModulationStateCreateInfoNV-             = Ptr Void-        type FieldOptional "pNext"-               VkPipelineCoverageModulationStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkPipelineCoverageModulationStateCreateInfoNV-             =-             #{offset VkPipelineCoverageModulationStateCreateInfoNV, pNext}-        type FieldIsArray "pNext"-               VkPipelineCoverageModulationStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineCoverageModulationStateCreateInfoNV, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPipelineCoverageModulationStateCreateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineCoverageModulationStateCreateInfoNV, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPipelineCoverageModulationStateCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkPipelineCoverageModulationStateCreateInfoNV-         where-        type FieldType "flags"-               VkPipelineCoverageModulationStateCreateInfoNV-             = VkPipelineCoverageModulationStateCreateFlagsNV-        type FieldOptional "flags"-               VkPipelineCoverageModulationStateCreateInfoNV-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags"-               VkPipelineCoverageModulationStateCreateInfoNV-             =-             #{offset VkPipelineCoverageModulationStateCreateInfoNV, flags}-        type FieldIsArray "flags"-               VkPipelineCoverageModulationStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineCoverageModulationStateCreateInfoNV, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkPipelineCoverageModulationStateCreateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineCoverageModulationStateCreateInfoNV, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkPipelineCoverageModulationStateCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, flags}--instance {-# OVERLAPPING #-}-         HasField "coverageModulationMode"-           VkPipelineCoverageModulationStateCreateInfoNV-         where-        type FieldType "coverageModulationMode"-               VkPipelineCoverageModulationStateCreateInfoNV-             = VkCoverageModulationModeNV-        type FieldOptional "coverageModulationMode"-               VkPipelineCoverageModulationStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "coverageModulationMode"-               VkPipelineCoverageModulationStateCreateInfoNV-             =-             #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationMode}-        type FieldIsArray "coverageModulationMode"-               VkPipelineCoverageModulationStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationMode}--instance {-# OVERLAPPING #-}-         CanReadField "coverageModulationMode"-           VkPipelineCoverageModulationStateCreateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationMode})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationMode}--instance {-# OVERLAPPING #-}-         CanWriteField "coverageModulationMode"-           VkPipelineCoverageModulationStateCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationMode}--instance {-# OVERLAPPING #-}-         HasField "coverageModulationTableEnable"-           VkPipelineCoverageModulationStateCreateInfoNV-         where-        type FieldType "coverageModulationTableEnable"-               VkPipelineCoverageModulationStateCreateInfoNV-             = VkBool32-        type FieldOptional "coverageModulationTableEnable"-               VkPipelineCoverageModulationStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "coverageModulationTableEnable"-               VkPipelineCoverageModulationStateCreateInfoNV-             =-             #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationTableEnable}-        type FieldIsArray "coverageModulationTableEnable"-               VkPipelineCoverageModulationStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationTableEnable}--instance {-# OVERLAPPING #-}-         CanReadField "coverageModulationTableEnable"-           VkPipelineCoverageModulationStateCreateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationTableEnable})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationTableEnable}--instance {-# OVERLAPPING #-}-         CanWriteField "coverageModulationTableEnable"-           VkPipelineCoverageModulationStateCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationTableEnable}--instance {-# OVERLAPPING #-}-         HasField "coverageModulationTableCount"-           VkPipelineCoverageModulationStateCreateInfoNV-         where-        type FieldType "coverageModulationTableCount"-               VkPipelineCoverageModulationStateCreateInfoNV-             = Word32-        type FieldOptional "coverageModulationTableCount"-               VkPipelineCoverageModulationStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "coverageModulationTableCount"-               VkPipelineCoverageModulationStateCreateInfoNV-             =-             #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationTableCount}-        type FieldIsArray "coverageModulationTableCount"-               VkPipelineCoverageModulationStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationTableCount}--instance {-# OVERLAPPING #-}-         CanReadField "coverageModulationTableCount"-           VkPipelineCoverageModulationStateCreateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationTableCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationTableCount}--instance {-# OVERLAPPING #-}-         CanWriteField "coverageModulationTableCount"-           VkPipelineCoverageModulationStateCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationTableCount}--instance {-# OVERLAPPING #-}-         HasField "pCoverageModulationTable"-           VkPipelineCoverageModulationStateCreateInfoNV-         where-        type FieldType "pCoverageModulationTable"-               VkPipelineCoverageModulationStateCreateInfoNV-             = Ptr #{type float}-        type FieldOptional "pCoverageModulationTable"-               VkPipelineCoverageModulationStateCreateInfoNV-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pCoverageModulationTable"-               VkPipelineCoverageModulationStateCreateInfoNV-             =-             #{offset VkPipelineCoverageModulationStateCreateInfoNV, pCoverageModulationTable}-        type FieldIsArray "pCoverageModulationTable"-               VkPipelineCoverageModulationStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineCoverageModulationStateCreateInfoNV, pCoverageModulationTable}--instance {-# OVERLAPPING #-}-         CanReadField "pCoverageModulationTable"-           VkPipelineCoverageModulationStateCreateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineCoverageModulationStateCreateInfoNV, pCoverageModulationTable})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, pCoverageModulationTable}--instance {-# OVERLAPPING #-}-         CanWriteField "pCoverageModulationTable"-           VkPipelineCoverageModulationStateCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, pCoverageModulationTable}--instance Show VkPipelineCoverageModulationStateCreateInfoNV where-        showsPrec d x-          = showString "VkPipelineCoverageModulationStateCreateInfoNV {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "coverageModulationMode = " .-                                  showsPrec d (getField @"coverageModulationMode" x) .-                                    showString ", " .-                                      showString "coverageModulationTableEnable = " .-                                        showsPrec d (getField @"coverageModulationTableEnable" x) .-                                          showString ", " .-                                            showString "coverageModulationTableCount = " .-                                              showsPrec d-                                                (getField @"coverageModulationTableCount" x)-                                                .-                                                showString ", " .-                                                  showString "pCoverageModulationTable = " .-                                                    showsPrec d-                                                      (getField @"pCoverageModulationTable" x)-                                                      . showChar '}'---- | > typedef struct VkPipelineCoverageToColorStateCreateInfoNV {---   >     VkStructureType sType;---   >     const void*                                                                      pNext;---   >     VkPipelineCoverageToColorStateCreateFlagsNV                    flags;---   >     VkBool32                         coverageToColorEnable;---   >     uint32_t         coverageToColorLocation;---   > } VkPipelineCoverageToColorStateCreateInfoNV;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineCoverageToColorStateCreateInfoNV VkPipelineCoverageToColorStateCreateInfoNV registry at www.khronos.org>-type VkPipelineCoverageToColorStateCreateInfoNV =-     VulkanStruct VkPipelineCoverageToColorStateCreateInfoNV' -- ' closing tick for hsc2hs--data VkPipelineCoverageToColorStateCreateInfoNV' -- ' closing tick for hsc2hs--instance Eq VkPipelineCoverageToColorStateCreateInfoNV where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPipelineCoverageToColorStateCreateInfoNV where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPipelineCoverageToColorStateCreateInfoNV where-        sizeOf ~_-          = #{size VkPipelineCoverageToColorStateCreateInfoNV}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPipelineCoverageToColorStateCreateInfoNV}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPipelineCoverageToColorStateCreateInfoNV-         where-        type StructFields VkPipelineCoverageToColorStateCreateInfoNV =-             '["sType", "pNext", "flags", "coverageToColorEnable", -- ' closing tick for hsc2hs-               "coverageToColorLocation"]-        type CUnionType VkPipelineCoverageToColorStateCreateInfoNV = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPipelineCoverageToColorStateCreateInfoNV =-             'False -- ' closing tick for hsc2hs-        type StructExtends VkPipelineCoverageToColorStateCreateInfoNV =-             '[VkPipelineMultisampleStateCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPipelineCoverageToColorStateCreateInfoNV where-        type FieldType "sType" VkPipelineCoverageToColorStateCreateInfoNV =-             VkStructureType-        type FieldOptional "sType"-               VkPipelineCoverageToColorStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPipelineCoverageToColorStateCreateInfoNV-             =-             #{offset VkPipelineCoverageToColorStateCreateInfoNV, sType}-        type FieldIsArray "sType"-               VkPipelineCoverageToColorStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineCoverageToColorStateCreateInfoNV, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPipelineCoverageToColorStateCreateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineCoverageToColorStateCreateInfoNV, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineCoverageToColorStateCreateInfoNV, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPipelineCoverageToColorStateCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineCoverageToColorStateCreateInfoNV, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPipelineCoverageToColorStateCreateInfoNV where-        type FieldType "pNext" VkPipelineCoverageToColorStateCreateInfoNV =-             Ptr Void-        type FieldOptional "pNext"-               VkPipelineCoverageToColorStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPipelineCoverageToColorStateCreateInfoNV-             =-             #{offset VkPipelineCoverageToColorStateCreateInfoNV, pNext}-        type FieldIsArray "pNext"-               VkPipelineCoverageToColorStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineCoverageToColorStateCreateInfoNV, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPipelineCoverageToColorStateCreateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineCoverageToColorStateCreateInfoNV, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineCoverageToColorStateCreateInfoNV, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPipelineCoverageToColorStateCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineCoverageToColorStateCreateInfoNV, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkPipelineCoverageToColorStateCreateInfoNV where-        type FieldType "flags" VkPipelineCoverageToColorStateCreateInfoNV =-             VkPipelineCoverageToColorStateCreateFlagsNV-        type FieldOptional "flags"-               VkPipelineCoverageToColorStateCreateInfoNV-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkPipelineCoverageToColorStateCreateInfoNV-             =-             #{offset VkPipelineCoverageToColorStateCreateInfoNV, flags}-        type FieldIsArray "flags"-               VkPipelineCoverageToColorStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineCoverageToColorStateCreateInfoNV, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkPipelineCoverageToColorStateCreateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineCoverageToColorStateCreateInfoNV, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineCoverageToColorStateCreateInfoNV, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkPipelineCoverageToColorStateCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineCoverageToColorStateCreateInfoNV, flags}--instance {-# OVERLAPPING #-}-         HasField "coverageToColorEnable"-           VkPipelineCoverageToColorStateCreateInfoNV-         where-        type FieldType "coverageToColorEnable"-               VkPipelineCoverageToColorStateCreateInfoNV-             = VkBool32-        type FieldOptional "coverageToColorEnable"-               VkPipelineCoverageToColorStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "coverageToColorEnable"-               VkPipelineCoverageToColorStateCreateInfoNV-             =-             #{offset VkPipelineCoverageToColorStateCreateInfoNV, coverageToColorEnable}-        type FieldIsArray "coverageToColorEnable"-               VkPipelineCoverageToColorStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineCoverageToColorStateCreateInfoNV, coverageToColorEnable}--instance {-# OVERLAPPING #-}-         CanReadField "coverageToColorEnable"-           VkPipelineCoverageToColorStateCreateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineCoverageToColorStateCreateInfoNV, coverageToColorEnable})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineCoverageToColorStateCreateInfoNV, coverageToColorEnable}--instance {-# OVERLAPPING #-}-         CanWriteField "coverageToColorEnable"-           VkPipelineCoverageToColorStateCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineCoverageToColorStateCreateInfoNV, coverageToColorEnable}--instance {-# OVERLAPPING #-}-         HasField "coverageToColorLocation"-           VkPipelineCoverageToColorStateCreateInfoNV-         where-        type FieldType "coverageToColorLocation"-               VkPipelineCoverageToColorStateCreateInfoNV-             = Word32-        type FieldOptional "coverageToColorLocation"-               VkPipelineCoverageToColorStateCreateInfoNV-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "coverageToColorLocation"-               VkPipelineCoverageToColorStateCreateInfoNV-             =-             #{offset VkPipelineCoverageToColorStateCreateInfoNV, coverageToColorLocation}-        type FieldIsArray "coverageToColorLocation"-               VkPipelineCoverageToColorStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineCoverageToColorStateCreateInfoNV, coverageToColorLocation}--instance {-# OVERLAPPING #-}-         CanReadField "coverageToColorLocation"-           VkPipelineCoverageToColorStateCreateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineCoverageToColorStateCreateInfoNV, coverageToColorLocation})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineCoverageToColorStateCreateInfoNV, coverageToColorLocation}--instance {-# OVERLAPPING #-}-         CanWriteField "coverageToColorLocation"-           VkPipelineCoverageToColorStateCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineCoverageToColorStateCreateInfoNV, coverageToColorLocation}--instance Show VkPipelineCoverageToColorStateCreateInfoNV where-        showsPrec d x-          = showString "VkPipelineCoverageToColorStateCreateInfoNV {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "coverageToColorEnable = " .-                                  showsPrec d (getField @"coverageToColorEnable" x) .-                                    showString ", " .-                                      showString "coverageToColorLocation = " .-                                        showsPrec d (getField @"coverageToColorLocation" x) .-                                          showChar '}'---- | > typedef struct VkPipelineDepthStencilStateCreateInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkPipelineDepthStencilStateCreateFlags    flags;---   >     VkBool32               depthTestEnable;---   >     VkBool32               depthWriteEnable;---   >     VkCompareOp            depthCompareOp;---   >     VkBool32               depthBoundsTestEnable;---   >     VkBool32               stencilTestEnable;---   >     VkStencilOpState       front;---   >     VkStencilOpState       back;---   >     float                  minDepthBounds;---   >     float                  maxDepthBounds;---   > } VkPipelineDepthStencilStateCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineDepthStencilStateCreateInfo VkPipelineDepthStencilStateCreateInfo registry at www.khronos.org>-type VkPipelineDepthStencilStateCreateInfo =-     VulkanStruct VkPipelineDepthStencilStateCreateInfo' -- ' closing tick for hsc2hs--data VkPipelineDepthStencilStateCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkPipelineDepthStencilStateCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPipelineDepthStencilStateCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPipelineDepthStencilStateCreateInfo where-        sizeOf ~_-          = #{size VkPipelineDepthStencilStateCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPipelineDepthStencilStateCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPipelineDepthStencilStateCreateInfo where-        type StructFields VkPipelineDepthStencilStateCreateInfo =-             '["sType", "pNext", "flags", "depthTestEnable", "depthWriteEnable", -- ' closing tick for hsc2hs-               "depthCompareOp", "depthBoundsTestEnable", "stencilTestEnable",-               "front", "back", "minDepthBounds", "maxDepthBounds"]-        type CUnionType VkPipelineDepthStencilStateCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPipelineDepthStencilStateCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPipelineDepthStencilStateCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPipelineDepthStencilStateCreateInfo where-        type FieldType "sType" VkPipelineDepthStencilStateCreateInfo =-             VkStructureType-        type FieldOptional "sType" VkPipelineDepthStencilStateCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPipelineDepthStencilStateCreateInfo =-             #{offset VkPipelineDepthStencilStateCreateInfo, sType}-        type FieldIsArray "sType" VkPipelineDepthStencilStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineDepthStencilStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPipelineDepthStencilStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineDepthStencilStateCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPipelineDepthStencilStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPipelineDepthStencilStateCreateInfo where-        type FieldType "pNext" VkPipelineDepthStencilStateCreateInfo =-             Ptr Void-        type FieldOptional "pNext" VkPipelineDepthStencilStateCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPipelineDepthStencilStateCreateInfo =-             #{offset VkPipelineDepthStencilStateCreateInfo, pNext}-        type FieldIsArray "pNext" VkPipelineDepthStencilStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineDepthStencilStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPipelineDepthStencilStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineDepthStencilStateCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPipelineDepthStencilStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkPipelineDepthStencilStateCreateInfo where-        type FieldType "flags" VkPipelineDepthStencilStateCreateInfo =-             VkPipelineDepthStencilStateCreateFlags-        type FieldOptional "flags" VkPipelineDepthStencilStateCreateInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkPipelineDepthStencilStateCreateInfo =-             #{offset VkPipelineDepthStencilStateCreateInfo, flags}-        type FieldIsArray "flags" VkPipelineDepthStencilStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineDepthStencilStateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkPipelineDepthStencilStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineDepthStencilStateCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkPipelineDepthStencilStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "depthTestEnable" VkPipelineDepthStencilStateCreateInfo-         where-        type FieldType "depthTestEnable"-               VkPipelineDepthStencilStateCreateInfo-             = VkBool32-        type FieldOptional "depthTestEnable"-               VkPipelineDepthStencilStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "depthTestEnable"-               VkPipelineDepthStencilStateCreateInfo-             =-             #{offset VkPipelineDepthStencilStateCreateInfo, depthTestEnable}-        type FieldIsArray "depthTestEnable"-               VkPipelineDepthStencilStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineDepthStencilStateCreateInfo, depthTestEnable}--instance {-# OVERLAPPING #-}-         CanReadField "depthTestEnable"-           VkPipelineDepthStencilStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineDepthStencilStateCreateInfo, depthTestEnable})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, depthTestEnable}--instance {-# OVERLAPPING #-}-         CanWriteField "depthTestEnable"-           VkPipelineDepthStencilStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, depthTestEnable}--instance {-# OVERLAPPING #-}-         HasField "depthWriteEnable" VkPipelineDepthStencilStateCreateInfo-         where-        type FieldType "depthWriteEnable"-               VkPipelineDepthStencilStateCreateInfo-             = VkBool32-        type FieldOptional "depthWriteEnable"-               VkPipelineDepthStencilStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "depthWriteEnable"-               VkPipelineDepthStencilStateCreateInfo-             =-             #{offset VkPipelineDepthStencilStateCreateInfo, depthWriteEnable}-        type FieldIsArray "depthWriteEnable"-               VkPipelineDepthStencilStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineDepthStencilStateCreateInfo, depthWriteEnable}--instance {-# OVERLAPPING #-}-         CanReadField "depthWriteEnable"-           VkPipelineDepthStencilStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineDepthStencilStateCreateInfo, depthWriteEnable})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, depthWriteEnable}--instance {-# OVERLAPPING #-}-         CanWriteField "depthWriteEnable"-           VkPipelineDepthStencilStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, depthWriteEnable}--instance {-# OVERLAPPING #-}-         HasField "depthCompareOp" VkPipelineDepthStencilStateCreateInfo-         where-        type FieldType "depthCompareOp"-               VkPipelineDepthStencilStateCreateInfo-             = VkCompareOp-        type FieldOptional "depthCompareOp"-               VkPipelineDepthStencilStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "depthCompareOp"-               VkPipelineDepthStencilStateCreateInfo-             =-             #{offset VkPipelineDepthStencilStateCreateInfo, depthCompareOp}-        type FieldIsArray "depthCompareOp"-               VkPipelineDepthStencilStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineDepthStencilStateCreateInfo, depthCompareOp}--instance {-# OVERLAPPING #-}-         CanReadField "depthCompareOp" VkPipelineDepthStencilStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineDepthStencilStateCreateInfo, depthCompareOp})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, depthCompareOp}--instance {-# OVERLAPPING #-}-         CanWriteField "depthCompareOp"-           VkPipelineDepthStencilStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, depthCompareOp}--instance {-# OVERLAPPING #-}-         HasField "depthBoundsTestEnable"-           VkPipelineDepthStencilStateCreateInfo-         where-        type FieldType "depthBoundsTestEnable"-               VkPipelineDepthStencilStateCreateInfo-             = VkBool32-        type FieldOptional "depthBoundsTestEnable"-               VkPipelineDepthStencilStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "depthBoundsTestEnable"-               VkPipelineDepthStencilStateCreateInfo-             =-             #{offset VkPipelineDepthStencilStateCreateInfo, depthBoundsTestEnable}-        type FieldIsArray "depthBoundsTestEnable"-               VkPipelineDepthStencilStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineDepthStencilStateCreateInfo, depthBoundsTestEnable}--instance {-# OVERLAPPING #-}-         CanReadField "depthBoundsTestEnable"-           VkPipelineDepthStencilStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineDepthStencilStateCreateInfo, depthBoundsTestEnable})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, depthBoundsTestEnable}--instance {-# OVERLAPPING #-}-         CanWriteField "depthBoundsTestEnable"-           VkPipelineDepthStencilStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, depthBoundsTestEnable}--instance {-# OVERLAPPING #-}-         HasField "stencilTestEnable" VkPipelineDepthStencilStateCreateInfo-         where-        type FieldType "stencilTestEnable"-               VkPipelineDepthStencilStateCreateInfo-             = VkBool32-        type FieldOptional "stencilTestEnable"-               VkPipelineDepthStencilStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "stencilTestEnable"-               VkPipelineDepthStencilStateCreateInfo-             =-             #{offset VkPipelineDepthStencilStateCreateInfo, stencilTestEnable}-        type FieldIsArray "stencilTestEnable"-               VkPipelineDepthStencilStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineDepthStencilStateCreateInfo, stencilTestEnable}--instance {-# OVERLAPPING #-}-         CanReadField "stencilTestEnable"-           VkPipelineDepthStencilStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineDepthStencilStateCreateInfo, stencilTestEnable})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, stencilTestEnable}--instance {-# OVERLAPPING #-}-         CanWriteField "stencilTestEnable"-           VkPipelineDepthStencilStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, stencilTestEnable}--instance {-# OVERLAPPING #-}-         HasField "front" VkPipelineDepthStencilStateCreateInfo where-        type FieldType "front" VkPipelineDepthStencilStateCreateInfo =-             VkStencilOpState-        type FieldOptional "front" VkPipelineDepthStencilStateCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "front" VkPipelineDepthStencilStateCreateInfo =-             #{offset VkPipelineDepthStencilStateCreateInfo, front}-        type FieldIsArray "front" VkPipelineDepthStencilStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineDepthStencilStateCreateInfo, front}--instance {-# OVERLAPPING #-}-         CanReadField "front" VkPipelineDepthStencilStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineDepthStencilStateCreateInfo, front})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, front}--instance {-# OVERLAPPING #-}-         CanWriteField "front" VkPipelineDepthStencilStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, front}--instance {-# OVERLAPPING #-}-         HasField "back" VkPipelineDepthStencilStateCreateInfo where-        type FieldType "back" VkPipelineDepthStencilStateCreateInfo =-             VkStencilOpState-        type FieldOptional "back" VkPipelineDepthStencilStateCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "back" VkPipelineDepthStencilStateCreateInfo =-             #{offset VkPipelineDepthStencilStateCreateInfo, back}-        type FieldIsArray "back" VkPipelineDepthStencilStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineDepthStencilStateCreateInfo, back}--instance {-# OVERLAPPING #-}-         CanReadField "back" VkPipelineDepthStencilStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineDepthStencilStateCreateInfo, back})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, back}--instance {-# OVERLAPPING #-}-         CanWriteField "back" VkPipelineDepthStencilStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, back}--instance {-# OVERLAPPING #-}-         HasField "minDepthBounds" VkPipelineDepthStencilStateCreateInfo-         where-        type FieldType "minDepthBounds"-               VkPipelineDepthStencilStateCreateInfo-             = #{type float}-        type FieldOptional "minDepthBounds"-               VkPipelineDepthStencilStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "minDepthBounds"-               VkPipelineDepthStencilStateCreateInfo-             =-             #{offset VkPipelineDepthStencilStateCreateInfo, minDepthBounds}-        type FieldIsArray "minDepthBounds"-               VkPipelineDepthStencilStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineDepthStencilStateCreateInfo, minDepthBounds}--instance {-# OVERLAPPING #-}-         CanReadField "minDepthBounds" VkPipelineDepthStencilStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineDepthStencilStateCreateInfo, minDepthBounds})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, minDepthBounds}--instance {-# OVERLAPPING #-}-         CanWriteField "minDepthBounds"-           VkPipelineDepthStencilStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, minDepthBounds}--instance {-# OVERLAPPING #-}-         HasField "maxDepthBounds" VkPipelineDepthStencilStateCreateInfo-         where-        type FieldType "maxDepthBounds"-               VkPipelineDepthStencilStateCreateInfo-             = #{type float}-        type FieldOptional "maxDepthBounds"-               VkPipelineDepthStencilStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxDepthBounds"-               VkPipelineDepthStencilStateCreateInfo-             =-             #{offset VkPipelineDepthStencilStateCreateInfo, maxDepthBounds}-        type FieldIsArray "maxDepthBounds"-               VkPipelineDepthStencilStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineDepthStencilStateCreateInfo, maxDepthBounds}--instance {-# OVERLAPPING #-}-         CanReadField "maxDepthBounds" VkPipelineDepthStencilStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineDepthStencilStateCreateInfo, maxDepthBounds})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, maxDepthBounds}--instance {-# OVERLAPPING #-}-         CanWriteField "maxDepthBounds"-           VkPipelineDepthStencilStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, maxDepthBounds}--instance Show VkPipelineDepthStencilStateCreateInfo where-        showsPrec d x-          = showString "VkPipelineDepthStencilStateCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "depthTestEnable = " .-                                  showsPrec d (getField @"depthTestEnable" x) .-                                    showString ", " .-                                      showString "depthWriteEnable = " .-                                        showsPrec d (getField @"depthWriteEnable" x) .-                                          showString ", " .-                                            showString "depthCompareOp = " .-                                              showsPrec d (getField @"depthCompareOp" x) .-                                                showString ", " .-                                                  showString "depthBoundsTestEnable = " .-                                                    showsPrec d-                                                      (getField @"depthBoundsTestEnable" x)-                                                      .-                                                      showString ", " .-                                                        showString "stencilTestEnable = " .-                                                          showsPrec d-                                                            (getField @"stencilTestEnable" x)-                                                            .-                                                            showString ", " .-                                                              showString "front = " .-                                                                showsPrec d (getField @"front" x) .-                                                                  showString ", " .-                                                                    showString "back = " .-                                                                      showsPrec d-                                                                        (getField @"back" x)-                                                                        .-                                                                        showString ", " .-                                                                          showString-                                                                            "minDepthBounds = "-                                                                            .-                                                                            showsPrec d-                                                                              (getField-                                                                                 @"minDepthBounds"-                                                                                 x)-                                                                              .-                                                                              showString ", " .-                                                                                showString-                                                                                  "maxDepthBounds = "-                                                                                  .-                                                                                  showsPrec d-                                                                                    (getField-                                                                                       @"maxDepthBounds"-                                                                                       x)-                                                                                    . showChar '}'---- | > typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {---   >     VkStructureType sType;---   >     const void*                                                                      pNext;---   >     VkPipelineDiscardRectangleStateCreateFlagsEXT                    flags;---   >     VkDiscardRectangleModeEXT                                                        discardRectangleMode;---   >     uint32_t                                                         discardRectangleCount;---   >     const VkRect2D* pDiscardRectangles;---   > } VkPipelineDiscardRectangleStateCreateInfoEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineDiscardRectangleStateCreateInfoEXT VkPipelineDiscardRectangleStateCreateInfoEXT registry at www.khronos.org>-type VkPipelineDiscardRectangleStateCreateInfoEXT =-     VulkanStruct VkPipelineDiscardRectangleStateCreateInfoEXT' -- ' closing tick for hsc2hs--data VkPipelineDiscardRectangleStateCreateInfoEXT' -- ' closing tick for hsc2hs--instance Eq VkPipelineDiscardRectangleStateCreateInfoEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPipelineDiscardRectangleStateCreateInfoEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPipelineDiscardRectangleStateCreateInfoEXT-         where-        sizeOf ~_-          = #{size VkPipelineDiscardRectangleStateCreateInfoEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPipelineDiscardRectangleStateCreateInfoEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPipelineDiscardRectangleStateCreateInfoEXT-         where-        type StructFields VkPipelineDiscardRectangleStateCreateInfoEXT =-             '["sType", "pNext", "flags", "discardRectangleMode", -- ' closing tick for hsc2hs-               "discardRectangleCount", "pDiscardRectangles"]-        type CUnionType VkPipelineDiscardRectangleStateCreateInfoEXT =-             'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPipelineDiscardRectangleStateCreateInfoEXT =-             'False -- ' closing tick for hsc2hs-        type StructExtends VkPipelineDiscardRectangleStateCreateInfoEXT =-             '[VkGraphicsPipelineCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPipelineDiscardRectangleStateCreateInfoEXT where-        type FieldType "sType" VkPipelineDiscardRectangleStateCreateInfoEXT-             = VkStructureType-        type FieldOptional "sType"-               VkPipelineDiscardRectangleStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkPipelineDiscardRectangleStateCreateInfoEXT-             =-             #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, sType}-        type FieldIsArray "sType"-               VkPipelineDiscardRectangleStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPipelineDiscardRectangleStateCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPipelineDiscardRectangleStateCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPipelineDiscardRectangleStateCreateInfoEXT where-        type FieldType "pNext" VkPipelineDiscardRectangleStateCreateInfoEXT-             = Ptr Void-        type FieldOptional "pNext"-               VkPipelineDiscardRectangleStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkPipelineDiscardRectangleStateCreateInfoEXT-             =-             #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, pNext}-        type FieldIsArray "pNext"-               VkPipelineDiscardRectangleStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPipelineDiscardRectangleStateCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPipelineDiscardRectangleStateCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkPipelineDiscardRectangleStateCreateInfoEXT where-        type FieldType "flags" VkPipelineDiscardRectangleStateCreateInfoEXT-             = VkPipelineDiscardRectangleStateCreateFlagsEXT-        type FieldOptional "flags"-               VkPipelineDiscardRectangleStateCreateInfoEXT-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags"-               VkPipelineDiscardRectangleStateCreateInfoEXT-             =-             #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, flags}-        type FieldIsArray "flags"-               VkPipelineDiscardRectangleStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkPipelineDiscardRectangleStateCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkPipelineDiscardRectangleStateCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, flags}--instance {-# OVERLAPPING #-}-         HasField "discardRectangleMode"-           VkPipelineDiscardRectangleStateCreateInfoEXT-         where-        type FieldType "discardRectangleMode"-               VkPipelineDiscardRectangleStateCreateInfoEXT-             = VkDiscardRectangleModeEXT-        type FieldOptional "discardRectangleMode"-               VkPipelineDiscardRectangleStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "discardRectangleMode"-               VkPipelineDiscardRectangleStateCreateInfoEXT-             =-             #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, discardRectangleMode}-        type FieldIsArray "discardRectangleMode"-               VkPipelineDiscardRectangleStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, discardRectangleMode}--instance {-# OVERLAPPING #-}-         CanReadField "discardRectangleMode"-           VkPipelineDiscardRectangleStateCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, discardRectangleMode})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, discardRectangleMode}--instance {-# OVERLAPPING #-}-         CanWriteField "discardRectangleMode"-           VkPipelineDiscardRectangleStateCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, discardRectangleMode}--instance {-# OVERLAPPING #-}-         HasField "discardRectangleCount"-           VkPipelineDiscardRectangleStateCreateInfoEXT-         where-        type FieldType "discardRectangleCount"-               VkPipelineDiscardRectangleStateCreateInfoEXT-             = Word32-        type FieldOptional "discardRectangleCount"-               VkPipelineDiscardRectangleStateCreateInfoEXT-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "discardRectangleCount"-               VkPipelineDiscardRectangleStateCreateInfoEXT-             =-             #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, discardRectangleCount}-        type FieldIsArray "discardRectangleCount"-               VkPipelineDiscardRectangleStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, discardRectangleCount}--instance {-# OVERLAPPING #-}-         CanReadField "discardRectangleCount"-           VkPipelineDiscardRectangleStateCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, discardRectangleCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, discardRectangleCount}--instance {-# OVERLAPPING #-}-         CanWriteField "discardRectangleCount"-           VkPipelineDiscardRectangleStateCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, discardRectangleCount}--instance {-# OVERLAPPING #-}-         HasField "pDiscardRectangles"-           VkPipelineDiscardRectangleStateCreateInfoEXT-         where-        type FieldType "pDiscardRectangles"-               VkPipelineDiscardRectangleStateCreateInfoEXT-             = Ptr VkRect2D-        type FieldOptional "pDiscardRectangles"-               VkPipelineDiscardRectangleStateCreateInfoEXT-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pDiscardRectangles"-               VkPipelineDiscardRectangleStateCreateInfoEXT-             =-             #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, pDiscardRectangles}-        type FieldIsArray "pDiscardRectangles"-               VkPipelineDiscardRectangleStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, pDiscardRectangles}--instance {-# OVERLAPPING #-}-         CanReadField "pDiscardRectangles"-           VkPipelineDiscardRectangleStateCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, pDiscardRectangles})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, pDiscardRectangles}--instance {-# OVERLAPPING #-}-         CanWriteField "pDiscardRectangles"-           VkPipelineDiscardRectangleStateCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, pDiscardRectangles}--instance Show VkPipelineDiscardRectangleStateCreateInfoEXT where-        showsPrec d x-          = showString "VkPipelineDiscardRectangleStateCreateInfoEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "discardRectangleMode = " .-                                  showsPrec d (getField @"discardRectangleMode" x) .-                                    showString ", " .-                                      showString "discardRectangleCount = " .-                                        showsPrec d (getField @"discardRectangleCount" x) .-                                          showString ", " .-                                            showString "pDiscardRectangles = " .-                                              showsPrec d (getField @"pDiscardRectangles" x) .-                                                showChar '}'---- | > typedef struct VkPipelineDynamicStateCreateInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkPipelineDynamicStateCreateFlags    flags;---   >     uint32_t               dynamicStateCount;---   >     const VkDynamicState*  pDynamicStates;---   > } VkPipelineDynamicStateCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineDynamicStateCreateInfo VkPipelineDynamicStateCreateInfo registry at www.khronos.org>-type VkPipelineDynamicStateCreateInfo =-     VulkanStruct VkPipelineDynamicStateCreateInfo' -- ' closing tick for hsc2hs--data VkPipelineDynamicStateCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkPipelineDynamicStateCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPipelineDynamicStateCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPipelineDynamicStateCreateInfo where-        sizeOf ~_ = #{size VkPipelineDynamicStateCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPipelineDynamicStateCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPipelineDynamicStateCreateInfo where-        type StructFields VkPipelineDynamicStateCreateInfo =-             '["sType", "pNext", "flags", "dynamicStateCount", "pDynamicStates"] -- ' closing tick for hsc2hs-        type CUnionType VkPipelineDynamicStateCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPipelineDynamicStateCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPipelineDynamicStateCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPipelineDynamicStateCreateInfo where-        type FieldType "sType" VkPipelineDynamicStateCreateInfo =-             VkStructureType-        type FieldOptional "sType" VkPipelineDynamicStateCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPipelineDynamicStateCreateInfo =-             #{offset VkPipelineDynamicStateCreateInfo, sType}-        type FieldIsArray "sType" VkPipelineDynamicStateCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineDynamicStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPipelineDynamicStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineDynamicStateCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineDynamicStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPipelineDynamicStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineDynamicStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPipelineDynamicStateCreateInfo where-        type FieldType "pNext" VkPipelineDynamicStateCreateInfo = Ptr Void-        type FieldOptional "pNext" VkPipelineDynamicStateCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPipelineDynamicStateCreateInfo =-             #{offset VkPipelineDynamicStateCreateInfo, pNext}-        type FieldIsArray "pNext" VkPipelineDynamicStateCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineDynamicStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPipelineDynamicStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineDynamicStateCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineDynamicStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPipelineDynamicStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineDynamicStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkPipelineDynamicStateCreateInfo where-        type FieldType "flags" VkPipelineDynamicStateCreateInfo =-             VkPipelineDynamicStateCreateFlags-        type FieldOptional "flags" VkPipelineDynamicStateCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkPipelineDynamicStateCreateInfo =-             #{offset VkPipelineDynamicStateCreateInfo, flags}-        type FieldIsArray "flags" VkPipelineDynamicStateCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineDynamicStateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkPipelineDynamicStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineDynamicStateCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineDynamicStateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkPipelineDynamicStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineDynamicStateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "dynamicStateCount" VkPipelineDynamicStateCreateInfo where-        type FieldType "dynamicStateCount" VkPipelineDynamicStateCreateInfo-             = Word32-        type FieldOptional "dynamicStateCount"-               VkPipelineDynamicStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dynamicStateCount"-               VkPipelineDynamicStateCreateInfo-             =-             #{offset VkPipelineDynamicStateCreateInfo, dynamicStateCount}-        type FieldIsArray "dynamicStateCount"-               VkPipelineDynamicStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineDynamicStateCreateInfo, dynamicStateCount}--instance {-# OVERLAPPING #-}-         CanReadField "dynamicStateCount" VkPipelineDynamicStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineDynamicStateCreateInfo, dynamicStateCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineDynamicStateCreateInfo, dynamicStateCount}--instance {-# OVERLAPPING #-}-         CanWriteField "dynamicStateCount" VkPipelineDynamicStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineDynamicStateCreateInfo, dynamicStateCount}--instance {-# OVERLAPPING #-}-         HasField "pDynamicStates" VkPipelineDynamicStateCreateInfo where-        type FieldType "pDynamicStates" VkPipelineDynamicStateCreateInfo =-             Ptr VkDynamicState-        type FieldOptional "pDynamicStates"-               VkPipelineDynamicStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pDynamicStates" VkPipelineDynamicStateCreateInfo-             =-             #{offset VkPipelineDynamicStateCreateInfo, pDynamicStates}-        type FieldIsArray "pDynamicStates" VkPipelineDynamicStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineDynamicStateCreateInfo, pDynamicStates}--instance {-# OVERLAPPING #-}-         CanReadField "pDynamicStates" VkPipelineDynamicStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineDynamicStateCreateInfo, pDynamicStates})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineDynamicStateCreateInfo, pDynamicStates}--instance {-# OVERLAPPING #-}-         CanWriteField "pDynamicStates" VkPipelineDynamicStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineDynamicStateCreateInfo, pDynamicStates}--instance Show VkPipelineDynamicStateCreateInfo where-        showsPrec d x-          = showString "VkPipelineDynamicStateCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "dynamicStateCount = " .-                                  showsPrec d (getField @"dynamicStateCount" x) .-                                    showString ", " .-                                      showString "pDynamicStates = " .-                                        showsPrec d (getField @"pDynamicStates" x) . showChar '}'---- | > typedef struct VkPipelineInputAssemblyStateCreateInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkPipelineInputAssemblyStateCreateFlags    flags;---   >     VkPrimitiveTopology    topology;---   >     VkBool32               primitiveRestartEnable;---   > } VkPipelineInputAssemblyStateCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineInputAssemblyStateCreateInfo VkPipelineInputAssemblyStateCreateInfo registry at www.khronos.org>-type VkPipelineInputAssemblyStateCreateInfo =-     VulkanStruct VkPipelineInputAssemblyStateCreateInfo' -- ' closing tick for hsc2hs--data VkPipelineInputAssemblyStateCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkPipelineInputAssemblyStateCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPipelineInputAssemblyStateCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPipelineInputAssemblyStateCreateInfo where-        sizeOf ~_-          = #{size VkPipelineInputAssemblyStateCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPipelineInputAssemblyStateCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPipelineInputAssemblyStateCreateInfo where-        type StructFields VkPipelineInputAssemblyStateCreateInfo =-             '["sType", "pNext", "flags", "topology", "primitiveRestartEnable"] -- ' closing tick for hsc2hs-        type CUnionType VkPipelineInputAssemblyStateCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPipelineInputAssemblyStateCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPipelineInputAssemblyStateCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPipelineInputAssemblyStateCreateInfo where-        type FieldType "sType" VkPipelineInputAssemblyStateCreateInfo =-             VkStructureType-        type FieldOptional "sType" VkPipelineInputAssemblyStateCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPipelineInputAssemblyStateCreateInfo =-             #{offset VkPipelineInputAssemblyStateCreateInfo, sType}-        type FieldIsArray "sType" VkPipelineInputAssemblyStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineInputAssemblyStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPipelineInputAssemblyStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineInputAssemblyStateCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineInputAssemblyStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPipelineInputAssemblyStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineInputAssemblyStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPipelineInputAssemblyStateCreateInfo where-        type FieldType "pNext" VkPipelineInputAssemblyStateCreateInfo =-             Ptr Void-        type FieldOptional "pNext" VkPipelineInputAssemblyStateCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPipelineInputAssemblyStateCreateInfo =-             #{offset VkPipelineInputAssemblyStateCreateInfo, pNext}-        type FieldIsArray "pNext" VkPipelineInputAssemblyStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineInputAssemblyStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPipelineInputAssemblyStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineInputAssemblyStateCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineInputAssemblyStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPipelineInputAssemblyStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineInputAssemblyStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkPipelineInputAssemblyStateCreateInfo where-        type FieldType "flags" VkPipelineInputAssemblyStateCreateInfo =-             VkPipelineInputAssemblyStateCreateFlags-        type FieldOptional "flags" VkPipelineInputAssemblyStateCreateInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkPipelineInputAssemblyStateCreateInfo =-             #{offset VkPipelineInputAssemblyStateCreateInfo, flags}-        type FieldIsArray "flags" VkPipelineInputAssemblyStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineInputAssemblyStateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkPipelineInputAssemblyStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineInputAssemblyStateCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineInputAssemblyStateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkPipelineInputAssemblyStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineInputAssemblyStateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "topology" VkPipelineInputAssemblyStateCreateInfo where-        type FieldType "topology" VkPipelineInputAssemblyStateCreateInfo =-             VkPrimitiveTopology-        type FieldOptional "topology"-               VkPipelineInputAssemblyStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "topology" VkPipelineInputAssemblyStateCreateInfo-             =-             #{offset VkPipelineInputAssemblyStateCreateInfo, topology}-        type FieldIsArray "topology" VkPipelineInputAssemblyStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineInputAssemblyStateCreateInfo, topology}--instance {-# OVERLAPPING #-}-         CanReadField "topology" VkPipelineInputAssemblyStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineInputAssemblyStateCreateInfo, topology})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineInputAssemblyStateCreateInfo, topology}--instance {-# OVERLAPPING #-}-         CanWriteField "topology" VkPipelineInputAssemblyStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineInputAssemblyStateCreateInfo, topology}--instance {-# OVERLAPPING #-}-         HasField "primitiveRestartEnable"-           VkPipelineInputAssemblyStateCreateInfo-         where-        type FieldType "primitiveRestartEnable"-               VkPipelineInputAssemblyStateCreateInfo-             = VkBool32-        type FieldOptional "primitiveRestartEnable"-               VkPipelineInputAssemblyStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "primitiveRestartEnable"-               VkPipelineInputAssemblyStateCreateInfo-             =-             #{offset VkPipelineInputAssemblyStateCreateInfo, primitiveRestartEnable}-        type FieldIsArray "primitiveRestartEnable"-               VkPipelineInputAssemblyStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineInputAssemblyStateCreateInfo, primitiveRestartEnable}--instance {-# OVERLAPPING #-}-         CanReadField "primitiveRestartEnable"-           VkPipelineInputAssemblyStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineInputAssemblyStateCreateInfo, primitiveRestartEnable})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineInputAssemblyStateCreateInfo, primitiveRestartEnable}--instance {-# OVERLAPPING #-}-         CanWriteField "primitiveRestartEnable"-           VkPipelineInputAssemblyStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineInputAssemblyStateCreateInfo, primitiveRestartEnable}--instance Show VkPipelineInputAssemblyStateCreateInfo where-        showsPrec d x-          = showString "VkPipelineInputAssemblyStateCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "topology = " .-                                  showsPrec d (getField @"topology" x) .-                                    showString ", " .-                                      showString "primitiveRestartEnable = " .-                                        showsPrec d (getField @"primitiveRestartEnable" x) .-                                          showChar '}'---- | > typedef struct VkPipelineLayoutCreateInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkPipelineLayoutCreateFlags    flags;---   >     uint32_t               setLayoutCount;---   >     const VkDescriptorSetLayout* pSetLayouts;---   >     uint32_t               pushConstantRangeCount;---   >     const VkPushConstantRange* pPushConstantRanges;---   > } VkPipelineLayoutCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineLayoutCreateInfo VkPipelineLayoutCreateInfo registry at www.khronos.org>-type VkPipelineLayoutCreateInfo =-     VulkanStruct VkPipelineLayoutCreateInfo' -- ' closing tick for hsc2hs--data VkPipelineLayoutCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkPipelineLayoutCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPipelineLayoutCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPipelineLayoutCreateInfo where-        sizeOf ~_ = #{size VkPipelineLayoutCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkPipelineLayoutCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPipelineLayoutCreateInfo where-        type StructFields VkPipelineLayoutCreateInfo =-             '["sType", "pNext", "flags", "setLayoutCount", "pSetLayouts", -- ' closing tick for hsc2hs-               "pushConstantRangeCount", "pPushConstantRanges"]-        type CUnionType VkPipelineLayoutCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPipelineLayoutCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPipelineLayoutCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPipelineLayoutCreateInfo where-        type FieldType "sType" VkPipelineLayoutCreateInfo = VkStructureType-        type FieldOptional "sType" VkPipelineLayoutCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPipelineLayoutCreateInfo =-             #{offset VkPipelineLayoutCreateInfo, sType}-        type FieldIsArray "sType" VkPipelineLayoutCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineLayoutCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPipelineLayoutCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineLayoutCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineLayoutCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPipelineLayoutCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineLayoutCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPipelineLayoutCreateInfo where-        type FieldType "pNext" VkPipelineLayoutCreateInfo = Ptr Void-        type FieldOptional "pNext" VkPipelineLayoutCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPipelineLayoutCreateInfo =-             #{offset VkPipelineLayoutCreateInfo, pNext}-        type FieldIsArray "pNext" VkPipelineLayoutCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineLayoutCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPipelineLayoutCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineLayoutCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineLayoutCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPipelineLayoutCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineLayoutCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkPipelineLayoutCreateInfo where-        type FieldType "flags" VkPipelineLayoutCreateInfo =-             VkPipelineLayoutCreateFlags-        type FieldOptional "flags" VkPipelineLayoutCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkPipelineLayoutCreateInfo =-             #{offset VkPipelineLayoutCreateInfo, flags}-        type FieldIsArray "flags" VkPipelineLayoutCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineLayoutCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkPipelineLayoutCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineLayoutCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineLayoutCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkPipelineLayoutCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineLayoutCreateInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "setLayoutCount" VkPipelineLayoutCreateInfo where-        type FieldType "setLayoutCount" VkPipelineLayoutCreateInfo = Word32-        type FieldOptional "setLayoutCount" VkPipelineLayoutCreateInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "setLayoutCount" VkPipelineLayoutCreateInfo =-             #{offset VkPipelineLayoutCreateInfo, setLayoutCount}-        type FieldIsArray "setLayoutCount" VkPipelineLayoutCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineLayoutCreateInfo, setLayoutCount}--instance {-# OVERLAPPING #-}-         CanReadField "setLayoutCount" VkPipelineLayoutCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineLayoutCreateInfo, setLayoutCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineLayoutCreateInfo, setLayoutCount}--instance {-# OVERLAPPING #-}-         CanWriteField "setLayoutCount" VkPipelineLayoutCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineLayoutCreateInfo, setLayoutCount}--instance {-# OVERLAPPING #-}-         HasField "pSetLayouts" VkPipelineLayoutCreateInfo where-        type FieldType "pSetLayouts" VkPipelineLayoutCreateInfo =-             Ptr VkDescriptorSetLayout-        type FieldOptional "pSetLayouts" VkPipelineLayoutCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pSetLayouts" VkPipelineLayoutCreateInfo =-             #{offset VkPipelineLayoutCreateInfo, pSetLayouts}-        type FieldIsArray "pSetLayouts" VkPipelineLayoutCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineLayoutCreateInfo, pSetLayouts}--instance {-# OVERLAPPING #-}-         CanReadField "pSetLayouts" VkPipelineLayoutCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineLayoutCreateInfo, pSetLayouts})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineLayoutCreateInfo, pSetLayouts}--instance {-# OVERLAPPING #-}-         CanWriteField "pSetLayouts" VkPipelineLayoutCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineLayoutCreateInfo, pSetLayouts}--instance {-# OVERLAPPING #-}-         HasField "pushConstantRangeCount" VkPipelineLayoutCreateInfo where-        type FieldType "pushConstantRangeCount" VkPipelineLayoutCreateInfo-             = Word32-        type FieldOptional "pushConstantRangeCount"-               VkPipelineLayoutCreateInfo-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pushConstantRangeCount"-               VkPipelineLayoutCreateInfo-             =-             #{offset VkPipelineLayoutCreateInfo, pushConstantRangeCount}-        type FieldIsArray "pushConstantRangeCount"-               VkPipelineLayoutCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineLayoutCreateInfo, pushConstantRangeCount}--instance {-# OVERLAPPING #-}-         CanReadField "pushConstantRangeCount" VkPipelineLayoutCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineLayoutCreateInfo, pushConstantRangeCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineLayoutCreateInfo, pushConstantRangeCount}--instance {-# OVERLAPPING #-}-         CanWriteField "pushConstantRangeCount" VkPipelineLayoutCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineLayoutCreateInfo, pushConstantRangeCount}--instance {-# OVERLAPPING #-}-         HasField "pPushConstantRanges" VkPipelineLayoutCreateInfo where-        type FieldType "pPushConstantRanges" VkPipelineLayoutCreateInfo =-             Ptr VkPushConstantRange-        type FieldOptional "pPushConstantRanges" VkPipelineLayoutCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pPushConstantRanges" VkPipelineLayoutCreateInfo =-             #{offset VkPipelineLayoutCreateInfo, pPushConstantRanges}-        type FieldIsArray "pPushConstantRanges" VkPipelineLayoutCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineLayoutCreateInfo, pPushConstantRanges}--instance {-# OVERLAPPING #-}-         CanReadField "pPushConstantRanges" VkPipelineLayoutCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineLayoutCreateInfo, pPushConstantRanges})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineLayoutCreateInfo, pPushConstantRanges}--instance {-# OVERLAPPING #-}-         CanWriteField "pPushConstantRanges" VkPipelineLayoutCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineLayoutCreateInfo, pPushConstantRanges}--instance Show VkPipelineLayoutCreateInfo where-        showsPrec d x-          = showString "VkPipelineLayoutCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "setLayoutCount = " .-                                  showsPrec d (getField @"setLayoutCount" x) .-                                    showString ", " .-                                      showString "pSetLayouts = " .-                                        showsPrec d (getField @"pSetLayouts" x) .-                                          showString ", " .-                                            showString "pushConstantRangeCount = " .-                                              showsPrec d (getField @"pushConstantRangeCount" x) .-                                                showString ", " .-                                                  showString "pPushConstantRanges = " .-                                                    showsPrec d (getField @"pPushConstantRanges" x)-                                                      . showChar '}'---- | > typedef struct VkPipelineMultisampleStateCreateInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkPipelineMultisampleStateCreateFlags    flags;---   >     VkSampleCountFlagBits  rasterizationSamples;---   >     VkBool32               sampleShadingEnable;---   >     float                  minSampleShading;---   >     const VkSampleMask*    pSampleMask;---   >     VkBool32               alphaToCoverageEnable;---   >     VkBool32               alphaToOneEnable;---   > } VkPipelineMultisampleStateCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineMultisampleStateCreateInfo VkPipelineMultisampleStateCreateInfo registry at www.khronos.org>-type VkPipelineMultisampleStateCreateInfo =-     VulkanStruct VkPipelineMultisampleStateCreateInfo' -- ' closing tick for hsc2hs--data VkPipelineMultisampleStateCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkPipelineMultisampleStateCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPipelineMultisampleStateCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPipelineMultisampleStateCreateInfo where-        sizeOf ~_-          = #{size VkPipelineMultisampleStateCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPipelineMultisampleStateCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPipelineMultisampleStateCreateInfo where-        type StructFields VkPipelineMultisampleStateCreateInfo =-             '["sType", "pNext", "flags", "rasterizationSamples", -- ' closing tick for hsc2hs-               "sampleShadingEnable", "minSampleShading", "pSampleMask",-               "alphaToCoverageEnable", "alphaToOneEnable"]-        type CUnionType VkPipelineMultisampleStateCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPipelineMultisampleStateCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPipelineMultisampleStateCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPipelineMultisampleStateCreateInfo where-        type FieldType "sType" VkPipelineMultisampleStateCreateInfo =-             VkStructureType-        type FieldOptional "sType" VkPipelineMultisampleStateCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPipelineMultisampleStateCreateInfo =-             #{offset VkPipelineMultisampleStateCreateInfo, sType}-        type FieldIsArray "sType" VkPipelineMultisampleStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineMultisampleStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPipelineMultisampleStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineMultisampleStateCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineMultisampleStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPipelineMultisampleStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineMultisampleStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPipelineMultisampleStateCreateInfo where-        type FieldType "pNext" VkPipelineMultisampleStateCreateInfo =-             Ptr Void-        type FieldOptional "pNext" VkPipelineMultisampleStateCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPipelineMultisampleStateCreateInfo =-             #{offset VkPipelineMultisampleStateCreateInfo, pNext}-        type FieldIsArray "pNext" VkPipelineMultisampleStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineMultisampleStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPipelineMultisampleStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineMultisampleStateCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineMultisampleStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPipelineMultisampleStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineMultisampleStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkPipelineMultisampleStateCreateInfo where-        type FieldType "flags" VkPipelineMultisampleStateCreateInfo =-             VkPipelineMultisampleStateCreateFlags-        type FieldOptional "flags" VkPipelineMultisampleStateCreateInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkPipelineMultisampleStateCreateInfo =-             #{offset VkPipelineMultisampleStateCreateInfo, flags}-        type FieldIsArray "flags" VkPipelineMultisampleStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineMultisampleStateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkPipelineMultisampleStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineMultisampleStateCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineMultisampleStateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkPipelineMultisampleStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineMultisampleStateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "rasterizationSamples"-           VkPipelineMultisampleStateCreateInfo-         where-        type FieldType "rasterizationSamples"-               VkPipelineMultisampleStateCreateInfo-             = VkSampleCountFlagBits-        type FieldOptional "rasterizationSamples"-               VkPipelineMultisampleStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "rasterizationSamples"-               VkPipelineMultisampleStateCreateInfo-             =-             #{offset VkPipelineMultisampleStateCreateInfo, rasterizationSamples}-        type FieldIsArray "rasterizationSamples"-               VkPipelineMultisampleStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineMultisampleStateCreateInfo, rasterizationSamples}--instance {-# OVERLAPPING #-}-         CanReadField "rasterizationSamples"-           VkPipelineMultisampleStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineMultisampleStateCreateInfo, rasterizationSamples})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineMultisampleStateCreateInfo, rasterizationSamples}--instance {-# OVERLAPPING #-}-         CanWriteField "rasterizationSamples"-           VkPipelineMultisampleStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineMultisampleStateCreateInfo, rasterizationSamples}--instance {-# OVERLAPPING #-}-         HasField "sampleShadingEnable" VkPipelineMultisampleStateCreateInfo-         where-        type FieldType "sampleShadingEnable"-               VkPipelineMultisampleStateCreateInfo-             = VkBool32-        type FieldOptional "sampleShadingEnable"-               VkPipelineMultisampleStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sampleShadingEnable"-               VkPipelineMultisampleStateCreateInfo-             =-             #{offset VkPipelineMultisampleStateCreateInfo, sampleShadingEnable}-        type FieldIsArray "sampleShadingEnable"-               VkPipelineMultisampleStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineMultisampleStateCreateInfo, sampleShadingEnable}--instance {-# OVERLAPPING #-}-         CanReadField "sampleShadingEnable"-           VkPipelineMultisampleStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineMultisampleStateCreateInfo, sampleShadingEnable})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineMultisampleStateCreateInfo, sampleShadingEnable}--instance {-# OVERLAPPING #-}-         CanWriteField "sampleShadingEnable"-           VkPipelineMultisampleStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineMultisampleStateCreateInfo, sampleShadingEnable}--instance {-# OVERLAPPING #-}-         HasField "minSampleShading" VkPipelineMultisampleStateCreateInfo-         where-        type FieldType "minSampleShading"-               VkPipelineMultisampleStateCreateInfo-             = #{type float}-        type FieldOptional "minSampleShading"-               VkPipelineMultisampleStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "minSampleShading"-               VkPipelineMultisampleStateCreateInfo-             =-             #{offset VkPipelineMultisampleStateCreateInfo, minSampleShading}-        type FieldIsArray "minSampleShading"-               VkPipelineMultisampleStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineMultisampleStateCreateInfo, minSampleShading}--instance {-# OVERLAPPING #-}-         CanReadField "minSampleShading"-           VkPipelineMultisampleStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineMultisampleStateCreateInfo, minSampleShading})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineMultisampleStateCreateInfo, minSampleShading}--instance {-# OVERLAPPING #-}-         CanWriteField "minSampleShading"-           VkPipelineMultisampleStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineMultisampleStateCreateInfo, minSampleShading}--instance {-# OVERLAPPING #-}-         HasField "pSampleMask" VkPipelineMultisampleStateCreateInfo where-        type FieldType "pSampleMask" VkPipelineMultisampleStateCreateInfo =-             Ptr VkSampleMask-        type FieldOptional "pSampleMask"-               VkPipelineMultisampleStateCreateInfo-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pSampleMask" VkPipelineMultisampleStateCreateInfo-             =-             #{offset VkPipelineMultisampleStateCreateInfo, pSampleMask}-        type FieldIsArray "pSampleMask"-               VkPipelineMultisampleStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineMultisampleStateCreateInfo, pSampleMask}--instance {-# OVERLAPPING #-}-         CanReadField "pSampleMask" VkPipelineMultisampleStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineMultisampleStateCreateInfo, pSampleMask})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineMultisampleStateCreateInfo, pSampleMask}--instance {-# OVERLAPPING #-}-         CanWriteField "pSampleMask" VkPipelineMultisampleStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineMultisampleStateCreateInfo, pSampleMask}--instance {-# OVERLAPPING #-}-         HasField "alphaToCoverageEnable"-           VkPipelineMultisampleStateCreateInfo-         where-        type FieldType "alphaToCoverageEnable"-               VkPipelineMultisampleStateCreateInfo-             = VkBool32-        type FieldOptional "alphaToCoverageEnable"-               VkPipelineMultisampleStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "alphaToCoverageEnable"-               VkPipelineMultisampleStateCreateInfo-             =-             #{offset VkPipelineMultisampleStateCreateInfo, alphaToCoverageEnable}-        type FieldIsArray "alphaToCoverageEnable"-               VkPipelineMultisampleStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineMultisampleStateCreateInfo, alphaToCoverageEnable}--instance {-# OVERLAPPING #-}-         CanReadField "alphaToCoverageEnable"-           VkPipelineMultisampleStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineMultisampleStateCreateInfo, alphaToCoverageEnable})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineMultisampleStateCreateInfo, alphaToCoverageEnable}--instance {-# OVERLAPPING #-}-         CanWriteField "alphaToCoverageEnable"-           VkPipelineMultisampleStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineMultisampleStateCreateInfo, alphaToCoverageEnable}--instance {-# OVERLAPPING #-}-         HasField "alphaToOneEnable" VkPipelineMultisampleStateCreateInfo-         where-        type FieldType "alphaToOneEnable"-               VkPipelineMultisampleStateCreateInfo-             = VkBool32-        type FieldOptional "alphaToOneEnable"-               VkPipelineMultisampleStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "alphaToOneEnable"-               VkPipelineMultisampleStateCreateInfo-             =-             #{offset VkPipelineMultisampleStateCreateInfo, alphaToOneEnable}-        type FieldIsArray "alphaToOneEnable"-               VkPipelineMultisampleStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineMultisampleStateCreateInfo, alphaToOneEnable}--instance {-# OVERLAPPING #-}-         CanReadField "alphaToOneEnable"-           VkPipelineMultisampleStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineMultisampleStateCreateInfo, alphaToOneEnable})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineMultisampleStateCreateInfo, alphaToOneEnable}--instance {-# OVERLAPPING #-}-         CanWriteField "alphaToOneEnable"-           VkPipelineMultisampleStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineMultisampleStateCreateInfo, alphaToOneEnable}--instance Show VkPipelineMultisampleStateCreateInfo where-        showsPrec d x-          = showString "VkPipelineMultisampleStateCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "rasterizationSamples = " .-                                  showsPrec d (getField @"rasterizationSamples" x) .-                                    showString ", " .-                                      showString "sampleShadingEnable = " .-                                        showsPrec d (getField @"sampleShadingEnable" x) .-                                          showString ", " .-                                            showString "minSampleShading = " .-                                              showsPrec d (getField @"minSampleShading" x) .-                                                showString ", " .-                                                  showString "pSampleMask = " .-                                                    showsPrec d (getField @"pSampleMask" x) .-                                                      showString ", " .-                                                        showString "alphaToCoverageEnable = " .-                                                          showsPrec d-                                                            (getField @"alphaToCoverageEnable" x)-                                                            .-                                                            showString ", " .-                                                              showString "alphaToOneEnable = " .-                                                                showsPrec d-                                                                  (getField @"alphaToOneEnable" x)-                                                                  . showChar '}'---- | > typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {---   >     VkStructureType sType;---   >     const void*                                                                      pNext;---   >     VkPipelineRasterizationConservativeStateCreateFlagsEXT           flags;---   >     VkConservativeRasterizationModeEXT                                               conservativeRasterizationMode;---   >     float                                                                            extraPrimitiveOverestimationSize;---   > } VkPipelineRasterizationConservativeStateCreateInfoEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineRasterizationConservativeStateCreateInfoEXT VkPipelineRasterizationConservativeStateCreateInfoEXT registry at www.khronos.org>-type VkPipelineRasterizationConservativeStateCreateInfoEXT =-     VulkanStruct VkPipelineRasterizationConservativeStateCreateInfoEXT' -- ' closing tick for hsc2hs--data VkPipelineRasterizationConservativeStateCreateInfoEXT' -- ' closing tick for hsc2hs--instance Eq VkPipelineRasterizationConservativeStateCreateInfoEXT-         where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPipelineRasterizationConservativeStateCreateInfoEXT-         where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable-           VkPipelineRasterizationConservativeStateCreateInfoEXT-         where-        sizeOf ~_-          = #{size VkPipelineRasterizationConservativeStateCreateInfoEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPipelineRasterizationConservativeStateCreateInfoEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal-           VkPipelineRasterizationConservativeStateCreateInfoEXT-         where-        type StructFields-               VkPipelineRasterizationConservativeStateCreateInfoEXT-             =-             '["sType", "pNext", "flags", "conservativeRasterizationMode", -- ' closing tick for hsc2hs-               "extraPrimitiveOverestimationSize"]-        type CUnionType-               VkPipelineRasterizationConservativeStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly-               VkPipelineRasterizationConservativeStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type StructExtends-               VkPipelineRasterizationConservativeStateCreateInfoEXT-             = '[VkPipelineRasterizationStateCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType"-           VkPipelineRasterizationConservativeStateCreateInfoEXT-         where-        type FieldType "sType"-               VkPipelineRasterizationConservativeStateCreateInfoEXT-             = VkStructureType-        type FieldOptional "sType"-               VkPipelineRasterizationConservativeStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkPipelineRasterizationConservativeStateCreateInfoEXT-             =-             #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, sType}-        type FieldIsArray "sType"-               VkPipelineRasterizationConservativeStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType"-           VkPipelineRasterizationConservativeStateCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType"-           VkPipelineRasterizationConservativeStateCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext"-           VkPipelineRasterizationConservativeStateCreateInfoEXT-         where-        type FieldType "pNext"-               VkPipelineRasterizationConservativeStateCreateInfoEXT-             = Ptr Void-        type FieldOptional "pNext"-               VkPipelineRasterizationConservativeStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkPipelineRasterizationConservativeStateCreateInfoEXT-             =-             #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, pNext}-        type FieldIsArray "pNext"-               VkPipelineRasterizationConservativeStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext"-           VkPipelineRasterizationConservativeStateCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext"-           VkPipelineRasterizationConservativeStateCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags"-           VkPipelineRasterizationConservativeStateCreateInfoEXT-         where-        type FieldType "flags"-               VkPipelineRasterizationConservativeStateCreateInfoEXT-             = VkPipelineRasterizationConservativeStateCreateFlagsEXT-        type FieldOptional "flags"-               VkPipelineRasterizationConservativeStateCreateInfoEXT-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags"-               VkPipelineRasterizationConservativeStateCreateInfoEXT-             =-             #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, flags}-        type FieldIsArray "flags"-               VkPipelineRasterizationConservativeStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags"-           VkPipelineRasterizationConservativeStateCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags"-           VkPipelineRasterizationConservativeStateCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, flags}--instance {-# OVERLAPPING #-}-         HasField "conservativeRasterizationMode"-           VkPipelineRasterizationConservativeStateCreateInfoEXT-         where-        type FieldType "conservativeRasterizationMode"-               VkPipelineRasterizationConservativeStateCreateInfoEXT-             = VkConservativeRasterizationModeEXT-        type FieldOptional "conservativeRasterizationMode"-               VkPipelineRasterizationConservativeStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "conservativeRasterizationMode"-               VkPipelineRasterizationConservativeStateCreateInfoEXT-             =-             #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, conservativeRasterizationMode}-        type FieldIsArray "conservativeRasterizationMode"-               VkPipelineRasterizationConservativeStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, conservativeRasterizationMode}--instance {-# OVERLAPPING #-}-         CanReadField "conservativeRasterizationMode"-           VkPipelineRasterizationConservativeStateCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, conservativeRasterizationMode})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, conservativeRasterizationMode}--instance {-# OVERLAPPING #-}-         CanWriteField "conservativeRasterizationMode"-           VkPipelineRasterizationConservativeStateCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, conservativeRasterizationMode}--instance {-# OVERLAPPING #-}-         HasField "extraPrimitiveOverestimationSize"-           VkPipelineRasterizationConservativeStateCreateInfoEXT-         where-        type FieldType "extraPrimitiveOverestimationSize"-               VkPipelineRasterizationConservativeStateCreateInfoEXT-             = #{type float}-        type FieldOptional "extraPrimitiveOverestimationSize"-               VkPipelineRasterizationConservativeStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "extraPrimitiveOverestimationSize"-               VkPipelineRasterizationConservativeStateCreateInfoEXT-             =-             #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, extraPrimitiveOverestimationSize}-        type FieldIsArray "extraPrimitiveOverestimationSize"-               VkPipelineRasterizationConservativeStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, extraPrimitiveOverestimationSize}--instance {-# OVERLAPPING #-}-         CanReadField "extraPrimitiveOverestimationSize"-           VkPipelineRasterizationConservativeStateCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, extraPrimitiveOverestimationSize})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, extraPrimitiveOverestimationSize}--instance {-# OVERLAPPING #-}-         CanWriteField "extraPrimitiveOverestimationSize"-           VkPipelineRasterizationConservativeStateCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, extraPrimitiveOverestimationSize}--instance Show VkPipelineRasterizationConservativeStateCreateInfoEXT-         where-        showsPrec d x-          = showString-              "VkPipelineRasterizationConservativeStateCreateInfoEXT {"-              .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "conservativeRasterizationMode = " .-                                  showsPrec d (getField @"conservativeRasterizationMode" x) .-                                    showString ", " .-                                      showString "extraPrimitiveOverestimationSize = " .-                                        showsPrec d (getField @"extraPrimitiveOverestimationSize" x)-                                          . showChar '}'---- | > typedef struct VkPipelineRasterizationStateCreateInfo {---   >     VkStructureType sType;---   >     const void* pNext;---   >     VkPipelineRasterizationStateCreateFlags    flags;---   >     VkBool32               depthClampEnable;---   >     VkBool32               rasterizerDiscardEnable;---   >     VkPolygonMode          polygonMode;---   >     VkCullModeFlags        cullMode;---   >     VkFrontFace            frontFace;---   >     VkBool32               depthBiasEnable;---   >     float                  depthBiasConstantFactor;---   >     float                  depthBiasClamp;---   >     float                  depthBiasSlopeFactor;---   >     float                  lineWidth;---   > } VkPipelineRasterizationStateCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineRasterizationStateCreateInfo VkPipelineRasterizationStateCreateInfo registry at www.khronos.org>-type VkPipelineRasterizationStateCreateInfo =-     VulkanStruct VkPipelineRasterizationStateCreateInfo' -- ' closing tick for hsc2hs--data VkPipelineRasterizationStateCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkPipelineRasterizationStateCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPipelineRasterizationStateCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPipelineRasterizationStateCreateInfo where-        sizeOf ~_-          = #{size VkPipelineRasterizationStateCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPipelineRasterizationStateCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPipelineRasterizationStateCreateInfo where-        type StructFields VkPipelineRasterizationStateCreateInfo =-             '["sType", "pNext", "flags", "depthClampEnable", -- ' closing tick for hsc2hs-               "rasterizerDiscardEnable", "polygonMode", "cullMode", "frontFace",-               "depthBiasEnable", "depthBiasConstantFactor", "depthBiasClamp",-               "depthBiasSlopeFactor", "lineWidth"]-        type CUnionType VkPipelineRasterizationStateCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPipelineRasterizationStateCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPipelineRasterizationStateCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPipelineRasterizationStateCreateInfo where-        type FieldType "sType" VkPipelineRasterizationStateCreateInfo =-             VkStructureType-        type FieldOptional "sType" VkPipelineRasterizationStateCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPipelineRasterizationStateCreateInfo =-             #{offset VkPipelineRasterizationStateCreateInfo, sType}-        type FieldIsArray "sType" VkPipelineRasterizationStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineRasterizationStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPipelineRasterizationStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineRasterizationStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPipelineRasterizationStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineRasterizationStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPipelineRasterizationStateCreateInfo where-        type FieldType "pNext" VkPipelineRasterizationStateCreateInfo =-             Ptr Void-        type FieldOptional "pNext" VkPipelineRasterizationStateCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPipelineRasterizationStateCreateInfo =-             #{offset VkPipelineRasterizationStateCreateInfo, pNext}-        type FieldIsArray "pNext" VkPipelineRasterizationStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineRasterizationStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPipelineRasterizationStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineRasterizationStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPipelineRasterizationStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineRasterizationStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkPipelineRasterizationStateCreateInfo where-        type FieldType "flags" VkPipelineRasterizationStateCreateInfo =-             VkPipelineRasterizationStateCreateFlags-        type FieldOptional "flags" VkPipelineRasterizationStateCreateInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkPipelineRasterizationStateCreateInfo =-             #{offset VkPipelineRasterizationStateCreateInfo, flags}-        type FieldIsArray "flags" VkPipelineRasterizationStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineRasterizationStateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkPipelineRasterizationStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineRasterizationStateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkPipelineRasterizationStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineRasterizationStateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "depthClampEnable" VkPipelineRasterizationStateCreateInfo-         where-        type FieldType "depthClampEnable"-               VkPipelineRasterizationStateCreateInfo-             = VkBool32-        type FieldOptional "depthClampEnable"-               VkPipelineRasterizationStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "depthClampEnable"-               VkPipelineRasterizationStateCreateInfo-             =-             #{offset VkPipelineRasterizationStateCreateInfo, depthClampEnable}-        type FieldIsArray "depthClampEnable"-               VkPipelineRasterizationStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineRasterizationStateCreateInfo, depthClampEnable}--instance {-# OVERLAPPING #-}-         CanReadField "depthClampEnable"-           VkPipelineRasterizationStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateCreateInfo, depthClampEnable})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineRasterizationStateCreateInfo, depthClampEnable}--instance {-# OVERLAPPING #-}-         CanWriteField "depthClampEnable"-           VkPipelineRasterizationStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineRasterizationStateCreateInfo, depthClampEnable}--instance {-# OVERLAPPING #-}-         HasField "rasterizerDiscardEnable"-           VkPipelineRasterizationStateCreateInfo-         where-        type FieldType "rasterizerDiscardEnable"-               VkPipelineRasterizationStateCreateInfo-             = VkBool32-        type FieldOptional "rasterizerDiscardEnable"-               VkPipelineRasterizationStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "rasterizerDiscardEnable"-               VkPipelineRasterizationStateCreateInfo-             =-             #{offset VkPipelineRasterizationStateCreateInfo, rasterizerDiscardEnable}-        type FieldIsArray "rasterizerDiscardEnable"-               VkPipelineRasterizationStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineRasterizationStateCreateInfo, rasterizerDiscardEnable}--instance {-# OVERLAPPING #-}-         CanReadField "rasterizerDiscardEnable"-           VkPipelineRasterizationStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateCreateInfo, rasterizerDiscardEnable})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineRasterizationStateCreateInfo, rasterizerDiscardEnable}--instance {-# OVERLAPPING #-}-         CanWriteField "rasterizerDiscardEnable"-           VkPipelineRasterizationStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineRasterizationStateCreateInfo, rasterizerDiscardEnable}--instance {-# OVERLAPPING #-}-         HasField "polygonMode" VkPipelineRasterizationStateCreateInfo where-        type FieldType "polygonMode" VkPipelineRasterizationStateCreateInfo-             = VkPolygonMode-        type FieldOptional "polygonMode"-               VkPipelineRasterizationStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "polygonMode"-               VkPipelineRasterizationStateCreateInfo-             =-             #{offset VkPipelineRasterizationStateCreateInfo, polygonMode}-        type FieldIsArray "polygonMode"-               VkPipelineRasterizationStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineRasterizationStateCreateInfo, polygonMode}--instance {-# OVERLAPPING #-}-         CanReadField "polygonMode" VkPipelineRasterizationStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateCreateInfo, polygonMode})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineRasterizationStateCreateInfo, polygonMode}--instance {-# OVERLAPPING #-}-         CanWriteField "polygonMode" VkPipelineRasterizationStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineRasterizationStateCreateInfo, polygonMode}--instance {-# OVERLAPPING #-}-         HasField "cullMode" VkPipelineRasterizationStateCreateInfo where-        type FieldType "cullMode" VkPipelineRasterizationStateCreateInfo =-             VkCullModeFlags-        type FieldOptional "cullMode"-               VkPipelineRasterizationStateCreateInfo-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "cullMode" VkPipelineRasterizationStateCreateInfo-             =-             #{offset VkPipelineRasterizationStateCreateInfo, cullMode}-        type FieldIsArray "cullMode" VkPipelineRasterizationStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineRasterizationStateCreateInfo, cullMode}--instance {-# OVERLAPPING #-}-         CanReadField "cullMode" VkPipelineRasterizationStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateCreateInfo, cullMode})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineRasterizationStateCreateInfo, cullMode}--instance {-# OVERLAPPING #-}-         CanWriteField "cullMode" VkPipelineRasterizationStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineRasterizationStateCreateInfo, cullMode}--instance {-# OVERLAPPING #-}-         HasField "frontFace" VkPipelineRasterizationStateCreateInfo where-        type FieldType "frontFace" VkPipelineRasterizationStateCreateInfo =-             VkFrontFace-        type FieldOptional "frontFace"-               VkPipelineRasterizationStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "frontFace" VkPipelineRasterizationStateCreateInfo-             =-             #{offset VkPipelineRasterizationStateCreateInfo, frontFace}-        type FieldIsArray "frontFace"-               VkPipelineRasterizationStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineRasterizationStateCreateInfo, frontFace}--instance {-# OVERLAPPING #-}-         CanReadField "frontFace" VkPipelineRasterizationStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateCreateInfo, frontFace})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineRasterizationStateCreateInfo, frontFace}--instance {-# OVERLAPPING #-}-         CanWriteField "frontFace" VkPipelineRasterizationStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineRasterizationStateCreateInfo, frontFace}--instance {-# OVERLAPPING #-}-         HasField "depthBiasEnable" VkPipelineRasterizationStateCreateInfo-         where-        type FieldType "depthBiasEnable"-               VkPipelineRasterizationStateCreateInfo-             = VkBool32-        type FieldOptional "depthBiasEnable"-               VkPipelineRasterizationStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "depthBiasEnable"-               VkPipelineRasterizationStateCreateInfo-             =-             #{offset VkPipelineRasterizationStateCreateInfo, depthBiasEnable}-        type FieldIsArray "depthBiasEnable"-               VkPipelineRasterizationStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineRasterizationStateCreateInfo, depthBiasEnable}--instance {-# OVERLAPPING #-}-         CanReadField "depthBiasEnable"-           VkPipelineRasterizationStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateCreateInfo, depthBiasEnable})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineRasterizationStateCreateInfo, depthBiasEnable}--instance {-# OVERLAPPING #-}-         CanWriteField "depthBiasEnable"-           VkPipelineRasterizationStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineRasterizationStateCreateInfo, depthBiasEnable}--instance {-# OVERLAPPING #-}-         HasField "depthBiasConstantFactor"-           VkPipelineRasterizationStateCreateInfo-         where-        type FieldType "depthBiasConstantFactor"-               VkPipelineRasterizationStateCreateInfo-             = #{type float}-        type FieldOptional "depthBiasConstantFactor"-               VkPipelineRasterizationStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "depthBiasConstantFactor"-               VkPipelineRasterizationStateCreateInfo-             =-             #{offset VkPipelineRasterizationStateCreateInfo, depthBiasConstantFactor}-        type FieldIsArray "depthBiasConstantFactor"-               VkPipelineRasterizationStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineRasterizationStateCreateInfo, depthBiasConstantFactor}--instance {-# OVERLAPPING #-}-         CanReadField "depthBiasConstantFactor"-           VkPipelineRasterizationStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateCreateInfo, depthBiasConstantFactor})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineRasterizationStateCreateInfo, depthBiasConstantFactor}--instance {-# OVERLAPPING #-}-         CanWriteField "depthBiasConstantFactor"-           VkPipelineRasterizationStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineRasterizationStateCreateInfo, depthBiasConstantFactor}--instance {-# OVERLAPPING #-}-         HasField "depthBiasClamp" VkPipelineRasterizationStateCreateInfo-         where-        type FieldType "depthBiasClamp"-               VkPipelineRasterizationStateCreateInfo-             = #{type float}-        type FieldOptional "depthBiasClamp"-               VkPipelineRasterizationStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "depthBiasClamp"-               VkPipelineRasterizationStateCreateInfo-             =-             #{offset VkPipelineRasterizationStateCreateInfo, depthBiasClamp}-        type FieldIsArray "depthBiasClamp"-               VkPipelineRasterizationStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineRasterizationStateCreateInfo, depthBiasClamp}--instance {-# OVERLAPPING #-}-         CanReadField "depthBiasClamp"-           VkPipelineRasterizationStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateCreateInfo, depthBiasClamp})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineRasterizationStateCreateInfo, depthBiasClamp}--instance {-# OVERLAPPING #-}-         CanWriteField "depthBiasClamp"-           VkPipelineRasterizationStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineRasterizationStateCreateInfo, depthBiasClamp}--instance {-# OVERLAPPING #-}-         HasField "depthBiasSlopeFactor"-           VkPipelineRasterizationStateCreateInfo-         where-        type FieldType "depthBiasSlopeFactor"-               VkPipelineRasterizationStateCreateInfo-             = #{type float}-        type FieldOptional "depthBiasSlopeFactor"-               VkPipelineRasterizationStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "depthBiasSlopeFactor"-               VkPipelineRasterizationStateCreateInfo-             =-             #{offset VkPipelineRasterizationStateCreateInfo, depthBiasSlopeFactor}-        type FieldIsArray "depthBiasSlopeFactor"-               VkPipelineRasterizationStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineRasterizationStateCreateInfo, depthBiasSlopeFactor}--instance {-# OVERLAPPING #-}-         CanReadField "depthBiasSlopeFactor"-           VkPipelineRasterizationStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateCreateInfo, depthBiasSlopeFactor})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineRasterizationStateCreateInfo, depthBiasSlopeFactor}--instance {-# OVERLAPPING #-}-         CanWriteField "depthBiasSlopeFactor"-           VkPipelineRasterizationStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineRasterizationStateCreateInfo, depthBiasSlopeFactor}--instance {-# OVERLAPPING #-}-         HasField "lineWidth" VkPipelineRasterizationStateCreateInfo where-        type FieldType "lineWidth" VkPipelineRasterizationStateCreateInfo =-             #{type float}-        type FieldOptional "lineWidth"-               VkPipelineRasterizationStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "lineWidth" VkPipelineRasterizationStateCreateInfo-             =-             #{offset VkPipelineRasterizationStateCreateInfo, lineWidth}-        type FieldIsArray "lineWidth"-               VkPipelineRasterizationStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineRasterizationStateCreateInfo, lineWidth}--instance {-# OVERLAPPING #-}-         CanReadField "lineWidth" VkPipelineRasterizationStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateCreateInfo, lineWidth})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineRasterizationStateCreateInfo, lineWidth}--instance {-# OVERLAPPING #-}-         CanWriteField "lineWidth" VkPipelineRasterizationStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineRasterizationStateCreateInfo, lineWidth}--instance Show VkPipelineRasterizationStateCreateInfo where-        showsPrec d x-          = showString "VkPipelineRasterizationStateCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "depthClampEnable = " .-                                  showsPrec d (getField @"depthClampEnable" x) .-                                    showString ", " .-                                      showString "rasterizerDiscardEnable = " .-                                        showsPrec d (getField @"rasterizerDiscardEnable" x) .-                                          showString ", " .-                                            showString "polygonMode = " .-                                              showsPrec d (getField @"polygonMode" x) .-                                                showString ", " .-                                                  showString "cullMode = " .-                                                    showsPrec d (getField @"cullMode" x) .-                                                      showString ", " .-                                                        showString "frontFace = " .-                                                          showsPrec d (getField @"frontFace" x) .-                                                            showString ", " .-                                                              showString "depthBiasEnable = " .-                                                                showsPrec d-                                                                  (getField @"depthBiasEnable" x)-                                                                  .-                                                                  showString ", " .-                                                                    showString-                                                                      "depthBiasConstantFactor = "-                                                                      .-                                                                      showsPrec d-                                                                        (getField-                                                                           @"depthBiasConstantFactor"-                                                                           x)-                                                                        .-                                                                        showString ", " .-                                                                          showString-                                                                            "depthBiasClamp = "-                                                                            .-                                                                            showsPrec d-                                                                              (getField-                                                                                 @"depthBiasClamp"-                                                                                 x)-                                                                              .-                                                                              showString ", " .-                                                                                showString-                                                                                  "depthBiasSlopeFactor = "-                                                                                  .-                                                                                  showsPrec d-                                                                                    (getField-                                                                                       @"depthBiasSlopeFactor"-                                                                                       x)-                                                                                    .-                                                                                    showString ", "-                                                                                      .-                                                                                      showString-                                                                                        "lineWidth = "-                                                                                        .-                                                                                        showsPrec d-                                                                                          (getField-                                                                                             @"lineWidth"-                                                                                             x)-                                                                                          .-                                                                                          showChar-                                                                                            '}'---- | > typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkRasterizationOrderAMD          rasterizationOrder;---   > } VkPipelineRasterizationStateRasterizationOrderAMD;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineRasterizationStateRasterizationOrderAMD VkPipelineRasterizationStateRasterizationOrderAMD registry at www.khronos.org>-type VkPipelineRasterizationStateRasterizationOrderAMD =-     VulkanStruct VkPipelineRasterizationStateRasterizationOrderAMD' -- ' closing tick for hsc2hs--data VkPipelineRasterizationStateRasterizationOrderAMD' -- ' closing tick for hsc2hs--instance Eq VkPipelineRasterizationStateRasterizationOrderAMD where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPipelineRasterizationStateRasterizationOrderAMD-         where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPipelineRasterizationStateRasterizationOrderAMD-         where-        sizeOf ~_-          = #{size VkPipelineRasterizationStateRasterizationOrderAMD}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPipelineRasterizationStateRasterizationOrderAMD}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal-           VkPipelineRasterizationStateRasterizationOrderAMD-         where-        type StructFields VkPipelineRasterizationStateRasterizationOrderAMD-             = '["sType", "pNext", "rasterizationOrder"] -- ' closing tick for hsc2hs-        type CUnionType VkPipelineRasterizationStateRasterizationOrderAMD =-             'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPipelineRasterizationStateRasterizationOrderAMD-             = 'False -- ' closing tick for hsc2hs-        type StructExtends-               VkPipelineRasterizationStateRasterizationOrderAMD-             = '[VkPipelineRasterizationStateCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPipelineRasterizationStateRasterizationOrderAMD-         where-        type FieldType "sType"-               VkPipelineRasterizationStateRasterizationOrderAMD-             = VkStructureType-        type FieldOptional "sType"-               VkPipelineRasterizationStateRasterizationOrderAMD-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkPipelineRasterizationStateRasterizationOrderAMD-             =-             #{offset VkPipelineRasterizationStateRasterizationOrderAMD, sType}-        type FieldIsArray "sType"-               VkPipelineRasterizationStateRasterizationOrderAMD-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineRasterizationStateRasterizationOrderAMD, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType"-           VkPipelineRasterizationStateRasterizationOrderAMD-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateRasterizationOrderAMD, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineRasterizationStateRasterizationOrderAMD, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType"-           VkPipelineRasterizationStateRasterizationOrderAMD-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineRasterizationStateRasterizationOrderAMD, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPipelineRasterizationStateRasterizationOrderAMD-         where-        type FieldType "pNext"-               VkPipelineRasterizationStateRasterizationOrderAMD-             = Ptr Void-        type FieldOptional "pNext"-               VkPipelineRasterizationStateRasterizationOrderAMD-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkPipelineRasterizationStateRasterizationOrderAMD-             =-             #{offset VkPipelineRasterizationStateRasterizationOrderAMD, pNext}-        type FieldIsArray "pNext"-               VkPipelineRasterizationStateRasterizationOrderAMD-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineRasterizationStateRasterizationOrderAMD, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext"-           VkPipelineRasterizationStateRasterizationOrderAMD-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateRasterizationOrderAMD, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineRasterizationStateRasterizationOrderAMD, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext"-           VkPipelineRasterizationStateRasterizationOrderAMD-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineRasterizationStateRasterizationOrderAMD, pNext}--instance {-# OVERLAPPING #-}-         HasField "rasterizationOrder"-           VkPipelineRasterizationStateRasterizationOrderAMD-         where-        type FieldType "rasterizationOrder"-               VkPipelineRasterizationStateRasterizationOrderAMD-             = VkRasterizationOrderAMD-        type FieldOptional "rasterizationOrder"-               VkPipelineRasterizationStateRasterizationOrderAMD-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "rasterizationOrder"-               VkPipelineRasterizationStateRasterizationOrderAMD-             =-             #{offset VkPipelineRasterizationStateRasterizationOrderAMD, rasterizationOrder}-        type FieldIsArray "rasterizationOrder"-               VkPipelineRasterizationStateRasterizationOrderAMD-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineRasterizationStateRasterizationOrderAMD, rasterizationOrder}--instance {-# OVERLAPPING #-}-         CanReadField "rasterizationOrder"-           VkPipelineRasterizationStateRasterizationOrderAMD-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateRasterizationOrderAMD, rasterizationOrder})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineRasterizationStateRasterizationOrderAMD, rasterizationOrder}--instance {-# OVERLAPPING #-}-         CanWriteField "rasterizationOrder"-           VkPipelineRasterizationStateRasterizationOrderAMD-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineRasterizationStateRasterizationOrderAMD, rasterizationOrder}--instance Show VkPipelineRasterizationStateRasterizationOrderAMD-         where-        showsPrec d x-          = showString "VkPipelineRasterizationStateRasterizationOrderAMD {"-              .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "rasterizationOrder = " .-                            showsPrec d (getField @"rasterizationOrder" x) . showChar '}'---- | > typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkBool32                         sampleLocationsEnable;---   >     VkSampleLocationsInfoEXT         sampleLocationsInfo;---   > } VkPipelineSampleLocationsStateCreateInfoEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineSampleLocationsStateCreateInfoEXT VkPipelineSampleLocationsStateCreateInfoEXT registry at www.khronos.org>-type VkPipelineSampleLocationsStateCreateInfoEXT =-     VulkanStruct VkPipelineSampleLocationsStateCreateInfoEXT' -- ' closing tick for hsc2hs--data VkPipelineSampleLocationsStateCreateInfoEXT' -- ' closing tick for hsc2hs--instance Eq VkPipelineSampleLocationsStateCreateInfoEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPipelineSampleLocationsStateCreateInfoEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPipelineSampleLocationsStateCreateInfoEXT where-        sizeOf ~_-          = #{size VkPipelineSampleLocationsStateCreateInfoEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPipelineSampleLocationsStateCreateInfoEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPipelineSampleLocationsStateCreateInfoEXT-         where-        type StructFields VkPipelineSampleLocationsStateCreateInfoEXT =-             '["sType", "pNext", "sampleLocationsEnable", "sampleLocationsInfo"] -- ' closing tick for hsc2hs-        type CUnionType VkPipelineSampleLocationsStateCreateInfoEXT =-             'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPipelineSampleLocationsStateCreateInfoEXT =-             'False -- ' closing tick for hsc2hs-        type StructExtends VkPipelineSampleLocationsStateCreateInfoEXT =-             '[VkPipelineMultisampleStateCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPipelineSampleLocationsStateCreateInfoEXT where-        type FieldType "sType" VkPipelineSampleLocationsStateCreateInfoEXT-             = VkStructureType-        type FieldOptional "sType"-               VkPipelineSampleLocationsStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkPipelineSampleLocationsStateCreateInfoEXT-             =-             #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sType}-        type FieldIsArray "sType"-               VkPipelineSampleLocationsStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPipelineSampleLocationsStateCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPipelineSampleLocationsStateCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPipelineSampleLocationsStateCreateInfoEXT where-        type FieldType "pNext" VkPipelineSampleLocationsStateCreateInfoEXT-             = Ptr Void-        type FieldOptional "pNext"-               VkPipelineSampleLocationsStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkPipelineSampleLocationsStateCreateInfoEXT-             =-             #{offset VkPipelineSampleLocationsStateCreateInfoEXT, pNext}-        type FieldIsArray "pNext"-               VkPipelineSampleLocationsStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineSampleLocationsStateCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPipelineSampleLocationsStateCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineSampleLocationsStateCreateInfoEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineSampleLocationsStateCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPipelineSampleLocationsStateCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineSampleLocationsStateCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "sampleLocationsEnable"-           VkPipelineSampleLocationsStateCreateInfoEXT-         where-        type FieldType "sampleLocationsEnable"-               VkPipelineSampleLocationsStateCreateInfoEXT-             = VkBool32-        type FieldOptional "sampleLocationsEnable"-               VkPipelineSampleLocationsStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sampleLocationsEnable"-               VkPipelineSampleLocationsStateCreateInfoEXT-             =-             #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sampleLocationsEnable}-        type FieldIsArray "sampleLocationsEnable"-               VkPipelineSampleLocationsStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sampleLocationsEnable}--instance {-# OVERLAPPING #-}-         CanReadField "sampleLocationsEnable"-           VkPipelineSampleLocationsStateCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sampleLocationsEnable})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sampleLocationsEnable}--instance {-# OVERLAPPING #-}-         CanWriteField "sampleLocationsEnable"-           VkPipelineSampleLocationsStateCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sampleLocationsEnable}--instance {-# OVERLAPPING #-}-         HasField "sampleLocationsInfo"-           VkPipelineSampleLocationsStateCreateInfoEXT-         where-        type FieldType "sampleLocationsInfo"-               VkPipelineSampleLocationsStateCreateInfoEXT-             = VkSampleLocationsInfoEXT-        type FieldOptional "sampleLocationsInfo"-               VkPipelineSampleLocationsStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sampleLocationsInfo"-               VkPipelineSampleLocationsStateCreateInfoEXT-             =-             #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sampleLocationsInfo}-        type FieldIsArray "sampleLocationsInfo"-               VkPipelineSampleLocationsStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sampleLocationsInfo}--instance {-# OVERLAPPING #-}-         CanReadField "sampleLocationsInfo"-           VkPipelineSampleLocationsStateCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sampleLocationsInfo})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sampleLocationsInfo}--instance {-# OVERLAPPING #-}-         CanWriteField "sampleLocationsInfo"-           VkPipelineSampleLocationsStateCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sampleLocationsInfo}--instance Show VkPipelineSampleLocationsStateCreateInfoEXT where-        showsPrec d x-          = showString "VkPipelineSampleLocationsStateCreateInfoEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "sampleLocationsEnable = " .-                            showsPrec d (getField @"sampleLocationsEnable" x) .-                              showString ", " .-                                showString "sampleLocationsInfo = " .-                                  showsPrec d (getField @"sampleLocationsInfo" x) . showChar '}'---- | > typedef struct VkPipelineShaderStageCreateInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkPipelineShaderStageCreateFlags    flags;---   >     VkShaderStageFlagBits  stage;---   >     VkShaderModule         module;---   >     const char*            pName;---   >     const VkSpecializationInfo* pSpecializationInfo;---   > } VkPipelineShaderStageCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineShaderStageCreateInfo VkPipelineShaderStageCreateInfo registry at www.khronos.org>-type VkPipelineShaderStageCreateInfo =-     VulkanStruct VkPipelineShaderStageCreateInfo' -- ' closing tick for hsc2hs--data VkPipelineShaderStageCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkPipelineShaderStageCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPipelineShaderStageCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPipelineShaderStageCreateInfo where-        sizeOf ~_ = #{size VkPipelineShaderStageCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPipelineShaderStageCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPipelineShaderStageCreateInfo where-        type StructFields VkPipelineShaderStageCreateInfo =-             '["sType", "pNext", "flags", "stage", "module", "pName", -- ' closing tick for hsc2hs-               "pSpecializationInfo"]-        type CUnionType VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPipelineShaderStageCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPipelineShaderStageCreateInfo where-        type FieldType "sType" VkPipelineShaderStageCreateInfo =-             VkStructureType-        type FieldOptional "sType" VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPipelineShaderStageCreateInfo =-             #{offset VkPipelineShaderStageCreateInfo, sType}-        type FieldIsArray "sType" VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineShaderStageCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPipelineShaderStageCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineShaderStageCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineShaderStageCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPipelineShaderStageCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineShaderStageCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPipelineShaderStageCreateInfo where-        type FieldType "pNext" VkPipelineShaderStageCreateInfo = Ptr Void-        type FieldOptional "pNext" VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPipelineShaderStageCreateInfo =-             #{offset VkPipelineShaderStageCreateInfo, pNext}-        type FieldIsArray "pNext" VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineShaderStageCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPipelineShaderStageCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineShaderStageCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineShaderStageCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPipelineShaderStageCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineShaderStageCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkPipelineShaderStageCreateInfo where-        type FieldType "flags" VkPipelineShaderStageCreateInfo =-             VkPipelineShaderStageCreateFlags-        type FieldOptional "flags" VkPipelineShaderStageCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkPipelineShaderStageCreateInfo =-             #{offset VkPipelineShaderStageCreateInfo, flags}-        type FieldIsArray "flags" VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineShaderStageCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkPipelineShaderStageCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineShaderStageCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineShaderStageCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkPipelineShaderStageCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineShaderStageCreateInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "stage" VkPipelineShaderStageCreateInfo where-        type FieldType "stage" VkPipelineShaderStageCreateInfo =-             VkShaderStageFlagBits-        type FieldOptional "stage" VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "stage" VkPipelineShaderStageCreateInfo =-             #{offset VkPipelineShaderStageCreateInfo, stage}-        type FieldIsArray "stage" VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineShaderStageCreateInfo, stage}--instance {-# OVERLAPPING #-}-         CanReadField "stage" VkPipelineShaderStageCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineShaderStageCreateInfo, stage})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineShaderStageCreateInfo, stage}--instance {-# OVERLAPPING #-}-         CanWriteField "stage" VkPipelineShaderStageCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineShaderStageCreateInfo, stage}--instance {-# OVERLAPPING #-}-         HasField "module" VkPipelineShaderStageCreateInfo where-        type FieldType "module" VkPipelineShaderStageCreateInfo =-             VkShaderModule-        type FieldOptional "module" VkPipelineShaderStageCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "module" VkPipelineShaderStageCreateInfo =-             #{offset VkPipelineShaderStageCreateInfo, module}-        type FieldIsArray "module" VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineShaderStageCreateInfo, module}--instance {-# OVERLAPPING #-}-         CanReadField "module" VkPipelineShaderStageCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineShaderStageCreateInfo, module})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineShaderStageCreateInfo, module}--instance {-# OVERLAPPING #-}-         CanWriteField "module" VkPipelineShaderStageCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineShaderStageCreateInfo, module}--instance {-# OVERLAPPING #-}-         HasField "pName" VkPipelineShaderStageCreateInfo where-        type FieldType "pName" VkPipelineShaderStageCreateInfo = CString-        type FieldOptional "pName" VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pName" VkPipelineShaderStageCreateInfo =-             #{offset VkPipelineShaderStageCreateInfo, pName}-        type FieldIsArray "pName" VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineShaderStageCreateInfo, pName}--instance {-# OVERLAPPING #-}-         CanReadField "pName" VkPipelineShaderStageCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineShaderStageCreateInfo, pName})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineShaderStageCreateInfo, pName}--instance {-# OVERLAPPING #-}-         CanWriteField "pName" VkPipelineShaderStageCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineShaderStageCreateInfo, pName}--instance {-# OVERLAPPING #-}-         HasField "pSpecializationInfo" VkPipelineShaderStageCreateInfo-         where-        type FieldType "pSpecializationInfo"-               VkPipelineShaderStageCreateInfo-             = Ptr VkSpecializationInfo-        type FieldOptional "pSpecializationInfo"-               VkPipelineShaderStageCreateInfo-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pSpecializationInfo"-               VkPipelineShaderStageCreateInfo-             =-             #{offset VkPipelineShaderStageCreateInfo, pSpecializationInfo}-        type FieldIsArray "pSpecializationInfo"-               VkPipelineShaderStageCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineShaderStageCreateInfo, pSpecializationInfo}--instance {-# OVERLAPPING #-}-         CanReadField "pSpecializationInfo" VkPipelineShaderStageCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineShaderStageCreateInfo, pSpecializationInfo})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineShaderStageCreateInfo, pSpecializationInfo}--instance {-# OVERLAPPING #-}-         CanWriteField "pSpecializationInfo" VkPipelineShaderStageCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineShaderStageCreateInfo, pSpecializationInfo}--instance Show VkPipelineShaderStageCreateInfo where-        showsPrec d x-          = showString "VkPipelineShaderStageCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "stage = " .-                                  showsPrec d (getField @"stage" x) .-                                    showString ", " .-                                      showString "module = " .-                                        showsPrec d (getField @"module" x) .-                                          showString ", " .-                                            showString "pName = " .-                                              showsPrec d (getField @"pName" x) .-                                                showString ", " .-                                                  showString "pSpecializationInfo = " .-                                                    showsPrec d (getField @"pSpecializationInfo" x)-                                                      . showChar '}'---- | > typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkTessellationDomainOrigin    domainOrigin;---   > } VkPipelineTessellationDomainOriginStateCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfo registry at www.khronos.org>-type VkPipelineTessellationDomainOriginStateCreateInfo =-     VulkanStruct VkPipelineTessellationDomainOriginStateCreateInfo' -- ' closing tick for hsc2hs--data VkPipelineTessellationDomainOriginStateCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkPipelineTessellationDomainOriginStateCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPipelineTessellationDomainOriginStateCreateInfo-         where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPipelineTessellationDomainOriginStateCreateInfo-         where-        sizeOf ~_-          = #{size VkPipelineTessellationDomainOriginStateCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPipelineTessellationDomainOriginStateCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal-           VkPipelineTessellationDomainOriginStateCreateInfo-         where-        type StructFields VkPipelineTessellationDomainOriginStateCreateInfo-             = '["sType", "pNext", "domainOrigin"] -- ' closing tick for hsc2hs-        type CUnionType VkPipelineTessellationDomainOriginStateCreateInfo =-             'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPipelineTessellationDomainOriginStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type StructExtends-               VkPipelineTessellationDomainOriginStateCreateInfo-             = '[VkPipelineTessellationStateCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPipelineTessellationDomainOriginStateCreateInfo-         where-        type FieldType "sType"-               VkPipelineTessellationDomainOriginStateCreateInfo-             = VkStructureType-        type FieldOptional "sType"-               VkPipelineTessellationDomainOriginStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkPipelineTessellationDomainOriginStateCreateInfo-             =-             #{offset VkPipelineTessellationDomainOriginStateCreateInfo, sType}-        type FieldIsArray "sType"-               VkPipelineTessellationDomainOriginStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineTessellationDomainOriginStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType"-           VkPipelineTessellationDomainOriginStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineTessellationDomainOriginStateCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineTessellationDomainOriginStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType"-           VkPipelineTessellationDomainOriginStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineTessellationDomainOriginStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPipelineTessellationDomainOriginStateCreateInfo-         where-        type FieldType "pNext"-               VkPipelineTessellationDomainOriginStateCreateInfo-             = Ptr Void-        type FieldOptional "pNext"-               VkPipelineTessellationDomainOriginStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkPipelineTessellationDomainOriginStateCreateInfo-             =-             #{offset VkPipelineTessellationDomainOriginStateCreateInfo, pNext}-        type FieldIsArray "pNext"-               VkPipelineTessellationDomainOriginStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineTessellationDomainOriginStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext"-           VkPipelineTessellationDomainOriginStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineTessellationDomainOriginStateCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineTessellationDomainOriginStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext"-           VkPipelineTessellationDomainOriginStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineTessellationDomainOriginStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "domainOrigin"-           VkPipelineTessellationDomainOriginStateCreateInfo-         where-        type FieldType "domainOrigin"-               VkPipelineTessellationDomainOriginStateCreateInfo-             = VkTessellationDomainOrigin-        type FieldOptional "domainOrigin"-               VkPipelineTessellationDomainOriginStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "domainOrigin"-               VkPipelineTessellationDomainOriginStateCreateInfo-             =-             #{offset VkPipelineTessellationDomainOriginStateCreateInfo, domainOrigin}-        type FieldIsArray "domainOrigin"-               VkPipelineTessellationDomainOriginStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineTessellationDomainOriginStateCreateInfo, domainOrigin}--instance {-# OVERLAPPING #-}-         CanReadField "domainOrigin"-           VkPipelineTessellationDomainOriginStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineTessellationDomainOriginStateCreateInfo, domainOrigin})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineTessellationDomainOriginStateCreateInfo, domainOrigin}--instance {-# OVERLAPPING #-}-         CanWriteField "domainOrigin"-           VkPipelineTessellationDomainOriginStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineTessellationDomainOriginStateCreateInfo, domainOrigin}--instance Show VkPipelineTessellationDomainOriginStateCreateInfo-         where-        showsPrec d x-          = showString "VkPipelineTessellationDomainOriginStateCreateInfo {"-              .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "domainOrigin = " .-                            showsPrec d (getField @"domainOrigin" x) . showChar '}'---- | Alias for `VkPipelineTessellationDomainOriginStateCreateInfo`-type VkPipelineTessellationDomainOriginStateCreateInfoKHR =-     VkPipelineTessellationDomainOriginStateCreateInfo---- | > typedef struct VkPipelineTessellationStateCreateInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkPipelineTessellationStateCreateFlags    flags;---   >     uint32_t               patchControlPoints;---   > } VkPipelineTessellationStateCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineTessellationStateCreateInfo VkPipelineTessellationStateCreateInfo registry at www.khronos.org>-type VkPipelineTessellationStateCreateInfo =-     VulkanStruct VkPipelineTessellationStateCreateInfo' -- ' closing tick for hsc2hs--data VkPipelineTessellationStateCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkPipelineTessellationStateCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPipelineTessellationStateCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPipelineTessellationStateCreateInfo where-        sizeOf ~_-          = #{size VkPipelineTessellationStateCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPipelineTessellationStateCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPipelineTessellationStateCreateInfo where-        type StructFields VkPipelineTessellationStateCreateInfo =-             '["sType", "pNext", "flags", "patchControlPoints"] -- ' closing tick for hsc2hs-        type CUnionType VkPipelineTessellationStateCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPipelineTessellationStateCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPipelineTessellationStateCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPipelineTessellationStateCreateInfo where-        type FieldType "sType" VkPipelineTessellationStateCreateInfo =-             VkStructureType-        type FieldOptional "sType" VkPipelineTessellationStateCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPipelineTessellationStateCreateInfo =-             #{offset VkPipelineTessellationStateCreateInfo, sType}-        type FieldIsArray "sType" VkPipelineTessellationStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineTessellationStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPipelineTessellationStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineTessellationStateCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineTessellationStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPipelineTessellationStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineTessellationStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPipelineTessellationStateCreateInfo where-        type FieldType "pNext" VkPipelineTessellationStateCreateInfo =-             Ptr Void-        type FieldOptional "pNext" VkPipelineTessellationStateCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPipelineTessellationStateCreateInfo =-             #{offset VkPipelineTessellationStateCreateInfo, pNext}-        type FieldIsArray "pNext" VkPipelineTessellationStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineTessellationStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPipelineTessellationStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineTessellationStateCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineTessellationStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPipelineTessellationStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineTessellationStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkPipelineTessellationStateCreateInfo where-        type FieldType "flags" VkPipelineTessellationStateCreateInfo =-             VkPipelineTessellationStateCreateFlags-        type FieldOptional "flags" VkPipelineTessellationStateCreateInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkPipelineTessellationStateCreateInfo =-             #{offset VkPipelineTessellationStateCreateInfo, flags}-        type FieldIsArray "flags" VkPipelineTessellationStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineTessellationStateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkPipelineTessellationStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineTessellationStateCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineTessellationStateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkPipelineTessellationStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineTessellationStateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "patchControlPoints" VkPipelineTessellationStateCreateInfo-         where-        type FieldType "patchControlPoints"-               VkPipelineTessellationStateCreateInfo-             = Word32-        type FieldOptional "patchControlPoints"-               VkPipelineTessellationStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "patchControlPoints"-               VkPipelineTessellationStateCreateInfo-             =-             #{offset VkPipelineTessellationStateCreateInfo, patchControlPoints}-        type FieldIsArray "patchControlPoints"-               VkPipelineTessellationStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineTessellationStateCreateInfo, patchControlPoints}--instance {-# OVERLAPPING #-}-         CanReadField "patchControlPoints"-           VkPipelineTessellationStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineTessellationStateCreateInfo, patchControlPoints})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineTessellationStateCreateInfo, patchControlPoints}--instance {-# OVERLAPPING #-}-         CanWriteField "patchControlPoints"-           VkPipelineTessellationStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineTessellationStateCreateInfo, patchControlPoints}--instance Show VkPipelineTessellationStateCreateInfo where-        showsPrec d x-          = showString "VkPipelineTessellationStateCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "patchControlPoints = " .-                                  showsPrec d (getField @"patchControlPoints" x) . showChar '}'---- | > typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {---   >     VkStructureType sType;---   >     const void*                         pNext;---   >     uint32_t                            vertexBindingDivisorCount;---   >     const VkVertexInputBindingDivisorDescriptionEXT*      pVertexBindingDivisors;---   > } VkPipelineVertexInputDivisorStateCreateInfoEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineVertexInputDivisorStateCreateInfoEXT VkPipelineVertexInputDivisorStateCreateInfoEXT registry at www.khronos.org>-type VkPipelineVertexInputDivisorStateCreateInfoEXT =-     VulkanStruct VkPipelineVertexInputDivisorStateCreateInfoEXT' -- ' closing tick for hsc2hs--data VkPipelineVertexInputDivisorStateCreateInfoEXT' -- ' closing tick for hsc2hs--instance Eq VkPipelineVertexInputDivisorStateCreateInfoEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPipelineVertexInputDivisorStateCreateInfoEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPipelineVertexInputDivisorStateCreateInfoEXT-         where-        sizeOf ~_-          = #{size VkPipelineVertexInputDivisorStateCreateInfoEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPipelineVertexInputDivisorStateCreateInfoEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal-           VkPipelineVertexInputDivisorStateCreateInfoEXT-         where-        type StructFields VkPipelineVertexInputDivisorStateCreateInfoEXT =-             '["sType", "pNext", "vertexBindingDivisorCount", -- ' closing tick for hsc2hs-               "pVertexBindingDivisors"]-        type CUnionType VkPipelineVertexInputDivisorStateCreateInfoEXT =-             'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPipelineVertexInputDivisorStateCreateInfoEXT =-             'False -- ' closing tick for hsc2hs-        type StructExtends VkPipelineVertexInputDivisorStateCreateInfoEXT =-             '[VkPipelineVertexInputStateCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPipelineVertexInputDivisorStateCreateInfoEXT-         where-        type FieldType "sType"-               VkPipelineVertexInputDivisorStateCreateInfoEXT-             = VkStructureType-        type FieldOptional "sType"-               VkPipelineVertexInputDivisorStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkPipelineVertexInputDivisorStateCreateInfoEXT-             =-             #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, sType}-        type FieldIsArray "sType"-               VkPipelineVertexInputDivisorStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPipelineVertexInputDivisorStateCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType"-           VkPipelineVertexInputDivisorStateCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPipelineVertexInputDivisorStateCreateInfoEXT-         where-        type FieldType "pNext"-               VkPipelineVertexInputDivisorStateCreateInfoEXT-             = Ptr Void-        type FieldOptional "pNext"-               VkPipelineVertexInputDivisorStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkPipelineVertexInputDivisorStateCreateInfoEXT-             =-             #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, pNext}-        type FieldIsArray "pNext"-               VkPipelineVertexInputDivisorStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPipelineVertexInputDivisorStateCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext"-           VkPipelineVertexInputDivisorStateCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "vertexBindingDivisorCount"-           VkPipelineVertexInputDivisorStateCreateInfoEXT-         where-        type FieldType "vertexBindingDivisorCount"-               VkPipelineVertexInputDivisorStateCreateInfoEXT-             = Word32-        type FieldOptional "vertexBindingDivisorCount"-               VkPipelineVertexInputDivisorStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "vertexBindingDivisorCount"-               VkPipelineVertexInputDivisorStateCreateInfoEXT-             =-             #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, vertexBindingDivisorCount}-        type FieldIsArray "vertexBindingDivisorCount"-               VkPipelineVertexInputDivisorStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, vertexBindingDivisorCount}--instance {-# OVERLAPPING #-}-         CanReadField "vertexBindingDivisorCount"-           VkPipelineVertexInputDivisorStateCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, vertexBindingDivisorCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, vertexBindingDivisorCount}--instance {-# OVERLAPPING #-}-         CanWriteField "vertexBindingDivisorCount"-           VkPipelineVertexInputDivisorStateCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, vertexBindingDivisorCount}--instance {-# OVERLAPPING #-}-         HasField "pVertexBindingDivisors"-           VkPipelineVertexInputDivisorStateCreateInfoEXT-         where-        type FieldType "pVertexBindingDivisors"-               VkPipelineVertexInputDivisorStateCreateInfoEXT-             = Ptr VkVertexInputBindingDivisorDescriptionEXT-        type FieldOptional "pVertexBindingDivisors"-               VkPipelineVertexInputDivisorStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pVertexBindingDivisors"-               VkPipelineVertexInputDivisorStateCreateInfoEXT-             =-             #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, pVertexBindingDivisors}-        type FieldIsArray "pVertexBindingDivisors"-               VkPipelineVertexInputDivisorStateCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, pVertexBindingDivisors}--instance {-# OVERLAPPING #-}-         CanReadField "pVertexBindingDivisors"-           VkPipelineVertexInputDivisorStateCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, pVertexBindingDivisors})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, pVertexBindingDivisors}--instance {-# OVERLAPPING #-}-         CanWriteField "pVertexBindingDivisors"-           VkPipelineVertexInputDivisorStateCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, pVertexBindingDivisors}--instance Show VkPipelineVertexInputDivisorStateCreateInfoEXT where-        showsPrec d x-          = showString "VkPipelineVertexInputDivisorStateCreateInfoEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "vertexBindingDivisorCount = " .-                            showsPrec d (getField @"vertexBindingDivisorCount" x) .-                              showString ", " .-                                showString "pVertexBindingDivisors = " .-                                  showsPrec d (getField @"pVertexBindingDivisors" x) . showChar '}'---- | > typedef struct VkPipelineVertexInputStateCreateInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkPipelineVertexInputStateCreateFlags    flags;---   >     uint32_t               vertexBindingDescriptionCount;---   >     const VkVertexInputBindingDescription* pVertexBindingDescriptions;---   >     uint32_t               vertexAttributeDescriptionCount;---   >     const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;---   > } VkPipelineVertexInputStateCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineVertexInputStateCreateInfo VkPipelineVertexInputStateCreateInfo registry at www.khronos.org>-type VkPipelineVertexInputStateCreateInfo =-     VulkanStruct VkPipelineVertexInputStateCreateInfo' -- ' closing tick for hsc2hs--data VkPipelineVertexInputStateCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkPipelineVertexInputStateCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPipelineVertexInputStateCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPipelineVertexInputStateCreateInfo where-        sizeOf ~_-          = #{size VkPipelineVertexInputStateCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPipelineVertexInputStateCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPipelineVertexInputStateCreateInfo where-        type StructFields VkPipelineVertexInputStateCreateInfo =-             '["sType", "pNext", "flags", "vertexBindingDescriptionCount", -- ' closing tick for hsc2hs-               "pVertexBindingDescriptions", "vertexAttributeDescriptionCount",-               "pVertexAttributeDescriptions"]-        type CUnionType VkPipelineVertexInputStateCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPipelineVertexInputStateCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPipelineVertexInputStateCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPipelineVertexInputStateCreateInfo where-        type FieldType "sType" VkPipelineVertexInputStateCreateInfo =-             VkStructureType-        type FieldOptional "sType" VkPipelineVertexInputStateCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPipelineVertexInputStateCreateInfo =-             #{offset VkPipelineVertexInputStateCreateInfo, sType}-        type FieldIsArray "sType" VkPipelineVertexInputStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineVertexInputStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPipelineVertexInputStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineVertexInputStateCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineVertexInputStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPipelineVertexInputStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineVertexInputStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPipelineVertexInputStateCreateInfo where-        type FieldType "pNext" VkPipelineVertexInputStateCreateInfo =-             Ptr Void-        type FieldOptional "pNext" VkPipelineVertexInputStateCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPipelineVertexInputStateCreateInfo =-             #{offset VkPipelineVertexInputStateCreateInfo, pNext}-        type FieldIsArray "pNext" VkPipelineVertexInputStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineVertexInputStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPipelineVertexInputStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineVertexInputStateCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineVertexInputStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPipelineVertexInputStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineVertexInputStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkPipelineVertexInputStateCreateInfo where-        type FieldType "flags" VkPipelineVertexInputStateCreateInfo =-             VkPipelineVertexInputStateCreateFlags-        type FieldOptional "flags" VkPipelineVertexInputStateCreateInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkPipelineVertexInputStateCreateInfo =-             #{offset VkPipelineVertexInputStateCreateInfo, flags}-        type FieldIsArray "flags" VkPipelineVertexInputStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineVertexInputStateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkPipelineVertexInputStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineVertexInputStateCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineVertexInputStateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkPipelineVertexInputStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineVertexInputStateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "vertexBindingDescriptionCount"-           VkPipelineVertexInputStateCreateInfo-         where-        type FieldType "vertexBindingDescriptionCount"-               VkPipelineVertexInputStateCreateInfo-             = Word32-        type FieldOptional "vertexBindingDescriptionCount"-               VkPipelineVertexInputStateCreateInfo-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "vertexBindingDescriptionCount"-               VkPipelineVertexInputStateCreateInfo-             =-             #{offset VkPipelineVertexInputStateCreateInfo, vertexBindingDescriptionCount}-        type FieldIsArray "vertexBindingDescriptionCount"-               VkPipelineVertexInputStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineVertexInputStateCreateInfo, vertexBindingDescriptionCount}--instance {-# OVERLAPPING #-}-         CanReadField "vertexBindingDescriptionCount"-           VkPipelineVertexInputStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineVertexInputStateCreateInfo, vertexBindingDescriptionCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineVertexInputStateCreateInfo, vertexBindingDescriptionCount}--instance {-# OVERLAPPING #-}-         CanWriteField "vertexBindingDescriptionCount"-           VkPipelineVertexInputStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineVertexInputStateCreateInfo, vertexBindingDescriptionCount}--instance {-# OVERLAPPING #-}-         HasField "pVertexBindingDescriptions"-           VkPipelineVertexInputStateCreateInfo-         where-        type FieldType "pVertexBindingDescriptions"-               VkPipelineVertexInputStateCreateInfo-             = Ptr VkVertexInputBindingDescription-        type FieldOptional "pVertexBindingDescriptions"-               VkPipelineVertexInputStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pVertexBindingDescriptions"-               VkPipelineVertexInputStateCreateInfo-             =-             #{offset VkPipelineVertexInputStateCreateInfo, pVertexBindingDescriptions}-        type FieldIsArray "pVertexBindingDescriptions"-               VkPipelineVertexInputStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineVertexInputStateCreateInfo, pVertexBindingDescriptions}--instance {-# OVERLAPPING #-}-         CanReadField "pVertexBindingDescriptions"-           VkPipelineVertexInputStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineVertexInputStateCreateInfo, pVertexBindingDescriptions})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineVertexInputStateCreateInfo, pVertexBindingDescriptions}--instance {-# OVERLAPPING #-}-         CanWriteField "pVertexBindingDescriptions"-           VkPipelineVertexInputStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineVertexInputStateCreateInfo, pVertexBindingDescriptions}--instance {-# OVERLAPPING #-}-         HasField "vertexAttributeDescriptionCount"-           VkPipelineVertexInputStateCreateInfo-         where-        type FieldType "vertexAttributeDescriptionCount"-               VkPipelineVertexInputStateCreateInfo-             = Word32-        type FieldOptional "vertexAttributeDescriptionCount"-               VkPipelineVertexInputStateCreateInfo-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "vertexAttributeDescriptionCount"-               VkPipelineVertexInputStateCreateInfo-             =-             #{offset VkPipelineVertexInputStateCreateInfo, vertexAttributeDescriptionCount}-        type FieldIsArray "vertexAttributeDescriptionCount"-               VkPipelineVertexInputStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineVertexInputStateCreateInfo, vertexAttributeDescriptionCount}--instance {-# OVERLAPPING #-}-         CanReadField "vertexAttributeDescriptionCount"-           VkPipelineVertexInputStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineVertexInputStateCreateInfo, vertexAttributeDescriptionCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineVertexInputStateCreateInfo, vertexAttributeDescriptionCount}--instance {-# OVERLAPPING #-}-         CanWriteField "vertexAttributeDescriptionCount"-           VkPipelineVertexInputStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineVertexInputStateCreateInfo, vertexAttributeDescriptionCount}--instance {-# OVERLAPPING #-}-         HasField "pVertexAttributeDescriptions"-           VkPipelineVertexInputStateCreateInfo-         where-        type FieldType "pVertexAttributeDescriptions"-               VkPipelineVertexInputStateCreateInfo-             = Ptr VkVertexInputAttributeDescription-        type FieldOptional "pVertexAttributeDescriptions"-               VkPipelineVertexInputStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pVertexAttributeDescriptions"-               VkPipelineVertexInputStateCreateInfo-             =-             #{offset VkPipelineVertexInputStateCreateInfo, pVertexAttributeDescriptions}-        type FieldIsArray "pVertexAttributeDescriptions"-               VkPipelineVertexInputStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineVertexInputStateCreateInfo, pVertexAttributeDescriptions}--instance {-# OVERLAPPING #-}-         CanReadField "pVertexAttributeDescriptions"-           VkPipelineVertexInputStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineVertexInputStateCreateInfo, pVertexAttributeDescriptions})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineVertexInputStateCreateInfo, pVertexAttributeDescriptions}--instance {-# OVERLAPPING #-}-         CanWriteField "pVertexAttributeDescriptions"-           VkPipelineVertexInputStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineVertexInputStateCreateInfo, pVertexAttributeDescriptions}--instance Show VkPipelineVertexInputStateCreateInfo where-        showsPrec d x-          = showString "VkPipelineVertexInputStateCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "vertexBindingDescriptionCount = " .-                                  showsPrec d (getField @"vertexBindingDescriptionCount" x) .-                                    showString ", " .-                                      showString "pVertexBindingDescriptions = " .-                                        showsPrec d (getField @"pVertexBindingDescriptions" x) .-                                          showString ", " .-                                            showString "vertexAttributeDescriptionCount = " .-                                              showsPrec d-                                                (getField @"vertexAttributeDescriptionCount" x)-                                                .-                                                showString ", " .-                                                  showString "pVertexAttributeDescriptions = " .-                                                    showsPrec d-                                                      (getField @"pVertexAttributeDescriptions" x)-                                                      . showChar '}'---- | > typedef struct VkPipelineViewportStateCreateInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkPipelineViewportStateCreateFlags    flags;---   >     uint32_t               viewportCount;---   >     const VkViewport*      pViewports;---   >     uint32_t               scissorCount;---   >     const VkRect2D*        pScissors;---   > } VkPipelineViewportStateCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineViewportStateCreateInfo VkPipelineViewportStateCreateInfo registry at www.khronos.org>-type VkPipelineViewportStateCreateInfo =-     VulkanStruct VkPipelineViewportStateCreateInfo' -- ' closing tick for hsc2hs--data VkPipelineViewportStateCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkPipelineViewportStateCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPipelineViewportStateCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPipelineViewportStateCreateInfo where-        sizeOf ~_ = #{size VkPipelineViewportStateCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPipelineViewportStateCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPipelineViewportStateCreateInfo where-        type StructFields VkPipelineViewportStateCreateInfo =-             '["sType", "pNext", "flags", "viewportCount", "pViewports", -- ' closing tick for hsc2hs-               "scissorCount", "pScissors"]-        type CUnionType VkPipelineViewportStateCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPipelineViewportStateCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPipelineViewportStateCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPipelineViewportStateCreateInfo where-        type FieldType "sType" VkPipelineViewportStateCreateInfo =-             VkStructureType-        type FieldOptional "sType" VkPipelineViewportStateCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPipelineViewportStateCreateInfo =-             #{offset VkPipelineViewportStateCreateInfo, sType}-        type FieldIsArray "sType" VkPipelineViewportStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineViewportStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPipelineViewportStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineViewportStateCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineViewportStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPipelineViewportStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineViewportStateCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPipelineViewportStateCreateInfo where-        type FieldType "pNext" VkPipelineViewportStateCreateInfo = Ptr Void-        type FieldOptional "pNext" VkPipelineViewportStateCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPipelineViewportStateCreateInfo =-             #{offset VkPipelineViewportStateCreateInfo, pNext}-        type FieldIsArray "pNext" VkPipelineViewportStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineViewportStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPipelineViewportStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineViewportStateCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineViewportStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPipelineViewportStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineViewportStateCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkPipelineViewportStateCreateInfo where-        type FieldType "flags" VkPipelineViewportStateCreateInfo =-             VkPipelineViewportStateCreateFlags-        type FieldOptional "flags" VkPipelineViewportStateCreateInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkPipelineViewportStateCreateInfo =-             #{offset VkPipelineViewportStateCreateInfo, flags}-        type FieldIsArray "flags" VkPipelineViewportStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineViewportStateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkPipelineViewportStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineViewportStateCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineViewportStateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkPipelineViewportStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineViewportStateCreateInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "viewportCount" VkPipelineViewportStateCreateInfo where-        type FieldType "viewportCount" VkPipelineViewportStateCreateInfo =-             Word32-        type FieldOptional "viewportCount"-               VkPipelineViewportStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "viewportCount" VkPipelineViewportStateCreateInfo-             =-             #{offset VkPipelineViewportStateCreateInfo, viewportCount}-        type FieldIsArray "viewportCount" VkPipelineViewportStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineViewportStateCreateInfo, viewportCount}--instance {-# OVERLAPPING #-}-         CanReadField "viewportCount" VkPipelineViewportStateCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineViewportStateCreateInfo, viewportCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineViewportStateCreateInfo, viewportCount}--instance {-# OVERLAPPING #-}-         CanWriteField "viewportCount" VkPipelineViewportStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineViewportStateCreateInfo, viewportCount}--instance {-# OVERLAPPING #-}-         HasField "pViewports" VkPipelineViewportStateCreateInfo where-        type FieldType "pViewports" VkPipelineViewportStateCreateInfo =-             Ptr VkViewport-        type FieldOptional "pViewports" VkPipelineViewportStateCreateInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "pViewports" VkPipelineViewportStateCreateInfo =-             #{offset VkPipelineViewportStateCreateInfo, pViewports}-        type FieldIsArray "pViewports" VkPipelineViewportStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineViewportStateCreateInfo, pViewports}--instance {-# OVERLAPPING #-}-         CanReadField "pViewports" VkPipelineViewportStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineViewportStateCreateInfo, pViewports})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineViewportStateCreateInfo, pViewports}--instance {-# OVERLAPPING #-}-         CanWriteField "pViewports" VkPipelineViewportStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineViewportStateCreateInfo, pViewports}--instance {-# OVERLAPPING #-}-         HasField "scissorCount" VkPipelineViewportStateCreateInfo where-        type FieldType "scissorCount" VkPipelineViewportStateCreateInfo =-             Word32-        type FieldOptional "scissorCount" VkPipelineViewportStateCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "scissorCount" VkPipelineViewportStateCreateInfo =-             #{offset VkPipelineViewportStateCreateInfo, scissorCount}-        type FieldIsArray "scissorCount" VkPipelineViewportStateCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineViewportStateCreateInfo, scissorCount}--instance {-# OVERLAPPING #-}-         CanReadField "scissorCount" VkPipelineViewportStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineViewportStateCreateInfo, scissorCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineViewportStateCreateInfo, scissorCount}--instance {-# OVERLAPPING #-}-         CanWriteField "scissorCount" VkPipelineViewportStateCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineViewportStateCreateInfo, scissorCount}--instance {-# OVERLAPPING #-}-         HasField "pScissors" VkPipelineViewportStateCreateInfo where-        type FieldType "pScissors" VkPipelineViewportStateCreateInfo =-             Ptr VkRect2D-        type FieldOptional "pScissors" VkPipelineViewportStateCreateInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "pScissors" VkPipelineViewportStateCreateInfo =-             #{offset VkPipelineViewportStateCreateInfo, pScissors}-        type FieldIsArray "pScissors" VkPipelineViewportStateCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineViewportStateCreateInfo, pScissors}--instance {-# OVERLAPPING #-}-         CanReadField "pScissors" VkPipelineViewportStateCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineViewportStateCreateInfo, pScissors})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineViewportStateCreateInfo, pScissors}--instance {-# OVERLAPPING #-}-         CanWriteField "pScissors" VkPipelineViewportStateCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineViewportStateCreateInfo, pScissors}--instance Show VkPipelineViewportStateCreateInfo where-        showsPrec d x-          = showString "VkPipelineViewportStateCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "viewportCount = " .-                                  showsPrec d (getField @"viewportCount" x) .-                                    showString ", " .-                                      showString "pViewports = " .-                                        showsPrec d (getField @"pViewports" x) .-                                          showString ", " .-                                            showString "scissorCount = " .-                                              showsPrec d (getField @"scissorCount" x) .-                                                showString ", " .-                                                  showString "pScissors = " .-                                                    showsPrec d (getField @"pScissors" x) .-                                                      showChar '}'---- | > typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkPipelineViewportSwizzleStateCreateFlagsNV    flags;---   >     uint32_t               viewportCount;---   >     const VkViewportSwizzleNV*      pViewportSwizzles;---   > } VkPipelineViewportSwizzleStateCreateInfoNV;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineViewportSwizzleStateCreateInfoNV VkPipelineViewportSwizzleStateCreateInfoNV registry at www.khronos.org>-type VkPipelineViewportSwizzleStateCreateInfoNV =-     VulkanStruct VkPipelineViewportSwizzleStateCreateInfoNV' -- ' closing tick for hsc2hs--data VkPipelineViewportSwizzleStateCreateInfoNV' -- ' closing tick for hsc2hs--instance Eq VkPipelineViewportSwizzleStateCreateInfoNV where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPipelineViewportSwizzleStateCreateInfoNV where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPipelineViewportSwizzleStateCreateInfoNV where-        sizeOf ~_-          = #{size VkPipelineViewportSwizzleStateCreateInfoNV}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPipelineViewportSwizzleStateCreateInfoNV}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPipelineViewportSwizzleStateCreateInfoNV-         where-        type StructFields VkPipelineViewportSwizzleStateCreateInfoNV =-             '["sType", "pNext", "flags", "viewportCount", "pViewportSwizzles"] -- ' closing tick for hsc2hs-        type CUnionType VkPipelineViewportSwizzleStateCreateInfoNV = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPipelineViewportSwizzleStateCreateInfoNV =-             'False -- ' closing tick for hsc2hs-        type StructExtends VkPipelineViewportSwizzleStateCreateInfoNV =-             '[VkPipelineViewportStateCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPipelineViewportSwizzleStateCreateInfoNV where-        type FieldType "sType" VkPipelineViewportSwizzleStateCreateInfoNV =-             VkStructureType-        type FieldOptional "sType"-               VkPipelineViewportSwizzleStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPipelineViewportSwizzleStateCreateInfoNV-             =-             #{offset VkPipelineViewportSwizzleStateCreateInfoNV, sType}-        type FieldIsArray "sType"-               VkPipelineViewportSwizzleStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineViewportSwizzleStateCreateInfoNV, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPipelineViewportSwizzleStateCreateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineViewportSwizzleStateCreateInfoNV, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineViewportSwizzleStateCreateInfoNV, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPipelineViewportSwizzleStateCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineViewportSwizzleStateCreateInfoNV, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPipelineViewportSwizzleStateCreateInfoNV where-        type FieldType "pNext" VkPipelineViewportSwizzleStateCreateInfoNV =-             Ptr Void-        type FieldOptional "pNext"-               VkPipelineViewportSwizzleStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPipelineViewportSwizzleStateCreateInfoNV-             =-             #{offset VkPipelineViewportSwizzleStateCreateInfoNV, pNext}-        type FieldIsArray "pNext"-               VkPipelineViewportSwizzleStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineViewportSwizzleStateCreateInfoNV, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPipelineViewportSwizzleStateCreateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineViewportSwizzleStateCreateInfoNV, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineViewportSwizzleStateCreateInfoNV, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPipelineViewportSwizzleStateCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineViewportSwizzleStateCreateInfoNV, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkPipelineViewportSwizzleStateCreateInfoNV where-        type FieldType "flags" VkPipelineViewportSwizzleStateCreateInfoNV =-             VkPipelineViewportSwizzleStateCreateFlagsNV-        type FieldOptional "flags"-               VkPipelineViewportSwizzleStateCreateInfoNV-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkPipelineViewportSwizzleStateCreateInfoNV-             =-             #{offset VkPipelineViewportSwizzleStateCreateInfoNV, flags}-        type FieldIsArray "flags"-               VkPipelineViewportSwizzleStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineViewportSwizzleStateCreateInfoNV, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkPipelineViewportSwizzleStateCreateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineViewportSwizzleStateCreateInfoNV, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineViewportSwizzleStateCreateInfoNV, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkPipelineViewportSwizzleStateCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineViewportSwizzleStateCreateInfoNV, flags}--instance {-# OVERLAPPING #-}-         HasField "viewportCount" VkPipelineViewportSwizzleStateCreateInfoNV-         where-        type FieldType "viewportCount"-               VkPipelineViewportSwizzleStateCreateInfoNV-             = Word32-        type FieldOptional "viewportCount"-               VkPipelineViewportSwizzleStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "viewportCount"-               VkPipelineViewportSwizzleStateCreateInfoNV-             =-             #{offset VkPipelineViewportSwizzleStateCreateInfoNV, viewportCount}-        type FieldIsArray "viewportCount"-               VkPipelineViewportSwizzleStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineViewportSwizzleStateCreateInfoNV, viewportCount}--instance {-# OVERLAPPING #-}-         CanReadField "viewportCount"-           VkPipelineViewportSwizzleStateCreateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineViewportSwizzleStateCreateInfoNV, viewportCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineViewportSwizzleStateCreateInfoNV, viewportCount}--instance {-# OVERLAPPING #-}-         CanWriteField "viewportCount"-           VkPipelineViewportSwizzleStateCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineViewportSwizzleStateCreateInfoNV, viewportCount}--instance {-# OVERLAPPING #-}-         HasField "pViewportSwizzles"-           VkPipelineViewportSwizzleStateCreateInfoNV-         where-        type FieldType "pViewportSwizzles"-               VkPipelineViewportSwizzleStateCreateInfoNV-             = Ptr VkViewportSwizzleNV-        type FieldOptional "pViewportSwizzles"-               VkPipelineViewportSwizzleStateCreateInfoNV-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pViewportSwizzles"-               VkPipelineViewportSwizzleStateCreateInfoNV-             =-             #{offset VkPipelineViewportSwizzleStateCreateInfoNV, pViewportSwizzles}-        type FieldIsArray "pViewportSwizzles"-               VkPipelineViewportSwizzleStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineViewportSwizzleStateCreateInfoNV, pViewportSwizzles}--instance {-# OVERLAPPING #-}-         CanReadField "pViewportSwizzles"-           VkPipelineViewportSwizzleStateCreateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineViewportSwizzleStateCreateInfoNV, pViewportSwizzles})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineViewportSwizzleStateCreateInfoNV, pViewportSwizzles}--instance {-# OVERLAPPING #-}-         CanWriteField "pViewportSwizzles"-           VkPipelineViewportSwizzleStateCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineViewportSwizzleStateCreateInfoNV, pViewportSwizzles}--instance Show VkPipelineViewportSwizzleStateCreateInfoNV where-        showsPrec d x-          = showString "VkPipelineViewportSwizzleStateCreateInfoNV {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "viewportCount = " .-                                  showsPrec d (getField @"viewportCount" x) .-                                    showString ", " .-                                      showString "pViewportSwizzles = " .-                                        showsPrec d (getField @"pViewportSwizzles" x) . showChar '}'---- | > typedef struct VkPipelineViewportWScalingStateCreateInfoNV {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkBool32               viewportWScalingEnable;---   >     uint32_t               viewportCount;---   >     const VkViewportWScalingNV*      pViewportWScalings;---   > } VkPipelineViewportWScalingStateCreateInfoNV;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineViewportWScalingStateCreateInfoNV VkPipelineViewportWScalingStateCreateInfoNV registry at www.khronos.org>-type VkPipelineViewportWScalingStateCreateInfoNV =-     VulkanStruct VkPipelineViewportWScalingStateCreateInfoNV' -- ' closing tick for hsc2hs--data VkPipelineViewportWScalingStateCreateInfoNV' -- ' closing tick for hsc2hs--instance Eq VkPipelineViewportWScalingStateCreateInfoNV where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPipelineViewportWScalingStateCreateInfoNV where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPipelineViewportWScalingStateCreateInfoNV where-        sizeOf ~_-          = #{size VkPipelineViewportWScalingStateCreateInfoNV}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkPipelineViewportWScalingStateCreateInfoNV}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPipelineViewportWScalingStateCreateInfoNV-         where-        type StructFields VkPipelineViewportWScalingStateCreateInfoNV =-             '["sType", "pNext", "viewportWScalingEnable", "viewportCount", -- ' closing tick for hsc2hs-               "pViewportWScalings"]-        type CUnionType VkPipelineViewportWScalingStateCreateInfoNV =-             'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPipelineViewportWScalingStateCreateInfoNV =-             'False -- ' closing tick for hsc2hs-        type StructExtends VkPipelineViewportWScalingStateCreateInfoNV =-             '[VkPipelineViewportStateCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPipelineViewportWScalingStateCreateInfoNV where-        type FieldType "sType" VkPipelineViewportWScalingStateCreateInfoNV-             = VkStructureType-        type FieldOptional "sType"-               VkPipelineViewportWScalingStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkPipelineViewportWScalingStateCreateInfoNV-             =-             #{offset VkPipelineViewportWScalingStateCreateInfoNV, sType}-        type FieldIsArray "sType"-               VkPipelineViewportWScalingStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineViewportWScalingStateCreateInfoNV, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPipelineViewportWScalingStateCreateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineViewportWScalingStateCreateInfoNV, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineViewportWScalingStateCreateInfoNV, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPipelineViewportWScalingStateCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineViewportWScalingStateCreateInfoNV, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPipelineViewportWScalingStateCreateInfoNV where-        type FieldType "pNext" VkPipelineViewportWScalingStateCreateInfoNV-             = Ptr Void-        type FieldOptional "pNext"-               VkPipelineViewportWScalingStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkPipelineViewportWScalingStateCreateInfoNV-             =-             #{offset VkPipelineViewportWScalingStateCreateInfoNV, pNext}-        type FieldIsArray "pNext"-               VkPipelineViewportWScalingStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineViewportWScalingStateCreateInfoNV, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPipelineViewportWScalingStateCreateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineViewportWScalingStateCreateInfoNV, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineViewportWScalingStateCreateInfoNV, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPipelineViewportWScalingStateCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineViewportWScalingStateCreateInfoNV, pNext}--instance {-# OVERLAPPING #-}-         HasField "viewportWScalingEnable"-           VkPipelineViewportWScalingStateCreateInfoNV-         where-        type FieldType "viewportWScalingEnable"-               VkPipelineViewportWScalingStateCreateInfoNV-             = VkBool32-        type FieldOptional "viewportWScalingEnable"-               VkPipelineViewportWScalingStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "viewportWScalingEnable"-               VkPipelineViewportWScalingStateCreateInfoNV-             =-             #{offset VkPipelineViewportWScalingStateCreateInfoNV, viewportWScalingEnable}-        type FieldIsArray "viewportWScalingEnable"-               VkPipelineViewportWScalingStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineViewportWScalingStateCreateInfoNV, viewportWScalingEnable}--instance {-# OVERLAPPING #-}-         CanReadField "viewportWScalingEnable"-           VkPipelineViewportWScalingStateCreateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineViewportWScalingStateCreateInfoNV, viewportWScalingEnable})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineViewportWScalingStateCreateInfoNV, viewportWScalingEnable}--instance {-# OVERLAPPING #-}-         CanWriteField "viewportWScalingEnable"-           VkPipelineViewportWScalingStateCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineViewportWScalingStateCreateInfoNV, viewportWScalingEnable}--instance {-# OVERLAPPING #-}-         HasField "viewportCount"-           VkPipelineViewportWScalingStateCreateInfoNV-         where-        type FieldType "viewportCount"-               VkPipelineViewportWScalingStateCreateInfoNV-             = Word32-        type FieldOptional "viewportCount"-               VkPipelineViewportWScalingStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "viewportCount"-               VkPipelineViewportWScalingStateCreateInfoNV-             =-             #{offset VkPipelineViewportWScalingStateCreateInfoNV, viewportCount}-        type FieldIsArray "viewportCount"-               VkPipelineViewportWScalingStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineViewportWScalingStateCreateInfoNV, viewportCount}--instance {-# OVERLAPPING #-}-         CanReadField "viewportCount"-           VkPipelineViewportWScalingStateCreateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineViewportWScalingStateCreateInfoNV, viewportCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineViewportWScalingStateCreateInfoNV, viewportCount}--instance {-# OVERLAPPING #-}-         CanWriteField "viewportCount"-           VkPipelineViewportWScalingStateCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineViewportWScalingStateCreateInfoNV, viewportCount}--instance {-# OVERLAPPING #-}-         HasField "pViewportWScalings"-           VkPipelineViewportWScalingStateCreateInfoNV-         where-        type FieldType "pViewportWScalings"-               VkPipelineViewportWScalingStateCreateInfoNV-             = Ptr VkViewportWScalingNV-        type FieldOptional "pViewportWScalings"-               VkPipelineViewportWScalingStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pViewportWScalings"-               VkPipelineViewportWScalingStateCreateInfoNV-             =-             #{offset VkPipelineViewportWScalingStateCreateInfoNV, pViewportWScalings}-        type FieldIsArray "pViewportWScalings"-               VkPipelineViewportWScalingStateCreateInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPipelineViewportWScalingStateCreateInfoNV, pViewportWScalings}--instance {-# OVERLAPPING #-}-         CanReadField "pViewportWScalings"-           VkPipelineViewportWScalingStateCreateInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPipelineViewportWScalingStateCreateInfoNV, pViewportWScalings})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPipelineViewportWScalingStateCreateInfoNV, pViewportWScalings}--instance {-# OVERLAPPING #-}-         CanWriteField "pViewportWScalings"-           VkPipelineViewportWScalingStateCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPipelineViewportWScalingStateCreateInfoNV, pViewportWScalings}--instance Show VkPipelineViewportWScalingStateCreateInfoNV where-        showsPrec d x-          = showString "VkPipelineViewportWScalingStateCreateInfoNV {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "viewportWScalingEnable = " .-                            showsPrec d (getField @"viewportWScalingEnable" x) .-                              showString ", " .-                                showString "viewportCount = " .-                                  showsPrec d (getField @"viewportCount" x) .-                                    showString ", " .-                                      showString "pViewportWScalings = " .-                                        showsPrec d (getField @"pViewportWScalings" x) .-                                          showChar '}'+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.Pipeline+       (VkGraphicsPipelineCreateInfo, VkPipelineCacheCreateInfo,+        VkPipelineColorBlendAdvancedStateCreateInfoEXT,+        VkPipelineColorBlendAttachmentState,+        VkPipelineColorBlendStateCreateInfo,+        VkPipelineCoverageModulationStateCreateInfoNV,+        VkPipelineCoverageToColorStateCreateInfoNV,+        VkPipelineDepthStencilStateCreateInfo,+        VkPipelineDiscardRectangleStateCreateInfoEXT,+        VkPipelineDynamicStateCreateInfo,+        VkPipelineInputAssemblyStateCreateInfo, VkPipelineLayoutCreateInfo,+        VkPipelineMultisampleStateCreateInfo,+        VkPipelineRasterizationConservativeStateCreateInfoEXT,+        VkPipelineRasterizationStateCreateInfo,+        VkPipelineRasterizationStateRasterizationOrderAMD,+        VkPipelineSampleLocationsStateCreateInfoEXT,+        VkPipelineShaderStageCreateInfo,+        VkPipelineTessellationDomainOriginStateCreateInfo,+        VkPipelineTessellationDomainOriginStateCreateInfoKHR,+        VkPipelineTessellationStateCreateInfo,+        VkPipelineVertexInputDivisorStateCreateInfoEXT,+        VkPipelineVertexInputStateCreateInfo,+        VkPipelineViewportStateCreateInfo,+        VkPipelineViewportSwizzleStateCreateInfoNV,+        VkPipelineViewportWScalingStateCreateInfoNV)+       where+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes                             (VkBool32,+                                                                    VkSampleMask)+import Graphics.Vulkan.Types.Bitmasks                              (VkPipelineCacheCreateFlags,+                                                                    VkPipelineColorBlendStateCreateFlags,+                                                                    VkPipelineCoverageModulationStateCreateFlagsNV,+                                                                    VkPipelineCoverageToColorStateCreateFlagsNV,+                                                                    VkPipelineDepthStencilStateCreateFlags,+                                                                    VkPipelineDiscardRectangleStateCreateFlagsEXT,+                                                                    VkPipelineDynamicStateCreateFlags,+                                                                    VkPipelineInputAssemblyStateCreateFlags,+                                                                    VkPipelineLayoutCreateFlags,+                                                                    VkPipelineMultisampleStateCreateFlags,+                                                                    VkPipelineRasterizationConservativeStateCreateFlagsEXT,+                                                                    VkPipelineRasterizationStateCreateFlags,+                                                                    VkPipelineShaderStageCreateFlags,+                                                                    VkPipelineTessellationStateCreateFlags,+                                                                    VkPipelineVertexInputStateCreateFlags,+                                                                    VkPipelineViewportStateCreateFlags,+                                                                    VkPipelineViewportSwizzleStateCreateFlagsNV)+import Graphics.Vulkan.Types.Enum.Blend                            (VkBlendFactor,+                                                                    VkBlendOp,+                                                                    VkBlendOverlapEXT)+import Graphics.Vulkan.Types.Enum.Color                            (VkColorComponentFlags)+import Graphics.Vulkan.Types.Enum.CompareOp                        (VkCompareOp)+import Graphics.Vulkan.Types.Enum.ConservativeRasterizationModeEXT (VkConservativeRasterizationModeEXT)+import Graphics.Vulkan.Types.Enum.CoverageModulationModeNV         (VkCoverageModulationModeNV)+import Graphics.Vulkan.Types.Enum.CullModeFlags                    (VkCullModeFlags)+import Graphics.Vulkan.Types.Enum.DiscardRectangleModeEXT          (VkDiscardRectangleModeEXT)+import Graphics.Vulkan.Types.Enum.DynamicState                     (VkDynamicState)+import Graphics.Vulkan.Types.Enum.FrontFace                        (VkFrontFace)+import Graphics.Vulkan.Types.Enum.LogicOp                          (VkLogicOp)+import Graphics.Vulkan.Types.Enum.Pipeline                         (VkPipelineCreateFlags)+import Graphics.Vulkan.Types.Enum.PolygonMode                      (VkPolygonMode)+import Graphics.Vulkan.Types.Enum.PrimitiveTopology                (VkPrimitiveTopology)+import Graphics.Vulkan.Types.Enum.RasterizationOrderAMD            (VkRasterizationOrderAMD)+import Graphics.Vulkan.Types.Enum.SampleCountFlags                 (VkSampleCountFlagBits)+import Graphics.Vulkan.Types.Enum.Shader                           (VkShaderStageFlagBits)+import Graphics.Vulkan.Types.Enum.StructureType                    (VkStructureType)+import Graphics.Vulkan.Types.Enum.TessellationDomainOrigin         (VkTessellationDomainOrigin)+import Graphics.Vulkan.Types.Handles                               (VkDescriptorSetLayout,+                                                                    VkPipeline,+                                                                    VkPipelineLayout,+                                                                    VkRenderPass,+                                                                    VkShaderModule)+import Graphics.Vulkan.Types.Struct.PushConstantRange              (VkPushConstantRange)+import Graphics.Vulkan.Types.Struct.Rect                           (VkRect2D)+import Graphics.Vulkan.Types.Struct.SampleLocation                 (VkSampleLocationsInfoEXT)+import Graphics.Vulkan.Types.Struct.Specialization                 (VkSpecializationInfo)+import Graphics.Vulkan.Types.Struct.StencilOpState                 (VkStencilOpState)+import Graphics.Vulkan.Types.Struct.VertexInput                    (VkVertexInputAttributeDescription,+                                                                    VkVertexInputBindingDescription,+                                                                    VkVertexInputBindingDivisorDescriptionEXT)+import Graphics.Vulkan.Types.Struct.Viewport                       (VkViewport, VkViewportSwizzleNV,+                                                                    VkViewportWScalingNV)++-- | > typedef struct VkGraphicsPipelineCreateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkPipelineCreateFlags  flags;+--   >     uint32_t               stageCount;+--   >     const VkPipelineShaderStageCreateInfo* pStages;+--   >     const VkPipelineVertexInputStateCreateInfo* pVertexInputState;+--   >     const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;+--   >     const VkPipelineTessellationStateCreateInfo* pTessellationState;+--   >     const VkPipelineViewportStateCreateInfo* pViewportState;+--   >     const VkPipelineRasterizationStateCreateInfo* pRasterizationState;+--   >     const VkPipelineMultisampleStateCreateInfo* pMultisampleState;+--   >     const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;+--   >     const VkPipelineColorBlendStateCreateInfo* pColorBlendState;+--   >     const VkPipelineDynamicStateCreateInfo* pDynamicState;+--   >     VkPipelineLayout       layout;+--   >     VkRenderPass           renderPass;+--   >     uint32_t               subpass;+--   >     VkPipeline      basePipelineHandle;+--   >     int32_t                basePipelineIndex;+--   > } VkGraphicsPipelineCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkGraphicsPipelineCreateInfo VkGraphicsPipelineCreateInfo registry at www.khronos.org>+type VkGraphicsPipelineCreateInfo =+     VkStruct VkGraphicsPipelineCreateInfo' -- ' closing tick for hsc2hs++data VkGraphicsPipelineCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkGraphicsPipelineCreateInfo where+    type StructRep VkGraphicsPipelineCreateInfo =+         'StructMeta "VkGraphicsPipelineCreateInfo" -- ' closing tick for hsc2hs+           VkGraphicsPipelineCreateInfo+           #{size VkGraphicsPipelineCreateInfo}+           #{alignment VkGraphicsPipelineCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkGraphicsPipelineCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkGraphicsPipelineCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkPipelineCreateFlags 'True +                                                             #{offset VkGraphicsPipelineCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "stageCount" Word32 'False +                                                    #{offset VkGraphicsPipelineCreateInfo, stageCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pStages" (Ptr VkPipelineShaderStageCreateInfo) 'False+                #{offset VkGraphicsPipelineCreateInfo, pStages}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pVertexInputState" -- ' closing tick for hsc2hs+                (Ptr VkPipelineVertexInputStateCreateInfo)+                'False -- ' closing tick for hsc2hs+                #{offset VkGraphicsPipelineCreateInfo, pVertexInputState}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pInputAssemblyState" -- ' closing tick for hsc2hs+                (Ptr VkPipelineInputAssemblyStateCreateInfo)+                'False -- ' closing tick for hsc2hs+                #{offset VkGraphicsPipelineCreateInfo, pInputAssemblyState}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pTessellationState" -- ' closing tick for hsc2hs+                (Ptr VkPipelineTessellationStateCreateInfo)+                'True -- ' closing tick for hsc2hs+                #{offset VkGraphicsPipelineCreateInfo, pTessellationState}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pViewportState" -- ' closing tick for hsc2hs+                (Ptr VkPipelineViewportStateCreateInfo)+                'True -- ' closing tick for hsc2hs+                #{offset VkGraphicsPipelineCreateInfo, pViewportState}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pRasterizationState" -- ' closing tick for hsc2hs+                (Ptr VkPipelineRasterizationStateCreateInfo)+                'False -- ' closing tick for hsc2hs+                #{offset VkGraphicsPipelineCreateInfo, pRasterizationState}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pMultisampleState" -- ' closing tick for hsc2hs+                (Ptr VkPipelineMultisampleStateCreateInfo)+                'True -- ' closing tick for hsc2hs+                #{offset VkGraphicsPipelineCreateInfo, pMultisampleState}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pDepthStencilState" -- ' closing tick for hsc2hs+                (Ptr VkPipelineDepthStencilStateCreateInfo)+                'True -- ' closing tick for hsc2hs+                #{offset VkGraphicsPipelineCreateInfo, pDepthStencilState}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pColorBlendState" -- ' closing tick for hsc2hs+                (Ptr VkPipelineColorBlendStateCreateInfo)+                'True -- ' closing tick for hsc2hs+                #{offset VkGraphicsPipelineCreateInfo, pColorBlendState}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pDynamicState" (Ptr VkPipelineDynamicStateCreateInfo) -- ' closing tick for hsc2hs+                'True -- ' closing tick for hsc2hs+                #{offset VkGraphicsPipelineCreateInfo, pDynamicState}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "layout" VkPipelineLayout 'False +                                                          #{offset VkGraphicsPipelineCreateInfo, layout}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "renderPass" VkRenderPass 'False +                                                          #{offset VkGraphicsPipelineCreateInfo, renderPass}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "subpass" Word32 'False +                                                 #{offset VkGraphicsPipelineCreateInfo, subpass}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "basePipelineHandle" VkPipeline 'True +                                                               #{offset VkGraphicsPipelineCreateInfo, basePipelineHandle}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "basePipelineIndex" Int32 'False +                                                          #{offset VkGraphicsPipelineCreateInfo, basePipelineIndex}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkPipelineCacheCreateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkPipelineCacheCreateFlags    flags;+--   >     size_t                 initialDataSize;+--   >     const void*            pInitialData;+--   > } VkPipelineCacheCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineCacheCreateInfo VkPipelineCacheCreateInfo registry at www.khronos.org>+type VkPipelineCacheCreateInfo =+     VkStruct VkPipelineCacheCreateInfo' -- ' closing tick for hsc2hs++data VkPipelineCacheCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPipelineCacheCreateInfo where+    type StructRep VkPipelineCacheCreateInfo =+         'StructMeta "VkPipelineCacheCreateInfo" VkPipelineCacheCreateInfo -- ' closing tick for hsc2hs+           #{size VkPipelineCacheCreateInfo}+           #{alignment VkPipelineCacheCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPipelineCacheCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPipelineCacheCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkPipelineCacheCreateFlags 'True +                                                                  #{offset VkPipelineCacheCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "initialDataSize" CSize 'True +                                                       #{offset VkPipelineCacheCreateInfo, initialDataSize}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pInitialData" (Ptr Void) 'False +                                                          #{offset VkPipelineCacheCreateInfo, pInitialData}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkBool32               srcPremultiplied;+--   >     VkBool32               dstPremultiplied;+--   >     VkBlendOverlapEXT      blendOverlap;+--   > } VkPipelineColorBlendAdvancedStateCreateInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineColorBlendAdvancedStateCreateInfoEXT VkPipelineColorBlendAdvancedStateCreateInfoEXT registry at www.khronos.org>+type VkPipelineColorBlendAdvancedStateCreateInfoEXT =+     VkStruct VkPipelineColorBlendAdvancedStateCreateInfoEXT' -- ' closing tick for hsc2hs++data VkPipelineColorBlendAdvancedStateCreateInfoEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal+           VkPipelineColorBlendAdvancedStateCreateInfoEXT+         where+    type StructRep VkPipelineColorBlendAdvancedStateCreateInfoEXT =+         'StructMeta "VkPipelineColorBlendAdvancedStateCreateInfoEXT" -- ' closing tick for hsc2hs+           VkPipelineColorBlendAdvancedStateCreateInfoEXT+           #{size VkPipelineColorBlendAdvancedStateCreateInfoEXT}+           #{alignment VkPipelineColorBlendAdvancedStateCreateInfoEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "srcPremultiplied" VkBool32 'False +                                                            #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, srcPremultiplied}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dstPremultiplied" VkBool32 'False +                                                            #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, dstPremultiplied}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "blendOverlap" VkBlendOverlapEXT 'False +                                                                 #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, blendOverlap}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPipelineColorBlendStateCreateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkPipelineColorBlendAttachmentState {+--   >     VkBool32               blendEnable;+--   >     VkBlendFactor          srcColorBlendFactor;+--   >     VkBlendFactor          dstColorBlendFactor;+--   >     VkBlendOp              colorBlendOp;+--   >     VkBlendFactor          srcAlphaBlendFactor;+--   >     VkBlendFactor          dstAlphaBlendFactor;+--   >     VkBlendOp              alphaBlendOp;+--   >     VkColorComponentFlags  colorWriteMask;+--   > } VkPipelineColorBlendAttachmentState;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineColorBlendAttachmentState VkPipelineColorBlendAttachmentState registry at www.khronos.org>+type VkPipelineColorBlendAttachmentState =+     VkStruct VkPipelineColorBlendAttachmentState' -- ' closing tick for hsc2hs++data VkPipelineColorBlendAttachmentState' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPipelineColorBlendAttachmentState where+    type StructRep VkPipelineColorBlendAttachmentState =+         'StructMeta "VkPipelineColorBlendAttachmentState" -- ' closing tick for hsc2hs+           VkPipelineColorBlendAttachmentState+           #{size VkPipelineColorBlendAttachmentState}+           #{alignment VkPipelineColorBlendAttachmentState}+           '[('FieldMeta "blendEnable" VkBool32 'False  -- ' closing tick for hsc2hs+                                                       #{offset VkPipelineColorBlendAttachmentState, blendEnable}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "srcColorBlendFactor" VkBlendFactor 'False +                                                                    #{offset VkPipelineColorBlendAttachmentState, srcColorBlendFactor}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dstColorBlendFactor" VkBlendFactor 'False +                                                                    #{offset VkPipelineColorBlendAttachmentState, dstColorBlendFactor}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "colorBlendOp" VkBlendOp 'False +                                                         #{offset VkPipelineColorBlendAttachmentState, colorBlendOp}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "srcAlphaBlendFactor" VkBlendFactor 'False +                                                                    #{offset VkPipelineColorBlendAttachmentState, srcAlphaBlendFactor}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dstAlphaBlendFactor" VkBlendFactor 'False +                                                                    #{offset VkPipelineColorBlendAttachmentState, dstAlphaBlendFactor}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "alphaBlendOp" VkBlendOp 'False +                                                         #{offset VkPipelineColorBlendAttachmentState, alphaBlendOp}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "colorWriteMask" VkColorComponentFlags 'True +                                                                      #{offset VkPipelineColorBlendAttachmentState, colorWriteMask}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkPipelineColorBlendStateCreateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkPipelineColorBlendStateCreateFlags    flags;+--   >     VkBool32               logicOpEnable;+--   >     VkLogicOp              logicOp;+--   >     uint32_t               attachmentCount;+--   >     const VkPipelineColorBlendAttachmentState* pAttachments;+--   >     float                  blendConstants[4];+--   > } VkPipelineColorBlendStateCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineColorBlendStateCreateInfo VkPipelineColorBlendStateCreateInfo registry at www.khronos.org>+type VkPipelineColorBlendStateCreateInfo =+     VkStruct VkPipelineColorBlendStateCreateInfo' -- ' closing tick for hsc2hs++data VkPipelineColorBlendStateCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPipelineColorBlendStateCreateInfo where+    type StructRep VkPipelineColorBlendStateCreateInfo =+         'StructMeta "VkPipelineColorBlendStateCreateInfo" -- ' closing tick for hsc2hs+           VkPipelineColorBlendStateCreateInfo+           #{size VkPipelineColorBlendStateCreateInfo}+           #{alignment VkPipelineColorBlendStateCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPipelineColorBlendStateCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPipelineColorBlendStateCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkPipelineColorBlendStateCreateFlags 'True+                #{offset VkPipelineColorBlendStateCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "logicOpEnable" VkBool32 'False +                                                         #{offset VkPipelineColorBlendStateCreateInfo, logicOpEnable}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "logicOp" VkLogicOp 'False +                                                    #{offset VkPipelineColorBlendStateCreateInfo, logicOp}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "attachmentCount" Word32 'True +                                                        #{offset VkPipelineColorBlendStateCreateInfo, attachmentCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pAttachments" -- ' closing tick for hsc2hs+                (Ptr VkPipelineColorBlendAttachmentState)+                'False -- ' closing tick for hsc2hs+                #{offset VkPipelineColorBlendStateCreateInfo, pAttachments}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "blendConstants" ( -- ' closing tick for hsc2hs+                                           #{type float}+                                           ) 'False -- ' closing tick for hsc2hs+                #{offset VkPipelineColorBlendStateCreateInfo, blendConstants}+                4+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkPipelineCoverageModulationStateCreateInfoNV {+--   >     VkStructureType sType;+--   >     const void*                                                                      pNext;+--   >     VkPipelineCoverageModulationStateCreateFlagsNV                   flags;+--   >     VkCoverageModulationModeNV                                                       coverageModulationMode;+--   >     VkBool32                                                                         coverageModulationTableEnable;+--   >     uint32_t                                                                         coverageModulationTableCount;+--   >     const float* pCoverageModulationTable;+--   > } VkPipelineCoverageModulationStateCreateInfoNV;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineCoverageModulationStateCreateInfoNV VkPipelineCoverageModulationStateCreateInfoNV registry at www.khronos.org>+type VkPipelineCoverageModulationStateCreateInfoNV =+     VkStruct VkPipelineCoverageModulationStateCreateInfoNV' -- ' closing tick for hsc2hs++data VkPipelineCoverageModulationStateCreateInfoNV' -- ' closing tick for hsc2hs++instance VulkanMarshal+           VkPipelineCoverageModulationStateCreateInfoNV+         where+    type StructRep VkPipelineCoverageModulationStateCreateInfoNV =+         'StructMeta "VkPipelineCoverageModulationStateCreateInfoNV" -- ' closing tick for hsc2hs+           VkPipelineCoverageModulationStateCreateInfoNV+           #{size VkPipelineCoverageModulationStateCreateInfoNV}+           #{alignment VkPipelineCoverageModulationStateCreateInfoNV}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPipelineCoverageModulationStateCreateInfoNV, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPipelineCoverageModulationStateCreateInfoNV, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkPipelineCoverageModulationStateCreateFlagsNV -- ' closing tick for hsc2hs+                'True -- ' closing tick for hsc2hs+                #{offset VkPipelineCoverageModulationStateCreateInfoNV, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "coverageModulationMode" VkCoverageModulationModeNV -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationMode}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "coverageModulationTableEnable" VkBool32 'False+                #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationTableEnable}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "coverageModulationTableCount" Word32 'False +                                                                      #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationTableCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pCoverageModulationTable" -- ' closing tick for hsc2hs+                (Ptr #{type float})+                'True -- ' closing tick for hsc2hs+                #{offset VkPipelineCoverageModulationStateCreateInfoNV, pCoverageModulationTable}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPipelineMultisampleStateCreateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkPipelineCoverageToColorStateCreateInfoNV {+--   >     VkStructureType sType;+--   >     const void*                                                                      pNext;+--   >     VkPipelineCoverageToColorStateCreateFlagsNV                    flags;+--   >     VkBool32                         coverageToColorEnable;+--   >     uint32_t         coverageToColorLocation;+--   > } VkPipelineCoverageToColorStateCreateInfoNV;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineCoverageToColorStateCreateInfoNV VkPipelineCoverageToColorStateCreateInfoNV registry at www.khronos.org>+type VkPipelineCoverageToColorStateCreateInfoNV =+     VkStruct VkPipelineCoverageToColorStateCreateInfoNV' -- ' closing tick for hsc2hs++data VkPipelineCoverageToColorStateCreateInfoNV' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPipelineCoverageToColorStateCreateInfoNV+         where+    type StructRep VkPipelineCoverageToColorStateCreateInfoNV =+         'StructMeta "VkPipelineCoverageToColorStateCreateInfoNV" -- ' closing tick for hsc2hs+           VkPipelineCoverageToColorStateCreateInfoNV+           #{size VkPipelineCoverageToColorStateCreateInfoNV}+           #{alignment VkPipelineCoverageToColorStateCreateInfoNV}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPipelineCoverageToColorStateCreateInfoNV, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPipelineCoverageToColorStateCreateInfoNV, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkPipelineCoverageToColorStateCreateFlagsNV -- ' closing tick for hsc2hs+                'True -- ' closing tick for hsc2hs+                #{offset VkPipelineCoverageToColorStateCreateInfoNV, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "coverageToColorEnable" VkBool32 'False +                                                                 #{offset VkPipelineCoverageToColorStateCreateInfoNV, coverageToColorEnable}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "coverageToColorLocation" Word32 'True +                                                                #{offset VkPipelineCoverageToColorStateCreateInfoNV, coverageToColorLocation}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPipelineMultisampleStateCreateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkPipelineDepthStencilStateCreateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkPipelineDepthStencilStateCreateFlags    flags;+--   >     VkBool32               depthTestEnable;+--   >     VkBool32               depthWriteEnable;+--   >     VkCompareOp            depthCompareOp;+--   >     VkBool32               depthBoundsTestEnable;+--   >     VkBool32               stencilTestEnable;+--   >     VkStencilOpState       front;+--   >     VkStencilOpState       back;+--   >     float                  minDepthBounds;+--   >     float                  maxDepthBounds;+--   > } VkPipelineDepthStencilStateCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineDepthStencilStateCreateInfo VkPipelineDepthStencilStateCreateInfo registry at www.khronos.org>+type VkPipelineDepthStencilStateCreateInfo =+     VkStruct VkPipelineDepthStencilStateCreateInfo' -- ' closing tick for hsc2hs++data VkPipelineDepthStencilStateCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPipelineDepthStencilStateCreateInfo where+    type StructRep VkPipelineDepthStencilStateCreateInfo =+         'StructMeta "VkPipelineDepthStencilStateCreateInfo" -- ' closing tick for hsc2hs+           VkPipelineDepthStencilStateCreateInfo+           #{size VkPipelineDepthStencilStateCreateInfo}+           #{alignment VkPipelineDepthStencilStateCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPipelineDepthStencilStateCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPipelineDepthStencilStateCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkPipelineDepthStencilStateCreateFlags 'True+                #{offset VkPipelineDepthStencilStateCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "depthTestEnable" VkBool32 'False +                                                           #{offset VkPipelineDepthStencilStateCreateInfo, depthTestEnable}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "depthWriteEnable" VkBool32 'False +                                                            #{offset VkPipelineDepthStencilStateCreateInfo, depthWriteEnable}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "depthCompareOp" VkCompareOp 'False +                                                             #{offset VkPipelineDepthStencilStateCreateInfo, depthCompareOp}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "depthBoundsTestEnable" VkBool32 'False +                                                                 #{offset VkPipelineDepthStencilStateCreateInfo, depthBoundsTestEnable}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "stencilTestEnable" VkBool32 'False +                                                             #{offset VkPipelineDepthStencilStateCreateInfo, stencilTestEnable}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "front" VkStencilOpState 'False +                                                         #{offset VkPipelineDepthStencilStateCreateInfo, front}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "back" VkStencilOpState 'False +                                                        #{offset VkPipelineDepthStencilStateCreateInfo, back}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minDepthBounds" ( -- ' closing tick for hsc2hs+                                           #{type float}+                                           ) 'False -- ' closing tick for hsc2hs+                #{offset VkPipelineDepthStencilStateCreateInfo, minDepthBounds}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxDepthBounds" ( -- ' closing tick for hsc2hs+                                           #{type float}+                                           ) 'False -- ' closing tick for hsc2hs+                #{offset VkPipelineDepthStencilStateCreateInfo, maxDepthBounds}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {+--   >     VkStructureType sType;+--   >     const void*                                                                      pNext;+--   >     VkPipelineDiscardRectangleStateCreateFlagsEXT                    flags;+--   >     VkDiscardRectangleModeEXT                                                        discardRectangleMode;+--   >     uint32_t                                                         discardRectangleCount;+--   >     const VkRect2D* pDiscardRectangles;+--   > } VkPipelineDiscardRectangleStateCreateInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineDiscardRectangleStateCreateInfoEXT VkPipelineDiscardRectangleStateCreateInfoEXT registry at www.khronos.org>+type VkPipelineDiscardRectangleStateCreateInfoEXT =+     VkStruct VkPipelineDiscardRectangleStateCreateInfoEXT' -- ' closing tick for hsc2hs++data VkPipelineDiscardRectangleStateCreateInfoEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPipelineDiscardRectangleStateCreateInfoEXT+         where+    type StructRep VkPipelineDiscardRectangleStateCreateInfoEXT =+         'StructMeta "VkPipelineDiscardRectangleStateCreateInfoEXT" -- ' closing tick for hsc2hs+           VkPipelineDiscardRectangleStateCreateInfoEXT+           #{size VkPipelineDiscardRectangleStateCreateInfoEXT}+           #{alignment VkPipelineDiscardRectangleStateCreateInfoEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkPipelineDiscardRectangleStateCreateFlagsEXT -- ' closing tick for hsc2hs+                'True -- ' closing tick for hsc2hs+                #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "discardRectangleMode" VkDiscardRectangleModeEXT 'False+                #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, discardRectangleMode}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "discardRectangleCount" Word32 'True +                                                              #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, discardRectangleCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pDiscardRectangles" (Ptr VkRect2D) 'True +                                                                   #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, pDiscardRectangles}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkGraphicsPipelineCreateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkPipelineDynamicStateCreateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkPipelineDynamicStateCreateFlags    flags;+--   >     uint32_t               dynamicStateCount;+--   >     const VkDynamicState*  pDynamicStates;+--   > } VkPipelineDynamicStateCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineDynamicStateCreateInfo VkPipelineDynamicStateCreateInfo registry at www.khronos.org>+type VkPipelineDynamicStateCreateInfo =+     VkStruct VkPipelineDynamicStateCreateInfo' -- ' closing tick for hsc2hs++data VkPipelineDynamicStateCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPipelineDynamicStateCreateInfo where+    type StructRep VkPipelineDynamicStateCreateInfo =+         'StructMeta "VkPipelineDynamicStateCreateInfo" -- ' closing tick for hsc2hs+           VkPipelineDynamicStateCreateInfo+           #{size VkPipelineDynamicStateCreateInfo}+           #{alignment VkPipelineDynamicStateCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPipelineDynamicStateCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPipelineDynamicStateCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkPipelineDynamicStateCreateFlags 'True+                #{offset VkPipelineDynamicStateCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dynamicStateCount" Word32 'False +                                                           #{offset VkPipelineDynamicStateCreateInfo, dynamicStateCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pDynamicStates" (Ptr VkDynamicState) 'False +                                                                      #{offset VkPipelineDynamicStateCreateInfo, pDynamicStates}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkPipelineInputAssemblyStateCreateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkPipelineInputAssemblyStateCreateFlags    flags;+--   >     VkPrimitiveTopology    topology;+--   >     VkBool32               primitiveRestartEnable;+--   > } VkPipelineInputAssemblyStateCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineInputAssemblyStateCreateInfo VkPipelineInputAssemblyStateCreateInfo registry at www.khronos.org>+type VkPipelineInputAssemblyStateCreateInfo =+     VkStruct VkPipelineInputAssemblyStateCreateInfo' -- ' closing tick for hsc2hs++data VkPipelineInputAssemblyStateCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPipelineInputAssemblyStateCreateInfo where+    type StructRep VkPipelineInputAssemblyStateCreateInfo =+         'StructMeta "VkPipelineInputAssemblyStateCreateInfo" -- ' closing tick for hsc2hs+           VkPipelineInputAssemblyStateCreateInfo+           #{size VkPipelineInputAssemblyStateCreateInfo}+           #{alignment VkPipelineInputAssemblyStateCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPipelineInputAssemblyStateCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPipelineInputAssemblyStateCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkPipelineInputAssemblyStateCreateFlags 'True+                #{offset VkPipelineInputAssemblyStateCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "topology" VkPrimitiveTopology 'False +                                                               #{offset VkPipelineInputAssemblyStateCreateInfo, topology}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "primitiveRestartEnable" VkBool32 'False +                                                                  #{offset VkPipelineInputAssemblyStateCreateInfo, primitiveRestartEnable}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkPipelineLayoutCreateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkPipelineLayoutCreateFlags    flags;+--   >     uint32_t               setLayoutCount;+--   >     const VkDescriptorSetLayout* pSetLayouts;+--   >     uint32_t               pushConstantRangeCount;+--   >     const VkPushConstantRange* pPushConstantRanges;+--   > } VkPipelineLayoutCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineLayoutCreateInfo VkPipelineLayoutCreateInfo registry at www.khronos.org>+type VkPipelineLayoutCreateInfo =+     VkStruct VkPipelineLayoutCreateInfo' -- ' closing tick for hsc2hs++data VkPipelineLayoutCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPipelineLayoutCreateInfo where+    type StructRep VkPipelineLayoutCreateInfo =+         'StructMeta "VkPipelineLayoutCreateInfo" VkPipelineLayoutCreateInfo -- ' closing tick for hsc2hs+           #{size VkPipelineLayoutCreateInfo}+           #{alignment VkPipelineLayoutCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPipelineLayoutCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPipelineLayoutCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkPipelineLayoutCreateFlags 'True +                                                                   #{offset VkPipelineLayoutCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "setLayoutCount" Word32 'True +                                                       #{offset VkPipelineLayoutCreateInfo, setLayoutCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pSetLayouts" (Ptr VkDescriptorSetLayout) 'False+                #{offset VkPipelineLayoutCreateInfo, pSetLayouts}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pushConstantRangeCount" Word32 'True +                                                               #{offset VkPipelineLayoutCreateInfo, pushConstantRangeCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pPushConstantRanges" (Ptr VkPushConstantRange) 'False+                #{offset VkPipelineLayoutCreateInfo, pPushConstantRanges}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkPipelineMultisampleStateCreateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkPipelineMultisampleStateCreateFlags    flags;+--   >     VkSampleCountFlagBits  rasterizationSamples;+--   >     VkBool32               sampleShadingEnable;+--   >     float                  minSampleShading;+--   >     const VkSampleMask*    pSampleMask;+--   >     VkBool32               alphaToCoverageEnable;+--   >     VkBool32               alphaToOneEnable;+--   > } VkPipelineMultisampleStateCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineMultisampleStateCreateInfo VkPipelineMultisampleStateCreateInfo registry at www.khronos.org>+type VkPipelineMultisampleStateCreateInfo =+     VkStruct VkPipelineMultisampleStateCreateInfo' -- ' closing tick for hsc2hs++data VkPipelineMultisampleStateCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPipelineMultisampleStateCreateInfo where+    type StructRep VkPipelineMultisampleStateCreateInfo =+         'StructMeta "VkPipelineMultisampleStateCreateInfo" -- ' closing tick for hsc2hs+           VkPipelineMultisampleStateCreateInfo+           #{size VkPipelineMultisampleStateCreateInfo}+           #{alignment VkPipelineMultisampleStateCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPipelineMultisampleStateCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPipelineMultisampleStateCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkPipelineMultisampleStateCreateFlags 'True+                #{offset VkPipelineMultisampleStateCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "rasterizationSamples" VkSampleCountFlagBits 'False+                #{offset VkPipelineMultisampleStateCreateInfo, rasterizationSamples}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sampleShadingEnable" VkBool32 'False +                                                               #{offset VkPipelineMultisampleStateCreateInfo, sampleShadingEnable}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minSampleShading" ( -- ' closing tick for hsc2hs+                                             #{type float}+                                             ) 'False -- ' closing tick for hsc2hs+                #{offset VkPipelineMultisampleStateCreateInfo, minSampleShading}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pSampleMask" (Ptr VkSampleMask) 'True +                                                                #{offset VkPipelineMultisampleStateCreateInfo, pSampleMask}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "alphaToCoverageEnable" VkBool32 'False +                                                                 #{offset VkPipelineMultisampleStateCreateInfo, alphaToCoverageEnable}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "alphaToOneEnable" VkBool32 'False +                                                            #{offset VkPipelineMultisampleStateCreateInfo, alphaToOneEnable}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {+--   >     VkStructureType sType;+--   >     const void*                                                                      pNext;+--   >     VkPipelineRasterizationConservativeStateCreateFlagsEXT           flags;+--   >     VkConservativeRasterizationModeEXT                                               conservativeRasterizationMode;+--   >     float                                                                            extraPrimitiveOverestimationSize;+--   > } VkPipelineRasterizationConservativeStateCreateInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineRasterizationConservativeStateCreateInfoEXT VkPipelineRasterizationConservativeStateCreateInfoEXT registry at www.khronos.org>+type VkPipelineRasterizationConservativeStateCreateInfoEXT =+     VkStruct VkPipelineRasterizationConservativeStateCreateInfoEXT' -- ' closing tick for hsc2hs++data VkPipelineRasterizationConservativeStateCreateInfoEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal+           VkPipelineRasterizationConservativeStateCreateInfoEXT+         where+    type StructRep+           VkPipelineRasterizationConservativeStateCreateInfoEXT+         =+         'StructMeta "VkPipelineRasterizationConservativeStateCreateInfoEXT" -- ' closing tick for hsc2hs+           VkPipelineRasterizationConservativeStateCreateInfoEXT+           #{size VkPipelineRasterizationConservativeStateCreateInfoEXT}+           #{alignment VkPipelineRasterizationConservativeStateCreateInfoEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" -- ' closing tick for hsc2hs+                VkPipelineRasterizationConservativeStateCreateFlagsEXT+                'True -- ' closing tick for hsc2hs+                #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "conservativeRasterizationMode" -- ' closing tick for hsc2hs+                VkConservativeRasterizationModeEXT+                'False -- ' closing tick for hsc2hs+                #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, conservativeRasterizationMode}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "extraPrimitiveOverestimationSize" -- ' closing tick for hsc2hs+                (#{type float})+                'False -- ' closing tick for hsc2hs+                #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, extraPrimitiveOverestimationSize}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPipelineRasterizationStateCreateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkPipelineRasterizationStateCreateInfo {+--   >     VkStructureType sType;+--   >     const void* pNext;+--   >     VkPipelineRasterizationStateCreateFlags    flags;+--   >     VkBool32               depthClampEnable;+--   >     VkBool32               rasterizerDiscardEnable;+--   >     VkPolygonMode          polygonMode;+--   >     VkCullModeFlags        cullMode;+--   >     VkFrontFace            frontFace;+--   >     VkBool32               depthBiasEnable;+--   >     float                  depthBiasConstantFactor;+--   >     float                  depthBiasClamp;+--   >     float                  depthBiasSlopeFactor;+--   >     float                  lineWidth;+--   > } VkPipelineRasterizationStateCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineRasterizationStateCreateInfo VkPipelineRasterizationStateCreateInfo registry at www.khronos.org>+type VkPipelineRasterizationStateCreateInfo =+     VkStruct VkPipelineRasterizationStateCreateInfo' -- ' closing tick for hsc2hs++data VkPipelineRasterizationStateCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPipelineRasterizationStateCreateInfo where+    type StructRep VkPipelineRasterizationStateCreateInfo =+         'StructMeta "VkPipelineRasterizationStateCreateInfo" -- ' closing tick for hsc2hs+           VkPipelineRasterizationStateCreateInfo+           #{size VkPipelineRasterizationStateCreateInfo}+           #{alignment VkPipelineRasterizationStateCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPipelineRasterizationStateCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPipelineRasterizationStateCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkPipelineRasterizationStateCreateFlags 'True+                #{offset VkPipelineRasterizationStateCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "depthClampEnable" VkBool32 'False +                                                            #{offset VkPipelineRasterizationStateCreateInfo, depthClampEnable}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "rasterizerDiscardEnable" VkBool32 'False +                                                                   #{offset VkPipelineRasterizationStateCreateInfo, rasterizerDiscardEnable}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "polygonMode" VkPolygonMode 'False +                                                            #{offset VkPipelineRasterizationStateCreateInfo, polygonMode}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "cullMode" VkCullModeFlags 'True +                                                          #{offset VkPipelineRasterizationStateCreateInfo, cullMode}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "frontFace" VkFrontFace 'False +                                                        #{offset VkPipelineRasterizationStateCreateInfo, frontFace}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "depthBiasEnable" VkBool32 'False +                                                           #{offset VkPipelineRasterizationStateCreateInfo, depthBiasEnable}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "depthBiasConstantFactor" ( -- ' closing tick for hsc2hs+                                                    #{type float})+                'False -- ' closing tick for hsc2hs+                #{offset VkPipelineRasterizationStateCreateInfo, depthBiasConstantFactor}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "depthBiasClamp" ( -- ' closing tick for hsc2hs+                                           #{type float}+                                           ) 'False -- ' closing tick for hsc2hs+                #{offset VkPipelineRasterizationStateCreateInfo, depthBiasClamp}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "depthBiasSlopeFactor" ( -- ' closing tick for hsc2hs+                                                 #{type float})+                'False -- ' closing tick for hsc2hs+                #{offset VkPipelineRasterizationStateCreateInfo, depthBiasSlopeFactor}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "lineWidth" ( -- ' closing tick for hsc2hs+                                      #{type float}+                                      ) 'False -- ' closing tick for hsc2hs+                #{offset VkPipelineRasterizationStateCreateInfo, lineWidth}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkRasterizationOrderAMD          rasterizationOrder;+--   > } VkPipelineRasterizationStateRasterizationOrderAMD;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineRasterizationStateRasterizationOrderAMD VkPipelineRasterizationStateRasterizationOrderAMD registry at www.khronos.org>+type VkPipelineRasterizationStateRasterizationOrderAMD =+     VkStruct VkPipelineRasterizationStateRasterizationOrderAMD' -- ' closing tick for hsc2hs++data VkPipelineRasterizationStateRasterizationOrderAMD' -- ' closing tick for hsc2hs++instance VulkanMarshal+           VkPipelineRasterizationStateRasterizationOrderAMD+         where+    type StructRep VkPipelineRasterizationStateRasterizationOrderAMD =+         'StructMeta "VkPipelineRasterizationStateRasterizationOrderAMD" -- ' closing tick for hsc2hs+           VkPipelineRasterizationStateRasterizationOrderAMD+           #{size VkPipelineRasterizationStateRasterizationOrderAMD}+           #{alignment VkPipelineRasterizationStateRasterizationOrderAMD}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPipelineRasterizationStateRasterizationOrderAMD, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPipelineRasterizationStateRasterizationOrderAMD, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "rasterizationOrder" VkRasterizationOrderAMD 'False+                #{offset VkPipelineRasterizationStateRasterizationOrderAMD, rasterizationOrder}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPipelineRasterizationStateCreateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkBool32                         sampleLocationsEnable;+--   >     VkSampleLocationsInfoEXT         sampleLocationsInfo;+--   > } VkPipelineSampleLocationsStateCreateInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineSampleLocationsStateCreateInfoEXT VkPipelineSampleLocationsStateCreateInfoEXT registry at www.khronos.org>+type VkPipelineSampleLocationsStateCreateInfoEXT =+     VkStruct VkPipelineSampleLocationsStateCreateInfoEXT' -- ' closing tick for hsc2hs++data VkPipelineSampleLocationsStateCreateInfoEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPipelineSampleLocationsStateCreateInfoEXT+         where+    type StructRep VkPipelineSampleLocationsStateCreateInfoEXT =+         'StructMeta "VkPipelineSampleLocationsStateCreateInfoEXT" -- ' closing tick for hsc2hs+           VkPipelineSampleLocationsStateCreateInfoEXT+           #{size VkPipelineSampleLocationsStateCreateInfoEXT}+           #{alignment VkPipelineSampleLocationsStateCreateInfoEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPipelineSampleLocationsStateCreateInfoEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sampleLocationsEnable" VkBool32 'False +                                                                 #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sampleLocationsEnable}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sampleLocationsInfo" VkSampleLocationsInfoEXT 'False+                #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sampleLocationsInfo}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPipelineMultisampleStateCreateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkPipelineShaderStageCreateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkPipelineShaderStageCreateFlags    flags;+--   >     VkShaderStageFlagBits  stage;+--   >     VkShaderModule         module;+--   >     const char*            pName;+--   >     const VkSpecializationInfo* pSpecializationInfo;+--   > } VkPipelineShaderStageCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineShaderStageCreateInfo VkPipelineShaderStageCreateInfo registry at www.khronos.org>+type VkPipelineShaderStageCreateInfo =+     VkStruct VkPipelineShaderStageCreateInfo' -- ' closing tick for hsc2hs++data VkPipelineShaderStageCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPipelineShaderStageCreateInfo where+    type StructRep VkPipelineShaderStageCreateInfo =+         'StructMeta "VkPipelineShaderStageCreateInfo" -- ' closing tick for hsc2hs+           VkPipelineShaderStageCreateInfo+           #{size VkPipelineShaderStageCreateInfo}+           #{alignment VkPipelineShaderStageCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPipelineShaderStageCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPipelineShaderStageCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkPipelineShaderStageCreateFlags 'True+                #{offset VkPipelineShaderStageCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "stage" VkShaderStageFlagBits 'False +                                                              #{offset VkPipelineShaderStageCreateInfo, stage}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "module" VkShaderModule 'False +                                                        #{offset VkPipelineShaderStageCreateInfo, module}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pName" CString 'False +                                                #{offset VkPipelineShaderStageCreateInfo, pName}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pSpecializationInfo" (Ptr VkSpecializationInfo) 'True+                #{offset VkPipelineShaderStageCreateInfo, pSpecializationInfo}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkTessellationDomainOrigin    domainOrigin;+--   > } VkPipelineTessellationDomainOriginStateCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfo registry at www.khronos.org>+type VkPipelineTessellationDomainOriginStateCreateInfo =+     VkStruct VkPipelineTessellationDomainOriginStateCreateInfo' -- ' closing tick for hsc2hs++data VkPipelineTessellationDomainOriginStateCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal+           VkPipelineTessellationDomainOriginStateCreateInfo+         where+    type StructRep VkPipelineTessellationDomainOriginStateCreateInfo =+         'StructMeta "VkPipelineTessellationDomainOriginStateCreateInfo" -- ' closing tick for hsc2hs+           VkPipelineTessellationDomainOriginStateCreateInfo+           #{size VkPipelineTessellationDomainOriginStateCreateInfo}+           #{alignment VkPipelineTessellationDomainOriginStateCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPipelineTessellationDomainOriginStateCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPipelineTessellationDomainOriginStateCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "domainOrigin" VkTessellationDomainOrigin 'False+                #{offset VkPipelineTessellationDomainOriginStateCreateInfo, domainOrigin}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPipelineTessellationStateCreateInfo] -- ' closing tick for hsc2hs++-- | Alias for `VkPipelineTessellationDomainOriginStateCreateInfo`+type VkPipelineTessellationDomainOriginStateCreateInfoKHR =+     VkPipelineTessellationDomainOriginStateCreateInfo++-- | > typedef struct VkPipelineTessellationStateCreateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkPipelineTessellationStateCreateFlags    flags;+--   >     uint32_t               patchControlPoints;+--   > } VkPipelineTessellationStateCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineTessellationStateCreateInfo VkPipelineTessellationStateCreateInfo registry at www.khronos.org>+type VkPipelineTessellationStateCreateInfo =+     VkStruct VkPipelineTessellationStateCreateInfo' -- ' closing tick for hsc2hs++data VkPipelineTessellationStateCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPipelineTessellationStateCreateInfo where+    type StructRep VkPipelineTessellationStateCreateInfo =+         'StructMeta "VkPipelineTessellationStateCreateInfo" -- ' closing tick for hsc2hs+           VkPipelineTessellationStateCreateInfo+           #{size VkPipelineTessellationStateCreateInfo}+           #{alignment VkPipelineTessellationStateCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPipelineTessellationStateCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPipelineTessellationStateCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkPipelineTessellationStateCreateFlags 'True+                #{offset VkPipelineTessellationStateCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "patchControlPoints" Word32 'False +                                                            #{offset VkPipelineTessellationStateCreateInfo, patchControlPoints}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {+--   >     VkStructureType sType;+--   >     const void*                         pNext;+--   >     uint32_t                            vertexBindingDivisorCount;+--   >     const VkVertexInputBindingDivisorDescriptionEXT*      pVertexBindingDivisors;+--   > } VkPipelineVertexInputDivisorStateCreateInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineVertexInputDivisorStateCreateInfoEXT VkPipelineVertexInputDivisorStateCreateInfoEXT registry at www.khronos.org>+type VkPipelineVertexInputDivisorStateCreateInfoEXT =+     VkStruct VkPipelineVertexInputDivisorStateCreateInfoEXT' -- ' closing tick for hsc2hs++data VkPipelineVertexInputDivisorStateCreateInfoEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal+           VkPipelineVertexInputDivisorStateCreateInfoEXT+         where+    type StructRep VkPipelineVertexInputDivisorStateCreateInfoEXT =+         'StructMeta "VkPipelineVertexInputDivisorStateCreateInfoEXT" -- ' closing tick for hsc2hs+           VkPipelineVertexInputDivisorStateCreateInfoEXT+           #{size VkPipelineVertexInputDivisorStateCreateInfoEXT}+           #{alignment VkPipelineVertexInputDivisorStateCreateInfoEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "vertexBindingDivisorCount" Word32 'False +                                                                   #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, vertexBindingDivisorCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pVertexBindingDivisors" -- ' closing tick for hsc2hs+                (Ptr VkVertexInputBindingDivisorDescriptionEXT)+                'False -- ' closing tick for hsc2hs+                #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, pVertexBindingDivisors}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPipelineVertexInputStateCreateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkPipelineVertexInputStateCreateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkPipelineVertexInputStateCreateFlags    flags;+--   >     uint32_t               vertexBindingDescriptionCount;+--   >     const VkVertexInputBindingDescription* pVertexBindingDescriptions;+--   >     uint32_t               vertexAttributeDescriptionCount;+--   >     const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;+--   > } VkPipelineVertexInputStateCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineVertexInputStateCreateInfo VkPipelineVertexInputStateCreateInfo registry at www.khronos.org>+type VkPipelineVertexInputStateCreateInfo =+     VkStruct VkPipelineVertexInputStateCreateInfo' -- ' closing tick for hsc2hs++data VkPipelineVertexInputStateCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPipelineVertexInputStateCreateInfo where+    type StructRep VkPipelineVertexInputStateCreateInfo =+         'StructMeta "VkPipelineVertexInputStateCreateInfo" -- ' closing tick for hsc2hs+           VkPipelineVertexInputStateCreateInfo+           #{size VkPipelineVertexInputStateCreateInfo}+           #{alignment VkPipelineVertexInputStateCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPipelineVertexInputStateCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPipelineVertexInputStateCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkPipelineVertexInputStateCreateFlags 'True+                #{offset VkPipelineVertexInputStateCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "vertexBindingDescriptionCount" Word32 'True +                                                                      #{offset VkPipelineVertexInputStateCreateInfo, vertexBindingDescriptionCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pVertexBindingDescriptions" -- ' closing tick for hsc2hs+                (Ptr VkVertexInputBindingDescription)+                'False -- ' closing tick for hsc2hs+                #{offset VkPipelineVertexInputStateCreateInfo, pVertexBindingDescriptions}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "vertexAttributeDescriptionCount" Word32 'True+                #{offset VkPipelineVertexInputStateCreateInfo, vertexAttributeDescriptionCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pVertexAttributeDescriptions" -- ' closing tick for hsc2hs+                (Ptr VkVertexInputAttributeDescription)+                'False -- ' closing tick for hsc2hs+                #{offset VkPipelineVertexInputStateCreateInfo, pVertexAttributeDescriptions}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkPipelineViewportStateCreateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkPipelineViewportStateCreateFlags    flags;+--   >     uint32_t               viewportCount;+--   >     const VkViewport*      pViewports;+--   >     uint32_t               scissorCount;+--   >     const VkRect2D*        pScissors;+--   > } VkPipelineViewportStateCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineViewportStateCreateInfo VkPipelineViewportStateCreateInfo registry at www.khronos.org>+type VkPipelineViewportStateCreateInfo =+     VkStruct VkPipelineViewportStateCreateInfo' -- ' closing tick for hsc2hs++data VkPipelineViewportStateCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPipelineViewportStateCreateInfo where+    type StructRep VkPipelineViewportStateCreateInfo =+         'StructMeta "VkPipelineViewportStateCreateInfo" -- ' closing tick for hsc2hs+           VkPipelineViewportStateCreateInfo+           #{size VkPipelineViewportStateCreateInfo}+           #{alignment VkPipelineViewportStateCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPipelineViewportStateCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPipelineViewportStateCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkPipelineViewportStateCreateFlags 'True+                #{offset VkPipelineViewportStateCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "viewportCount" Word32 'False +                                                       #{offset VkPipelineViewportStateCreateInfo, viewportCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pViewports" (Ptr VkViewport) 'True +                                                             #{offset VkPipelineViewportStateCreateInfo, pViewports}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "scissorCount" Word32 'False +                                                      #{offset VkPipelineViewportStateCreateInfo, scissorCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pScissors" (Ptr VkRect2D) 'True +                                                          #{offset VkPipelineViewportStateCreateInfo, pScissors}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkPipelineViewportSwizzleStateCreateFlagsNV    flags;+--   >     uint32_t               viewportCount;+--   >     const VkViewportSwizzleNV*      pViewportSwizzles;+--   > } VkPipelineViewportSwizzleStateCreateInfoNV;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineViewportSwizzleStateCreateInfoNV VkPipelineViewportSwizzleStateCreateInfoNV registry at www.khronos.org>+type VkPipelineViewportSwizzleStateCreateInfoNV =+     VkStruct VkPipelineViewportSwizzleStateCreateInfoNV' -- ' closing tick for hsc2hs++data VkPipelineViewportSwizzleStateCreateInfoNV' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPipelineViewportSwizzleStateCreateInfoNV+         where+    type StructRep VkPipelineViewportSwizzleStateCreateInfoNV =+         'StructMeta "VkPipelineViewportSwizzleStateCreateInfoNV" -- ' closing tick for hsc2hs+           VkPipelineViewportSwizzleStateCreateInfoNV+           #{size VkPipelineViewportSwizzleStateCreateInfoNV}+           #{alignment VkPipelineViewportSwizzleStateCreateInfoNV}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPipelineViewportSwizzleStateCreateInfoNV, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPipelineViewportSwizzleStateCreateInfoNV, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkPipelineViewportSwizzleStateCreateFlagsNV -- ' closing tick for hsc2hs+                'True -- ' closing tick for hsc2hs+                #{offset VkPipelineViewportSwizzleStateCreateInfoNV, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "viewportCount" Word32 'False +                                                       #{offset VkPipelineViewportSwizzleStateCreateInfoNV, viewportCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pViewportSwizzles" (Ptr VkViewportSwizzleNV) 'True+                #{offset VkPipelineViewportSwizzleStateCreateInfoNV, pViewportSwizzles}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPipelineViewportStateCreateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkPipelineViewportWScalingStateCreateInfoNV {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkBool32               viewportWScalingEnable;+--   >     uint32_t               viewportCount;+--   >     const VkViewportWScalingNV*      pViewportWScalings;+--   > } VkPipelineViewportWScalingStateCreateInfoNV;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineViewportWScalingStateCreateInfoNV VkPipelineViewportWScalingStateCreateInfoNV registry at www.khronos.org>+type VkPipelineViewportWScalingStateCreateInfoNV =+     VkStruct VkPipelineViewportWScalingStateCreateInfoNV' -- ' closing tick for hsc2hs++data VkPipelineViewportWScalingStateCreateInfoNV' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPipelineViewportWScalingStateCreateInfoNV+         where+    type StructRep VkPipelineViewportWScalingStateCreateInfoNV =+         'StructMeta "VkPipelineViewportWScalingStateCreateInfoNV" -- ' closing tick for hsc2hs+           VkPipelineViewportWScalingStateCreateInfoNV+           #{size VkPipelineViewportWScalingStateCreateInfoNV}+           #{alignment VkPipelineViewportWScalingStateCreateInfoNV}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPipelineViewportWScalingStateCreateInfoNV, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPipelineViewportWScalingStateCreateInfoNV, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "viewportWScalingEnable" VkBool32 'False +                                                                  #{offset VkPipelineViewportWScalingStateCreateInfoNV, viewportWScalingEnable}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "viewportCount" Word32 'False +                                                       #{offset VkPipelineViewportWScalingStateCreateInfoNV, viewportCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pViewportWScalings" (Ptr VkViewportWScalingNV) 'False+                #{offset VkPipelineViewportWScalingStateCreateInfoNV, pViewportWScalings}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPipelineViewportStateCreateInfo] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/PlatformAndroidKhr.hsc view
@@ -2,1701 +2,349 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.PlatformAndroidKhr-       (VkAndroidHardwareBufferFormatPropertiesANDROID,-        VkAndroidHardwareBufferFormatPropertiesANDROID', -- ' closing tick for hsc2hs-        VkAndroidHardwareBufferPropertiesANDROID,-        VkAndroidHardwareBufferPropertiesANDROID', -- ' closing tick for hsc2hs-        VkAndroidHardwareBufferUsageANDROID,-        VkAndroidHardwareBufferUsageANDROID', -- ' closing tick for hsc2hs-        VkAndroidSurfaceCreateInfoKHR, VkAndroidSurfaceCreateInfoKHR', -- ' closing tick for hsc2hs-        VkExternalFormatANDROID, VkExternalFormatANDROID', -- ' closing tick for hsc2hs-        VkImportAndroidHardwareBufferInfoANDROID,-        VkImportAndroidHardwareBufferInfoANDROID', -- ' closing tick for hsc2hs-        VkMemoryGetAndroidHardwareBufferInfoANDROID,-        VkMemoryGetAndroidHardwareBufferInfoANDROID') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                              (Storable (..))-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Internal-import Graphics.Vulkan.Types.BaseTypes               (VkDeviceSize)-import Graphics.Vulkan.Types.Bitmasks                (VkAndroidSurfaceCreateFlagsKHR)-import Graphics.Vulkan.Types.Defines                 (AHardwareBuffer,-                                                      ANativeWindow)-import Graphics.Vulkan.Types.Enum.ChromaLocation     (VkChromaLocation)-import Graphics.Vulkan.Types.Enum.Format             (VkFormat,-                                                      VkFormatFeatureFlags)-import Graphics.Vulkan.Types.Enum.Sampler            (VkSamplerYcbcrModelConversion,-                                                      VkSamplerYcbcrRange)-import Graphics.Vulkan.Types.Enum.StructureType      (VkStructureType)-import Graphics.Vulkan.Types.Handles                 (VkDeviceMemory)-import Graphics.Vulkan.Types.Struct.ComponentMapping (VkComponentMapping)-import Graphics.Vulkan.Types.Struct.Image            (VkImageCreateInfo,-                                                      VkImageFormatProperties2)-import Graphics.Vulkan.Types.Struct.Memory           (VkMemoryAllocateInfo)-import Graphics.Vulkan.Types.Struct.Sampler          (VkSamplerYcbcrConversionCreateInfo)-import System.IO.Unsafe                              (unsafeDupablePerformIO)---- | > typedef struct VkAndroidHardwareBufferFormatPropertiesANDROID {---   >     VkStructureType sType;---   >     void*                              pNext;---   >     VkFormat                           format;---   >     uint64_t                           externalFormat;---   >     VkFormatFeatureFlags               formatFeatures;---   >     VkComponentMapping                 samplerYcbcrConversionComponents;---   >     VkSamplerYcbcrModelConversion      suggestedYcbcrModel;---   >     VkSamplerYcbcrRange                suggestedYcbcrRange;---   >     VkChromaLocation                   suggestedXChromaOffset;---   >     VkChromaLocation                   suggestedYChromaOffset;---   > } VkAndroidHardwareBufferFormatPropertiesANDROID;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkAndroidHardwareBufferFormatPropertiesANDROID VkAndroidHardwareBufferFormatPropertiesANDROID registry at www.khronos.org>-type VkAndroidHardwareBufferFormatPropertiesANDROID =-     VulkanStruct VkAndroidHardwareBufferFormatPropertiesANDROID' -- ' closing tick for hsc2hs--data VkAndroidHardwareBufferFormatPropertiesANDROID' -- ' closing tick for hsc2hs--instance Eq VkAndroidHardwareBufferFormatPropertiesANDROID where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkAndroidHardwareBufferFormatPropertiesANDROID where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        sizeOf ~_-          = #{size VkAndroidHardwareBufferFormatPropertiesANDROID}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkAndroidHardwareBufferFormatPropertiesANDROID}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal-           VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        type StructFields VkAndroidHardwareBufferFormatPropertiesANDROID =-             '["sType", "pNext", "format", "externalFormat", "formatFeatures", -- ' closing tick for hsc2hs-               "samplerYcbcrConversionComponents", "suggestedYcbcrModel",-               "suggestedYcbcrRange", "suggestedXChromaOffset",-               "suggestedYChromaOffset"]-        type CUnionType VkAndroidHardwareBufferFormatPropertiesANDROID =-             'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkAndroidHardwareBufferFormatPropertiesANDROID =-             'True -- ' closing tick for hsc2hs-        type StructExtends VkAndroidHardwareBufferFormatPropertiesANDROID =-             '[VkAndroidHardwareBufferPropertiesANDROID] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        type FieldType "sType"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = VkStructureType-        type FieldOptional "sType"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             =-             #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, sType}-        type FieldIsArray "sType"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType"-           VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        type FieldType "pNext"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = Ptr Void-        type FieldOptional "pNext"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             =-             #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, pNext}-        type FieldIsArray "pNext"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext"-           VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, pNext}--instance {-# OVERLAPPING #-}-         HasField "format" VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        type FieldType "format"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = VkFormat-        type FieldOptional "format"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "format"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             =-             #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, format}-        type FieldIsArray "format"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, format}--instance {-# OVERLAPPING #-}-         CanReadField "format"-           VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, format})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, format}--instance {-# OVERLAPPING #-}-         CanWriteField "format"-           VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, format}--instance {-# OVERLAPPING #-}-         HasField "externalFormat"-           VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        type FieldType "externalFormat"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = Word64-        type FieldOptional "externalFormat"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "externalFormat"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             =-             #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, externalFormat}-        type FieldIsArray "externalFormat"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, externalFormat}--instance {-# OVERLAPPING #-}-         CanReadField "externalFormat"-           VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, externalFormat})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, externalFormat}--instance {-# OVERLAPPING #-}-         CanWriteField "externalFormat"-           VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, externalFormat}--instance {-# OVERLAPPING #-}-         HasField "formatFeatures"-           VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        type FieldType "formatFeatures"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = VkFormatFeatureFlags-        type FieldOptional "formatFeatures"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "formatFeatures"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             =-             #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, formatFeatures}-        type FieldIsArray "formatFeatures"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, formatFeatures}--instance {-# OVERLAPPING #-}-         CanReadField "formatFeatures"-           VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, formatFeatures})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, formatFeatures}--instance {-# OVERLAPPING #-}-         CanWriteField "formatFeatures"-           VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, formatFeatures}--instance {-# OVERLAPPING #-}-         HasField "samplerYcbcrConversionComponents"-           VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        type FieldType "samplerYcbcrConversionComponents"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = VkComponentMapping-        type FieldOptional "samplerYcbcrConversionComponents"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "samplerYcbcrConversionComponents"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             =-             #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, samplerYcbcrConversionComponents}-        type FieldIsArray "samplerYcbcrConversionComponents"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, samplerYcbcrConversionComponents}--instance {-# OVERLAPPING #-}-         CanReadField "samplerYcbcrConversionComponents"-           VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, samplerYcbcrConversionComponents})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, samplerYcbcrConversionComponents}--instance {-# OVERLAPPING #-}-         CanWriteField "samplerYcbcrConversionComponents"-           VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, samplerYcbcrConversionComponents}--instance {-# OVERLAPPING #-}-         HasField "suggestedYcbcrModel"-           VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        type FieldType "suggestedYcbcrModel"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = VkSamplerYcbcrModelConversion-        type FieldOptional "suggestedYcbcrModel"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "suggestedYcbcrModel"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             =-             #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrModel}-        type FieldIsArray "suggestedYcbcrModel"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrModel}--instance {-# OVERLAPPING #-}-         CanReadField "suggestedYcbcrModel"-           VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrModel})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrModel}--instance {-# OVERLAPPING #-}-         CanWriteField "suggestedYcbcrModel"-           VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrModel}--instance {-# OVERLAPPING #-}-         HasField "suggestedYcbcrRange"-           VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        type FieldType "suggestedYcbcrRange"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = VkSamplerYcbcrRange-        type FieldOptional "suggestedYcbcrRange"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "suggestedYcbcrRange"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             =-             #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrRange}-        type FieldIsArray "suggestedYcbcrRange"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrRange}--instance {-# OVERLAPPING #-}-         CanReadField "suggestedYcbcrRange"-           VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrRange})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrRange}--instance {-# OVERLAPPING #-}-         CanWriteField "suggestedYcbcrRange"-           VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrRange}--instance {-# OVERLAPPING #-}-         HasField "suggestedXChromaOffset"-           VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        type FieldType "suggestedXChromaOffset"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = VkChromaLocation-        type FieldOptional "suggestedXChromaOffset"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "suggestedXChromaOffset"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             =-             #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedXChromaOffset}-        type FieldIsArray "suggestedXChromaOffset"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedXChromaOffset}--instance {-# OVERLAPPING #-}-         CanReadField "suggestedXChromaOffset"-           VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedXChromaOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedXChromaOffset}--instance {-# OVERLAPPING #-}-         CanWriteField "suggestedXChromaOffset"-           VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedXChromaOffset}--instance {-# OVERLAPPING #-}-         HasField "suggestedYChromaOffset"-           VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        type FieldType "suggestedYChromaOffset"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = VkChromaLocation-        type FieldOptional "suggestedYChromaOffset"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "suggestedYChromaOffset"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             =-             #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYChromaOffset}-        type FieldIsArray "suggestedYChromaOffset"-               VkAndroidHardwareBufferFormatPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYChromaOffset}--instance {-# OVERLAPPING #-}-         CanReadField "suggestedYChromaOffset"-           VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYChromaOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYChromaOffset}--instance {-# OVERLAPPING #-}-         CanWriteField "suggestedYChromaOffset"-           VkAndroidHardwareBufferFormatPropertiesANDROID-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYChromaOffset}--instance Show VkAndroidHardwareBufferFormatPropertiesANDROID where-        showsPrec d x-          = showString "VkAndroidHardwareBufferFormatPropertiesANDROID {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "format = " .-                            showsPrec d (getField @"format" x) .-                              showString ", " .-                                showString "externalFormat = " .-                                  showsPrec d (getField @"externalFormat" x) .-                                    showString ", " .-                                      showString "formatFeatures = " .-                                        showsPrec d (getField @"formatFeatures" x) .-                                          showString ", " .-                                            showString "samplerYcbcrConversionComponents = " .-                                              showsPrec d-                                                (getField @"samplerYcbcrConversionComponents" x)-                                                .-                                                showString ", " .-                                                  showString "suggestedYcbcrModel = " .-                                                    showsPrec d (getField @"suggestedYcbcrModel" x)-                                                      .-                                                      showString ", " .-                                                        showString "suggestedYcbcrRange = " .-                                                          showsPrec d-                                                            (getField @"suggestedYcbcrRange" x)-                                                            .-                                                            showString ", " .-                                                              showString "suggestedXChromaOffset = "-                                                                .-                                                                showsPrec d-                                                                  (getField-                                                                     @"suggestedXChromaOffset"-                                                                     x)-                                                                  .-                                                                  showString ", " .-                                                                    showString-                                                                      "suggestedYChromaOffset = "-                                                                      .-                                                                      showsPrec d-                                                                        (getField-                                                                           @"suggestedYChromaOffset"-                                                                           x)-                                                                        . showChar '}'---- | > typedef struct VkAndroidHardwareBufferPropertiesANDROID {---   >     VkStructureType sType;---   >     void*                              pNext;---   >     VkDeviceSize                       allocationSize;---   >     uint32_t                           memoryTypeBits;---   > } VkAndroidHardwareBufferPropertiesANDROID;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkAndroidHardwareBufferPropertiesANDROID VkAndroidHardwareBufferPropertiesANDROID registry at www.khronos.org>-type VkAndroidHardwareBufferPropertiesANDROID =-     VulkanStruct VkAndroidHardwareBufferPropertiesANDROID' -- ' closing tick for hsc2hs--data VkAndroidHardwareBufferPropertiesANDROID' -- ' closing tick for hsc2hs--instance Eq VkAndroidHardwareBufferPropertiesANDROID where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkAndroidHardwareBufferPropertiesANDROID where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkAndroidHardwareBufferPropertiesANDROID where-        sizeOf ~_-          = #{size VkAndroidHardwareBufferPropertiesANDROID}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkAndroidHardwareBufferPropertiesANDROID}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkAndroidHardwareBufferPropertiesANDROID-         where-        type StructFields VkAndroidHardwareBufferPropertiesANDROID =-             '["sType", "pNext", "allocationSize", "memoryTypeBits"] -- ' closing tick for hsc2hs-        type CUnionType VkAndroidHardwareBufferPropertiesANDROID = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkAndroidHardwareBufferPropertiesANDROID = 'True -- ' closing tick for hsc2hs-        type StructExtends VkAndroidHardwareBufferPropertiesANDROID = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkAndroidHardwareBufferPropertiesANDROID where-        type FieldType "sType" VkAndroidHardwareBufferPropertiesANDROID =-             VkStructureType-        type FieldOptional "sType" VkAndroidHardwareBufferPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkAndroidHardwareBufferPropertiesANDROID =-             #{offset VkAndroidHardwareBufferPropertiesANDROID, sType}-        type FieldIsArray "sType" VkAndroidHardwareBufferPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAndroidHardwareBufferPropertiesANDROID, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkAndroidHardwareBufferPropertiesANDROID where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferPropertiesANDROID, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAndroidHardwareBufferPropertiesANDROID, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkAndroidHardwareBufferPropertiesANDROID-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAndroidHardwareBufferPropertiesANDROID, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkAndroidHardwareBufferPropertiesANDROID where-        type FieldType "pNext" VkAndroidHardwareBufferPropertiesANDROID =-             Ptr Void-        type FieldOptional "pNext" VkAndroidHardwareBufferPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkAndroidHardwareBufferPropertiesANDROID =-             #{offset VkAndroidHardwareBufferPropertiesANDROID, pNext}-        type FieldIsArray "pNext" VkAndroidHardwareBufferPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAndroidHardwareBufferPropertiesANDROID, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkAndroidHardwareBufferPropertiesANDROID where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferPropertiesANDROID, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAndroidHardwareBufferPropertiesANDROID, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkAndroidHardwareBufferPropertiesANDROID-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAndroidHardwareBufferPropertiesANDROID, pNext}--instance {-# OVERLAPPING #-}-         HasField "allocationSize" VkAndroidHardwareBufferPropertiesANDROID-         where-        type FieldType "allocationSize"-               VkAndroidHardwareBufferPropertiesANDROID-             = VkDeviceSize-        type FieldOptional "allocationSize"-               VkAndroidHardwareBufferPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "allocationSize"-               VkAndroidHardwareBufferPropertiesANDROID-             =-             #{offset VkAndroidHardwareBufferPropertiesANDROID, allocationSize}-        type FieldIsArray "allocationSize"-               VkAndroidHardwareBufferPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAndroidHardwareBufferPropertiesANDROID, allocationSize}--instance {-# OVERLAPPING #-}-         CanReadField "allocationSize"-           VkAndroidHardwareBufferPropertiesANDROID-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferPropertiesANDROID, allocationSize})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAndroidHardwareBufferPropertiesANDROID, allocationSize}--instance {-# OVERLAPPING #-}-         CanWriteField "allocationSize"-           VkAndroidHardwareBufferPropertiesANDROID-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAndroidHardwareBufferPropertiesANDROID, allocationSize}--instance {-# OVERLAPPING #-}-         HasField "memoryTypeBits" VkAndroidHardwareBufferPropertiesANDROID-         where-        type FieldType "memoryTypeBits"-               VkAndroidHardwareBufferPropertiesANDROID-             = Word32-        type FieldOptional "memoryTypeBits"-               VkAndroidHardwareBufferPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "memoryTypeBits"-               VkAndroidHardwareBufferPropertiesANDROID-             =-             #{offset VkAndroidHardwareBufferPropertiesANDROID, memoryTypeBits}-        type FieldIsArray "memoryTypeBits"-               VkAndroidHardwareBufferPropertiesANDROID-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAndroidHardwareBufferPropertiesANDROID, memoryTypeBits}--instance {-# OVERLAPPING #-}-         CanReadField "memoryTypeBits"-           VkAndroidHardwareBufferPropertiesANDROID-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferPropertiesANDROID, memoryTypeBits})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAndroidHardwareBufferPropertiesANDROID, memoryTypeBits}--instance {-# OVERLAPPING #-}-         CanWriteField "memoryTypeBits"-           VkAndroidHardwareBufferPropertiesANDROID-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAndroidHardwareBufferPropertiesANDROID, memoryTypeBits}--instance Show VkAndroidHardwareBufferPropertiesANDROID where-        showsPrec d x-          = showString "VkAndroidHardwareBufferPropertiesANDROID {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "allocationSize = " .-                            showsPrec d (getField @"allocationSize" x) .-                              showString ", " .-                                showString "memoryTypeBits = " .-                                  showsPrec d (getField @"memoryTypeBits" x) . showChar '}'---- | > typedef struct VkAndroidHardwareBufferUsageANDROID {---   >     VkStructureType sType;---   >     void*                              pNext;---   >     uint64_t                           androidHardwareBufferUsage;---   > } VkAndroidHardwareBufferUsageANDROID;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkAndroidHardwareBufferUsageANDROID VkAndroidHardwareBufferUsageANDROID registry at www.khronos.org>-type VkAndroidHardwareBufferUsageANDROID =-     VulkanStruct VkAndroidHardwareBufferUsageANDROID' -- ' closing tick for hsc2hs--data VkAndroidHardwareBufferUsageANDROID' -- ' closing tick for hsc2hs--instance Eq VkAndroidHardwareBufferUsageANDROID where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkAndroidHardwareBufferUsageANDROID where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkAndroidHardwareBufferUsageANDROID where-        sizeOf ~_ = #{size VkAndroidHardwareBufferUsageANDROID}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkAndroidHardwareBufferUsageANDROID}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkAndroidHardwareBufferUsageANDROID where-        type StructFields VkAndroidHardwareBufferUsageANDROID =-             '["sType", "pNext", "androidHardwareBufferUsage"] -- ' closing tick for hsc2hs-        type CUnionType VkAndroidHardwareBufferUsageANDROID = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkAndroidHardwareBufferUsageANDROID = 'True -- ' closing tick for hsc2hs-        type StructExtends VkAndroidHardwareBufferUsageANDROID =-             '[VkImageFormatProperties2] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkAndroidHardwareBufferUsageANDROID where-        type FieldType "sType" VkAndroidHardwareBufferUsageANDROID =-             VkStructureType-        type FieldOptional "sType" VkAndroidHardwareBufferUsageANDROID =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkAndroidHardwareBufferUsageANDROID =-             #{offset VkAndroidHardwareBufferUsageANDROID, sType}-        type FieldIsArray "sType" VkAndroidHardwareBufferUsageANDROID =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAndroidHardwareBufferUsageANDROID, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkAndroidHardwareBufferUsageANDROID where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferUsageANDROID, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAndroidHardwareBufferUsageANDROID, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkAndroidHardwareBufferUsageANDROID where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAndroidHardwareBufferUsageANDROID, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkAndroidHardwareBufferUsageANDROID where-        type FieldType "pNext" VkAndroidHardwareBufferUsageANDROID =-             Ptr Void-        type FieldOptional "pNext" VkAndroidHardwareBufferUsageANDROID =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkAndroidHardwareBufferUsageANDROID =-             #{offset VkAndroidHardwareBufferUsageANDROID, pNext}-        type FieldIsArray "pNext" VkAndroidHardwareBufferUsageANDROID =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAndroidHardwareBufferUsageANDROID, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkAndroidHardwareBufferUsageANDROID where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferUsageANDROID, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAndroidHardwareBufferUsageANDROID, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkAndroidHardwareBufferUsageANDROID where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAndroidHardwareBufferUsageANDROID, pNext}--instance {-# OVERLAPPING #-}-         HasField "androidHardwareBufferUsage"-           VkAndroidHardwareBufferUsageANDROID-         where-        type FieldType "androidHardwareBufferUsage"-               VkAndroidHardwareBufferUsageANDROID-             = Word64-        type FieldOptional "androidHardwareBufferUsage"-               VkAndroidHardwareBufferUsageANDROID-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "androidHardwareBufferUsage"-               VkAndroidHardwareBufferUsageANDROID-             =-             #{offset VkAndroidHardwareBufferUsageANDROID, androidHardwareBufferUsage}-        type FieldIsArray "androidHardwareBufferUsage"-               VkAndroidHardwareBufferUsageANDROID-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAndroidHardwareBufferUsageANDROID, androidHardwareBufferUsage}--instance {-# OVERLAPPING #-}-         CanReadField "androidHardwareBufferUsage"-           VkAndroidHardwareBufferUsageANDROID-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferUsageANDROID, androidHardwareBufferUsage})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAndroidHardwareBufferUsageANDROID, androidHardwareBufferUsage}--instance {-# OVERLAPPING #-}-         CanWriteField "androidHardwareBufferUsage"-           VkAndroidHardwareBufferUsageANDROID-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAndroidHardwareBufferUsageANDROID, androidHardwareBufferUsage}--instance Show VkAndroidHardwareBufferUsageANDROID where-        showsPrec d x-          = showString "VkAndroidHardwareBufferUsageANDROID {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "androidHardwareBufferUsage = " .-                            showsPrec d (getField @"androidHardwareBufferUsage" x) .-                              showChar '}'---- | > typedef struct VkAndroidSurfaceCreateInfoKHR {---   >     VkStructureType sType;---   >     const void*                                    pNext;---   >     VkAndroidSurfaceCreateFlagsKHR flags;---   >     struct ANativeWindow*    window;---   > } VkAndroidSurfaceCreateInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkAndroidSurfaceCreateInfoKHR VkAndroidSurfaceCreateInfoKHR registry at www.khronos.org>-type VkAndroidSurfaceCreateInfoKHR =-     VulkanStruct VkAndroidSurfaceCreateInfoKHR' -- ' closing tick for hsc2hs--data VkAndroidSurfaceCreateInfoKHR' -- ' closing tick for hsc2hs--instance Eq VkAndroidSurfaceCreateInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkAndroidSurfaceCreateInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkAndroidSurfaceCreateInfoKHR where-        sizeOf ~_ = #{size VkAndroidSurfaceCreateInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkAndroidSurfaceCreateInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkAndroidSurfaceCreateInfoKHR where-        type StructFields VkAndroidSurfaceCreateInfoKHR =-             '["sType", "pNext", "flags", "window"] -- ' closing tick for hsc2hs-        type CUnionType VkAndroidSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkAndroidSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkAndroidSurfaceCreateInfoKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkAndroidSurfaceCreateInfoKHR where-        type FieldType "sType" VkAndroidSurfaceCreateInfoKHR =-             VkStructureType-        type FieldOptional "sType" VkAndroidSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkAndroidSurfaceCreateInfoKHR =-             #{offset VkAndroidSurfaceCreateInfoKHR, sType}-        type FieldIsArray "sType" VkAndroidSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAndroidSurfaceCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkAndroidSurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAndroidSurfaceCreateInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkAndroidSurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkAndroidSurfaceCreateInfoKHR where-        type FieldType "pNext" VkAndroidSurfaceCreateInfoKHR = Ptr Void-        type FieldOptional "pNext" VkAndroidSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkAndroidSurfaceCreateInfoKHR =-             #{offset VkAndroidSurfaceCreateInfoKHR, pNext}-        type FieldIsArray "pNext" VkAndroidSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAndroidSurfaceCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkAndroidSurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAndroidSurfaceCreateInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkAndroidSurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkAndroidSurfaceCreateInfoKHR where-        type FieldType "flags" VkAndroidSurfaceCreateInfoKHR =-             VkAndroidSurfaceCreateFlagsKHR-        type FieldOptional "flags" VkAndroidSurfaceCreateInfoKHR = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkAndroidSurfaceCreateInfoKHR =-             #{offset VkAndroidSurfaceCreateInfoKHR, flags}-        type FieldIsArray "flags" VkAndroidSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAndroidSurfaceCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkAndroidSurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAndroidSurfaceCreateInfoKHR, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkAndroidSurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         HasField "window" VkAndroidSurfaceCreateInfoKHR where-        type FieldType "window" VkAndroidSurfaceCreateInfoKHR =-             Ptr ANativeWindow-        type FieldOptional "window" VkAndroidSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "window" VkAndroidSurfaceCreateInfoKHR =-             #{offset VkAndroidSurfaceCreateInfoKHR, window}-        type FieldIsArray "window" VkAndroidSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAndroidSurfaceCreateInfoKHR, window}--instance {-# OVERLAPPING #-}-         CanReadField "window" VkAndroidSurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAndroidSurfaceCreateInfoKHR, window})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, window}--instance {-# OVERLAPPING #-}-         CanWriteField "window" VkAndroidSurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, window}--instance Show VkAndroidSurfaceCreateInfoKHR where-        showsPrec d x-          = showString "VkAndroidSurfaceCreateInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "window = " .-                                  showsPrec d (getField @"window" x) . showChar '}'---- | > typedef struct VkExternalFormatANDROID {---   >     VkStructureType sType;---   >     void*                              pNext;---   >     uint64_t                           externalFormat;---   > } VkExternalFormatANDROID;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalFormatANDROID VkExternalFormatANDROID registry at www.khronos.org>-type VkExternalFormatANDROID =-     VulkanStruct VkExternalFormatANDROID' -- ' closing tick for hsc2hs--data VkExternalFormatANDROID' -- ' closing tick for hsc2hs--instance Eq VkExternalFormatANDROID where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkExternalFormatANDROID where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkExternalFormatANDROID where-        sizeOf ~_ = #{size VkExternalFormatANDROID}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkExternalFormatANDROID}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkExternalFormatANDROID where-        type StructFields VkExternalFormatANDROID =-             '["sType", "pNext", "externalFormat"] -- ' closing tick for hsc2hs-        type CUnionType VkExternalFormatANDROID = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExternalFormatANDROID = 'False -- ' closing tick for hsc2hs-        type StructExtends VkExternalFormatANDROID =-             '[VkImageCreateInfo, VkSamplerYcbcrConversionCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkExternalFormatANDROID where-        type FieldType "sType" VkExternalFormatANDROID = VkStructureType-        type FieldOptional "sType" VkExternalFormatANDROID = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkExternalFormatANDROID =-             #{offset VkExternalFormatANDROID, sType}-        type FieldIsArray "sType" VkExternalFormatANDROID = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkExternalFormatANDROID, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkExternalFormatANDROID where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalFormatANDROID, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalFormatANDROID, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkExternalFormatANDROID where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalFormatANDROID, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkExternalFormatANDROID where-        type FieldType "pNext" VkExternalFormatANDROID = Ptr Void-        type FieldOptional "pNext" VkExternalFormatANDROID = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkExternalFormatANDROID =-             #{offset VkExternalFormatANDROID, pNext}-        type FieldIsArray "pNext" VkExternalFormatANDROID = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkExternalFormatANDROID, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkExternalFormatANDROID where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalFormatANDROID, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalFormatANDROID, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkExternalFormatANDROID where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalFormatANDROID, pNext}--instance {-# OVERLAPPING #-}-         HasField "externalFormat" VkExternalFormatANDROID where-        type FieldType "externalFormat" VkExternalFormatANDROID = Word64-        type FieldOptional "externalFormat" VkExternalFormatANDROID =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "externalFormat" VkExternalFormatANDROID =-             #{offset VkExternalFormatANDROID, externalFormat}-        type FieldIsArray "externalFormat" VkExternalFormatANDROID = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalFormatANDROID, externalFormat}--instance {-# OVERLAPPING #-}-         CanReadField "externalFormat" VkExternalFormatANDROID where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalFormatANDROID, externalFormat})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExternalFormatANDROID, externalFormat}--instance {-# OVERLAPPING #-}-         CanWriteField "externalFormat" VkExternalFormatANDROID where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExternalFormatANDROID, externalFormat}--instance Show VkExternalFormatANDROID where-        showsPrec d x-          = showString "VkExternalFormatANDROID {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "externalFormat = " .-                            showsPrec d (getField @"externalFormat" x) . showChar '}'---- | > typedef struct VkImportAndroidHardwareBufferInfoANDROID {---   >     VkStructureType sType;---   >     const void*                        pNext;---   >     struct AHardwareBuffer*            buffer;---   > } VkImportAndroidHardwareBufferInfoANDROID;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImportAndroidHardwareBufferInfoANDROID VkImportAndroidHardwareBufferInfoANDROID registry at www.khronos.org>-type VkImportAndroidHardwareBufferInfoANDROID =-     VulkanStruct VkImportAndroidHardwareBufferInfoANDROID' -- ' closing tick for hsc2hs--data VkImportAndroidHardwareBufferInfoANDROID' -- ' closing tick for hsc2hs--instance Eq VkImportAndroidHardwareBufferInfoANDROID where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkImportAndroidHardwareBufferInfoANDROID where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkImportAndroidHardwareBufferInfoANDROID where-        sizeOf ~_-          = #{size VkImportAndroidHardwareBufferInfoANDROID}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkImportAndroidHardwareBufferInfoANDROID}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkImportAndroidHardwareBufferInfoANDROID-         where-        type StructFields VkImportAndroidHardwareBufferInfoANDROID =-             '["sType", "pNext", "buffer"] -- ' closing tick for hsc2hs-        type CUnionType VkImportAndroidHardwareBufferInfoANDROID = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkImportAndroidHardwareBufferInfoANDROID = 'False -- ' closing tick for hsc2hs-        type StructExtends VkImportAndroidHardwareBufferInfoANDROID =-             '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkImportAndroidHardwareBufferInfoANDROID where-        type FieldType "sType" VkImportAndroidHardwareBufferInfoANDROID =-             VkStructureType-        type FieldOptional "sType" VkImportAndroidHardwareBufferInfoANDROID-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkImportAndroidHardwareBufferInfoANDROID =-             #{offset VkImportAndroidHardwareBufferInfoANDROID, sType}-        type FieldIsArray "sType" VkImportAndroidHardwareBufferInfoANDROID-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportAndroidHardwareBufferInfoANDROID, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkImportAndroidHardwareBufferInfoANDROID where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportAndroidHardwareBufferInfoANDROID, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportAndroidHardwareBufferInfoANDROID, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkImportAndroidHardwareBufferInfoANDROID-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportAndroidHardwareBufferInfoANDROID, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkImportAndroidHardwareBufferInfoANDROID where-        type FieldType "pNext" VkImportAndroidHardwareBufferInfoANDROID =-             Ptr Void-        type FieldOptional "pNext" VkImportAndroidHardwareBufferInfoANDROID-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkImportAndroidHardwareBufferInfoANDROID =-             #{offset VkImportAndroidHardwareBufferInfoANDROID, pNext}-        type FieldIsArray "pNext" VkImportAndroidHardwareBufferInfoANDROID-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportAndroidHardwareBufferInfoANDROID, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkImportAndroidHardwareBufferInfoANDROID where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportAndroidHardwareBufferInfoANDROID, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportAndroidHardwareBufferInfoANDROID, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkImportAndroidHardwareBufferInfoANDROID-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportAndroidHardwareBufferInfoANDROID, pNext}--instance {-# OVERLAPPING #-}-         HasField "buffer" VkImportAndroidHardwareBufferInfoANDROID where-        type FieldType "buffer" VkImportAndroidHardwareBufferInfoANDROID =-             Ptr AHardwareBuffer-        type FieldOptional "buffer"-               VkImportAndroidHardwareBufferInfoANDROID-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "buffer" VkImportAndroidHardwareBufferInfoANDROID-             =-             #{offset VkImportAndroidHardwareBufferInfoANDROID, buffer}-        type FieldIsArray "buffer" VkImportAndroidHardwareBufferInfoANDROID-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportAndroidHardwareBufferInfoANDROID, buffer}--instance {-# OVERLAPPING #-}-         CanReadField "buffer" VkImportAndroidHardwareBufferInfoANDROID-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportAndroidHardwareBufferInfoANDROID, buffer})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportAndroidHardwareBufferInfoANDROID, buffer}--instance {-# OVERLAPPING #-}-         CanWriteField "buffer" VkImportAndroidHardwareBufferInfoANDROID-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportAndroidHardwareBufferInfoANDROID, buffer}--instance Show VkImportAndroidHardwareBufferInfoANDROID where-        showsPrec d x-          = showString "VkImportAndroidHardwareBufferInfoANDROID {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "buffer = " .-                            showsPrec d (getField @"buffer" x) . showChar '}'---- | > typedef struct VkMemoryGetAndroidHardwareBufferInfoANDROID {---   >     VkStructureType sType;---   >     const void*                        pNext;---   >     VkDeviceMemory                     memory;---   > } VkMemoryGetAndroidHardwareBufferInfoANDROID;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryGetAndroidHardwareBufferInfoANDROID VkMemoryGetAndroidHardwareBufferInfoANDROID registry at www.khronos.org>-type VkMemoryGetAndroidHardwareBufferInfoANDROID =-     VulkanStruct VkMemoryGetAndroidHardwareBufferInfoANDROID' -- ' closing tick for hsc2hs--data VkMemoryGetAndroidHardwareBufferInfoANDROID' -- ' closing tick for hsc2hs--instance Eq VkMemoryGetAndroidHardwareBufferInfoANDROID where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkMemoryGetAndroidHardwareBufferInfoANDROID where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkMemoryGetAndroidHardwareBufferInfoANDROID where-        sizeOf ~_-          = #{size VkMemoryGetAndroidHardwareBufferInfoANDROID}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkMemoryGetAndroidHardwareBufferInfoANDROID}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkMemoryGetAndroidHardwareBufferInfoANDROID-         where-        type StructFields VkMemoryGetAndroidHardwareBufferInfoANDROID =-             '["sType", "pNext", "memory"] -- ' closing tick for hsc2hs-        type CUnionType VkMemoryGetAndroidHardwareBufferInfoANDROID =-             'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkMemoryGetAndroidHardwareBufferInfoANDROID =-             'False -- ' closing tick for hsc2hs-        type StructExtends VkMemoryGetAndroidHardwareBufferInfoANDROID =-             '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkMemoryGetAndroidHardwareBufferInfoANDROID where-        type FieldType "sType" VkMemoryGetAndroidHardwareBufferInfoANDROID-             = VkStructureType-        type FieldOptional "sType"-               VkMemoryGetAndroidHardwareBufferInfoANDROID-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkMemoryGetAndroidHardwareBufferInfoANDROID-             =-             #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, sType}-        type FieldIsArray "sType"-               VkMemoryGetAndroidHardwareBufferInfoANDROID-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkMemoryGetAndroidHardwareBufferInfoANDROID-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkMemoryGetAndroidHardwareBufferInfoANDROID-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkMemoryGetAndroidHardwareBufferInfoANDROID where-        type FieldType "pNext" VkMemoryGetAndroidHardwareBufferInfoANDROID-             = Ptr Void-        type FieldOptional "pNext"-               VkMemoryGetAndroidHardwareBufferInfoANDROID-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkMemoryGetAndroidHardwareBufferInfoANDROID-             =-             #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, pNext}-        type FieldIsArray "pNext"-               VkMemoryGetAndroidHardwareBufferInfoANDROID-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkMemoryGetAndroidHardwareBufferInfoANDROID-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkMemoryGetAndroidHardwareBufferInfoANDROID-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, pNext}--instance {-# OVERLAPPING #-}-         HasField "memory" VkMemoryGetAndroidHardwareBufferInfoANDROID where-        type FieldType "memory" VkMemoryGetAndroidHardwareBufferInfoANDROID-             = VkDeviceMemory-        type FieldOptional "memory"-               VkMemoryGetAndroidHardwareBufferInfoANDROID-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "memory"-               VkMemoryGetAndroidHardwareBufferInfoANDROID-             =-             #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, memory}-        type FieldIsArray "memory"-               VkMemoryGetAndroidHardwareBufferInfoANDROID-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, memory}--instance {-# OVERLAPPING #-}-         CanReadField "memory" VkMemoryGetAndroidHardwareBufferInfoANDROID-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, memory})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, memory}--instance {-# OVERLAPPING #-}-         CanWriteField "memory" VkMemoryGetAndroidHardwareBufferInfoANDROID-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, memory}--instance Show VkMemoryGetAndroidHardwareBufferInfoANDROID where-        showsPrec d x-          = showString "VkMemoryGetAndroidHardwareBufferInfoANDROID {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "memory = " .-                            showsPrec d (getField @"memory" x) . showChar '}'+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.PlatformAndroidKhr+       (VkAndroidHardwareBufferFormatPropertiesANDROID,+        VkAndroidHardwareBufferPropertiesANDROID,+        VkAndroidHardwareBufferUsageANDROID, VkAndroidSurfaceCreateInfoKHR,+        VkExternalFormatANDROID, VkImportAndroidHardwareBufferInfoANDROID,+        VkMemoryGetAndroidHardwareBufferInfoANDROID)+       where+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes               (VkDeviceSize)+import Graphics.Vulkan.Types.Bitmasks                (VkAndroidSurfaceCreateFlagsKHR)+import Graphics.Vulkan.Types.Defines                 (AHardwareBuffer,+                                                      ANativeWindow)+import Graphics.Vulkan.Types.Enum.ChromaLocation     (VkChromaLocation)+import Graphics.Vulkan.Types.Enum.Format             (VkFormat,+                                                      VkFormatFeatureFlags)+import Graphics.Vulkan.Types.Enum.Sampler            (VkSamplerYcbcrModelConversion,+                                                      VkSamplerYcbcrRange)+import Graphics.Vulkan.Types.Enum.StructureType      (VkStructureType)+import Graphics.Vulkan.Types.Handles                 (VkDeviceMemory)+import Graphics.Vulkan.Types.Struct.ComponentMapping (VkComponentMapping)+import Graphics.Vulkan.Types.Struct.Image            (VkImageCreateInfo,+                                                      VkImageFormatProperties2)+import Graphics.Vulkan.Types.Struct.Memory           (VkMemoryAllocateInfo)+import Graphics.Vulkan.Types.Struct.Sampler          (VkSamplerYcbcrConversionCreateInfo)++-- | > typedef struct VkAndroidHardwareBufferFormatPropertiesANDROID {+--   >     VkStructureType sType;+--   >     void*                              pNext;+--   >     VkFormat                           format;+--   >     uint64_t                           externalFormat;+--   >     VkFormatFeatureFlags               formatFeatures;+--   >     VkComponentMapping                 samplerYcbcrConversionComponents;+--   >     VkSamplerYcbcrModelConversion      suggestedYcbcrModel;+--   >     VkSamplerYcbcrRange                suggestedYcbcrRange;+--   >     VkChromaLocation                   suggestedXChromaOffset;+--   >     VkChromaLocation                   suggestedYChromaOffset;+--   > } VkAndroidHardwareBufferFormatPropertiesANDROID;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkAndroidHardwareBufferFormatPropertiesANDROID VkAndroidHardwareBufferFormatPropertiesANDROID registry at www.khronos.org>+type VkAndroidHardwareBufferFormatPropertiesANDROID =+     VkStruct VkAndroidHardwareBufferFormatPropertiesANDROID' -- ' closing tick for hsc2hs++data VkAndroidHardwareBufferFormatPropertiesANDROID' -- ' closing tick for hsc2hs++instance VulkanMarshal+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+    type StructRep VkAndroidHardwareBufferFormatPropertiesANDROID =+         'StructMeta "VkAndroidHardwareBufferFormatPropertiesANDROID" -- ' closing tick for hsc2hs+           VkAndroidHardwareBufferFormatPropertiesANDROID+           #{size VkAndroidHardwareBufferFormatPropertiesANDROID}+           #{alignment VkAndroidHardwareBufferFormatPropertiesANDROID}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "format" VkFormat 'False +                                                  #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, format}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "externalFormat" Word64 'False +                                                        #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, externalFormat}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "formatFeatures" VkFormatFeatureFlags 'False +                                                                      #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, formatFeatures}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "samplerYcbcrConversionComponents" VkComponentMapping -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, samplerYcbcrConversionComponents}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "suggestedYcbcrModel" VkSamplerYcbcrModelConversion -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrModel}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "suggestedYcbcrRange" VkSamplerYcbcrRange 'False+                #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrRange}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "suggestedXChromaOffset" VkChromaLocation 'False+                #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedXChromaOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "suggestedYChromaOffset" VkChromaLocation 'False+                #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYChromaOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[VkAndroidHardwareBufferPropertiesANDROID] -- ' closing tick for hsc2hs++-- | > typedef struct VkAndroidHardwareBufferPropertiesANDROID {+--   >     VkStructureType sType;+--   >     void*                              pNext;+--   >     VkDeviceSize                       allocationSize;+--   >     uint32_t                           memoryTypeBits;+--   > } VkAndroidHardwareBufferPropertiesANDROID;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkAndroidHardwareBufferPropertiesANDROID VkAndroidHardwareBufferPropertiesANDROID registry at www.khronos.org>+type VkAndroidHardwareBufferPropertiesANDROID =+     VkStruct VkAndroidHardwareBufferPropertiesANDROID' -- ' closing tick for hsc2hs++data VkAndroidHardwareBufferPropertiesANDROID' -- ' closing tick for hsc2hs++instance VulkanMarshal VkAndroidHardwareBufferPropertiesANDROID+         where+    type StructRep VkAndroidHardwareBufferPropertiesANDROID =+         'StructMeta "VkAndroidHardwareBufferPropertiesANDROID" -- ' closing tick for hsc2hs+           VkAndroidHardwareBufferPropertiesANDROID+           #{size VkAndroidHardwareBufferPropertiesANDROID}+           #{alignment VkAndroidHardwareBufferPropertiesANDROID}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkAndroidHardwareBufferPropertiesANDROID, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkAndroidHardwareBufferPropertiesANDROID, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "allocationSize" VkDeviceSize 'False +                                                              #{offset VkAndroidHardwareBufferPropertiesANDROID, allocationSize}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "memoryTypeBits" Word32 'False +                                                        #{offset VkAndroidHardwareBufferPropertiesANDROID, memoryTypeBits}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkAndroidHardwareBufferUsageANDROID {+--   >     VkStructureType sType;+--   >     void*                              pNext;+--   >     uint64_t                           androidHardwareBufferUsage;+--   > } VkAndroidHardwareBufferUsageANDROID;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkAndroidHardwareBufferUsageANDROID VkAndroidHardwareBufferUsageANDROID registry at www.khronos.org>+type VkAndroidHardwareBufferUsageANDROID =+     VkStruct VkAndroidHardwareBufferUsageANDROID' -- ' closing tick for hsc2hs++data VkAndroidHardwareBufferUsageANDROID' -- ' closing tick for hsc2hs++instance VulkanMarshal VkAndroidHardwareBufferUsageANDROID where+    type StructRep VkAndroidHardwareBufferUsageANDROID =+         'StructMeta "VkAndroidHardwareBufferUsageANDROID" -- ' closing tick for hsc2hs+           VkAndroidHardwareBufferUsageANDROID+           #{size VkAndroidHardwareBufferUsageANDROID}+           #{alignment VkAndroidHardwareBufferUsageANDROID}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkAndroidHardwareBufferUsageANDROID, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkAndroidHardwareBufferUsageANDROID, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "androidHardwareBufferUsage" Word64 'False +                                                                    #{offset VkAndroidHardwareBufferUsageANDROID, androidHardwareBufferUsage}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[VkImageFormatProperties2] -- ' closing tick for hsc2hs++-- | > typedef struct VkAndroidSurfaceCreateInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                                    pNext;+--   >     VkAndroidSurfaceCreateFlagsKHR flags;+--   >     struct ANativeWindow*    window;+--   > } VkAndroidSurfaceCreateInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkAndroidSurfaceCreateInfoKHR VkAndroidSurfaceCreateInfoKHR registry at www.khronos.org>+type VkAndroidSurfaceCreateInfoKHR =+     VkStruct VkAndroidSurfaceCreateInfoKHR' -- ' closing tick for hsc2hs++data VkAndroidSurfaceCreateInfoKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkAndroidSurfaceCreateInfoKHR where+    type StructRep VkAndroidSurfaceCreateInfoKHR =+         'StructMeta "VkAndroidSurfaceCreateInfoKHR" -- ' closing tick for hsc2hs+           VkAndroidSurfaceCreateInfoKHR+           #{size VkAndroidSurfaceCreateInfoKHR}+           #{alignment VkAndroidSurfaceCreateInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkAndroidSurfaceCreateInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkAndroidSurfaceCreateInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkAndroidSurfaceCreateFlagsKHR 'True +                                                                      #{offset VkAndroidSurfaceCreateInfoKHR, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "window" (Ptr ANativeWindow) 'False +                                                             #{offset VkAndroidSurfaceCreateInfoKHR, window}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkExternalFormatANDROID {+--   >     VkStructureType sType;+--   >     void*                              pNext;+--   >     uint64_t                           externalFormat;+--   > } VkExternalFormatANDROID;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalFormatANDROID VkExternalFormatANDROID registry at www.khronos.org>+type VkExternalFormatANDROID = VkStruct VkExternalFormatANDROID' -- ' closing tick for hsc2hs++data VkExternalFormatANDROID' -- ' closing tick for hsc2hs++instance VulkanMarshal VkExternalFormatANDROID where+    type StructRep VkExternalFormatANDROID =+         'StructMeta "VkExternalFormatANDROID" VkExternalFormatANDROID -- ' closing tick for hsc2hs+           #{size VkExternalFormatANDROID}+           #{alignment VkExternalFormatANDROID}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkExternalFormatANDROID, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkExternalFormatANDROID, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "externalFormat" Word64 'False +                                                        #{offset VkExternalFormatANDROID, externalFormat}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkImageCreateInfo, VkSamplerYcbcrConversionCreateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkImportAndroidHardwareBufferInfoANDROID {+--   >     VkStructureType sType;+--   >     const void*                        pNext;+--   >     struct AHardwareBuffer*            buffer;+--   > } VkImportAndroidHardwareBufferInfoANDROID;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImportAndroidHardwareBufferInfoANDROID VkImportAndroidHardwareBufferInfoANDROID registry at www.khronos.org>+type VkImportAndroidHardwareBufferInfoANDROID =+     VkStruct VkImportAndroidHardwareBufferInfoANDROID' -- ' closing tick for hsc2hs++data VkImportAndroidHardwareBufferInfoANDROID' -- ' closing tick for hsc2hs++instance VulkanMarshal VkImportAndroidHardwareBufferInfoANDROID+         where+    type StructRep VkImportAndroidHardwareBufferInfoANDROID =+         'StructMeta "VkImportAndroidHardwareBufferInfoANDROID" -- ' closing tick for hsc2hs+           VkImportAndroidHardwareBufferInfoANDROID+           #{size VkImportAndroidHardwareBufferInfoANDROID}+           #{alignment VkImportAndroidHardwareBufferInfoANDROID}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkImportAndroidHardwareBufferInfoANDROID, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkImportAndroidHardwareBufferInfoANDROID, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "buffer" (Ptr AHardwareBuffer) 'False +                                                               #{offset VkImportAndroidHardwareBufferInfoANDROID, buffer}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkMemoryGetAndroidHardwareBufferInfoANDROID {+--   >     VkStructureType sType;+--   >     const void*                        pNext;+--   >     VkDeviceMemory                     memory;+--   > } VkMemoryGetAndroidHardwareBufferInfoANDROID;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryGetAndroidHardwareBufferInfoANDROID VkMemoryGetAndroidHardwareBufferInfoANDROID registry at www.khronos.org>+type VkMemoryGetAndroidHardwareBufferInfoANDROID =+     VkStruct VkMemoryGetAndroidHardwareBufferInfoANDROID' -- ' closing tick for hsc2hs++data VkMemoryGetAndroidHardwareBufferInfoANDROID' -- ' closing tick for hsc2hs++instance VulkanMarshal VkMemoryGetAndroidHardwareBufferInfoANDROID+         where+    type StructRep VkMemoryGetAndroidHardwareBufferInfoANDROID =+         'StructMeta "VkMemoryGetAndroidHardwareBufferInfoANDROID" -- ' closing tick for hsc2hs+           VkMemoryGetAndroidHardwareBufferInfoANDROID+           #{size VkMemoryGetAndroidHardwareBufferInfoANDROID}+           #{alignment VkMemoryGetAndroidHardwareBufferInfoANDROID}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "memory" VkDeviceMemory 'False +                                                        #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, memory}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/PlatformIosMvk.hsc view
@@ -2,19 +2,15 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.PlatformIosMvk-       (VkIOSSurfaceCreateInfoMVK, VkIOSSurfaceCreateInfoMVK') where -- ' closing tick for hsc2hs-import Foreign.Storable                         (Storable (..))+       (VkIOSSurfaceCreateInfoMVK) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Bitmasks           (VkIOSSurfaceCreateFlagsMVK) import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkIOSSurfaceCreateInfoMVK { --   >     VkStructureType sType;@@ -25,181 +21,35 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkIOSSurfaceCreateInfoMVK VkIOSSurfaceCreateInfoMVK registry at www.khronos.org> type VkIOSSurfaceCreateInfoMVK =-     VulkanStruct VkIOSSurfaceCreateInfoMVK' -- ' closing tick for hsc2hs+     VkStruct VkIOSSurfaceCreateInfoMVK' -- ' closing tick for hsc2hs  data VkIOSSurfaceCreateInfoMVK' -- ' closing tick for hsc2hs -instance Eq VkIOSSurfaceCreateInfoMVK where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkIOSSurfaceCreateInfoMVK where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkIOSSurfaceCreateInfoMVK where-        sizeOf ~_ = #{size VkIOSSurfaceCreateInfoMVK}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkIOSSurfaceCreateInfoMVK}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkIOSSurfaceCreateInfoMVK where-        type StructFields VkIOSSurfaceCreateInfoMVK =-             '["sType", "pNext", "flags", "pView"] -- ' closing tick for hsc2hs-        type CUnionType VkIOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkIOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs-        type StructExtends VkIOSSurfaceCreateInfoMVK = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkIOSSurfaceCreateInfoMVK where-        type FieldType "sType" VkIOSSurfaceCreateInfoMVK = VkStructureType-        type FieldOptional "sType" VkIOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkIOSSurfaceCreateInfoMVK =-             #{offset VkIOSSurfaceCreateInfoMVK, sType}-        type FieldIsArray "sType" VkIOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkIOSSurfaceCreateInfoMVK, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkIOSSurfaceCreateInfoMVK where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkIOSSurfaceCreateInfoMVK, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkIOSSurfaceCreateInfoMVK, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkIOSSurfaceCreateInfoMVK where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkIOSSurfaceCreateInfoMVK, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkIOSSurfaceCreateInfoMVK where-        type FieldType "pNext" VkIOSSurfaceCreateInfoMVK = Ptr Void-        type FieldOptional "pNext" VkIOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkIOSSurfaceCreateInfoMVK =-             #{offset VkIOSSurfaceCreateInfoMVK, pNext}-        type FieldIsArray "pNext" VkIOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkIOSSurfaceCreateInfoMVK, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkIOSSurfaceCreateInfoMVK where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkIOSSurfaceCreateInfoMVK, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkIOSSurfaceCreateInfoMVK, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkIOSSurfaceCreateInfoMVK where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkIOSSurfaceCreateInfoMVK, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkIOSSurfaceCreateInfoMVK where-        type FieldType "flags" VkIOSSurfaceCreateInfoMVK =-             VkIOSSurfaceCreateFlagsMVK-        type FieldOptional "flags" VkIOSSurfaceCreateInfoMVK = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkIOSSurfaceCreateInfoMVK =-             #{offset VkIOSSurfaceCreateInfoMVK, flags}-        type FieldIsArray "flags" VkIOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkIOSSurfaceCreateInfoMVK, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkIOSSurfaceCreateInfoMVK where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkIOSSurfaceCreateInfoMVK, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkIOSSurfaceCreateInfoMVK, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkIOSSurfaceCreateInfoMVK where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkIOSSurfaceCreateInfoMVK, flags}--instance {-# OVERLAPPING #-}-         HasField "pView" VkIOSSurfaceCreateInfoMVK where-        type FieldType "pView" VkIOSSurfaceCreateInfoMVK = Ptr Void-        type FieldOptional "pView" VkIOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pView" VkIOSSurfaceCreateInfoMVK =-             #{offset VkIOSSurfaceCreateInfoMVK, pView}-        type FieldIsArray "pView" VkIOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkIOSSurfaceCreateInfoMVK, pView}--instance {-# OVERLAPPING #-}-         CanReadField "pView" VkIOSSurfaceCreateInfoMVK where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkIOSSurfaceCreateInfoMVK, pView})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkIOSSurfaceCreateInfoMVK, pView}--instance {-# OVERLAPPING #-}-         CanWriteField "pView" VkIOSSurfaceCreateInfoMVK where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkIOSSurfaceCreateInfoMVK, pView}--instance Show VkIOSSurfaceCreateInfoMVK where-        showsPrec d x-          = showString "VkIOSSurfaceCreateInfoMVK {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "pView = " .-                                  showsPrec d (getField @"pView" x) . showChar '}'+    type StructRep VkIOSSurfaceCreateInfoMVK =+         'StructMeta "VkIOSSurfaceCreateInfoMVK" VkIOSSurfaceCreateInfoMVK -- ' closing tick for hsc2hs+           #{size VkIOSSurfaceCreateInfoMVK}+           #{alignment VkIOSSurfaceCreateInfoMVK}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkIOSSurfaceCreateInfoMVK, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkIOSSurfaceCreateInfoMVK, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkIOSSurfaceCreateFlagsMVK 'True +                                                                  #{offset VkIOSSurfaceCreateInfoMVK, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pView" (Ptr Void) 'False +                                                   #{offset VkIOSSurfaceCreateInfoMVK, pView}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/PlatformMacosMvk.hsc view
@@ -2,19 +2,15 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.PlatformMacosMvk-       (VkMacOSSurfaceCreateInfoMVK, VkMacOSSurfaceCreateInfoMVK') where -- ' closing tick for hsc2hs-import Foreign.Storable                         (Storable (..))+       (VkMacOSSurfaceCreateInfoMVK) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Bitmasks           (VkMacOSSurfaceCreateFlagsMVK) import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkMacOSSurfaceCreateInfoMVK { --   >     VkStructureType sType;@@ -25,182 +21,36 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMacOSSurfaceCreateInfoMVK VkMacOSSurfaceCreateInfoMVK registry at www.khronos.org> type VkMacOSSurfaceCreateInfoMVK =-     VulkanStruct VkMacOSSurfaceCreateInfoMVK' -- ' closing tick for hsc2hs+     VkStruct VkMacOSSurfaceCreateInfoMVK' -- ' closing tick for hsc2hs  data VkMacOSSurfaceCreateInfoMVK' -- ' closing tick for hsc2hs -instance Eq VkMacOSSurfaceCreateInfoMVK where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkMacOSSurfaceCreateInfoMVK where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkMacOSSurfaceCreateInfoMVK where-        sizeOf ~_ = #{size VkMacOSSurfaceCreateInfoMVK}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkMacOSSurfaceCreateInfoMVK}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkMacOSSurfaceCreateInfoMVK where-        type StructFields VkMacOSSurfaceCreateInfoMVK =-             '["sType", "pNext", "flags", "pView"] -- ' closing tick for hsc2hs-        type CUnionType VkMacOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkMacOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs-        type StructExtends VkMacOSSurfaceCreateInfoMVK = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkMacOSSurfaceCreateInfoMVK where-        type FieldType "sType" VkMacOSSurfaceCreateInfoMVK =-             VkStructureType-        type FieldOptional "sType" VkMacOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkMacOSSurfaceCreateInfoMVK =-             #{offset VkMacOSSurfaceCreateInfoMVK, sType}-        type FieldIsArray "sType" VkMacOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMacOSSurfaceCreateInfoMVK, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkMacOSSurfaceCreateInfoMVK where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMacOSSurfaceCreateInfoMVK, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMacOSSurfaceCreateInfoMVK, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkMacOSSurfaceCreateInfoMVK where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMacOSSurfaceCreateInfoMVK, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkMacOSSurfaceCreateInfoMVK where-        type FieldType "pNext" VkMacOSSurfaceCreateInfoMVK = Ptr Void-        type FieldOptional "pNext" VkMacOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkMacOSSurfaceCreateInfoMVK =-             #{offset VkMacOSSurfaceCreateInfoMVK, pNext}-        type FieldIsArray "pNext" VkMacOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMacOSSurfaceCreateInfoMVK, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkMacOSSurfaceCreateInfoMVK where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMacOSSurfaceCreateInfoMVK, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMacOSSurfaceCreateInfoMVK, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkMacOSSurfaceCreateInfoMVK where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMacOSSurfaceCreateInfoMVK, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkMacOSSurfaceCreateInfoMVK where-        type FieldType "flags" VkMacOSSurfaceCreateInfoMVK =-             VkMacOSSurfaceCreateFlagsMVK-        type FieldOptional "flags" VkMacOSSurfaceCreateInfoMVK = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkMacOSSurfaceCreateInfoMVK =-             #{offset VkMacOSSurfaceCreateInfoMVK, flags}-        type FieldIsArray "flags" VkMacOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMacOSSurfaceCreateInfoMVK, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkMacOSSurfaceCreateInfoMVK where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMacOSSurfaceCreateInfoMVK, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMacOSSurfaceCreateInfoMVK, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkMacOSSurfaceCreateInfoMVK where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMacOSSurfaceCreateInfoMVK, flags}--instance {-# OVERLAPPING #-}-         HasField "pView" VkMacOSSurfaceCreateInfoMVK where-        type FieldType "pView" VkMacOSSurfaceCreateInfoMVK = Ptr Void-        type FieldOptional "pView" VkMacOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pView" VkMacOSSurfaceCreateInfoMVK =-             #{offset VkMacOSSurfaceCreateInfoMVK, pView}-        type FieldIsArray "pView" VkMacOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMacOSSurfaceCreateInfoMVK, pView}--instance {-# OVERLAPPING #-}-         CanReadField "pView" VkMacOSSurfaceCreateInfoMVK where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMacOSSurfaceCreateInfoMVK, pView})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMacOSSurfaceCreateInfoMVK, pView}--instance {-# OVERLAPPING #-}-         CanWriteField "pView" VkMacOSSurfaceCreateInfoMVK where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMacOSSurfaceCreateInfoMVK, pView}--instance Show VkMacOSSurfaceCreateInfoMVK where-        showsPrec d x-          = showString "VkMacOSSurfaceCreateInfoMVK {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "pView = " .-                                  showsPrec d (getField @"pView" x) . showChar '}'+    type StructRep VkMacOSSurfaceCreateInfoMVK =+         'StructMeta "VkMacOSSurfaceCreateInfoMVK" -- ' closing tick for hsc2hs+           VkMacOSSurfaceCreateInfoMVK+           #{size VkMacOSSurfaceCreateInfoMVK}+           #{alignment VkMacOSSurfaceCreateInfoMVK}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkMacOSSurfaceCreateInfoMVK, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkMacOSSurfaceCreateInfoMVK, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkMacOSSurfaceCreateFlagsMVK 'True +                                                                    #{offset VkMacOSSurfaceCreateInfoMVK, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pView" (Ptr Void) 'False +                                                   #{offset VkMacOSSurfaceCreateInfoMVK, pView}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/PlatformMirKhr.hsc view
@@ -2,20 +2,16 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.PlatformMirKhr-       (VkMirSurfaceCreateInfoKHR, VkMirSurfaceCreateInfoKHR') where -- ' closing tick for hsc2hs-import Foreign.Storable                         (Storable (..))+       (VkMirSurfaceCreateInfoKHR) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Bitmasks           (VkMirSurfaceCreateFlagsKHR) import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType) import Graphics.Vulkan.Types.Include            (MirConnection, MirSurface)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkMirSurfaceCreateInfoKHR { --   >     VkStructureType sType;@@ -27,218 +23,40 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMirSurfaceCreateInfoKHR VkMirSurfaceCreateInfoKHR registry at www.khronos.org> type VkMirSurfaceCreateInfoKHR =-     VulkanStruct VkMirSurfaceCreateInfoKHR' -- ' closing tick for hsc2hs+     VkStruct VkMirSurfaceCreateInfoKHR' -- ' closing tick for hsc2hs  data VkMirSurfaceCreateInfoKHR' -- ' closing tick for hsc2hs -instance Eq VkMirSurfaceCreateInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkMirSurfaceCreateInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkMirSurfaceCreateInfoKHR where-        sizeOf ~_ = #{size VkMirSurfaceCreateInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkMirSurfaceCreateInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkMirSurfaceCreateInfoKHR where-        type StructFields VkMirSurfaceCreateInfoKHR =-             '["sType", "pNext", "flags", "connection", "mirSurface"] -- ' closing tick for hsc2hs-        type CUnionType VkMirSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkMirSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkMirSurfaceCreateInfoKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkMirSurfaceCreateInfoKHR where-        type FieldType "sType" VkMirSurfaceCreateInfoKHR = VkStructureType-        type FieldOptional "sType" VkMirSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkMirSurfaceCreateInfoKHR =-             #{offset VkMirSurfaceCreateInfoKHR, sType}-        type FieldIsArray "sType" VkMirSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMirSurfaceCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkMirSurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMirSurfaceCreateInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMirSurfaceCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkMirSurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMirSurfaceCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkMirSurfaceCreateInfoKHR where-        type FieldType "pNext" VkMirSurfaceCreateInfoKHR = Ptr Void-        type FieldOptional "pNext" VkMirSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkMirSurfaceCreateInfoKHR =-             #{offset VkMirSurfaceCreateInfoKHR, pNext}-        type FieldIsArray "pNext" VkMirSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMirSurfaceCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkMirSurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMirSurfaceCreateInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMirSurfaceCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkMirSurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMirSurfaceCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkMirSurfaceCreateInfoKHR where-        type FieldType "flags" VkMirSurfaceCreateInfoKHR =-             VkMirSurfaceCreateFlagsKHR-        type FieldOptional "flags" VkMirSurfaceCreateInfoKHR = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkMirSurfaceCreateInfoKHR =-             #{offset VkMirSurfaceCreateInfoKHR, flags}-        type FieldIsArray "flags" VkMirSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMirSurfaceCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkMirSurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMirSurfaceCreateInfoKHR, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMirSurfaceCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkMirSurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMirSurfaceCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         HasField "connection" VkMirSurfaceCreateInfoKHR where-        type FieldType "connection" VkMirSurfaceCreateInfoKHR =-             Ptr MirConnection-        type FieldOptional "connection" VkMirSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "connection" VkMirSurfaceCreateInfoKHR =-             #{offset VkMirSurfaceCreateInfoKHR, connection}-        type FieldIsArray "connection" VkMirSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMirSurfaceCreateInfoKHR, connection}--instance {-# OVERLAPPING #-}-         CanReadField "connection" VkMirSurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMirSurfaceCreateInfoKHR, connection})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMirSurfaceCreateInfoKHR, connection}--instance {-# OVERLAPPING #-}-         CanWriteField "connection" VkMirSurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMirSurfaceCreateInfoKHR, connection}--instance {-# OVERLAPPING #-}-         HasField "mirSurface" VkMirSurfaceCreateInfoKHR where-        type FieldType "mirSurface" VkMirSurfaceCreateInfoKHR =-             Ptr MirSurface-        type FieldOptional "mirSurface" VkMirSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "mirSurface" VkMirSurfaceCreateInfoKHR =-             #{offset VkMirSurfaceCreateInfoKHR, mirSurface}-        type FieldIsArray "mirSurface" VkMirSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMirSurfaceCreateInfoKHR, mirSurface}--instance {-# OVERLAPPING #-}-         CanReadField "mirSurface" VkMirSurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMirSurfaceCreateInfoKHR, mirSurface})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMirSurfaceCreateInfoKHR, mirSurface}--instance {-# OVERLAPPING #-}-         CanWriteField "mirSurface" VkMirSurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMirSurfaceCreateInfoKHR, mirSurface}--instance Show VkMirSurfaceCreateInfoKHR where-        showsPrec d x-          = showString "VkMirSurfaceCreateInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "connection = " .-                                  showsPrec d (getField @"connection" x) .-                                    showString ", " .-                                      showString "mirSurface = " .-                                        showsPrec d (getField @"mirSurface" x) . showChar '}'+    type StructRep VkMirSurfaceCreateInfoKHR =+         'StructMeta "VkMirSurfaceCreateInfoKHR" VkMirSurfaceCreateInfoKHR -- ' closing tick for hsc2hs+           #{size VkMirSurfaceCreateInfoKHR}+           #{alignment VkMirSurfaceCreateInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkMirSurfaceCreateInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkMirSurfaceCreateInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkMirSurfaceCreateFlagsKHR 'True +                                                                  #{offset VkMirSurfaceCreateInfoKHR, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "connection" (Ptr MirConnection) 'False +                                                                 #{offset VkMirSurfaceCreateInfoKHR, connection}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "mirSurface" (Ptr MirSurface) 'False +                                                              #{offset VkMirSurfaceCreateInfoKHR, mirSurface}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/PlatformViNn.hsc view
@@ -2,19 +2,15 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.PlatformViNn-       (VkViSurfaceCreateInfoNN, VkViSurfaceCreateInfoNN') where -- ' closing tick for hsc2hs-import Foreign.Storable                         (Storable (..))+       (VkViSurfaceCreateInfoNN) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Bitmasks           (VkViSurfaceCreateFlagsNN) import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkViSurfaceCreateInfoNN { --   >     VkStructureType sType;@@ -24,178 +20,35 @@ --   > } VkViSurfaceCreateInfoNN; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkViSurfaceCreateInfoNN VkViSurfaceCreateInfoNN registry at www.khronos.org>-type VkViSurfaceCreateInfoNN =-     VulkanStruct VkViSurfaceCreateInfoNN' -- ' closing tick for hsc2hs+type VkViSurfaceCreateInfoNN = VkStruct VkViSurfaceCreateInfoNN' -- ' closing tick for hsc2hs  data VkViSurfaceCreateInfoNN' -- ' closing tick for hsc2hs -instance Eq VkViSurfaceCreateInfoNN where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkViSurfaceCreateInfoNN where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkViSurfaceCreateInfoNN where-        sizeOf ~_ = #{size VkViSurfaceCreateInfoNN}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkViSurfaceCreateInfoNN}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkViSurfaceCreateInfoNN where-        type StructFields VkViSurfaceCreateInfoNN =-             '["sType", "pNext", "flags", "window"] -- ' closing tick for hsc2hs-        type CUnionType VkViSurfaceCreateInfoNN = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkViSurfaceCreateInfoNN = 'False -- ' closing tick for hsc2hs-        type StructExtends VkViSurfaceCreateInfoNN = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkViSurfaceCreateInfoNN where-        type FieldType "sType" VkViSurfaceCreateInfoNN = VkStructureType-        type FieldOptional "sType" VkViSurfaceCreateInfoNN = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkViSurfaceCreateInfoNN =-             #{offset VkViSurfaceCreateInfoNN, sType}-        type FieldIsArray "sType" VkViSurfaceCreateInfoNN = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkViSurfaceCreateInfoNN, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkViSurfaceCreateInfoNN where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkViSurfaceCreateInfoNN, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkViSurfaceCreateInfoNN, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkViSurfaceCreateInfoNN where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkViSurfaceCreateInfoNN, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkViSurfaceCreateInfoNN where-        type FieldType "pNext" VkViSurfaceCreateInfoNN = Ptr Void-        type FieldOptional "pNext" VkViSurfaceCreateInfoNN = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkViSurfaceCreateInfoNN =-             #{offset VkViSurfaceCreateInfoNN, pNext}-        type FieldIsArray "pNext" VkViSurfaceCreateInfoNN = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkViSurfaceCreateInfoNN, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkViSurfaceCreateInfoNN where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkViSurfaceCreateInfoNN, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkViSurfaceCreateInfoNN, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkViSurfaceCreateInfoNN where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkViSurfaceCreateInfoNN, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkViSurfaceCreateInfoNN where-        type FieldType "flags" VkViSurfaceCreateInfoNN =-             VkViSurfaceCreateFlagsNN-        type FieldOptional "flags" VkViSurfaceCreateInfoNN = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkViSurfaceCreateInfoNN =-             #{offset VkViSurfaceCreateInfoNN, flags}-        type FieldIsArray "flags" VkViSurfaceCreateInfoNN = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkViSurfaceCreateInfoNN, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkViSurfaceCreateInfoNN where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkViSurfaceCreateInfoNN, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkViSurfaceCreateInfoNN, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkViSurfaceCreateInfoNN where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkViSurfaceCreateInfoNN, flags}--instance {-# OVERLAPPING #-}-         HasField "window" VkViSurfaceCreateInfoNN where-        type FieldType "window" VkViSurfaceCreateInfoNN = Ptr Void-        type FieldOptional "window" VkViSurfaceCreateInfoNN = 'False -- ' closing tick for hsc2hs-        type FieldOffset "window" VkViSurfaceCreateInfoNN =-             #{offset VkViSurfaceCreateInfoNN, window}-        type FieldIsArray "window" VkViSurfaceCreateInfoNN = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkViSurfaceCreateInfoNN, window}--instance {-# OVERLAPPING #-}-         CanReadField "window" VkViSurfaceCreateInfoNN where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkViSurfaceCreateInfoNN, window})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkViSurfaceCreateInfoNN, window}--instance {-# OVERLAPPING #-}-         CanWriteField "window" VkViSurfaceCreateInfoNN where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkViSurfaceCreateInfoNN, window}--instance Show VkViSurfaceCreateInfoNN where-        showsPrec d x-          = showString "VkViSurfaceCreateInfoNN {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "window = " .-                                  showsPrec d (getField @"window" x) . showChar '}'+    type StructRep VkViSurfaceCreateInfoNN =+         'StructMeta "VkViSurfaceCreateInfoNN" VkViSurfaceCreateInfoNN -- ' closing tick for hsc2hs+           #{size VkViSurfaceCreateInfoNN}+           #{alignment VkViSurfaceCreateInfoNN}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkViSurfaceCreateInfoNN, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkViSurfaceCreateInfoNN, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkViSurfaceCreateFlagsNN 'True +                                                                #{offset VkViSurfaceCreateInfoNN, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "window" (Ptr Void) 'False +                                                    #{offset VkViSurfaceCreateInfoNN, window}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/PlatformWaylandKhr.hsc view
@@ -2,21 +2,16 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.PlatformWaylandKhr-       (VkWaylandSurfaceCreateInfoKHR, VkWaylandSurfaceCreateInfoKHR') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                         (Storable (..))+       (VkWaylandSurfaceCreateInfoKHR) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Bitmasks           (VkWaylandSurfaceCreateFlagsKHR) import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType) import Graphics.Vulkan.Types.Include            (WlDisplay, WlSurface)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkWaylandSurfaceCreateInfoKHR { --   >     VkStructureType sType;@@ -28,220 +23,41 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkWaylandSurfaceCreateInfoKHR VkWaylandSurfaceCreateInfoKHR registry at www.khronos.org> type VkWaylandSurfaceCreateInfoKHR =-     VulkanStruct VkWaylandSurfaceCreateInfoKHR' -- ' closing tick for hsc2hs+     VkStruct VkWaylandSurfaceCreateInfoKHR' -- ' closing tick for hsc2hs  data VkWaylandSurfaceCreateInfoKHR' -- ' closing tick for hsc2hs -instance Eq VkWaylandSurfaceCreateInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkWaylandSurfaceCreateInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkWaylandSurfaceCreateInfoKHR where-        sizeOf ~_ = #{size VkWaylandSurfaceCreateInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkWaylandSurfaceCreateInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkWaylandSurfaceCreateInfoKHR where-        type StructFields VkWaylandSurfaceCreateInfoKHR =-             '["sType", "pNext", "flags", "display", "surface"] -- ' closing tick for hsc2hs-        type CUnionType VkWaylandSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkWaylandSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkWaylandSurfaceCreateInfoKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkWaylandSurfaceCreateInfoKHR where-        type FieldType "sType" VkWaylandSurfaceCreateInfoKHR =-             VkStructureType-        type FieldOptional "sType" VkWaylandSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkWaylandSurfaceCreateInfoKHR =-             #{offset VkWaylandSurfaceCreateInfoKHR, sType}-        type FieldIsArray "sType" VkWaylandSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWaylandSurfaceCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkWaylandSurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWaylandSurfaceCreateInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWaylandSurfaceCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkWaylandSurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWaylandSurfaceCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkWaylandSurfaceCreateInfoKHR where-        type FieldType "pNext" VkWaylandSurfaceCreateInfoKHR = Ptr Void-        type FieldOptional "pNext" VkWaylandSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkWaylandSurfaceCreateInfoKHR =-             #{offset VkWaylandSurfaceCreateInfoKHR, pNext}-        type FieldIsArray "pNext" VkWaylandSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWaylandSurfaceCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkWaylandSurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWaylandSurfaceCreateInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWaylandSurfaceCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkWaylandSurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWaylandSurfaceCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkWaylandSurfaceCreateInfoKHR where-        type FieldType "flags" VkWaylandSurfaceCreateInfoKHR =-             VkWaylandSurfaceCreateFlagsKHR-        type FieldOptional "flags" VkWaylandSurfaceCreateInfoKHR = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkWaylandSurfaceCreateInfoKHR =-             #{offset VkWaylandSurfaceCreateInfoKHR, flags}-        type FieldIsArray "flags" VkWaylandSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWaylandSurfaceCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkWaylandSurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWaylandSurfaceCreateInfoKHR, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWaylandSurfaceCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkWaylandSurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWaylandSurfaceCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         HasField "display" VkWaylandSurfaceCreateInfoKHR where-        type FieldType "display" VkWaylandSurfaceCreateInfoKHR =-             Ptr WlDisplay-        type FieldOptional "display" VkWaylandSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "display" VkWaylandSurfaceCreateInfoKHR =-             #{offset VkWaylandSurfaceCreateInfoKHR, display}-        type FieldIsArray "display" VkWaylandSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWaylandSurfaceCreateInfoKHR, display}--instance {-# OVERLAPPING #-}-         CanReadField "display" VkWaylandSurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWaylandSurfaceCreateInfoKHR, display})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWaylandSurfaceCreateInfoKHR, display}--instance {-# OVERLAPPING #-}-         CanWriteField "display" VkWaylandSurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWaylandSurfaceCreateInfoKHR, display}--instance {-# OVERLAPPING #-}-         HasField "surface" VkWaylandSurfaceCreateInfoKHR where-        type FieldType "surface" VkWaylandSurfaceCreateInfoKHR =-             Ptr WlSurface-        type FieldOptional "surface" VkWaylandSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "surface" VkWaylandSurfaceCreateInfoKHR =-             #{offset VkWaylandSurfaceCreateInfoKHR, surface}-        type FieldIsArray "surface" VkWaylandSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWaylandSurfaceCreateInfoKHR, surface}--instance {-# OVERLAPPING #-}-         CanReadField "surface" VkWaylandSurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWaylandSurfaceCreateInfoKHR, surface})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWaylandSurfaceCreateInfoKHR, surface}--instance {-# OVERLAPPING #-}-         CanWriteField "surface" VkWaylandSurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWaylandSurfaceCreateInfoKHR, surface}--instance Show VkWaylandSurfaceCreateInfoKHR where-        showsPrec d x-          = showString "VkWaylandSurfaceCreateInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "display = " .-                                  showsPrec d (getField @"display" x) .-                                    showString ", " .-                                      showString "surface = " .-                                        showsPrec d (getField @"surface" x) . showChar '}'+    type StructRep VkWaylandSurfaceCreateInfoKHR =+         'StructMeta "VkWaylandSurfaceCreateInfoKHR" -- ' closing tick for hsc2hs+           VkWaylandSurfaceCreateInfoKHR+           #{size VkWaylandSurfaceCreateInfoKHR}+           #{alignment VkWaylandSurfaceCreateInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkWaylandSurfaceCreateInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkWaylandSurfaceCreateInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkWaylandSurfaceCreateFlagsKHR 'True +                                                                      #{offset VkWaylandSurfaceCreateInfoKHR, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "display" (Ptr WlDisplay) 'False +                                                          #{offset VkWaylandSurfaceCreateInfoKHR, display}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "surface" (Ptr WlSurface) 'False +                                                          #{offset VkWaylandSurfaceCreateInfoKHR, surface}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/PlatformWin32Khr.hsc view
@@ -2,4183 +2,857 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.PlatformWin32Khr-       (VkD3D12FenceSubmitInfoKHR, VkD3D12FenceSubmitInfoKHR', -- ' closing tick for hsc2hs-        VkExportFenceWin32HandleInfoKHR, VkExportFenceWin32HandleInfoKHR', -- ' closing tick for hsc2hs-        VkExportMemoryWin32HandleInfoKHR,-        VkExportMemoryWin32HandleInfoKHR', VkExportMemoryWin32HandleInfoNV, -- ' closing tick for hsc2hs-        VkExportMemoryWin32HandleInfoNV', -- ' closing tick for hsc2hs-        VkExportSemaphoreWin32HandleInfoKHR,-        VkExportSemaphoreWin32HandleInfoKHR', VkFenceGetWin32HandleInfoKHR, -- ' closing tick for hsc2hs-        VkFenceGetWin32HandleInfoKHR', VkImportFenceWin32HandleInfoKHR, -- ' closing tick for hsc2hs-        VkImportFenceWin32HandleInfoKHR', VkImportMemoryWin32HandleInfoKHR, -- ' closing tick for hsc2hs-        VkImportMemoryWin32HandleInfoKHR', VkImportMemoryWin32HandleInfoNV, -- ' closing tick for hsc2hs-        VkImportMemoryWin32HandleInfoNV', -- ' closing tick for hsc2hs-        VkImportSemaphoreWin32HandleInfoKHR,-        VkImportSemaphoreWin32HandleInfoKHR', -- ' closing tick for hsc2hs-        VkMemoryGetWin32HandleInfoKHR, VkMemoryGetWin32HandleInfoKHR', -- ' closing tick for hsc2hs-        VkMemoryWin32HandlePropertiesKHR,-        VkMemoryWin32HandlePropertiesKHR', -- ' closing tick for hsc2hs-        VkSemaphoreGetWin32HandleInfoKHR,-        VkSemaphoreGetWin32HandleInfoKHR', -- ' closing tick for hsc2hs-        VkWin32KeyedMutexAcquireReleaseInfoKHR,-        VkWin32KeyedMutexAcquireReleaseInfoKHR', -- ' closing tick for hsc2hs-        VkWin32KeyedMutexAcquireReleaseInfoNV,-        VkWin32KeyedMutexAcquireReleaseInfoNV', -- ' closing tick for hsc2hs-        VkWin32SurfaceCreateInfoKHR, VkWin32SurfaceCreateInfoKHR') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                               (Storable (..))-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Internal-import Graphics.Vulkan.Types.Bitmasks                 (VkWin32SurfaceCreateFlagsKHR)-import Graphics.Vulkan.Types.Enum.External            (VkExternalFenceHandleTypeFlagBits,-                                                       VkExternalMemoryHandleTypeFlagBits,-                                                       VkExternalMemoryHandleTypeFlagsNV,-                                                       VkExternalSemaphoreHandleTypeFlagBits)-import Graphics.Vulkan.Types.Enum.Fence               (VkFenceImportFlags)-import Graphics.Vulkan.Types.Enum.SemaphoreImportFlag (VkSemaphoreImportFlags)-import Graphics.Vulkan.Types.Enum.StructureType       (VkStructureType)-import Graphics.Vulkan.Types.Handles                  (VkDeviceMemory, VkFence,-                                                       VkSemaphore)-import Graphics.Vulkan.Types.Include                  (DWORD, HANDLE, HINSTANCE,-                                                       HWND, LPCWSTR,-                                                       SECURITY_ATTRIBUTES)-import Graphics.Vulkan.Types.Struct.Fence             (VkFenceCreateInfo)-import Graphics.Vulkan.Types.Struct.Memory            (VkMemoryAllocateInfo)-import Graphics.Vulkan.Types.Struct.Semaphore         (VkSemaphoreCreateInfo)-import Graphics.Vulkan.Types.Struct.SubmitInfo        (VkSubmitInfo)-import System.IO.Unsafe                               (unsafeDupablePerformIO)---- | > typedef struct VkD3D12FenceSubmitInfoKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     uint32_t         waitSemaphoreValuesCount;---   >     const uint64_t* pWaitSemaphoreValues;---   >     uint32_t         signalSemaphoreValuesCount;---   >     const uint64_t* pSignalSemaphoreValues;---   > } VkD3D12FenceSubmitInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkD3D12FenceSubmitInfoKHR VkD3D12FenceSubmitInfoKHR registry at www.khronos.org>-type VkD3D12FenceSubmitInfoKHR =-     VulkanStruct VkD3D12FenceSubmitInfoKHR' -- ' closing tick for hsc2hs--data VkD3D12FenceSubmitInfoKHR' -- ' closing tick for hsc2hs--instance Eq VkD3D12FenceSubmitInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkD3D12FenceSubmitInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkD3D12FenceSubmitInfoKHR where-        sizeOf ~_ = #{size VkD3D12FenceSubmitInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkD3D12FenceSubmitInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkD3D12FenceSubmitInfoKHR where-        type StructFields VkD3D12FenceSubmitInfoKHR =-             '["sType", "pNext", "waitSemaphoreValuesCount", -- ' closing tick for hsc2hs-               "pWaitSemaphoreValues", "signalSemaphoreValuesCount",-               "pSignalSemaphoreValues"]-        type CUnionType VkD3D12FenceSubmitInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkD3D12FenceSubmitInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkD3D12FenceSubmitInfoKHR = '[VkSubmitInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkD3D12FenceSubmitInfoKHR where-        type FieldType "sType" VkD3D12FenceSubmitInfoKHR = VkStructureType-        type FieldOptional "sType" VkD3D12FenceSubmitInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkD3D12FenceSubmitInfoKHR =-             #{offset VkD3D12FenceSubmitInfoKHR, sType}-        type FieldIsArray "sType" VkD3D12FenceSubmitInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkD3D12FenceSubmitInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkD3D12FenceSubmitInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkD3D12FenceSubmitInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkD3D12FenceSubmitInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkD3D12FenceSubmitInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkD3D12FenceSubmitInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkD3D12FenceSubmitInfoKHR where-        type FieldType "pNext" VkD3D12FenceSubmitInfoKHR = Ptr Void-        type FieldOptional "pNext" VkD3D12FenceSubmitInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkD3D12FenceSubmitInfoKHR =-             #{offset VkD3D12FenceSubmitInfoKHR, pNext}-        type FieldIsArray "pNext" VkD3D12FenceSubmitInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkD3D12FenceSubmitInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkD3D12FenceSubmitInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkD3D12FenceSubmitInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkD3D12FenceSubmitInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkD3D12FenceSubmitInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkD3D12FenceSubmitInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "waitSemaphoreValuesCount" VkD3D12FenceSubmitInfoKHR where-        type FieldType "waitSemaphoreValuesCount" VkD3D12FenceSubmitInfoKHR-             = Word32-        type FieldOptional "waitSemaphoreValuesCount"-               VkD3D12FenceSubmitInfoKHR-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "waitSemaphoreValuesCount"-               VkD3D12FenceSubmitInfoKHR-             =-             #{offset VkD3D12FenceSubmitInfoKHR, waitSemaphoreValuesCount}-        type FieldIsArray "waitSemaphoreValuesCount"-               VkD3D12FenceSubmitInfoKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkD3D12FenceSubmitInfoKHR, waitSemaphoreValuesCount}--instance {-# OVERLAPPING #-}-         CanReadField "waitSemaphoreValuesCount" VkD3D12FenceSubmitInfoKHR-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkD3D12FenceSubmitInfoKHR, waitSemaphoreValuesCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkD3D12FenceSubmitInfoKHR, waitSemaphoreValuesCount}--instance {-# OVERLAPPING #-}-         CanWriteField "waitSemaphoreValuesCount" VkD3D12FenceSubmitInfoKHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkD3D12FenceSubmitInfoKHR, waitSemaphoreValuesCount}--instance {-# OVERLAPPING #-}-         HasField "pWaitSemaphoreValues" VkD3D12FenceSubmitInfoKHR where-        type FieldType "pWaitSemaphoreValues" VkD3D12FenceSubmitInfoKHR =-             Ptr Word64-        type FieldOptional "pWaitSemaphoreValues" VkD3D12FenceSubmitInfoKHR-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pWaitSemaphoreValues" VkD3D12FenceSubmitInfoKHR =-             #{offset VkD3D12FenceSubmitInfoKHR, pWaitSemaphoreValues}-        type FieldIsArray "pWaitSemaphoreValues" VkD3D12FenceSubmitInfoKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkD3D12FenceSubmitInfoKHR, pWaitSemaphoreValues}--instance {-# OVERLAPPING #-}-         CanReadField "pWaitSemaphoreValues" VkD3D12FenceSubmitInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkD3D12FenceSubmitInfoKHR, pWaitSemaphoreValues})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkD3D12FenceSubmitInfoKHR, pWaitSemaphoreValues}--instance {-# OVERLAPPING #-}-         CanWriteField "pWaitSemaphoreValues" VkD3D12FenceSubmitInfoKHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkD3D12FenceSubmitInfoKHR, pWaitSemaphoreValues}--instance {-# OVERLAPPING #-}-         HasField "signalSemaphoreValuesCount" VkD3D12FenceSubmitInfoKHR-         where-        type FieldType "signalSemaphoreValuesCount"-               VkD3D12FenceSubmitInfoKHR-             = Word32-        type FieldOptional "signalSemaphoreValuesCount"-               VkD3D12FenceSubmitInfoKHR-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "signalSemaphoreValuesCount"-               VkD3D12FenceSubmitInfoKHR-             =-             #{offset VkD3D12FenceSubmitInfoKHR, signalSemaphoreValuesCount}-        type FieldIsArray "signalSemaphoreValuesCount"-               VkD3D12FenceSubmitInfoKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkD3D12FenceSubmitInfoKHR, signalSemaphoreValuesCount}--instance {-# OVERLAPPING #-}-         CanReadField "signalSemaphoreValuesCount" VkD3D12FenceSubmitInfoKHR-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkD3D12FenceSubmitInfoKHR, signalSemaphoreValuesCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkD3D12FenceSubmitInfoKHR, signalSemaphoreValuesCount}--instance {-# OVERLAPPING #-}-         CanWriteField "signalSemaphoreValuesCount"-           VkD3D12FenceSubmitInfoKHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkD3D12FenceSubmitInfoKHR, signalSemaphoreValuesCount}--instance {-# OVERLAPPING #-}-         HasField "pSignalSemaphoreValues" VkD3D12FenceSubmitInfoKHR where-        type FieldType "pSignalSemaphoreValues" VkD3D12FenceSubmitInfoKHR =-             Ptr Word64-        type FieldOptional "pSignalSemaphoreValues"-               VkD3D12FenceSubmitInfoKHR-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pSignalSemaphoreValues" VkD3D12FenceSubmitInfoKHR-             =-             #{offset VkD3D12FenceSubmitInfoKHR, pSignalSemaphoreValues}-        type FieldIsArray "pSignalSemaphoreValues"-               VkD3D12FenceSubmitInfoKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkD3D12FenceSubmitInfoKHR, pSignalSemaphoreValues}--instance {-# OVERLAPPING #-}-         CanReadField "pSignalSemaphoreValues" VkD3D12FenceSubmitInfoKHR-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkD3D12FenceSubmitInfoKHR, pSignalSemaphoreValues})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkD3D12FenceSubmitInfoKHR, pSignalSemaphoreValues}--instance {-# OVERLAPPING #-}-         CanWriteField "pSignalSemaphoreValues" VkD3D12FenceSubmitInfoKHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkD3D12FenceSubmitInfoKHR, pSignalSemaphoreValues}--instance Show VkD3D12FenceSubmitInfoKHR where-        showsPrec d x-          = showString "VkD3D12FenceSubmitInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "waitSemaphoreValuesCount = " .-                            showsPrec d (getField @"waitSemaphoreValuesCount" x) .-                              showString ", " .-                                showString "pWaitSemaphoreValues = " .-                                  showsPrec d (getField @"pWaitSemaphoreValues" x) .-                                    showString ", " .-                                      showString "signalSemaphoreValuesCount = " .-                                        showsPrec d (getField @"signalSemaphoreValuesCount" x) .-                                          showString ", " .-                                            showString "pSignalSemaphoreValues = " .-                                              showsPrec d (getField @"pSignalSemaphoreValues" x) .-                                                showChar '}'---- | > typedef struct VkExportFenceWin32HandleInfoKHR {---   >     VkStructureType sType;---   >     const void*                                pNext;---   >     const SECURITY_ATTRIBUTES* pAttributes;---   >     DWORD                                      dwAccess;---   >     LPCWSTR                                    name;---   > } VkExportFenceWin32HandleInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExportFenceWin32HandleInfoKHR VkExportFenceWin32HandleInfoKHR registry at www.khronos.org>-type VkExportFenceWin32HandleInfoKHR =-     VulkanStruct VkExportFenceWin32HandleInfoKHR' -- ' closing tick for hsc2hs--data VkExportFenceWin32HandleInfoKHR' -- ' closing tick for hsc2hs--instance Eq VkExportFenceWin32HandleInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkExportFenceWin32HandleInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkExportFenceWin32HandleInfoKHR where-        sizeOf ~_ = #{size VkExportFenceWin32HandleInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkExportFenceWin32HandleInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkExportFenceWin32HandleInfoKHR where-        type StructFields VkExportFenceWin32HandleInfoKHR =-             '["sType", "pNext", "pAttributes", "dwAccess", "name"] -- ' closing tick for hsc2hs-        type CUnionType VkExportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkExportFenceWin32HandleInfoKHR =-             '[VkFenceCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkExportFenceWin32HandleInfoKHR where-        type FieldType "sType" VkExportFenceWin32HandleInfoKHR =-             VkStructureType-        type FieldOptional "sType" VkExportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkExportFenceWin32HandleInfoKHR =-             #{offset VkExportFenceWin32HandleInfoKHR, sType}-        type FieldIsArray "sType" VkExportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportFenceWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkExportFenceWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportFenceWin32HandleInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportFenceWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkExportFenceWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportFenceWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkExportFenceWin32HandleInfoKHR where-        type FieldType "pNext" VkExportFenceWin32HandleInfoKHR = Ptr Void-        type FieldOptional "pNext" VkExportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkExportFenceWin32HandleInfoKHR =-             #{offset VkExportFenceWin32HandleInfoKHR, pNext}-        type FieldIsArray "pNext" VkExportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportFenceWin32HandleInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkExportFenceWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportFenceWin32HandleInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportFenceWin32HandleInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkExportFenceWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportFenceWin32HandleInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "pAttributes" VkExportFenceWin32HandleInfoKHR where-        type FieldType "pAttributes" VkExportFenceWin32HandleInfoKHR =-             Ptr SECURITY_ATTRIBUTES-        type FieldOptional "pAttributes" VkExportFenceWin32HandleInfoKHR =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "pAttributes" VkExportFenceWin32HandleInfoKHR =-             #{offset VkExportFenceWin32HandleInfoKHR, pAttributes}-        type FieldIsArray "pAttributes" VkExportFenceWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportFenceWin32HandleInfoKHR, pAttributes}--instance {-# OVERLAPPING #-}-         CanReadField "pAttributes" VkExportFenceWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportFenceWin32HandleInfoKHR, pAttributes})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportFenceWin32HandleInfoKHR, pAttributes}--instance {-# OVERLAPPING #-}-         CanWriteField "pAttributes" VkExportFenceWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportFenceWin32HandleInfoKHR, pAttributes}--instance {-# OVERLAPPING #-}-         HasField "dwAccess" VkExportFenceWin32HandleInfoKHR where-        type FieldType "dwAccess" VkExportFenceWin32HandleInfoKHR = DWORD-        type FieldOptional "dwAccess" VkExportFenceWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "dwAccess" VkExportFenceWin32HandleInfoKHR =-             #{offset VkExportFenceWin32HandleInfoKHR, dwAccess}-        type FieldIsArray "dwAccess" VkExportFenceWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportFenceWin32HandleInfoKHR, dwAccess}--instance {-# OVERLAPPING #-}-         CanReadField "dwAccess" VkExportFenceWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportFenceWin32HandleInfoKHR, dwAccess})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportFenceWin32HandleInfoKHR, dwAccess}--instance {-# OVERLAPPING #-}-         CanWriteField "dwAccess" VkExportFenceWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportFenceWin32HandleInfoKHR, dwAccess}--instance {-# OVERLAPPING #-}-         HasField "name" VkExportFenceWin32HandleInfoKHR where-        type FieldType "name" VkExportFenceWin32HandleInfoKHR = LPCWSTR-        type FieldOptional "name" VkExportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "name" VkExportFenceWin32HandleInfoKHR =-             #{offset VkExportFenceWin32HandleInfoKHR, name}-        type FieldIsArray "name" VkExportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportFenceWin32HandleInfoKHR, name}--instance {-# OVERLAPPING #-}-         CanReadField "name" VkExportFenceWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportFenceWin32HandleInfoKHR, name})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportFenceWin32HandleInfoKHR, name}--instance {-# OVERLAPPING #-}-         CanWriteField "name" VkExportFenceWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportFenceWin32HandleInfoKHR, name}--instance Show VkExportFenceWin32HandleInfoKHR where-        showsPrec d x-          = showString "VkExportFenceWin32HandleInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "pAttributes = " .-                            showsPrec d (getField @"pAttributes" x) .-                              showString ", " .-                                showString "dwAccess = " .-                                  showsPrec d (getField @"dwAccess" x) .-                                    showString ", " .-                                      showString "name = " .-                                        showsPrec d (getField @"name" x) . showChar '}'---- | > typedef struct VkExportMemoryWin32HandleInfoKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     const SECURITY_ATTRIBUTES* pAttributes;---   >     DWORD                            dwAccess;---   >     LPCWSTR                          name;---   > } VkExportMemoryWin32HandleInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExportMemoryWin32HandleInfoKHR VkExportMemoryWin32HandleInfoKHR registry at www.khronos.org>-type VkExportMemoryWin32HandleInfoKHR =-     VulkanStruct VkExportMemoryWin32HandleInfoKHR' -- ' closing tick for hsc2hs--data VkExportMemoryWin32HandleInfoKHR' -- ' closing tick for hsc2hs--instance Eq VkExportMemoryWin32HandleInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkExportMemoryWin32HandleInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkExportMemoryWin32HandleInfoKHR where-        sizeOf ~_ = #{size VkExportMemoryWin32HandleInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkExportMemoryWin32HandleInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkExportMemoryWin32HandleInfoKHR where-        type StructFields VkExportMemoryWin32HandleInfoKHR =-             '["sType", "pNext", "pAttributes", "dwAccess", "name"] -- ' closing tick for hsc2hs-        type CUnionType VkExportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkExportMemoryWin32HandleInfoKHR =-             '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkExportMemoryWin32HandleInfoKHR where-        type FieldType "sType" VkExportMemoryWin32HandleInfoKHR =-             VkStructureType-        type FieldOptional "sType" VkExportMemoryWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkExportMemoryWin32HandleInfoKHR =-             #{offset VkExportMemoryWin32HandleInfoKHR, sType}-        type FieldIsArray "sType" VkExportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportMemoryWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkExportMemoryWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkExportMemoryWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkExportMemoryWin32HandleInfoKHR where-        type FieldType "pNext" VkExportMemoryWin32HandleInfoKHR = Ptr Void-        type FieldOptional "pNext" VkExportMemoryWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkExportMemoryWin32HandleInfoKHR =-             #{offset VkExportMemoryWin32HandleInfoKHR, pNext}-        type FieldIsArray "pNext" VkExportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportMemoryWin32HandleInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkExportMemoryWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkExportMemoryWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "pAttributes" VkExportMemoryWin32HandleInfoKHR where-        type FieldType "pAttributes" VkExportMemoryWin32HandleInfoKHR =-             Ptr SECURITY_ATTRIBUTES-        type FieldOptional "pAttributes" VkExportMemoryWin32HandleInfoKHR =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "pAttributes" VkExportMemoryWin32HandleInfoKHR =-             #{offset VkExportMemoryWin32HandleInfoKHR, pAttributes}-        type FieldIsArray "pAttributes" VkExportMemoryWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportMemoryWin32HandleInfoKHR, pAttributes}--instance {-# OVERLAPPING #-}-         CanReadField "pAttributes" VkExportMemoryWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoKHR, pAttributes})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, pAttributes}--instance {-# OVERLAPPING #-}-         CanWriteField "pAttributes" VkExportMemoryWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, pAttributes}--instance {-# OVERLAPPING #-}-         HasField "dwAccess" VkExportMemoryWin32HandleInfoKHR where-        type FieldType "dwAccess" VkExportMemoryWin32HandleInfoKHR = DWORD-        type FieldOptional "dwAccess" VkExportMemoryWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "dwAccess" VkExportMemoryWin32HandleInfoKHR =-             #{offset VkExportMemoryWin32HandleInfoKHR, dwAccess}-        type FieldIsArray "dwAccess" VkExportMemoryWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportMemoryWin32HandleInfoKHR, dwAccess}--instance {-# OVERLAPPING #-}-         CanReadField "dwAccess" VkExportMemoryWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoKHR, dwAccess})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, dwAccess}--instance {-# OVERLAPPING #-}-         CanWriteField "dwAccess" VkExportMemoryWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, dwAccess}--instance {-# OVERLAPPING #-}-         HasField "name" VkExportMemoryWin32HandleInfoKHR where-        type FieldType "name" VkExportMemoryWin32HandleInfoKHR = LPCWSTR-        type FieldOptional "name" VkExportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "name" VkExportMemoryWin32HandleInfoKHR =-             #{offset VkExportMemoryWin32HandleInfoKHR, name}-        type FieldIsArray "name" VkExportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportMemoryWin32HandleInfoKHR, name}--instance {-# OVERLAPPING #-}-         CanReadField "name" VkExportMemoryWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoKHR, name})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, name}--instance {-# OVERLAPPING #-}-         CanWriteField "name" VkExportMemoryWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, name}--instance Show VkExportMemoryWin32HandleInfoKHR where-        showsPrec d x-          = showString "VkExportMemoryWin32HandleInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "pAttributes = " .-                            showsPrec d (getField @"pAttributes" x) .-                              showString ", " .-                                showString "dwAccess = " .-                                  showsPrec d (getField @"dwAccess" x) .-                                    showString ", " .-                                      showString "name = " .-                                        showsPrec d (getField @"name" x) . showChar '}'---- | > typedef struct VkExportMemoryWin32HandleInfoNV {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     const SECURITY_ATTRIBUTES*       pAttributes;---   >     DWORD                            dwAccess;---   > } VkExportMemoryWin32HandleInfoNV;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExportMemoryWin32HandleInfoNV VkExportMemoryWin32HandleInfoNV registry at www.khronos.org>-type VkExportMemoryWin32HandleInfoNV =-     VulkanStruct VkExportMemoryWin32HandleInfoNV' -- ' closing tick for hsc2hs--data VkExportMemoryWin32HandleInfoNV' -- ' closing tick for hsc2hs--instance Eq VkExportMemoryWin32HandleInfoNV where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkExportMemoryWin32HandleInfoNV where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkExportMemoryWin32HandleInfoNV where-        sizeOf ~_ = #{size VkExportMemoryWin32HandleInfoNV}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkExportMemoryWin32HandleInfoNV}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkExportMemoryWin32HandleInfoNV where-        type StructFields VkExportMemoryWin32HandleInfoNV =-             '["sType", "pNext", "pAttributes", "dwAccess"] -- ' closing tick for hsc2hs-        type CUnionType VkExportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs-        type StructExtends VkExportMemoryWin32HandleInfoNV =-             '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkExportMemoryWin32HandleInfoNV where-        type FieldType "sType" VkExportMemoryWin32HandleInfoNV =-             VkStructureType-        type FieldOptional "sType" VkExportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkExportMemoryWin32HandleInfoNV =-             #{offset VkExportMemoryWin32HandleInfoNV, sType}-        type FieldIsArray "sType" VkExportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportMemoryWin32HandleInfoNV, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkExportMemoryWin32HandleInfoNV where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoNV, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoNV, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkExportMemoryWin32HandleInfoNV where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoNV, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkExportMemoryWin32HandleInfoNV where-        type FieldType "pNext" VkExportMemoryWin32HandleInfoNV = Ptr Void-        type FieldOptional "pNext" VkExportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkExportMemoryWin32HandleInfoNV =-             #{offset VkExportMemoryWin32HandleInfoNV, pNext}-        type FieldIsArray "pNext" VkExportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportMemoryWin32HandleInfoNV, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkExportMemoryWin32HandleInfoNV where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoNV, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoNV, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkExportMemoryWin32HandleInfoNV where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoNV, pNext}--instance {-# OVERLAPPING #-}-         HasField "pAttributes" VkExportMemoryWin32HandleInfoNV where-        type FieldType "pAttributes" VkExportMemoryWin32HandleInfoNV =-             Ptr SECURITY_ATTRIBUTES-        type FieldOptional "pAttributes" VkExportMemoryWin32HandleInfoNV =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "pAttributes" VkExportMemoryWin32HandleInfoNV =-             #{offset VkExportMemoryWin32HandleInfoNV, pAttributes}-        type FieldIsArray "pAttributes" VkExportMemoryWin32HandleInfoNV =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportMemoryWin32HandleInfoNV, pAttributes}--instance {-# OVERLAPPING #-}-         CanReadField "pAttributes" VkExportMemoryWin32HandleInfoNV where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoNV, pAttributes})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoNV, pAttributes}--instance {-# OVERLAPPING #-}-         CanWriteField "pAttributes" VkExportMemoryWin32HandleInfoNV where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoNV, pAttributes}--instance {-# OVERLAPPING #-}-         HasField "dwAccess" VkExportMemoryWin32HandleInfoNV where-        type FieldType "dwAccess" VkExportMemoryWin32HandleInfoNV = DWORD-        type FieldOptional "dwAccess" VkExportMemoryWin32HandleInfoNV =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "dwAccess" VkExportMemoryWin32HandleInfoNV =-             #{offset VkExportMemoryWin32HandleInfoNV, dwAccess}-        type FieldIsArray "dwAccess" VkExportMemoryWin32HandleInfoNV =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportMemoryWin32HandleInfoNV, dwAccess}--instance {-# OVERLAPPING #-}-         CanReadField "dwAccess" VkExportMemoryWin32HandleInfoNV where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoNV, dwAccess})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoNV, dwAccess}--instance {-# OVERLAPPING #-}-         CanWriteField "dwAccess" VkExportMemoryWin32HandleInfoNV where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoNV, dwAccess}--instance Show VkExportMemoryWin32HandleInfoNV where-        showsPrec d x-          = showString "VkExportMemoryWin32HandleInfoNV {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "pAttributes = " .-                            showsPrec d (getField @"pAttributes" x) .-                              showString ", " .-                                showString "dwAccess = " .-                                  showsPrec d (getField @"dwAccess" x) . showChar '}'---- | > typedef struct VkExportSemaphoreWin32HandleInfoKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     const SECURITY_ATTRIBUTES*       pAttributes;---   >     DWORD                            dwAccess;---   >     LPCWSTR                          name;---   > } VkExportSemaphoreWin32HandleInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExportSemaphoreWin32HandleInfoKHR VkExportSemaphoreWin32HandleInfoKHR registry at www.khronos.org>-type VkExportSemaphoreWin32HandleInfoKHR =-     VulkanStruct VkExportSemaphoreWin32HandleInfoKHR' -- ' closing tick for hsc2hs--data VkExportSemaphoreWin32HandleInfoKHR' -- ' closing tick for hsc2hs--instance Eq VkExportSemaphoreWin32HandleInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkExportSemaphoreWin32HandleInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkExportSemaphoreWin32HandleInfoKHR where-        sizeOf ~_ = #{size VkExportSemaphoreWin32HandleInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkExportSemaphoreWin32HandleInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkExportSemaphoreWin32HandleInfoKHR where-        type StructFields VkExportSemaphoreWin32HandleInfoKHR =-             '["sType", "pNext", "pAttributes", "dwAccess", "name"] -- ' closing tick for hsc2hs-        type CUnionType VkExportSemaphoreWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExportSemaphoreWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkExportSemaphoreWin32HandleInfoKHR =-             '[VkSemaphoreCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkExportSemaphoreWin32HandleInfoKHR where-        type FieldType "sType" VkExportSemaphoreWin32HandleInfoKHR =-             VkStructureType-        type FieldOptional "sType" VkExportSemaphoreWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkExportSemaphoreWin32HandleInfoKHR =-             #{offset VkExportSemaphoreWin32HandleInfoKHR, sType}-        type FieldIsArray "sType" VkExportSemaphoreWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportSemaphoreWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkExportSemaphoreWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreWin32HandleInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkExportSemaphoreWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkExportSemaphoreWin32HandleInfoKHR where-        type FieldType "pNext" VkExportSemaphoreWin32HandleInfoKHR =-             Ptr Void-        type FieldOptional "pNext" VkExportSemaphoreWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkExportSemaphoreWin32HandleInfoKHR =-             #{offset VkExportSemaphoreWin32HandleInfoKHR, pNext}-        type FieldIsArray "pNext" VkExportSemaphoreWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportSemaphoreWin32HandleInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkExportSemaphoreWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreWin32HandleInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkExportSemaphoreWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "pAttributes" VkExportSemaphoreWin32HandleInfoKHR where-        type FieldType "pAttributes" VkExportSemaphoreWin32HandleInfoKHR =-             Ptr SECURITY_ATTRIBUTES-        type FieldOptional "pAttributes"-               VkExportSemaphoreWin32HandleInfoKHR-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pAttributes" VkExportSemaphoreWin32HandleInfoKHR-             =-             #{offset VkExportSemaphoreWin32HandleInfoKHR, pAttributes}-        type FieldIsArray "pAttributes" VkExportSemaphoreWin32HandleInfoKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportSemaphoreWin32HandleInfoKHR, pAttributes}--instance {-# OVERLAPPING #-}-         CanReadField "pAttributes" VkExportSemaphoreWin32HandleInfoKHR-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreWin32HandleInfoKHR, pAttributes})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, pAttributes}--instance {-# OVERLAPPING #-}-         CanWriteField "pAttributes" VkExportSemaphoreWin32HandleInfoKHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, pAttributes}--instance {-# OVERLAPPING #-}-         HasField "dwAccess" VkExportSemaphoreWin32HandleInfoKHR where-        type FieldType "dwAccess" VkExportSemaphoreWin32HandleInfoKHR =-             DWORD-        type FieldOptional "dwAccess" VkExportSemaphoreWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "dwAccess" VkExportSemaphoreWin32HandleInfoKHR =-             #{offset VkExportSemaphoreWin32HandleInfoKHR, dwAccess}-        type FieldIsArray "dwAccess" VkExportSemaphoreWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportSemaphoreWin32HandleInfoKHR, dwAccess}--instance {-# OVERLAPPING #-}-         CanReadField "dwAccess" VkExportSemaphoreWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreWin32HandleInfoKHR, dwAccess})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, dwAccess}--instance {-# OVERLAPPING #-}-         CanWriteField "dwAccess" VkExportSemaphoreWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, dwAccess}--instance {-# OVERLAPPING #-}-         HasField "name" VkExportSemaphoreWin32HandleInfoKHR where-        type FieldType "name" VkExportSemaphoreWin32HandleInfoKHR = LPCWSTR-        type FieldOptional "name" VkExportSemaphoreWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "name" VkExportSemaphoreWin32HandleInfoKHR =-             #{offset VkExportSemaphoreWin32HandleInfoKHR, name}-        type FieldIsArray "name" VkExportSemaphoreWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportSemaphoreWin32HandleInfoKHR, name}--instance {-# OVERLAPPING #-}-         CanReadField "name" VkExportSemaphoreWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreWin32HandleInfoKHR, name})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, name}--instance {-# OVERLAPPING #-}-         CanWriteField "name" VkExportSemaphoreWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, name}--instance Show VkExportSemaphoreWin32HandleInfoKHR where-        showsPrec d x-          = showString "VkExportSemaphoreWin32HandleInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "pAttributes = " .-                            showsPrec d (getField @"pAttributes" x) .-                              showString ", " .-                                showString "dwAccess = " .-                                  showsPrec d (getField @"dwAccess" x) .-                                    showString ", " .-                                      showString "name = " .-                                        showsPrec d (getField @"name" x) . showChar '}'---- | > typedef struct VkFenceGetWin32HandleInfoKHR {---   >     VkStructureType sType;---   >     const void*                            pNext;---   >     VkFence                                fence;---   >     VkExternalFenceHandleTypeFlagBits   handleType;---   > } VkFenceGetWin32HandleInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkFenceGetWin32HandleInfoKHR VkFenceGetWin32HandleInfoKHR registry at www.khronos.org>-type VkFenceGetWin32HandleInfoKHR =-     VulkanStruct VkFenceGetWin32HandleInfoKHR' -- ' closing tick for hsc2hs--data VkFenceGetWin32HandleInfoKHR' -- ' closing tick for hsc2hs--instance Eq VkFenceGetWin32HandleInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkFenceGetWin32HandleInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkFenceGetWin32HandleInfoKHR where-        sizeOf ~_ = #{size VkFenceGetWin32HandleInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkFenceGetWin32HandleInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkFenceGetWin32HandleInfoKHR where-        type StructFields VkFenceGetWin32HandleInfoKHR =-             '["sType", "pNext", "fence", "handleType"] -- ' closing tick for hsc2hs-        type CUnionType VkFenceGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkFenceGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkFenceGetWin32HandleInfoKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkFenceGetWin32HandleInfoKHR where-        type FieldType "sType" VkFenceGetWin32HandleInfoKHR =-             VkStructureType-        type FieldOptional "sType" VkFenceGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkFenceGetWin32HandleInfoKHR =-             #{offset VkFenceGetWin32HandleInfoKHR, sType}-        type FieldIsArray "sType" VkFenceGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkFenceGetWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkFenceGetWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkFenceGetWin32HandleInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkFenceGetWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkFenceGetWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkFenceGetWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkFenceGetWin32HandleInfoKHR where-        type FieldType "pNext" VkFenceGetWin32HandleInfoKHR = Ptr Void-        type FieldOptional "pNext" VkFenceGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkFenceGetWin32HandleInfoKHR =-             #{offset VkFenceGetWin32HandleInfoKHR, pNext}-        type FieldIsArray "pNext" VkFenceGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkFenceGetWin32HandleInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkFenceGetWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkFenceGetWin32HandleInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkFenceGetWin32HandleInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkFenceGetWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkFenceGetWin32HandleInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "fence" VkFenceGetWin32HandleInfoKHR where-        type FieldType "fence" VkFenceGetWin32HandleInfoKHR = VkFence-        type FieldOptional "fence" VkFenceGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "fence" VkFenceGetWin32HandleInfoKHR =-             #{offset VkFenceGetWin32HandleInfoKHR, fence}-        type FieldIsArray "fence" VkFenceGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkFenceGetWin32HandleInfoKHR, fence}--instance {-# OVERLAPPING #-}-         CanReadField "fence" VkFenceGetWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkFenceGetWin32HandleInfoKHR, fence})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkFenceGetWin32HandleInfoKHR, fence}--instance {-# OVERLAPPING #-}-         CanWriteField "fence" VkFenceGetWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkFenceGetWin32HandleInfoKHR, fence}--instance {-# OVERLAPPING #-}-         HasField "handleType" VkFenceGetWin32HandleInfoKHR where-        type FieldType "handleType" VkFenceGetWin32HandleInfoKHR =-             VkExternalFenceHandleTypeFlagBits-        type FieldOptional "handleType" VkFenceGetWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "handleType" VkFenceGetWin32HandleInfoKHR =-             #{offset VkFenceGetWin32HandleInfoKHR, handleType}-        type FieldIsArray "handleType" VkFenceGetWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkFenceGetWin32HandleInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         CanReadField "handleType" VkFenceGetWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkFenceGetWin32HandleInfoKHR, handleType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkFenceGetWin32HandleInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         CanWriteField "handleType" VkFenceGetWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkFenceGetWin32HandleInfoKHR, handleType}--instance Show VkFenceGetWin32HandleInfoKHR where-        showsPrec d x-          = showString "VkFenceGetWin32HandleInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "fence = " .-                            showsPrec d (getField @"fence" x) .-                              showString ", " .-                                showString "handleType = " .-                                  showsPrec d (getField @"handleType" x) . showChar '}'---- | > typedef struct VkImportFenceWin32HandleInfoKHR {---   >     VkStructureType sType;---   >     const void*                                        pNext;---   >     VkFence                          fence;---   >     VkFenceImportFlags              flags;---   >     VkExternalFenceHandleTypeFlagBits  handleType;---   >     HANDLE                             handle;---   >     LPCWSTR                            name;---   > } VkImportFenceWin32HandleInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImportFenceWin32HandleInfoKHR VkImportFenceWin32HandleInfoKHR registry at www.khronos.org>-type VkImportFenceWin32HandleInfoKHR =-     VulkanStruct VkImportFenceWin32HandleInfoKHR' -- ' closing tick for hsc2hs--data VkImportFenceWin32HandleInfoKHR' -- ' closing tick for hsc2hs--instance Eq VkImportFenceWin32HandleInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkImportFenceWin32HandleInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkImportFenceWin32HandleInfoKHR where-        sizeOf ~_ = #{size VkImportFenceWin32HandleInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkImportFenceWin32HandleInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkImportFenceWin32HandleInfoKHR where-        type StructFields VkImportFenceWin32HandleInfoKHR =-             '["sType", "pNext", "fence", "flags", "handleType", "handle", -- ' closing tick for hsc2hs-               "name"]-        type CUnionType VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkImportFenceWin32HandleInfoKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkImportFenceWin32HandleInfoKHR where-        type FieldType "sType" VkImportFenceWin32HandleInfoKHR =-             VkStructureType-        type FieldOptional "sType" VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkImportFenceWin32HandleInfoKHR =-             #{offset VkImportFenceWin32HandleInfoKHR, sType}-        type FieldIsArray "sType" VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportFenceWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkImportFenceWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportFenceWin32HandleInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportFenceWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkImportFenceWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportFenceWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkImportFenceWin32HandleInfoKHR where-        type FieldType "pNext" VkImportFenceWin32HandleInfoKHR = Ptr Void-        type FieldOptional "pNext" VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkImportFenceWin32HandleInfoKHR =-             #{offset VkImportFenceWin32HandleInfoKHR, pNext}-        type FieldIsArray "pNext" VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportFenceWin32HandleInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkImportFenceWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportFenceWin32HandleInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportFenceWin32HandleInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkImportFenceWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportFenceWin32HandleInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "fence" VkImportFenceWin32HandleInfoKHR where-        type FieldType "fence" VkImportFenceWin32HandleInfoKHR = VkFence-        type FieldOptional "fence" VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "fence" VkImportFenceWin32HandleInfoKHR =-             #{offset VkImportFenceWin32HandleInfoKHR, fence}-        type FieldIsArray "fence" VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportFenceWin32HandleInfoKHR, fence}--instance {-# OVERLAPPING #-}-         CanReadField "fence" VkImportFenceWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportFenceWin32HandleInfoKHR, fence})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportFenceWin32HandleInfoKHR, fence}--instance {-# OVERLAPPING #-}-         CanWriteField "fence" VkImportFenceWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportFenceWin32HandleInfoKHR, fence}--instance {-# OVERLAPPING #-}-         HasField "flags" VkImportFenceWin32HandleInfoKHR where-        type FieldType "flags" VkImportFenceWin32HandleInfoKHR =-             VkFenceImportFlags-        type FieldOptional "flags" VkImportFenceWin32HandleInfoKHR = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkImportFenceWin32HandleInfoKHR =-             #{offset VkImportFenceWin32HandleInfoKHR, flags}-        type FieldIsArray "flags" VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportFenceWin32HandleInfoKHR, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkImportFenceWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportFenceWin32HandleInfoKHR, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportFenceWin32HandleInfoKHR, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkImportFenceWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportFenceWin32HandleInfoKHR, flags}--instance {-# OVERLAPPING #-}-         HasField "handleType" VkImportFenceWin32HandleInfoKHR where-        type FieldType "handleType" VkImportFenceWin32HandleInfoKHR =-             VkExternalFenceHandleTypeFlagBits-        type FieldOptional "handleType" VkImportFenceWin32HandleInfoKHR =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "handleType" VkImportFenceWin32HandleInfoKHR =-             #{offset VkImportFenceWin32HandleInfoKHR, handleType}-        type FieldIsArray "handleType" VkImportFenceWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportFenceWin32HandleInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         CanReadField "handleType" VkImportFenceWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportFenceWin32HandleInfoKHR, handleType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportFenceWin32HandleInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         CanWriteField "handleType" VkImportFenceWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportFenceWin32HandleInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         HasField "handle" VkImportFenceWin32HandleInfoKHR where-        type FieldType "handle" VkImportFenceWin32HandleInfoKHR = HANDLE-        type FieldOptional "handle" VkImportFenceWin32HandleInfoKHR = 'True -- ' closing tick for hsc2hs-        type FieldOffset "handle" VkImportFenceWin32HandleInfoKHR =-             #{offset VkImportFenceWin32HandleInfoKHR, handle}-        type FieldIsArray "handle" VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportFenceWin32HandleInfoKHR, handle}--instance {-# OVERLAPPING #-}-         CanReadField "handle" VkImportFenceWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportFenceWin32HandleInfoKHR, handle})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportFenceWin32HandleInfoKHR, handle}--instance {-# OVERLAPPING #-}-         CanWriteField "handle" VkImportFenceWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportFenceWin32HandleInfoKHR, handle}--instance {-# OVERLAPPING #-}-         HasField "name" VkImportFenceWin32HandleInfoKHR where-        type FieldType "name" VkImportFenceWin32HandleInfoKHR = LPCWSTR-        type FieldOptional "name" VkImportFenceWin32HandleInfoKHR = 'True -- ' closing tick for hsc2hs-        type FieldOffset "name" VkImportFenceWin32HandleInfoKHR =-             #{offset VkImportFenceWin32HandleInfoKHR, name}-        type FieldIsArray "name" VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportFenceWin32HandleInfoKHR, name}--instance {-# OVERLAPPING #-}-         CanReadField "name" VkImportFenceWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportFenceWin32HandleInfoKHR, name})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportFenceWin32HandleInfoKHR, name}--instance {-# OVERLAPPING #-}-         CanWriteField "name" VkImportFenceWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportFenceWin32HandleInfoKHR, name}--instance Show VkImportFenceWin32HandleInfoKHR where-        showsPrec d x-          = showString "VkImportFenceWin32HandleInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "fence = " .-                            showsPrec d (getField @"fence" x) .-                              showString ", " .-                                showString "flags = " .-                                  showsPrec d (getField @"flags" x) .-                                    showString ", " .-                                      showString "handleType = " .-                                        showsPrec d (getField @"handleType" x) .-                                          showString ", " .-                                            showString "handle = " .-                                              showsPrec d (getField @"handle" x) .-                                                showString ", " .-                                                  showString "name = " .-                                                    showsPrec d (getField @"name" x) . showChar '}'---- | > typedef struct VkImportMemoryWin32HandleInfoKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkExternalMemoryHandleTypeFlagBits handleType;---   >     HANDLE           handle;---   >     LPCWSTR          name;---   > } VkImportMemoryWin32HandleInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImportMemoryWin32HandleInfoKHR VkImportMemoryWin32HandleInfoKHR registry at www.khronos.org>-type VkImportMemoryWin32HandleInfoKHR =-     VulkanStruct VkImportMemoryWin32HandleInfoKHR' -- ' closing tick for hsc2hs--data VkImportMemoryWin32HandleInfoKHR' -- ' closing tick for hsc2hs--instance Eq VkImportMemoryWin32HandleInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkImportMemoryWin32HandleInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkImportMemoryWin32HandleInfoKHR where-        sizeOf ~_ = #{size VkImportMemoryWin32HandleInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkImportMemoryWin32HandleInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkImportMemoryWin32HandleInfoKHR where-        type StructFields VkImportMemoryWin32HandleInfoKHR =-             '["sType", "pNext", "handleType", "handle", "name"] -- ' closing tick for hsc2hs-        type CUnionType VkImportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkImportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkImportMemoryWin32HandleInfoKHR =-             '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkImportMemoryWin32HandleInfoKHR where-        type FieldType "sType" VkImportMemoryWin32HandleInfoKHR =-             VkStructureType-        type FieldOptional "sType" VkImportMemoryWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkImportMemoryWin32HandleInfoKHR =-             #{offset VkImportMemoryWin32HandleInfoKHR, sType}-        type FieldIsArray "sType" VkImportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportMemoryWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkImportMemoryWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportMemoryWin32HandleInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkImportMemoryWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkImportMemoryWin32HandleInfoKHR where-        type FieldType "pNext" VkImportMemoryWin32HandleInfoKHR = Ptr Void-        type FieldOptional "pNext" VkImportMemoryWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkImportMemoryWin32HandleInfoKHR =-             #{offset VkImportMemoryWin32HandleInfoKHR, pNext}-        type FieldIsArray "pNext" VkImportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportMemoryWin32HandleInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkImportMemoryWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportMemoryWin32HandleInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkImportMemoryWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "handleType" VkImportMemoryWin32HandleInfoKHR where-        type FieldType "handleType" VkImportMemoryWin32HandleInfoKHR =-             VkExternalMemoryHandleTypeFlagBits-        type FieldOptional "handleType" VkImportMemoryWin32HandleInfoKHR =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "handleType" VkImportMemoryWin32HandleInfoKHR =-             #{offset VkImportMemoryWin32HandleInfoKHR, handleType}-        type FieldIsArray "handleType" VkImportMemoryWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportMemoryWin32HandleInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         CanReadField "handleType" VkImportMemoryWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportMemoryWin32HandleInfoKHR, handleType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         CanWriteField "handleType" VkImportMemoryWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         HasField "handle" VkImportMemoryWin32HandleInfoKHR where-        type FieldType "handle" VkImportMemoryWin32HandleInfoKHR = HANDLE-        type FieldOptional "handle" VkImportMemoryWin32HandleInfoKHR =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "handle" VkImportMemoryWin32HandleInfoKHR =-             #{offset VkImportMemoryWin32HandleInfoKHR, handle}-        type FieldIsArray "handle" VkImportMemoryWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportMemoryWin32HandleInfoKHR, handle}--instance {-# OVERLAPPING #-}-         CanReadField "handle" VkImportMemoryWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportMemoryWin32HandleInfoKHR, handle})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, handle}--instance {-# OVERLAPPING #-}-         CanWriteField "handle" VkImportMemoryWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, handle}--instance {-# OVERLAPPING #-}-         HasField "name" VkImportMemoryWin32HandleInfoKHR where-        type FieldType "name" VkImportMemoryWin32HandleInfoKHR = LPCWSTR-        type FieldOptional "name" VkImportMemoryWin32HandleInfoKHR = 'True -- ' closing tick for hsc2hs-        type FieldOffset "name" VkImportMemoryWin32HandleInfoKHR =-             #{offset VkImportMemoryWin32HandleInfoKHR, name}-        type FieldIsArray "name" VkImportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportMemoryWin32HandleInfoKHR, name}--instance {-# OVERLAPPING #-}-         CanReadField "name" VkImportMemoryWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportMemoryWin32HandleInfoKHR, name})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, name}--instance {-# OVERLAPPING #-}-         CanWriteField "name" VkImportMemoryWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, name}--instance Show VkImportMemoryWin32HandleInfoKHR where-        showsPrec d x-          = showString "VkImportMemoryWin32HandleInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "handleType = " .-                            showsPrec d (getField @"handleType" x) .-                              showString ", " .-                                showString "handle = " .-                                  showsPrec d (getField @"handle" x) .-                                    showString ", " .-                                      showString "name = " .-                                        showsPrec d (getField @"name" x) . showChar '}'---- | > typedef struct VkImportMemoryWin32HandleInfoNV {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkExternalMemoryHandleTypeFlagsNV handleType;---   >     HANDLE                           handle;---   > } VkImportMemoryWin32HandleInfoNV;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImportMemoryWin32HandleInfoNV VkImportMemoryWin32HandleInfoNV registry at www.khronos.org>-type VkImportMemoryWin32HandleInfoNV =-     VulkanStruct VkImportMemoryWin32HandleInfoNV' -- ' closing tick for hsc2hs--data VkImportMemoryWin32HandleInfoNV' -- ' closing tick for hsc2hs--instance Eq VkImportMemoryWin32HandleInfoNV where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkImportMemoryWin32HandleInfoNV where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkImportMemoryWin32HandleInfoNV where-        sizeOf ~_ = #{size VkImportMemoryWin32HandleInfoNV}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkImportMemoryWin32HandleInfoNV}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkImportMemoryWin32HandleInfoNV where-        type StructFields VkImportMemoryWin32HandleInfoNV =-             '["sType", "pNext", "handleType", "handle"] -- ' closing tick for hsc2hs-        type CUnionType VkImportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkImportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs-        type StructExtends VkImportMemoryWin32HandleInfoNV =-             '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkImportMemoryWin32HandleInfoNV where-        type FieldType "sType" VkImportMemoryWin32HandleInfoNV =-             VkStructureType-        type FieldOptional "sType" VkImportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkImportMemoryWin32HandleInfoNV =-             #{offset VkImportMemoryWin32HandleInfoNV, sType}-        type FieldIsArray "sType" VkImportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportMemoryWin32HandleInfoNV, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkImportMemoryWin32HandleInfoNV where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportMemoryWin32HandleInfoNV, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportMemoryWin32HandleInfoNV, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkImportMemoryWin32HandleInfoNV where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportMemoryWin32HandleInfoNV, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkImportMemoryWin32HandleInfoNV where-        type FieldType "pNext" VkImportMemoryWin32HandleInfoNV = Ptr Void-        type FieldOptional "pNext" VkImportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkImportMemoryWin32HandleInfoNV =-             #{offset VkImportMemoryWin32HandleInfoNV, pNext}-        type FieldIsArray "pNext" VkImportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportMemoryWin32HandleInfoNV, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkImportMemoryWin32HandleInfoNV where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportMemoryWin32HandleInfoNV, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportMemoryWin32HandleInfoNV, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkImportMemoryWin32HandleInfoNV where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportMemoryWin32HandleInfoNV, pNext}--instance {-# OVERLAPPING #-}-         HasField "handleType" VkImportMemoryWin32HandleInfoNV where-        type FieldType "handleType" VkImportMemoryWin32HandleInfoNV =-             VkExternalMemoryHandleTypeFlagsNV-        type FieldOptional "handleType" VkImportMemoryWin32HandleInfoNV =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "handleType" VkImportMemoryWin32HandleInfoNV =-             #{offset VkImportMemoryWin32HandleInfoNV, handleType}-        type FieldIsArray "handleType" VkImportMemoryWin32HandleInfoNV =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportMemoryWin32HandleInfoNV, handleType}--instance {-# OVERLAPPING #-}-         CanReadField "handleType" VkImportMemoryWin32HandleInfoNV where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportMemoryWin32HandleInfoNV, handleType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportMemoryWin32HandleInfoNV, handleType}--instance {-# OVERLAPPING #-}-         CanWriteField "handleType" VkImportMemoryWin32HandleInfoNV where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportMemoryWin32HandleInfoNV, handleType}--instance {-# OVERLAPPING #-}-         HasField "handle" VkImportMemoryWin32HandleInfoNV where-        type FieldType "handle" VkImportMemoryWin32HandleInfoNV = HANDLE-        type FieldOptional "handle" VkImportMemoryWin32HandleInfoNV = 'True -- ' closing tick for hsc2hs-        type FieldOffset "handle" VkImportMemoryWin32HandleInfoNV =-             #{offset VkImportMemoryWin32HandleInfoNV, handle}-        type FieldIsArray "handle" VkImportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportMemoryWin32HandleInfoNV, handle}--instance {-# OVERLAPPING #-}-         CanReadField "handle" VkImportMemoryWin32HandleInfoNV where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportMemoryWin32HandleInfoNV, handle})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportMemoryWin32HandleInfoNV, handle}--instance {-# OVERLAPPING #-}-         CanWriteField "handle" VkImportMemoryWin32HandleInfoNV where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportMemoryWin32HandleInfoNV, handle}--instance Show VkImportMemoryWin32HandleInfoNV where-        showsPrec d x-          = showString "VkImportMemoryWin32HandleInfoNV {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "handleType = " .-                            showsPrec d (getField @"handleType" x) .-                              showString ", " .-                                showString "handle = " .-                                  showsPrec d (getField @"handle" x) . showChar '}'---- | > typedef struct VkImportSemaphoreWin32HandleInfoKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkSemaphore    semaphore;---   >     VkSemaphoreImportFlags flags;---   >     VkExternalSemaphoreHandleTypeFlagBits handleType;---   >     HANDLE           handle;---   >     LPCWSTR          name;---   > } VkImportSemaphoreWin32HandleInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImportSemaphoreWin32HandleInfoKHR VkImportSemaphoreWin32HandleInfoKHR registry at www.khronos.org>-type VkImportSemaphoreWin32HandleInfoKHR =-     VulkanStruct VkImportSemaphoreWin32HandleInfoKHR' -- ' closing tick for hsc2hs--data VkImportSemaphoreWin32HandleInfoKHR' -- ' closing tick for hsc2hs--instance Eq VkImportSemaphoreWin32HandleInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkImportSemaphoreWin32HandleInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkImportSemaphoreWin32HandleInfoKHR where-        sizeOf ~_ = #{size VkImportSemaphoreWin32HandleInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkImportSemaphoreWin32HandleInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkImportSemaphoreWin32HandleInfoKHR where-        type StructFields VkImportSemaphoreWin32HandleInfoKHR =-             '["sType", "pNext", "semaphore", "flags", "handleType", "handle", -- ' closing tick for hsc2hs-               "name"]-        type CUnionType VkImportSemaphoreWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkImportSemaphoreWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkImportSemaphoreWin32HandleInfoKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkImportSemaphoreWin32HandleInfoKHR where-        type FieldType "sType" VkImportSemaphoreWin32HandleInfoKHR =-             VkStructureType-        type FieldOptional "sType" VkImportSemaphoreWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkImportSemaphoreWin32HandleInfoKHR =-             #{offset VkImportSemaphoreWin32HandleInfoKHR, sType}-        type FieldIsArray "sType" VkImportSemaphoreWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportSemaphoreWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkImportSemaphoreWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreWin32HandleInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkImportSemaphoreWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkImportSemaphoreWin32HandleInfoKHR where-        type FieldType "pNext" VkImportSemaphoreWin32HandleInfoKHR =-             Ptr Void-        type FieldOptional "pNext" VkImportSemaphoreWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkImportSemaphoreWin32HandleInfoKHR =-             #{offset VkImportSemaphoreWin32HandleInfoKHR, pNext}-        type FieldIsArray "pNext" VkImportSemaphoreWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportSemaphoreWin32HandleInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkImportSemaphoreWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreWin32HandleInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkImportSemaphoreWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "semaphore" VkImportSemaphoreWin32HandleInfoKHR where-        type FieldType "semaphore" VkImportSemaphoreWin32HandleInfoKHR =-             VkSemaphore-        type FieldOptional "semaphore" VkImportSemaphoreWin32HandleInfoKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "semaphore" VkImportSemaphoreWin32HandleInfoKHR =-             #{offset VkImportSemaphoreWin32HandleInfoKHR, semaphore}-        type FieldIsArray "semaphore" VkImportSemaphoreWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportSemaphoreWin32HandleInfoKHR, semaphore}--instance {-# OVERLAPPING #-}-         CanReadField "semaphore" VkImportSemaphoreWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreWin32HandleInfoKHR, semaphore})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, semaphore}--instance {-# OVERLAPPING #-}-         CanWriteField "semaphore" VkImportSemaphoreWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, semaphore}--instance {-# OVERLAPPING #-}-         HasField "flags" VkImportSemaphoreWin32HandleInfoKHR where-        type FieldType "flags" VkImportSemaphoreWin32HandleInfoKHR =-             VkSemaphoreImportFlags-        type FieldOptional "flags" VkImportSemaphoreWin32HandleInfoKHR =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkImportSemaphoreWin32HandleInfoKHR =-             #{offset VkImportSemaphoreWin32HandleInfoKHR, flags}-        type FieldIsArray "flags" VkImportSemaphoreWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportSemaphoreWin32HandleInfoKHR, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkImportSemaphoreWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreWin32HandleInfoKHR, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkImportSemaphoreWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, flags}--instance {-# OVERLAPPING #-}-         HasField "handleType" VkImportSemaphoreWin32HandleInfoKHR where-        type FieldType "handleType" VkImportSemaphoreWin32HandleInfoKHR =-             VkExternalSemaphoreHandleTypeFlagBits-        type FieldOptional "handleType" VkImportSemaphoreWin32HandleInfoKHR-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "handleType" VkImportSemaphoreWin32HandleInfoKHR =-             #{offset VkImportSemaphoreWin32HandleInfoKHR, handleType}-        type FieldIsArray "handleType" VkImportSemaphoreWin32HandleInfoKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportSemaphoreWin32HandleInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         CanReadField "handleType" VkImportSemaphoreWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreWin32HandleInfoKHR, handleType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         CanWriteField "handleType" VkImportSemaphoreWin32HandleInfoKHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         HasField "handle" VkImportSemaphoreWin32HandleInfoKHR where-        type FieldType "handle" VkImportSemaphoreWin32HandleInfoKHR =-             HANDLE-        type FieldOptional "handle" VkImportSemaphoreWin32HandleInfoKHR =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "handle" VkImportSemaphoreWin32HandleInfoKHR =-             #{offset VkImportSemaphoreWin32HandleInfoKHR, handle}-        type FieldIsArray "handle" VkImportSemaphoreWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportSemaphoreWin32HandleInfoKHR, handle}--instance {-# OVERLAPPING #-}-         CanReadField "handle" VkImportSemaphoreWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreWin32HandleInfoKHR, handle})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, handle}--instance {-# OVERLAPPING #-}-         CanWriteField "handle" VkImportSemaphoreWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, handle}--instance {-# OVERLAPPING #-}-         HasField "name" VkImportSemaphoreWin32HandleInfoKHR where-        type FieldType "name" VkImportSemaphoreWin32HandleInfoKHR = LPCWSTR-        type FieldOptional "name" VkImportSemaphoreWin32HandleInfoKHR =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "name" VkImportSemaphoreWin32HandleInfoKHR =-             #{offset VkImportSemaphoreWin32HandleInfoKHR, name}-        type FieldIsArray "name" VkImportSemaphoreWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkImportSemaphoreWin32HandleInfoKHR, name}--instance {-# OVERLAPPING #-}-         CanReadField "name" VkImportSemaphoreWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreWin32HandleInfoKHR, name})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, name}--instance {-# OVERLAPPING #-}-         CanWriteField "name" VkImportSemaphoreWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, name}--instance Show VkImportSemaphoreWin32HandleInfoKHR where-        showsPrec d x-          = showString "VkImportSemaphoreWin32HandleInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "semaphore = " .-                            showsPrec d (getField @"semaphore" x) .-                              showString ", " .-                                showString "flags = " .-                                  showsPrec d (getField @"flags" x) .-                                    showString ", " .-                                      showString "handleType = " .-                                        showsPrec d (getField @"handleType" x) .-                                          showString ", " .-                                            showString "handle = " .-                                              showsPrec d (getField @"handle" x) .-                                                showString ", " .-                                                  showString "name = " .-                                                    showsPrec d (getField @"name" x) . showChar '}'---- | > typedef struct VkMemoryGetWin32HandleInfoKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkDeviceMemory                   memory;---   >     VkExternalMemoryHandleTypeFlagBits handleType;---   > } VkMemoryGetWin32HandleInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryGetWin32HandleInfoKHR VkMemoryGetWin32HandleInfoKHR registry at www.khronos.org>-type VkMemoryGetWin32HandleInfoKHR =-     VulkanStruct VkMemoryGetWin32HandleInfoKHR' -- ' closing tick for hsc2hs--data VkMemoryGetWin32HandleInfoKHR' -- ' closing tick for hsc2hs--instance Eq VkMemoryGetWin32HandleInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkMemoryGetWin32HandleInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkMemoryGetWin32HandleInfoKHR where-        sizeOf ~_ = #{size VkMemoryGetWin32HandleInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkMemoryGetWin32HandleInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkMemoryGetWin32HandleInfoKHR where-        type StructFields VkMemoryGetWin32HandleInfoKHR =-             '["sType", "pNext", "memory", "handleType"] -- ' closing tick for hsc2hs-        type CUnionType VkMemoryGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkMemoryGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkMemoryGetWin32HandleInfoKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkMemoryGetWin32HandleInfoKHR where-        type FieldType "sType" VkMemoryGetWin32HandleInfoKHR =-             VkStructureType-        type FieldOptional "sType" VkMemoryGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkMemoryGetWin32HandleInfoKHR =-             #{offset VkMemoryGetWin32HandleInfoKHR, sType}-        type FieldIsArray "sType" VkMemoryGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryGetWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkMemoryGetWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryGetWin32HandleInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryGetWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkMemoryGetWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryGetWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkMemoryGetWin32HandleInfoKHR where-        type FieldType "pNext" VkMemoryGetWin32HandleInfoKHR = Ptr Void-        type FieldOptional "pNext" VkMemoryGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkMemoryGetWin32HandleInfoKHR =-             #{offset VkMemoryGetWin32HandleInfoKHR, pNext}-        type FieldIsArray "pNext" VkMemoryGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryGetWin32HandleInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkMemoryGetWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryGetWin32HandleInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryGetWin32HandleInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkMemoryGetWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryGetWin32HandleInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "memory" VkMemoryGetWin32HandleInfoKHR where-        type FieldType "memory" VkMemoryGetWin32HandleInfoKHR =-             VkDeviceMemory-        type FieldOptional "memory" VkMemoryGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "memory" VkMemoryGetWin32HandleInfoKHR =-             #{offset VkMemoryGetWin32HandleInfoKHR, memory}-        type FieldIsArray "memory" VkMemoryGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryGetWin32HandleInfoKHR, memory}--instance {-# OVERLAPPING #-}-         CanReadField "memory" VkMemoryGetWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryGetWin32HandleInfoKHR, memory})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryGetWin32HandleInfoKHR, memory}--instance {-# OVERLAPPING #-}-         CanWriteField "memory" VkMemoryGetWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryGetWin32HandleInfoKHR, memory}--instance {-# OVERLAPPING #-}-         HasField "handleType" VkMemoryGetWin32HandleInfoKHR where-        type FieldType "handleType" VkMemoryGetWin32HandleInfoKHR =-             VkExternalMemoryHandleTypeFlagBits-        type FieldOptional "handleType" VkMemoryGetWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "handleType" VkMemoryGetWin32HandleInfoKHR =-             #{offset VkMemoryGetWin32HandleInfoKHR, handleType}-        type FieldIsArray "handleType" VkMemoryGetWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryGetWin32HandleInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         CanReadField "handleType" VkMemoryGetWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryGetWin32HandleInfoKHR, handleType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryGetWin32HandleInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         CanWriteField "handleType" VkMemoryGetWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryGetWin32HandleInfoKHR, handleType}--instance Show VkMemoryGetWin32HandleInfoKHR where-        showsPrec d x-          = showString "VkMemoryGetWin32HandleInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "memory = " .-                            showsPrec d (getField @"memory" x) .-                              showString ", " .-                                showString "handleType = " .-                                  showsPrec d (getField @"handleType" x) . showChar '}'---- | > typedef struct VkMemoryWin32HandlePropertiesKHR {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     uint32_t                         memoryTypeBits;---   > } VkMemoryWin32HandlePropertiesKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryWin32HandlePropertiesKHR VkMemoryWin32HandlePropertiesKHR registry at www.khronos.org>-type VkMemoryWin32HandlePropertiesKHR =-     VulkanStruct VkMemoryWin32HandlePropertiesKHR' -- ' closing tick for hsc2hs--data VkMemoryWin32HandlePropertiesKHR' -- ' closing tick for hsc2hs--instance Eq VkMemoryWin32HandlePropertiesKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkMemoryWin32HandlePropertiesKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkMemoryWin32HandlePropertiesKHR where-        sizeOf ~_ = #{size VkMemoryWin32HandlePropertiesKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkMemoryWin32HandlePropertiesKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkMemoryWin32HandlePropertiesKHR where-        type StructFields VkMemoryWin32HandlePropertiesKHR =-             '["sType", "pNext", "memoryTypeBits"] -- ' closing tick for hsc2hs-        type CUnionType VkMemoryWin32HandlePropertiesKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkMemoryWin32HandlePropertiesKHR = 'True -- ' closing tick for hsc2hs-        type StructExtends VkMemoryWin32HandlePropertiesKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkMemoryWin32HandlePropertiesKHR where-        type FieldType "sType" VkMemoryWin32HandlePropertiesKHR =-             VkStructureType-        type FieldOptional "sType" VkMemoryWin32HandlePropertiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkMemoryWin32HandlePropertiesKHR =-             #{offset VkMemoryWin32HandlePropertiesKHR, sType}-        type FieldIsArray "sType" VkMemoryWin32HandlePropertiesKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryWin32HandlePropertiesKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkMemoryWin32HandlePropertiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryWin32HandlePropertiesKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryWin32HandlePropertiesKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkMemoryWin32HandlePropertiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryWin32HandlePropertiesKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkMemoryWin32HandlePropertiesKHR where-        type FieldType "pNext" VkMemoryWin32HandlePropertiesKHR = Ptr Void-        type FieldOptional "pNext" VkMemoryWin32HandlePropertiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkMemoryWin32HandlePropertiesKHR =-             #{offset VkMemoryWin32HandlePropertiesKHR, pNext}-        type FieldIsArray "pNext" VkMemoryWin32HandlePropertiesKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryWin32HandlePropertiesKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkMemoryWin32HandlePropertiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryWin32HandlePropertiesKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryWin32HandlePropertiesKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkMemoryWin32HandlePropertiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryWin32HandlePropertiesKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "memoryTypeBits" VkMemoryWin32HandlePropertiesKHR where-        type FieldType "memoryTypeBits" VkMemoryWin32HandlePropertiesKHR =-             Word32-        type FieldOptional "memoryTypeBits"-               VkMemoryWin32HandlePropertiesKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "memoryTypeBits" VkMemoryWin32HandlePropertiesKHR-             =-             #{offset VkMemoryWin32HandlePropertiesKHR, memoryTypeBits}-        type FieldIsArray "memoryTypeBits" VkMemoryWin32HandlePropertiesKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkMemoryWin32HandlePropertiesKHR, memoryTypeBits}--instance {-# OVERLAPPING #-}-         CanReadField "memoryTypeBits" VkMemoryWin32HandlePropertiesKHR-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkMemoryWin32HandlePropertiesKHR, memoryTypeBits})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkMemoryWin32HandlePropertiesKHR, memoryTypeBits}--instance {-# OVERLAPPING #-}-         CanWriteField "memoryTypeBits" VkMemoryWin32HandlePropertiesKHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkMemoryWin32HandlePropertiesKHR, memoryTypeBits}--instance Show VkMemoryWin32HandlePropertiesKHR where-        showsPrec d x-          = showString "VkMemoryWin32HandlePropertiesKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "memoryTypeBits = " .-                            showsPrec d (getField @"memoryTypeBits" x) . showChar '}'---- | > typedef struct VkSemaphoreGetWin32HandleInfoKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkSemaphore                      semaphore;---   >     VkExternalSemaphoreHandleTypeFlagBits handleType;---   > } VkSemaphoreGetWin32HandleInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSemaphoreGetWin32HandleInfoKHR VkSemaphoreGetWin32HandleInfoKHR registry at www.khronos.org>-type VkSemaphoreGetWin32HandleInfoKHR =-     VulkanStruct VkSemaphoreGetWin32HandleInfoKHR' -- ' closing tick for hsc2hs--data VkSemaphoreGetWin32HandleInfoKHR' -- ' closing tick for hsc2hs--instance Eq VkSemaphoreGetWin32HandleInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSemaphoreGetWin32HandleInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSemaphoreGetWin32HandleInfoKHR where-        sizeOf ~_ = #{size VkSemaphoreGetWin32HandleInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkSemaphoreGetWin32HandleInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkSemaphoreGetWin32HandleInfoKHR where-        type StructFields VkSemaphoreGetWin32HandleInfoKHR =-             '["sType", "pNext", "semaphore", "handleType"] -- ' closing tick for hsc2hs-        type CUnionType VkSemaphoreGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSemaphoreGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkSemaphoreGetWin32HandleInfoKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkSemaphoreGetWin32HandleInfoKHR where-        type FieldType "sType" VkSemaphoreGetWin32HandleInfoKHR =-             VkStructureType-        type FieldOptional "sType" VkSemaphoreGetWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkSemaphoreGetWin32HandleInfoKHR =-             #{offset VkSemaphoreGetWin32HandleInfoKHR, sType}-        type FieldIsArray "sType" VkSemaphoreGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSemaphoreGetWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkSemaphoreGetWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSemaphoreGetWin32HandleInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSemaphoreGetWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkSemaphoreGetWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSemaphoreGetWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkSemaphoreGetWin32HandleInfoKHR where-        type FieldType "pNext" VkSemaphoreGetWin32HandleInfoKHR = Ptr Void-        type FieldOptional "pNext" VkSemaphoreGetWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkSemaphoreGetWin32HandleInfoKHR =-             #{offset VkSemaphoreGetWin32HandleInfoKHR, pNext}-        type FieldIsArray "pNext" VkSemaphoreGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSemaphoreGetWin32HandleInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkSemaphoreGetWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSemaphoreGetWin32HandleInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSemaphoreGetWin32HandleInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkSemaphoreGetWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSemaphoreGetWin32HandleInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "semaphore" VkSemaphoreGetWin32HandleInfoKHR where-        type FieldType "semaphore" VkSemaphoreGetWin32HandleInfoKHR =-             VkSemaphore-        type FieldOptional "semaphore" VkSemaphoreGetWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "semaphore" VkSemaphoreGetWin32HandleInfoKHR =-             #{offset VkSemaphoreGetWin32HandleInfoKHR, semaphore}-        type FieldIsArray "semaphore" VkSemaphoreGetWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSemaphoreGetWin32HandleInfoKHR, semaphore}--instance {-# OVERLAPPING #-}-         CanReadField "semaphore" VkSemaphoreGetWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSemaphoreGetWin32HandleInfoKHR, semaphore})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSemaphoreGetWin32HandleInfoKHR, semaphore}--instance {-# OVERLAPPING #-}-         CanWriteField "semaphore" VkSemaphoreGetWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSemaphoreGetWin32HandleInfoKHR, semaphore}--instance {-# OVERLAPPING #-}-         HasField "handleType" VkSemaphoreGetWin32HandleInfoKHR where-        type FieldType "handleType" VkSemaphoreGetWin32HandleInfoKHR =-             VkExternalSemaphoreHandleTypeFlagBits-        type FieldOptional "handleType" VkSemaphoreGetWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "handleType" VkSemaphoreGetWin32HandleInfoKHR =-             #{offset VkSemaphoreGetWin32HandleInfoKHR, handleType}-        type FieldIsArray "handleType" VkSemaphoreGetWin32HandleInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSemaphoreGetWin32HandleInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         CanReadField "handleType" VkSemaphoreGetWin32HandleInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSemaphoreGetWin32HandleInfoKHR, handleType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSemaphoreGetWin32HandleInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         CanWriteField "handleType" VkSemaphoreGetWin32HandleInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSemaphoreGetWin32HandleInfoKHR, handleType}--instance Show VkSemaphoreGetWin32HandleInfoKHR where-        showsPrec d x-          = showString "VkSemaphoreGetWin32HandleInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "semaphore = " .-                            showsPrec d (getField @"semaphore" x) .-                              showString ", " .-                                showString "handleType = " .-                                  showsPrec d (getField @"handleType" x) . showChar '}'---- | > typedef struct VkWin32KeyedMutexAcquireReleaseInfoKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     uint32_t         acquireCount;---   >     const VkDeviceMemory* pAcquireSyncs;---   >     const uint64_t* pAcquireKeys;---   >     const uint32_t* pAcquireTimeouts;---   >     uint32_t         releaseCount;---   >     const VkDeviceMemory* pReleaseSyncs;---   >     const uint64_t* pReleaseKeys;---   > } VkWin32KeyedMutexAcquireReleaseInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkWin32KeyedMutexAcquireReleaseInfoKHR VkWin32KeyedMutexAcquireReleaseInfoKHR registry at www.khronos.org>-type VkWin32KeyedMutexAcquireReleaseInfoKHR =-     VulkanStruct VkWin32KeyedMutexAcquireReleaseInfoKHR' -- ' closing tick for hsc2hs--data VkWin32KeyedMutexAcquireReleaseInfoKHR' -- ' closing tick for hsc2hs--instance Eq VkWin32KeyedMutexAcquireReleaseInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkWin32KeyedMutexAcquireReleaseInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkWin32KeyedMutexAcquireReleaseInfoKHR where-        sizeOf ~_-          = #{size VkWin32KeyedMutexAcquireReleaseInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkWin32KeyedMutexAcquireReleaseInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkWin32KeyedMutexAcquireReleaseInfoKHR where-        type StructFields VkWin32KeyedMutexAcquireReleaseInfoKHR =-             '["sType", "pNext", "acquireCount", "pAcquireSyncs", -- ' closing tick for hsc2hs-               "pAcquireKeys", "pAcquireTimeouts", "releaseCount",-               "pReleaseSyncs", "pReleaseKeys"]-        type CUnionType VkWin32KeyedMutexAcquireReleaseInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkWin32KeyedMutexAcquireReleaseInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkWin32KeyedMutexAcquireReleaseInfoKHR =-             '[VkSubmitInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkWin32KeyedMutexAcquireReleaseInfoKHR where-        type FieldType "sType" VkWin32KeyedMutexAcquireReleaseInfoKHR =-             VkStructureType-        type FieldOptional "sType" VkWin32KeyedMutexAcquireReleaseInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkWin32KeyedMutexAcquireReleaseInfoKHR =-             #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, sType}-        type FieldIsArray "sType" VkWin32KeyedMutexAcquireReleaseInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkWin32KeyedMutexAcquireReleaseInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkWin32KeyedMutexAcquireReleaseInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkWin32KeyedMutexAcquireReleaseInfoKHR where-        type FieldType "pNext" VkWin32KeyedMutexAcquireReleaseInfoKHR =-             Ptr Void-        type FieldOptional "pNext" VkWin32KeyedMutexAcquireReleaseInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkWin32KeyedMutexAcquireReleaseInfoKHR =-             #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pNext}-        type FieldIsArray "pNext" VkWin32KeyedMutexAcquireReleaseInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkWin32KeyedMutexAcquireReleaseInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkWin32KeyedMutexAcquireReleaseInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "acquireCount" VkWin32KeyedMutexAcquireReleaseInfoKHR-         where-        type FieldType "acquireCount"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             = Word32-        type FieldOptional "acquireCount"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "acquireCount"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             =-             #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, acquireCount}-        type FieldIsArray "acquireCount"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, acquireCount}--instance {-# OVERLAPPING #-}-         CanReadField "acquireCount" VkWin32KeyedMutexAcquireReleaseInfoKHR-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, acquireCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, acquireCount}--instance {-# OVERLAPPING #-}-         CanWriteField "acquireCount" VkWin32KeyedMutexAcquireReleaseInfoKHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, acquireCount}--instance {-# OVERLAPPING #-}-         HasField "pAcquireSyncs" VkWin32KeyedMutexAcquireReleaseInfoKHR-         where-        type FieldType "pAcquireSyncs"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             = Ptr VkDeviceMemory-        type FieldOptional "pAcquireSyncs"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pAcquireSyncs"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             =-             #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireSyncs}-        type FieldIsArray "pAcquireSyncs"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireSyncs}--instance {-# OVERLAPPING #-}-         CanReadField "pAcquireSyncs" VkWin32KeyedMutexAcquireReleaseInfoKHR-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireSyncs})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireSyncs}--instance {-# OVERLAPPING #-}-         CanWriteField "pAcquireSyncs"-           VkWin32KeyedMutexAcquireReleaseInfoKHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireSyncs}--instance {-# OVERLAPPING #-}-         HasField "pAcquireKeys" VkWin32KeyedMutexAcquireReleaseInfoKHR-         where-        type FieldType "pAcquireKeys"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             = Ptr Word64-        type FieldOptional "pAcquireKeys"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pAcquireKeys"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             =-             #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireKeys}-        type FieldIsArray "pAcquireKeys"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireKeys}--instance {-# OVERLAPPING #-}-         CanReadField "pAcquireKeys" VkWin32KeyedMutexAcquireReleaseInfoKHR-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireKeys})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireKeys}--instance {-# OVERLAPPING #-}-         CanWriteField "pAcquireKeys" VkWin32KeyedMutexAcquireReleaseInfoKHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireKeys}--instance {-# OVERLAPPING #-}-         HasField "pAcquireTimeouts" VkWin32KeyedMutexAcquireReleaseInfoKHR-         where-        type FieldType "pAcquireTimeouts"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             = Ptr Word32-        type FieldOptional "pAcquireTimeouts"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pAcquireTimeouts"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             =-             #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireTimeouts}-        type FieldIsArray "pAcquireTimeouts"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireTimeouts}--instance {-# OVERLAPPING #-}-         CanReadField "pAcquireTimeouts"-           VkWin32KeyedMutexAcquireReleaseInfoKHR-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireTimeouts})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireTimeouts}--instance {-# OVERLAPPING #-}-         CanWriteField "pAcquireTimeouts"-           VkWin32KeyedMutexAcquireReleaseInfoKHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireTimeouts}--instance {-# OVERLAPPING #-}-         HasField "releaseCount" VkWin32KeyedMutexAcquireReleaseInfoKHR-         where-        type FieldType "releaseCount"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             = Word32-        type FieldOptional "releaseCount"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "releaseCount"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             =-             #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, releaseCount}-        type FieldIsArray "releaseCount"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, releaseCount}--instance {-# OVERLAPPING #-}-         CanReadField "releaseCount" VkWin32KeyedMutexAcquireReleaseInfoKHR-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, releaseCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, releaseCount}--instance {-# OVERLAPPING #-}-         CanWriteField "releaseCount" VkWin32KeyedMutexAcquireReleaseInfoKHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, releaseCount}--instance {-# OVERLAPPING #-}-         HasField "pReleaseSyncs" VkWin32KeyedMutexAcquireReleaseInfoKHR-         where-        type FieldType "pReleaseSyncs"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             = Ptr VkDeviceMemory-        type FieldOptional "pReleaseSyncs"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pReleaseSyncs"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             =-             #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pReleaseSyncs}-        type FieldIsArray "pReleaseSyncs"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pReleaseSyncs}--instance {-# OVERLAPPING #-}-         CanReadField "pReleaseSyncs" VkWin32KeyedMutexAcquireReleaseInfoKHR-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pReleaseSyncs})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pReleaseSyncs}--instance {-# OVERLAPPING #-}-         CanWriteField "pReleaseSyncs"-           VkWin32KeyedMutexAcquireReleaseInfoKHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pReleaseSyncs}--instance {-# OVERLAPPING #-}-         HasField "pReleaseKeys" VkWin32KeyedMutexAcquireReleaseInfoKHR-         where-        type FieldType "pReleaseKeys"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             = Ptr Word64-        type FieldOptional "pReleaseKeys"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pReleaseKeys"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             =-             #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pReleaseKeys}-        type FieldIsArray "pReleaseKeys"-               VkWin32KeyedMutexAcquireReleaseInfoKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pReleaseKeys}--instance {-# OVERLAPPING #-}-         CanReadField "pReleaseKeys" VkWin32KeyedMutexAcquireReleaseInfoKHR-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pReleaseKeys})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pReleaseKeys}--instance {-# OVERLAPPING #-}-         CanWriteField "pReleaseKeys" VkWin32KeyedMutexAcquireReleaseInfoKHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pReleaseKeys}--instance Show VkWin32KeyedMutexAcquireReleaseInfoKHR where-        showsPrec d x-          = showString "VkWin32KeyedMutexAcquireReleaseInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "acquireCount = " .-                            showsPrec d (getField @"acquireCount" x) .-                              showString ", " .-                                showString "pAcquireSyncs = " .-                                  showsPrec d (getField @"pAcquireSyncs" x) .-                                    showString ", " .-                                      showString "pAcquireKeys = " .-                                        showsPrec d (getField @"pAcquireKeys" x) .-                                          showString ", " .-                                            showString "pAcquireTimeouts = " .-                                              showsPrec d (getField @"pAcquireTimeouts" x) .-                                                showString ", " .-                                                  showString "releaseCount = " .-                                                    showsPrec d (getField @"releaseCount" x) .-                                                      showString ", " .-                                                        showString "pReleaseSyncs = " .-                                                          showsPrec d (getField @"pReleaseSyncs" x)-                                                            .-                                                            showString ", " .-                                                              showString "pReleaseKeys = " .-                                                                showsPrec d-                                                                  (getField @"pReleaseKeys" x)-                                                                  . showChar '}'---- | > typedef struct VkWin32KeyedMutexAcquireReleaseInfoNV {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     uint32_t                         acquireCount;---   >     const VkDeviceMemory*            pAcquireSyncs;---   >     const uint64_t*                  pAcquireKeys;---   >     const uint32_t*                  pAcquireTimeoutMilliseconds;---   >     uint32_t                         releaseCount;---   >     const VkDeviceMemory*            pReleaseSyncs;---   >     const uint64_t*                  pReleaseKeys;---   > } VkWin32KeyedMutexAcquireReleaseInfoNV;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkWin32KeyedMutexAcquireReleaseInfoNV VkWin32KeyedMutexAcquireReleaseInfoNV registry at www.khronos.org>-type VkWin32KeyedMutexAcquireReleaseInfoNV =-     VulkanStruct VkWin32KeyedMutexAcquireReleaseInfoNV' -- ' closing tick for hsc2hs--data VkWin32KeyedMutexAcquireReleaseInfoNV' -- ' closing tick for hsc2hs--instance Eq VkWin32KeyedMutexAcquireReleaseInfoNV where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkWin32KeyedMutexAcquireReleaseInfoNV where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkWin32KeyedMutexAcquireReleaseInfoNV where-        sizeOf ~_-          = #{size VkWin32KeyedMutexAcquireReleaseInfoNV}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkWin32KeyedMutexAcquireReleaseInfoNV}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkWin32KeyedMutexAcquireReleaseInfoNV where-        type StructFields VkWin32KeyedMutexAcquireReleaseInfoNV =-             '["sType", "pNext", "acquireCount", "pAcquireSyncs", -- ' closing tick for hsc2hs-               "pAcquireKeys", "pAcquireTimeoutMilliseconds", "releaseCount",-               "pReleaseSyncs", "pReleaseKeys"]-        type CUnionType VkWin32KeyedMutexAcquireReleaseInfoNV = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkWin32KeyedMutexAcquireReleaseInfoNV = 'False -- ' closing tick for hsc2hs-        type StructExtends VkWin32KeyedMutexAcquireReleaseInfoNV =-             '[VkSubmitInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkWin32KeyedMutexAcquireReleaseInfoNV where-        type FieldType "sType" VkWin32KeyedMutexAcquireReleaseInfoNV =-             VkStructureType-        type FieldOptional "sType" VkWin32KeyedMutexAcquireReleaseInfoNV =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkWin32KeyedMutexAcquireReleaseInfoNV =-             #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, sType}-        type FieldIsArray "sType" VkWin32KeyedMutexAcquireReleaseInfoNV =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkWin32KeyedMutexAcquireReleaseInfoNV where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkWin32KeyedMutexAcquireReleaseInfoNV where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkWin32KeyedMutexAcquireReleaseInfoNV where-        type FieldType "pNext" VkWin32KeyedMutexAcquireReleaseInfoNV =-             Ptr Void-        type FieldOptional "pNext" VkWin32KeyedMutexAcquireReleaseInfoNV =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkWin32KeyedMutexAcquireReleaseInfoNV =-             #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pNext}-        type FieldIsArray "pNext" VkWin32KeyedMutexAcquireReleaseInfoNV =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkWin32KeyedMutexAcquireReleaseInfoNV where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkWin32KeyedMutexAcquireReleaseInfoNV where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pNext}--instance {-# OVERLAPPING #-}-         HasField "acquireCount" VkWin32KeyedMutexAcquireReleaseInfoNV where-        type FieldType "acquireCount" VkWin32KeyedMutexAcquireReleaseInfoNV-             = Word32-        type FieldOptional "acquireCount"-               VkWin32KeyedMutexAcquireReleaseInfoNV-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "acquireCount"-               VkWin32KeyedMutexAcquireReleaseInfoNV-             =-             #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, acquireCount}-        type FieldIsArray "acquireCount"-               VkWin32KeyedMutexAcquireReleaseInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, acquireCount}--instance {-# OVERLAPPING #-}-         CanReadField "acquireCount" VkWin32KeyedMutexAcquireReleaseInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, acquireCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, acquireCount}--instance {-# OVERLAPPING #-}-         CanWriteField "acquireCount" VkWin32KeyedMutexAcquireReleaseInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, acquireCount}--instance {-# OVERLAPPING #-}-         HasField "pAcquireSyncs" VkWin32KeyedMutexAcquireReleaseInfoNV-         where-        type FieldType "pAcquireSyncs"-               VkWin32KeyedMutexAcquireReleaseInfoNV-             = Ptr VkDeviceMemory-        type FieldOptional "pAcquireSyncs"-               VkWin32KeyedMutexAcquireReleaseInfoNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pAcquireSyncs"-               VkWin32KeyedMutexAcquireReleaseInfoNV-             =-             #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireSyncs}-        type FieldIsArray "pAcquireSyncs"-               VkWin32KeyedMutexAcquireReleaseInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireSyncs}--instance {-# OVERLAPPING #-}-         CanReadField "pAcquireSyncs" VkWin32KeyedMutexAcquireReleaseInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireSyncs})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireSyncs}--instance {-# OVERLAPPING #-}-         CanWriteField "pAcquireSyncs" VkWin32KeyedMutexAcquireReleaseInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireSyncs}--instance {-# OVERLAPPING #-}-         HasField "pAcquireKeys" VkWin32KeyedMutexAcquireReleaseInfoNV where-        type FieldType "pAcquireKeys" VkWin32KeyedMutexAcquireReleaseInfoNV-             = Ptr Word64-        type FieldOptional "pAcquireKeys"-               VkWin32KeyedMutexAcquireReleaseInfoNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pAcquireKeys"-               VkWin32KeyedMutexAcquireReleaseInfoNV-             =-             #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireKeys}-        type FieldIsArray "pAcquireKeys"-               VkWin32KeyedMutexAcquireReleaseInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireKeys}--instance {-# OVERLAPPING #-}-         CanReadField "pAcquireKeys" VkWin32KeyedMutexAcquireReleaseInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireKeys})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireKeys}--instance {-# OVERLAPPING #-}-         CanWriteField "pAcquireKeys" VkWin32KeyedMutexAcquireReleaseInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireKeys}--instance {-# OVERLAPPING #-}-         HasField "pAcquireTimeoutMilliseconds"-           VkWin32KeyedMutexAcquireReleaseInfoNV-         where-        type FieldType "pAcquireTimeoutMilliseconds"-               VkWin32KeyedMutexAcquireReleaseInfoNV-             = Ptr Word32-        type FieldOptional "pAcquireTimeoutMilliseconds"-               VkWin32KeyedMutexAcquireReleaseInfoNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pAcquireTimeoutMilliseconds"-               VkWin32KeyedMutexAcquireReleaseInfoNV-             =-             #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireTimeoutMilliseconds}-        type FieldIsArray "pAcquireTimeoutMilliseconds"-               VkWin32KeyedMutexAcquireReleaseInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireTimeoutMilliseconds}--instance {-# OVERLAPPING #-}-         CanReadField "pAcquireTimeoutMilliseconds"-           VkWin32KeyedMutexAcquireReleaseInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireTimeoutMilliseconds})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireTimeoutMilliseconds}--instance {-# OVERLAPPING #-}-         CanWriteField "pAcquireTimeoutMilliseconds"-           VkWin32KeyedMutexAcquireReleaseInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireTimeoutMilliseconds}--instance {-# OVERLAPPING #-}-         HasField "releaseCount" VkWin32KeyedMutexAcquireReleaseInfoNV where-        type FieldType "releaseCount" VkWin32KeyedMutexAcquireReleaseInfoNV-             = Word32-        type FieldOptional "releaseCount"-               VkWin32KeyedMutexAcquireReleaseInfoNV-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "releaseCount"-               VkWin32KeyedMutexAcquireReleaseInfoNV-             =-             #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, releaseCount}-        type FieldIsArray "releaseCount"-               VkWin32KeyedMutexAcquireReleaseInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, releaseCount}--instance {-# OVERLAPPING #-}-         CanReadField "releaseCount" VkWin32KeyedMutexAcquireReleaseInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, releaseCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, releaseCount}--instance {-# OVERLAPPING #-}-         CanWriteField "releaseCount" VkWin32KeyedMutexAcquireReleaseInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, releaseCount}--instance {-# OVERLAPPING #-}-         HasField "pReleaseSyncs" VkWin32KeyedMutexAcquireReleaseInfoNV-         where-        type FieldType "pReleaseSyncs"-               VkWin32KeyedMutexAcquireReleaseInfoNV-             = Ptr VkDeviceMemory-        type FieldOptional "pReleaseSyncs"-               VkWin32KeyedMutexAcquireReleaseInfoNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pReleaseSyncs"-               VkWin32KeyedMutexAcquireReleaseInfoNV-             =-             #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pReleaseSyncs}-        type FieldIsArray "pReleaseSyncs"-               VkWin32KeyedMutexAcquireReleaseInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pReleaseSyncs}--instance {-# OVERLAPPING #-}-         CanReadField "pReleaseSyncs" VkWin32KeyedMutexAcquireReleaseInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pReleaseSyncs})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pReleaseSyncs}--instance {-# OVERLAPPING #-}-         CanWriteField "pReleaseSyncs" VkWin32KeyedMutexAcquireReleaseInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pReleaseSyncs}--instance {-# OVERLAPPING #-}-         HasField "pReleaseKeys" VkWin32KeyedMutexAcquireReleaseInfoNV where-        type FieldType "pReleaseKeys" VkWin32KeyedMutexAcquireReleaseInfoNV-             = Ptr Word64-        type FieldOptional "pReleaseKeys"-               VkWin32KeyedMutexAcquireReleaseInfoNV-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pReleaseKeys"-               VkWin32KeyedMutexAcquireReleaseInfoNV-             =-             #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pReleaseKeys}-        type FieldIsArray "pReleaseKeys"-               VkWin32KeyedMutexAcquireReleaseInfoNV-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pReleaseKeys}--instance {-# OVERLAPPING #-}-         CanReadField "pReleaseKeys" VkWin32KeyedMutexAcquireReleaseInfoNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pReleaseKeys})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pReleaseKeys}--instance {-# OVERLAPPING #-}-         CanWriteField "pReleaseKeys" VkWin32KeyedMutexAcquireReleaseInfoNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pReleaseKeys}--instance Show VkWin32KeyedMutexAcquireReleaseInfoNV where-        showsPrec d x-          = showString "VkWin32KeyedMutexAcquireReleaseInfoNV {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "acquireCount = " .-                            showsPrec d (getField @"acquireCount" x) .-                              showString ", " .-                                showString "pAcquireSyncs = " .-                                  showsPrec d (getField @"pAcquireSyncs" x) .-                                    showString ", " .-                                      showString "pAcquireKeys = " .-                                        showsPrec d (getField @"pAcquireKeys" x) .-                                          showString ", " .-                                            showString "pAcquireTimeoutMilliseconds = " .-                                              showsPrec d-                                                (getField @"pAcquireTimeoutMilliseconds" x)-                                                .-                                                showString ", " .-                                                  showString "releaseCount = " .-                                                    showsPrec d (getField @"releaseCount" x) .-                                                      showString ", " .-                                                        showString "pReleaseSyncs = " .-                                                          showsPrec d (getField @"pReleaseSyncs" x)-                                                            .-                                                            showString ", " .-                                                              showString "pReleaseKeys = " .-                                                                showsPrec d-                                                                  (getField @"pReleaseKeys" x)-                                                                  . showChar '}'---- | > typedef struct VkWin32SurfaceCreateInfoKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkWin32SurfaceCreateFlagsKHR   flags;---   >     HINSTANCE                        hinstance;---   >     HWND                             hwnd;---   > } VkWin32SurfaceCreateInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkWin32SurfaceCreateInfoKHR VkWin32SurfaceCreateInfoKHR registry at www.khronos.org>-type VkWin32SurfaceCreateInfoKHR =-     VulkanStruct VkWin32SurfaceCreateInfoKHR' -- ' closing tick for hsc2hs--data VkWin32SurfaceCreateInfoKHR' -- ' closing tick for hsc2hs--instance Eq VkWin32SurfaceCreateInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkWin32SurfaceCreateInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkWin32SurfaceCreateInfoKHR where-        sizeOf ~_ = #{size VkWin32SurfaceCreateInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkWin32SurfaceCreateInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkWin32SurfaceCreateInfoKHR where-        type StructFields VkWin32SurfaceCreateInfoKHR =-             '["sType", "pNext", "flags", "hinstance", "hwnd"] -- ' closing tick for hsc2hs-        type CUnionType VkWin32SurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkWin32SurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkWin32SurfaceCreateInfoKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkWin32SurfaceCreateInfoKHR where-        type FieldType "sType" VkWin32SurfaceCreateInfoKHR =-             VkStructureType-        type FieldOptional "sType" VkWin32SurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkWin32SurfaceCreateInfoKHR =-             #{offset VkWin32SurfaceCreateInfoKHR, sType}-        type FieldIsArray "sType" VkWin32SurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWin32SurfaceCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkWin32SurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWin32SurfaceCreateInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWin32SurfaceCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkWin32SurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWin32SurfaceCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkWin32SurfaceCreateInfoKHR where-        type FieldType "pNext" VkWin32SurfaceCreateInfoKHR = Ptr Void-        type FieldOptional "pNext" VkWin32SurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkWin32SurfaceCreateInfoKHR =-             #{offset VkWin32SurfaceCreateInfoKHR, pNext}-        type FieldIsArray "pNext" VkWin32SurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWin32SurfaceCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkWin32SurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWin32SurfaceCreateInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWin32SurfaceCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkWin32SurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWin32SurfaceCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkWin32SurfaceCreateInfoKHR where-        type FieldType "flags" VkWin32SurfaceCreateInfoKHR =-             VkWin32SurfaceCreateFlagsKHR-        type FieldOptional "flags" VkWin32SurfaceCreateInfoKHR = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkWin32SurfaceCreateInfoKHR =-             #{offset VkWin32SurfaceCreateInfoKHR, flags}-        type FieldIsArray "flags" VkWin32SurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWin32SurfaceCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkWin32SurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWin32SurfaceCreateInfoKHR, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWin32SurfaceCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkWin32SurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWin32SurfaceCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         HasField "hinstance" VkWin32SurfaceCreateInfoKHR where-        type FieldType "hinstance" VkWin32SurfaceCreateInfoKHR = HINSTANCE-        type FieldOptional "hinstance" VkWin32SurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "hinstance" VkWin32SurfaceCreateInfoKHR =-             #{offset VkWin32SurfaceCreateInfoKHR, hinstance}-        type FieldIsArray "hinstance" VkWin32SurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWin32SurfaceCreateInfoKHR, hinstance}--instance {-# OVERLAPPING #-}-         CanReadField "hinstance" VkWin32SurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWin32SurfaceCreateInfoKHR, hinstance})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWin32SurfaceCreateInfoKHR, hinstance}--instance {-# OVERLAPPING #-}-         CanWriteField "hinstance" VkWin32SurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWin32SurfaceCreateInfoKHR, hinstance}--instance {-# OVERLAPPING #-}-         HasField "hwnd" VkWin32SurfaceCreateInfoKHR where-        type FieldType "hwnd" VkWin32SurfaceCreateInfoKHR = HWND-        type FieldOptional "hwnd" VkWin32SurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "hwnd" VkWin32SurfaceCreateInfoKHR =-             #{offset VkWin32SurfaceCreateInfoKHR, hwnd}-        type FieldIsArray "hwnd" VkWin32SurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWin32SurfaceCreateInfoKHR, hwnd}--instance {-# OVERLAPPING #-}-         CanReadField "hwnd" VkWin32SurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWin32SurfaceCreateInfoKHR, hwnd})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWin32SurfaceCreateInfoKHR, hwnd}--instance {-# OVERLAPPING #-}-         CanWriteField "hwnd" VkWin32SurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWin32SurfaceCreateInfoKHR, hwnd}--instance Show VkWin32SurfaceCreateInfoKHR where-        showsPrec d x-          = showString "VkWin32SurfaceCreateInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "hinstance = " .-                                  showsPrec d (getField @"hinstance" x) .-                                    showString ", " .-                                      showString "hwnd = " .-                                        showsPrec d (getField @"hwnd" x) . showChar '}'+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.PlatformWin32Khr+       (VkD3D12FenceSubmitInfoKHR, VkExportFenceWin32HandleInfoKHR,+        VkExportMemoryWin32HandleInfoKHR, VkExportMemoryWin32HandleInfoNV,+        VkExportSemaphoreWin32HandleInfoKHR, VkFenceGetWin32HandleInfoKHR,+        VkImportFenceWin32HandleInfoKHR, VkImportMemoryWin32HandleInfoKHR,+        VkImportMemoryWin32HandleInfoNV,+        VkImportSemaphoreWin32HandleInfoKHR, VkMemoryGetWin32HandleInfoKHR,+        VkMemoryWin32HandlePropertiesKHR, VkSemaphoreGetWin32HandleInfoKHR,+        VkWin32KeyedMutexAcquireReleaseInfoKHR,+        VkWin32KeyedMutexAcquireReleaseInfoNV, VkWin32SurfaceCreateInfoKHR)+       where+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Bitmasks                 (VkWin32SurfaceCreateFlagsKHR)+import Graphics.Vulkan.Types.Enum.External            (VkExternalFenceHandleTypeFlagBits,+                                                       VkExternalMemoryHandleTypeFlagBits,+                                                       VkExternalMemoryHandleTypeFlagsNV,+                                                       VkExternalSemaphoreHandleTypeFlagBits)+import Graphics.Vulkan.Types.Enum.Fence               (VkFenceImportFlags)+import Graphics.Vulkan.Types.Enum.SemaphoreImportFlag (VkSemaphoreImportFlags)+import Graphics.Vulkan.Types.Enum.StructureType       (VkStructureType)+import Graphics.Vulkan.Types.Handles                  (VkDeviceMemory, VkFence,+                                                       VkSemaphore)+import Graphics.Vulkan.Types.Include                  (DWORD, HANDLE, HINSTANCE,+                                                       HWND, LPCWSTR,+                                                       SECURITY_ATTRIBUTES)+import Graphics.Vulkan.Types.Struct.Fence             (VkFenceCreateInfo)+import Graphics.Vulkan.Types.Struct.Memory            (VkMemoryAllocateInfo)+import Graphics.Vulkan.Types.Struct.Semaphore         (VkSemaphoreCreateInfo)+import Graphics.Vulkan.Types.Struct.SubmitInfo        (VkSubmitInfo)++-- | > typedef struct VkD3D12FenceSubmitInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     uint32_t         waitSemaphoreValuesCount;+--   >     const uint64_t* pWaitSemaphoreValues;+--   >     uint32_t         signalSemaphoreValuesCount;+--   >     const uint64_t* pSignalSemaphoreValues;+--   > } VkD3D12FenceSubmitInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkD3D12FenceSubmitInfoKHR VkD3D12FenceSubmitInfoKHR registry at www.khronos.org>+type VkD3D12FenceSubmitInfoKHR =+     VkStruct VkD3D12FenceSubmitInfoKHR' -- ' closing tick for hsc2hs++data VkD3D12FenceSubmitInfoKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkD3D12FenceSubmitInfoKHR where+    type StructRep VkD3D12FenceSubmitInfoKHR =+         'StructMeta "VkD3D12FenceSubmitInfoKHR" VkD3D12FenceSubmitInfoKHR -- ' closing tick for hsc2hs+           #{size VkD3D12FenceSubmitInfoKHR}+           #{alignment VkD3D12FenceSubmitInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkD3D12FenceSubmitInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkD3D12FenceSubmitInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "waitSemaphoreValuesCount" Word32 'True +                                                                 #{offset VkD3D12FenceSubmitInfoKHR, waitSemaphoreValuesCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pWaitSemaphoreValues" (Ptr Word64) 'True +                                                                   #{offset VkD3D12FenceSubmitInfoKHR, pWaitSemaphoreValues}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "signalSemaphoreValuesCount" Word32 'True +                                                                   #{offset VkD3D12FenceSubmitInfoKHR, signalSemaphoreValuesCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pSignalSemaphoreValues" (Ptr Word64) 'True +                                                                     #{offset VkD3D12FenceSubmitInfoKHR, pSignalSemaphoreValues}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkSubmitInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkExportFenceWin32HandleInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                                pNext;+--   >     const SECURITY_ATTRIBUTES* pAttributes;+--   >     DWORD                                      dwAccess;+--   >     LPCWSTR                                    name;+--   > } VkExportFenceWin32HandleInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExportFenceWin32HandleInfoKHR VkExportFenceWin32HandleInfoKHR registry at www.khronos.org>+type VkExportFenceWin32HandleInfoKHR =+     VkStruct VkExportFenceWin32HandleInfoKHR' -- ' closing tick for hsc2hs++data VkExportFenceWin32HandleInfoKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkExportFenceWin32HandleInfoKHR where+    type StructRep VkExportFenceWin32HandleInfoKHR =+         'StructMeta "VkExportFenceWin32HandleInfoKHR" -- ' closing tick for hsc2hs+           VkExportFenceWin32HandleInfoKHR+           #{size VkExportFenceWin32HandleInfoKHR}+           #{alignment VkExportFenceWin32HandleInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkExportFenceWin32HandleInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkExportFenceWin32HandleInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pAttributes" (Ptr SECURITY_ATTRIBUTES) 'True +                                                                       #{offset VkExportFenceWin32HandleInfoKHR, pAttributes}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dwAccess" DWORD 'False +                                                 #{offset VkExportFenceWin32HandleInfoKHR, dwAccess}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "name" LPCWSTR 'False +                                               #{offset VkExportFenceWin32HandleInfoKHR, name}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkFenceCreateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkExportMemoryWin32HandleInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     const SECURITY_ATTRIBUTES* pAttributes;+--   >     DWORD                            dwAccess;+--   >     LPCWSTR                          name;+--   > } VkExportMemoryWin32HandleInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExportMemoryWin32HandleInfoKHR VkExportMemoryWin32HandleInfoKHR registry at www.khronos.org>+type VkExportMemoryWin32HandleInfoKHR =+     VkStruct VkExportMemoryWin32HandleInfoKHR' -- ' closing tick for hsc2hs++data VkExportMemoryWin32HandleInfoKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkExportMemoryWin32HandleInfoKHR where+    type StructRep VkExportMemoryWin32HandleInfoKHR =+         'StructMeta "VkExportMemoryWin32HandleInfoKHR" -- ' closing tick for hsc2hs+           VkExportMemoryWin32HandleInfoKHR+           #{size VkExportMemoryWin32HandleInfoKHR}+           #{alignment VkExportMemoryWin32HandleInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkExportMemoryWin32HandleInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkExportMemoryWin32HandleInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pAttributes" (Ptr SECURITY_ATTRIBUTES) 'True +                                                                       #{offset VkExportMemoryWin32HandleInfoKHR, pAttributes}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dwAccess" DWORD 'False +                                                 #{offset VkExportMemoryWin32HandleInfoKHR, dwAccess}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "name" LPCWSTR 'False +                                               #{offset VkExportMemoryWin32HandleInfoKHR, name}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkExportMemoryWin32HandleInfoNV {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     const SECURITY_ATTRIBUTES*       pAttributes;+--   >     DWORD                            dwAccess;+--   > } VkExportMemoryWin32HandleInfoNV;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExportMemoryWin32HandleInfoNV VkExportMemoryWin32HandleInfoNV registry at www.khronos.org>+type VkExportMemoryWin32HandleInfoNV =+     VkStruct VkExportMemoryWin32HandleInfoNV' -- ' closing tick for hsc2hs++data VkExportMemoryWin32HandleInfoNV' -- ' closing tick for hsc2hs++instance VulkanMarshal VkExportMemoryWin32HandleInfoNV where+    type StructRep VkExportMemoryWin32HandleInfoNV =+         'StructMeta "VkExportMemoryWin32HandleInfoNV" -- ' closing tick for hsc2hs+           VkExportMemoryWin32HandleInfoNV+           #{size VkExportMemoryWin32HandleInfoNV}+           #{alignment VkExportMemoryWin32HandleInfoNV}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkExportMemoryWin32HandleInfoNV, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkExportMemoryWin32HandleInfoNV, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pAttributes" (Ptr SECURITY_ATTRIBUTES) 'True +                                                                       #{offset VkExportMemoryWin32HandleInfoNV, pAttributes}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dwAccess" DWORD 'True +                                                #{offset VkExportMemoryWin32HandleInfoNV, dwAccess}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkExportSemaphoreWin32HandleInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     const SECURITY_ATTRIBUTES*       pAttributes;+--   >     DWORD                            dwAccess;+--   >     LPCWSTR                          name;+--   > } VkExportSemaphoreWin32HandleInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExportSemaphoreWin32HandleInfoKHR VkExportSemaphoreWin32HandleInfoKHR registry at www.khronos.org>+type VkExportSemaphoreWin32HandleInfoKHR =+     VkStruct VkExportSemaphoreWin32HandleInfoKHR' -- ' closing tick for hsc2hs++data VkExportSemaphoreWin32HandleInfoKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkExportSemaphoreWin32HandleInfoKHR where+    type StructRep VkExportSemaphoreWin32HandleInfoKHR =+         'StructMeta "VkExportSemaphoreWin32HandleInfoKHR" -- ' closing tick for hsc2hs+           VkExportSemaphoreWin32HandleInfoKHR+           #{size VkExportSemaphoreWin32HandleInfoKHR}+           #{alignment VkExportSemaphoreWin32HandleInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkExportSemaphoreWin32HandleInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkExportSemaphoreWin32HandleInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pAttributes" (Ptr SECURITY_ATTRIBUTES) 'True +                                                                       #{offset VkExportSemaphoreWin32HandleInfoKHR, pAttributes}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dwAccess" DWORD 'False +                                                 #{offset VkExportSemaphoreWin32HandleInfoKHR, dwAccess}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "name" LPCWSTR 'False +                                               #{offset VkExportSemaphoreWin32HandleInfoKHR, name}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkSemaphoreCreateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkFenceGetWin32HandleInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                            pNext;+--   >     VkFence                                fence;+--   >     VkExternalFenceHandleTypeFlagBits   handleType;+--   > } VkFenceGetWin32HandleInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkFenceGetWin32HandleInfoKHR VkFenceGetWin32HandleInfoKHR registry at www.khronos.org>+type VkFenceGetWin32HandleInfoKHR =+     VkStruct VkFenceGetWin32HandleInfoKHR' -- ' closing tick for hsc2hs++data VkFenceGetWin32HandleInfoKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkFenceGetWin32HandleInfoKHR where+    type StructRep VkFenceGetWin32HandleInfoKHR =+         'StructMeta "VkFenceGetWin32HandleInfoKHR" -- ' closing tick for hsc2hs+           VkFenceGetWin32HandleInfoKHR+           #{size VkFenceGetWin32HandleInfoKHR}+           #{alignment VkFenceGetWin32HandleInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkFenceGetWin32HandleInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkFenceGetWin32HandleInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "fence" VkFence 'False +                                                #{offset VkFenceGetWin32HandleInfoKHR, fence}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handleType" VkExternalFenceHandleTypeFlagBits 'False+                #{offset VkFenceGetWin32HandleInfoKHR, handleType}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkImportFenceWin32HandleInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                                        pNext;+--   >     VkFence                          fence;+--   >     VkFenceImportFlags              flags;+--   >     VkExternalFenceHandleTypeFlagBits  handleType;+--   >     HANDLE                             handle;+--   >     LPCWSTR                            name;+--   > } VkImportFenceWin32HandleInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImportFenceWin32HandleInfoKHR VkImportFenceWin32HandleInfoKHR registry at www.khronos.org>+type VkImportFenceWin32HandleInfoKHR =+     VkStruct VkImportFenceWin32HandleInfoKHR' -- ' closing tick for hsc2hs++data VkImportFenceWin32HandleInfoKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkImportFenceWin32HandleInfoKHR where+    type StructRep VkImportFenceWin32HandleInfoKHR =+         'StructMeta "VkImportFenceWin32HandleInfoKHR" -- ' closing tick for hsc2hs+           VkImportFenceWin32HandleInfoKHR+           #{size VkImportFenceWin32HandleInfoKHR}+           #{alignment VkImportFenceWin32HandleInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkImportFenceWin32HandleInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkImportFenceWin32HandleInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "fence" VkFence 'False +                                                #{offset VkImportFenceWin32HandleInfoKHR, fence}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkFenceImportFlags 'True +                                                          #{offset VkImportFenceWin32HandleInfoKHR, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handleType" VkExternalFenceHandleTypeFlagBits 'True+                #{offset VkImportFenceWin32HandleInfoKHR, handleType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handle" HANDLE 'True +                                               #{offset VkImportFenceWin32HandleInfoKHR, handle}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "name" LPCWSTR 'True +                                              #{offset VkImportFenceWin32HandleInfoKHR, name}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkImportMemoryWin32HandleInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkExternalMemoryHandleTypeFlagBits handleType;+--   >     HANDLE           handle;+--   >     LPCWSTR          name;+--   > } VkImportMemoryWin32HandleInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImportMemoryWin32HandleInfoKHR VkImportMemoryWin32HandleInfoKHR registry at www.khronos.org>+type VkImportMemoryWin32HandleInfoKHR =+     VkStruct VkImportMemoryWin32HandleInfoKHR' -- ' closing tick for hsc2hs++data VkImportMemoryWin32HandleInfoKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkImportMemoryWin32HandleInfoKHR where+    type StructRep VkImportMemoryWin32HandleInfoKHR =+         'StructMeta "VkImportMemoryWin32HandleInfoKHR" -- ' closing tick for hsc2hs+           VkImportMemoryWin32HandleInfoKHR+           #{size VkImportMemoryWin32HandleInfoKHR}+           #{alignment VkImportMemoryWin32HandleInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkImportMemoryWin32HandleInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkImportMemoryWin32HandleInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handleType" VkExternalMemoryHandleTypeFlagBits 'True+                #{offset VkImportMemoryWin32HandleInfoKHR, handleType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handle" HANDLE 'True +                                               #{offset VkImportMemoryWin32HandleInfoKHR, handle}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "name" LPCWSTR 'True +                                              #{offset VkImportMemoryWin32HandleInfoKHR, name}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkImportMemoryWin32HandleInfoNV {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkExternalMemoryHandleTypeFlagsNV handleType;+--   >     HANDLE                           handle;+--   > } VkImportMemoryWin32HandleInfoNV;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImportMemoryWin32HandleInfoNV VkImportMemoryWin32HandleInfoNV registry at www.khronos.org>+type VkImportMemoryWin32HandleInfoNV =+     VkStruct VkImportMemoryWin32HandleInfoNV' -- ' closing tick for hsc2hs++data VkImportMemoryWin32HandleInfoNV' -- ' closing tick for hsc2hs++instance VulkanMarshal VkImportMemoryWin32HandleInfoNV where+    type StructRep VkImportMemoryWin32HandleInfoNV =+         'StructMeta "VkImportMemoryWin32HandleInfoNV" -- ' closing tick for hsc2hs+           VkImportMemoryWin32HandleInfoNV+           #{size VkImportMemoryWin32HandleInfoNV}+           #{alignment VkImportMemoryWin32HandleInfoNV}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkImportMemoryWin32HandleInfoNV, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkImportMemoryWin32HandleInfoNV, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handleType" VkExternalMemoryHandleTypeFlagsNV 'True+                #{offset VkImportMemoryWin32HandleInfoNV, handleType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handle" HANDLE 'True +                                               #{offset VkImportMemoryWin32HandleInfoNV, handle}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkImportSemaphoreWin32HandleInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkSemaphore    semaphore;+--   >     VkSemaphoreImportFlags flags;+--   >     VkExternalSemaphoreHandleTypeFlagBits handleType;+--   >     HANDLE           handle;+--   >     LPCWSTR          name;+--   > } VkImportSemaphoreWin32HandleInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImportSemaphoreWin32HandleInfoKHR VkImportSemaphoreWin32HandleInfoKHR registry at www.khronos.org>+type VkImportSemaphoreWin32HandleInfoKHR =+     VkStruct VkImportSemaphoreWin32HandleInfoKHR' -- ' closing tick for hsc2hs++data VkImportSemaphoreWin32HandleInfoKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkImportSemaphoreWin32HandleInfoKHR where+    type StructRep VkImportSemaphoreWin32HandleInfoKHR =+         'StructMeta "VkImportSemaphoreWin32HandleInfoKHR" -- ' closing tick for hsc2hs+           VkImportSemaphoreWin32HandleInfoKHR+           #{size VkImportSemaphoreWin32HandleInfoKHR}+           #{alignment VkImportSemaphoreWin32HandleInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkImportSemaphoreWin32HandleInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkImportSemaphoreWin32HandleInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "semaphore" VkSemaphore 'False +                                                        #{offset VkImportSemaphoreWin32HandleInfoKHR, semaphore}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkSemaphoreImportFlags 'True +                                                              #{offset VkImportSemaphoreWin32HandleInfoKHR, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handleType" VkExternalSemaphoreHandleTypeFlagBits -- ' closing tick for hsc2hs+                'True -- ' closing tick for hsc2hs+                #{offset VkImportSemaphoreWin32HandleInfoKHR, handleType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handle" HANDLE 'True +                                               #{offset VkImportSemaphoreWin32HandleInfoKHR, handle}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "name" LPCWSTR 'True +                                              #{offset VkImportSemaphoreWin32HandleInfoKHR, name}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkMemoryGetWin32HandleInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkDeviceMemory                   memory;+--   >     VkExternalMemoryHandleTypeFlagBits handleType;+--   > } VkMemoryGetWin32HandleInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryGetWin32HandleInfoKHR VkMemoryGetWin32HandleInfoKHR registry at www.khronos.org>+type VkMemoryGetWin32HandleInfoKHR =+     VkStruct VkMemoryGetWin32HandleInfoKHR' -- ' closing tick for hsc2hs++data VkMemoryGetWin32HandleInfoKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkMemoryGetWin32HandleInfoKHR where+    type StructRep VkMemoryGetWin32HandleInfoKHR =+         'StructMeta "VkMemoryGetWin32HandleInfoKHR" -- ' closing tick for hsc2hs+           VkMemoryGetWin32HandleInfoKHR+           #{size VkMemoryGetWin32HandleInfoKHR}+           #{alignment VkMemoryGetWin32HandleInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkMemoryGetWin32HandleInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkMemoryGetWin32HandleInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "memory" VkDeviceMemory 'False +                                                        #{offset VkMemoryGetWin32HandleInfoKHR, memory}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handleType" VkExternalMemoryHandleTypeFlagBits 'False+                #{offset VkMemoryGetWin32HandleInfoKHR, handleType}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkMemoryWin32HandlePropertiesKHR {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     uint32_t                         memoryTypeBits;+--   > } VkMemoryWin32HandlePropertiesKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryWin32HandlePropertiesKHR VkMemoryWin32HandlePropertiesKHR registry at www.khronos.org>+type VkMemoryWin32HandlePropertiesKHR =+     VkStruct VkMemoryWin32HandlePropertiesKHR' -- ' closing tick for hsc2hs++data VkMemoryWin32HandlePropertiesKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkMemoryWin32HandlePropertiesKHR where+    type StructRep VkMemoryWin32HandlePropertiesKHR =+         'StructMeta "VkMemoryWin32HandlePropertiesKHR" -- ' closing tick for hsc2hs+           VkMemoryWin32HandlePropertiesKHR+           #{size VkMemoryWin32HandlePropertiesKHR}+           #{alignment VkMemoryWin32HandlePropertiesKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkMemoryWin32HandlePropertiesKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkMemoryWin32HandlePropertiesKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "memoryTypeBits" Word32 'False +                                                        #{offset VkMemoryWin32HandlePropertiesKHR, memoryTypeBits}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkSemaphoreGetWin32HandleInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkSemaphore                      semaphore;+--   >     VkExternalSemaphoreHandleTypeFlagBits handleType;+--   > } VkSemaphoreGetWin32HandleInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSemaphoreGetWin32HandleInfoKHR VkSemaphoreGetWin32HandleInfoKHR registry at www.khronos.org>+type VkSemaphoreGetWin32HandleInfoKHR =+     VkStruct VkSemaphoreGetWin32HandleInfoKHR' -- ' closing tick for hsc2hs++data VkSemaphoreGetWin32HandleInfoKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkSemaphoreGetWin32HandleInfoKHR where+    type StructRep VkSemaphoreGetWin32HandleInfoKHR =+         'StructMeta "VkSemaphoreGetWin32HandleInfoKHR" -- ' closing tick for hsc2hs+           VkSemaphoreGetWin32HandleInfoKHR+           #{size VkSemaphoreGetWin32HandleInfoKHR}+           #{alignment VkSemaphoreGetWin32HandleInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkSemaphoreGetWin32HandleInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkSemaphoreGetWin32HandleInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "semaphore" VkSemaphore 'False +                                                        #{offset VkSemaphoreGetWin32HandleInfoKHR, semaphore}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handleType" VkExternalSemaphoreHandleTypeFlagBits -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkSemaphoreGetWin32HandleInfoKHR, handleType}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkWin32KeyedMutexAcquireReleaseInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     uint32_t         acquireCount;+--   >     const VkDeviceMemory* pAcquireSyncs;+--   >     const uint64_t* pAcquireKeys;+--   >     const uint32_t* pAcquireTimeouts;+--   >     uint32_t         releaseCount;+--   >     const VkDeviceMemory* pReleaseSyncs;+--   >     const uint64_t* pReleaseKeys;+--   > } VkWin32KeyedMutexAcquireReleaseInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkWin32KeyedMutexAcquireReleaseInfoKHR VkWin32KeyedMutexAcquireReleaseInfoKHR registry at www.khronos.org>+type VkWin32KeyedMutexAcquireReleaseInfoKHR =+     VkStruct VkWin32KeyedMutexAcquireReleaseInfoKHR' -- ' closing tick for hsc2hs++data VkWin32KeyedMutexAcquireReleaseInfoKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkWin32KeyedMutexAcquireReleaseInfoKHR where+    type StructRep VkWin32KeyedMutexAcquireReleaseInfoKHR =+         'StructMeta "VkWin32KeyedMutexAcquireReleaseInfoKHR" -- ' closing tick for hsc2hs+           VkWin32KeyedMutexAcquireReleaseInfoKHR+           #{size VkWin32KeyedMutexAcquireReleaseInfoKHR}+           #{alignment VkWin32KeyedMutexAcquireReleaseInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "acquireCount" Word32 'True +                                                     #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, acquireCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pAcquireSyncs" (Ptr VkDeviceMemory) 'False +                                                                     #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireSyncs}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pAcquireKeys" (Ptr Word64) 'False +                                                            #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireKeys}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pAcquireTimeouts" (Ptr Word32) 'False +                                                                #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireTimeouts}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "releaseCount" Word32 'True +                                                     #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, releaseCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pReleaseSyncs" (Ptr VkDeviceMemory) 'False +                                                                     #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pReleaseSyncs}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pReleaseKeys" (Ptr Word64) 'False +                                                            #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pReleaseKeys}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkSubmitInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkWin32KeyedMutexAcquireReleaseInfoNV {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     uint32_t                         acquireCount;+--   >     const VkDeviceMemory*            pAcquireSyncs;+--   >     const uint64_t*                  pAcquireKeys;+--   >     const uint32_t*                  pAcquireTimeoutMilliseconds;+--   >     uint32_t                         releaseCount;+--   >     const VkDeviceMemory*            pReleaseSyncs;+--   >     const uint64_t*                  pReleaseKeys;+--   > } VkWin32KeyedMutexAcquireReleaseInfoNV;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkWin32KeyedMutexAcquireReleaseInfoNV VkWin32KeyedMutexAcquireReleaseInfoNV registry at www.khronos.org>+type VkWin32KeyedMutexAcquireReleaseInfoNV =+     VkStruct VkWin32KeyedMutexAcquireReleaseInfoNV' -- ' closing tick for hsc2hs++data VkWin32KeyedMutexAcquireReleaseInfoNV' -- ' closing tick for hsc2hs++instance VulkanMarshal VkWin32KeyedMutexAcquireReleaseInfoNV where+    type StructRep VkWin32KeyedMutexAcquireReleaseInfoNV =+         'StructMeta "VkWin32KeyedMutexAcquireReleaseInfoNV" -- ' closing tick for hsc2hs+           VkWin32KeyedMutexAcquireReleaseInfoNV+           #{size VkWin32KeyedMutexAcquireReleaseInfoNV}+           #{alignment VkWin32KeyedMutexAcquireReleaseInfoNV}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "acquireCount" Word32 'True +                                                     #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, acquireCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pAcquireSyncs" (Ptr VkDeviceMemory) 'False +                                                                     #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireSyncs}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pAcquireKeys" (Ptr Word64) 'False +                                                            #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireKeys}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pAcquireTimeoutMilliseconds" (Ptr Word32) 'False+                #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireTimeoutMilliseconds}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "releaseCount" Word32 'True +                                                     #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, releaseCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pReleaseSyncs" (Ptr VkDeviceMemory) 'False +                                                                     #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pReleaseSyncs}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pReleaseKeys" (Ptr Word64) 'False +                                                            #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pReleaseKeys}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkSubmitInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkWin32SurfaceCreateInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkWin32SurfaceCreateFlagsKHR   flags;+--   >     HINSTANCE                        hinstance;+--   >     HWND                             hwnd;+--   > } VkWin32SurfaceCreateInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkWin32SurfaceCreateInfoKHR VkWin32SurfaceCreateInfoKHR registry at www.khronos.org>+type VkWin32SurfaceCreateInfoKHR =+     VkStruct VkWin32SurfaceCreateInfoKHR' -- ' closing tick for hsc2hs++data VkWin32SurfaceCreateInfoKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkWin32SurfaceCreateInfoKHR where+    type StructRep VkWin32SurfaceCreateInfoKHR =+         'StructMeta "VkWin32SurfaceCreateInfoKHR" -- ' closing tick for hsc2hs+           VkWin32SurfaceCreateInfoKHR+           #{size VkWin32SurfaceCreateInfoKHR}+           #{alignment VkWin32SurfaceCreateInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkWin32SurfaceCreateInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkWin32SurfaceCreateInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkWin32SurfaceCreateFlagsKHR 'True +                                                                    #{offset VkWin32SurfaceCreateInfoKHR, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "hinstance" HINSTANCE 'False +                                                      #{offset VkWin32SurfaceCreateInfoKHR, hinstance}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "hwnd" HWND 'False +                                            #{offset VkWin32SurfaceCreateInfoKHR, hwnd}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/PlatformXcbKhr.hsc view
@@ -2,20 +2,16 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.PlatformXcbKhr-       (VkXcbSurfaceCreateInfoKHR, VkXcbSurfaceCreateInfoKHR') where -- ' closing tick for hsc2hs-import Foreign.Storable                         (Storable (..))+       (VkXcbSurfaceCreateInfoKHR) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Bitmasks           (VkXcbSurfaceCreateFlagsKHR) import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType) import Graphics.Vulkan.Types.Include            (XcbConnectionT, XcbWindowT)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkXcbSurfaceCreateInfoKHR { --   >     VkStructureType sType;@@ -27,217 +23,40 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkXcbSurfaceCreateInfoKHR VkXcbSurfaceCreateInfoKHR registry at www.khronos.org> type VkXcbSurfaceCreateInfoKHR =-     VulkanStruct VkXcbSurfaceCreateInfoKHR' -- ' closing tick for hsc2hs+     VkStruct VkXcbSurfaceCreateInfoKHR' -- ' closing tick for hsc2hs  data VkXcbSurfaceCreateInfoKHR' -- ' closing tick for hsc2hs -instance Eq VkXcbSurfaceCreateInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkXcbSurfaceCreateInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkXcbSurfaceCreateInfoKHR where-        sizeOf ~_ = #{size VkXcbSurfaceCreateInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkXcbSurfaceCreateInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkXcbSurfaceCreateInfoKHR where-        type StructFields VkXcbSurfaceCreateInfoKHR =-             '["sType", "pNext", "flags", "connection", "window"] -- ' closing tick for hsc2hs-        type CUnionType VkXcbSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkXcbSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkXcbSurfaceCreateInfoKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkXcbSurfaceCreateInfoKHR where-        type FieldType "sType" VkXcbSurfaceCreateInfoKHR = VkStructureType-        type FieldOptional "sType" VkXcbSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkXcbSurfaceCreateInfoKHR =-             #{offset VkXcbSurfaceCreateInfoKHR, sType}-        type FieldIsArray "sType" VkXcbSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkXcbSurfaceCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkXcbSurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkXcbSurfaceCreateInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkXcbSurfaceCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkXcbSurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkXcbSurfaceCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkXcbSurfaceCreateInfoKHR where-        type FieldType "pNext" VkXcbSurfaceCreateInfoKHR = Ptr Void-        type FieldOptional "pNext" VkXcbSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkXcbSurfaceCreateInfoKHR =-             #{offset VkXcbSurfaceCreateInfoKHR, pNext}-        type FieldIsArray "pNext" VkXcbSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkXcbSurfaceCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkXcbSurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkXcbSurfaceCreateInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkXcbSurfaceCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkXcbSurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkXcbSurfaceCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkXcbSurfaceCreateInfoKHR where-        type FieldType "flags" VkXcbSurfaceCreateInfoKHR =-             VkXcbSurfaceCreateFlagsKHR-        type FieldOptional "flags" VkXcbSurfaceCreateInfoKHR = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkXcbSurfaceCreateInfoKHR =-             #{offset VkXcbSurfaceCreateInfoKHR, flags}-        type FieldIsArray "flags" VkXcbSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkXcbSurfaceCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkXcbSurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkXcbSurfaceCreateInfoKHR, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkXcbSurfaceCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkXcbSurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkXcbSurfaceCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         HasField "connection" VkXcbSurfaceCreateInfoKHR where-        type FieldType "connection" VkXcbSurfaceCreateInfoKHR =-             Ptr XcbConnectionT-        type FieldOptional "connection" VkXcbSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "connection" VkXcbSurfaceCreateInfoKHR =-             #{offset VkXcbSurfaceCreateInfoKHR, connection}-        type FieldIsArray "connection" VkXcbSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkXcbSurfaceCreateInfoKHR, connection}--instance {-# OVERLAPPING #-}-         CanReadField "connection" VkXcbSurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkXcbSurfaceCreateInfoKHR, connection})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkXcbSurfaceCreateInfoKHR, connection}--instance {-# OVERLAPPING #-}-         CanWriteField "connection" VkXcbSurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkXcbSurfaceCreateInfoKHR, connection}--instance {-# OVERLAPPING #-}-         HasField "window" VkXcbSurfaceCreateInfoKHR where-        type FieldType "window" VkXcbSurfaceCreateInfoKHR = XcbWindowT-        type FieldOptional "window" VkXcbSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "window" VkXcbSurfaceCreateInfoKHR =-             #{offset VkXcbSurfaceCreateInfoKHR, window}-        type FieldIsArray "window" VkXcbSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkXcbSurfaceCreateInfoKHR, window}--instance {-# OVERLAPPING #-}-         CanReadField "window" VkXcbSurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkXcbSurfaceCreateInfoKHR, window})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkXcbSurfaceCreateInfoKHR, window}--instance {-# OVERLAPPING #-}-         CanWriteField "window" VkXcbSurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkXcbSurfaceCreateInfoKHR, window}--instance Show VkXcbSurfaceCreateInfoKHR where-        showsPrec d x-          = showString "VkXcbSurfaceCreateInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "connection = " .-                                  showsPrec d (getField @"connection" x) .-                                    showString ", " .-                                      showString "window = " .-                                        showsPrec d (getField @"window" x) . showChar '}'+    type StructRep VkXcbSurfaceCreateInfoKHR =+         'StructMeta "VkXcbSurfaceCreateInfoKHR" VkXcbSurfaceCreateInfoKHR -- ' closing tick for hsc2hs+           #{size VkXcbSurfaceCreateInfoKHR}+           #{alignment VkXcbSurfaceCreateInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkXcbSurfaceCreateInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkXcbSurfaceCreateInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkXcbSurfaceCreateFlagsKHR 'True +                                                                  #{offset VkXcbSurfaceCreateInfoKHR, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "connection" (Ptr XcbConnectionT) 'False +                                                                  #{offset VkXcbSurfaceCreateInfoKHR, connection}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "window" XcbWindowT 'False +                                                    #{offset VkXcbSurfaceCreateInfoKHR, window}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/PlatformXlibKhr.hsc view
@@ -2,20 +2,16 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.PlatformXlibKhr-       (VkXlibSurfaceCreateInfoKHR, VkXlibSurfaceCreateInfoKHR') where -- ' closing tick for hsc2hs-import Foreign.Storable                         (Storable (..))+       (VkXlibSurfaceCreateInfoKHR) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Bitmasks           (VkXlibSurfaceCreateFlagsKHR) import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType) import Graphics.Vulkan.Types.Include            (Display, Window)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkXlibSurfaceCreateInfoKHR { --   >     VkStructureType sType;@@ -27,215 +23,40 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkXlibSurfaceCreateInfoKHR VkXlibSurfaceCreateInfoKHR registry at www.khronos.org> type VkXlibSurfaceCreateInfoKHR =-     VulkanStruct VkXlibSurfaceCreateInfoKHR' -- ' closing tick for hsc2hs+     VkStruct VkXlibSurfaceCreateInfoKHR' -- ' closing tick for hsc2hs  data VkXlibSurfaceCreateInfoKHR' -- ' closing tick for hsc2hs -instance Eq VkXlibSurfaceCreateInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkXlibSurfaceCreateInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkXlibSurfaceCreateInfoKHR where-        sizeOf ~_ = #{size VkXlibSurfaceCreateInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkXlibSurfaceCreateInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkXlibSurfaceCreateInfoKHR where-        type StructFields VkXlibSurfaceCreateInfoKHR =-             '["sType", "pNext", "flags", "dpy", "window"] -- ' closing tick for hsc2hs-        type CUnionType VkXlibSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkXlibSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkXlibSurfaceCreateInfoKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkXlibSurfaceCreateInfoKHR where-        type FieldType "sType" VkXlibSurfaceCreateInfoKHR = VkStructureType-        type FieldOptional "sType" VkXlibSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkXlibSurfaceCreateInfoKHR =-             #{offset VkXlibSurfaceCreateInfoKHR, sType}-        type FieldIsArray "sType" VkXlibSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkXlibSurfaceCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkXlibSurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkXlibSurfaceCreateInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkXlibSurfaceCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkXlibSurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkXlibSurfaceCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkXlibSurfaceCreateInfoKHR where-        type FieldType "pNext" VkXlibSurfaceCreateInfoKHR = Ptr Void-        type FieldOptional "pNext" VkXlibSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkXlibSurfaceCreateInfoKHR =-             #{offset VkXlibSurfaceCreateInfoKHR, pNext}-        type FieldIsArray "pNext" VkXlibSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkXlibSurfaceCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkXlibSurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkXlibSurfaceCreateInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkXlibSurfaceCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkXlibSurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkXlibSurfaceCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkXlibSurfaceCreateInfoKHR where-        type FieldType "flags" VkXlibSurfaceCreateInfoKHR =-             VkXlibSurfaceCreateFlagsKHR-        type FieldOptional "flags" VkXlibSurfaceCreateInfoKHR = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkXlibSurfaceCreateInfoKHR =-             #{offset VkXlibSurfaceCreateInfoKHR, flags}-        type FieldIsArray "flags" VkXlibSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkXlibSurfaceCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkXlibSurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkXlibSurfaceCreateInfoKHR, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkXlibSurfaceCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkXlibSurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkXlibSurfaceCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         HasField "dpy" VkXlibSurfaceCreateInfoKHR where-        type FieldType "dpy" VkXlibSurfaceCreateInfoKHR = Ptr Display-        type FieldOptional "dpy" VkXlibSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dpy" VkXlibSurfaceCreateInfoKHR =-             #{offset VkXlibSurfaceCreateInfoKHR, dpy}-        type FieldIsArray "dpy" VkXlibSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkXlibSurfaceCreateInfoKHR, dpy}--instance {-# OVERLAPPING #-}-         CanReadField "dpy" VkXlibSurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkXlibSurfaceCreateInfoKHR, dpy})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkXlibSurfaceCreateInfoKHR, dpy}--instance {-# OVERLAPPING #-}-         CanWriteField "dpy" VkXlibSurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkXlibSurfaceCreateInfoKHR, dpy}--instance {-# OVERLAPPING #-}-         HasField "window" VkXlibSurfaceCreateInfoKHR where-        type FieldType "window" VkXlibSurfaceCreateInfoKHR = Window-        type FieldOptional "window" VkXlibSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "window" VkXlibSurfaceCreateInfoKHR =-             #{offset VkXlibSurfaceCreateInfoKHR, window}-        type FieldIsArray "window" VkXlibSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkXlibSurfaceCreateInfoKHR, window}--instance {-# OVERLAPPING #-}-         CanReadField "window" VkXlibSurfaceCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkXlibSurfaceCreateInfoKHR, window})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkXlibSurfaceCreateInfoKHR, window}--instance {-# OVERLAPPING #-}-         CanWriteField "window" VkXlibSurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkXlibSurfaceCreateInfoKHR, window}--instance Show VkXlibSurfaceCreateInfoKHR where-        showsPrec d x-          = showString "VkXlibSurfaceCreateInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "dpy = " .-                                  showsPrec d (getField @"dpy" x) .-                                    showString ", " .-                                      showString "window = " .-                                        showsPrec d (getField @"window" x) . showChar '}'+    type StructRep VkXlibSurfaceCreateInfoKHR =+         'StructMeta "VkXlibSurfaceCreateInfoKHR" VkXlibSurfaceCreateInfoKHR -- ' closing tick for hsc2hs+           #{size VkXlibSurfaceCreateInfoKHR}+           #{alignment VkXlibSurfaceCreateInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkXlibSurfaceCreateInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkXlibSurfaceCreateInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkXlibSurfaceCreateFlagsKHR 'True +                                                                   #{offset VkXlibSurfaceCreateInfoKHR, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dpy" (Ptr Display) 'False +                                                    #{offset VkXlibSurfaceCreateInfoKHR, dpy}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "window" Window 'False +                                                #{offset VkXlibSurfaceCreateInfoKHR, window}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/Present.hsc view
@@ -2,949 +2,221 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.Present-       (VkPresentInfoKHR, VkPresentInfoKHR', VkPresentRegionKHR, -- ' closing tick for hsc2hs-        VkPresentRegionKHR', VkPresentRegionsKHR, VkPresentRegionsKHR',-        VkPresentTimeGOOGLE, VkPresentTimeGOOGLE', -- ' closing tick for hsc2hs-        VkPresentTimesInfoGOOGLE, VkPresentTimesInfoGOOGLE') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                         (Storable (..))-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Internal-import Graphics.Vulkan.Types.Enum.Result        (VkResult)-import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)-import Graphics.Vulkan.Types.Handles            (VkSemaphore, VkSwapchainKHR)-import Graphics.Vulkan.Types.Struct.Rect        (VkRectLayerKHR)-import System.IO.Unsafe                         (unsafeDupablePerformIO)---- | > typedef struct VkPresentInfoKHR {---   >     VkStructureType sType;---   >     const void*  pNext;---   >     uint32_t         waitSemaphoreCount;---   >     const VkSemaphore* pWaitSemaphores;---   >     uint32_t                         swapchainCount;---   >     const VkSwapchainKHR* pSwapchains;---   >     const uint32_t* pImageIndices;---   >     VkResult* pResults;---   > } VkPresentInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPresentInfoKHR VkPresentInfoKHR registry at www.khronos.org>-type VkPresentInfoKHR = VulkanStruct VkPresentInfoKHR' -- ' closing tick for hsc2hs--data VkPresentInfoKHR' -- ' closing tick for hsc2hs--instance Eq VkPresentInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPresentInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPresentInfoKHR where-        sizeOf ~_ = #{size VkPresentInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkPresentInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPresentInfoKHR where-        type StructFields VkPresentInfoKHR =-             '["sType", "pNext", "waitSemaphoreCount", "pWaitSemaphores", -- ' closing tick for hsc2hs-               "swapchainCount", "pSwapchains", "pImageIndices", "pResults"]-        type CUnionType VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPresentInfoKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkPresentInfoKHR-         where-        type FieldType "sType" VkPresentInfoKHR = VkStructureType-        type FieldOptional "sType" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPresentInfoKHR =-             #{offset VkPresentInfoKHR, sType}-        type FieldIsArray "sType" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkPresentInfoKHR, sType}--instance {-# OVERLAPPING #-} CanReadField "sType" VkPresentInfoKHR-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPresentInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPresentInfoKHR, sType}--instance {-# OVERLAPPING #-} CanWriteField "sType" VkPresentInfoKHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPresentInfoKHR, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkPresentInfoKHR-         where-        type FieldType "pNext" VkPresentInfoKHR = Ptr Void-        type FieldOptional "pNext" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPresentInfoKHR =-             #{offset VkPresentInfoKHR, pNext}-        type FieldIsArray "pNext" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkPresentInfoKHR, pNext}--instance {-# OVERLAPPING #-} CanReadField "pNext" VkPresentInfoKHR-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPresentInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPresentInfoKHR, pNext}--instance {-# OVERLAPPING #-} CanWriteField "pNext" VkPresentInfoKHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPresentInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "waitSemaphoreCount" VkPresentInfoKHR where-        type FieldType "waitSemaphoreCount" VkPresentInfoKHR = Word32-        type FieldOptional "waitSemaphoreCount" VkPresentInfoKHR = 'True -- ' closing tick for hsc2hs-        type FieldOffset "waitSemaphoreCount" VkPresentInfoKHR =-             #{offset VkPresentInfoKHR, waitSemaphoreCount}-        type FieldIsArray "waitSemaphoreCount" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPresentInfoKHR, waitSemaphoreCount}--instance {-# OVERLAPPING #-}-         CanReadField "waitSemaphoreCount" VkPresentInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPresentInfoKHR, waitSemaphoreCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPresentInfoKHR, waitSemaphoreCount}--instance {-# OVERLAPPING #-}-         CanWriteField "waitSemaphoreCount" VkPresentInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPresentInfoKHR, waitSemaphoreCount}--instance {-# OVERLAPPING #-}-         HasField "pWaitSemaphores" VkPresentInfoKHR where-        type FieldType "pWaitSemaphores" VkPresentInfoKHR = Ptr VkSemaphore-        type FieldOptional "pWaitSemaphores" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pWaitSemaphores" VkPresentInfoKHR =-             #{offset VkPresentInfoKHR, pWaitSemaphores}-        type FieldIsArray "pWaitSemaphores" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPresentInfoKHR, pWaitSemaphores}--instance {-# OVERLAPPING #-}-         CanReadField "pWaitSemaphores" VkPresentInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPresentInfoKHR, pWaitSemaphores})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPresentInfoKHR, pWaitSemaphores}--instance {-# OVERLAPPING #-}-         CanWriteField "pWaitSemaphores" VkPresentInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPresentInfoKHR, pWaitSemaphores}--instance {-# OVERLAPPING #-}-         HasField "swapchainCount" VkPresentInfoKHR where-        type FieldType "swapchainCount" VkPresentInfoKHR = Word32-        type FieldOptional "swapchainCount" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "swapchainCount" VkPresentInfoKHR =-             #{offset VkPresentInfoKHR, swapchainCount}-        type FieldIsArray "swapchainCount" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPresentInfoKHR, swapchainCount}--instance {-# OVERLAPPING #-}-         CanReadField "swapchainCount" VkPresentInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPresentInfoKHR, swapchainCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPresentInfoKHR, swapchainCount}--instance {-# OVERLAPPING #-}-         CanWriteField "swapchainCount" VkPresentInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPresentInfoKHR, swapchainCount}--instance {-# OVERLAPPING #-}-         HasField "pSwapchains" VkPresentInfoKHR where-        type FieldType "pSwapchains" VkPresentInfoKHR = Ptr VkSwapchainKHR-        type FieldOptional "pSwapchains" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pSwapchains" VkPresentInfoKHR =-             #{offset VkPresentInfoKHR, pSwapchains}-        type FieldIsArray "pSwapchains" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkPresentInfoKHR, pSwapchains}--instance {-# OVERLAPPING #-}-         CanReadField "pSwapchains" VkPresentInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPresentInfoKHR, pSwapchains})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPresentInfoKHR, pSwapchains}--instance {-# OVERLAPPING #-}-         CanWriteField "pSwapchains" VkPresentInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPresentInfoKHR, pSwapchains}--instance {-# OVERLAPPING #-}-         HasField "pImageIndices" VkPresentInfoKHR where-        type FieldType "pImageIndices" VkPresentInfoKHR = Ptr Word32-        type FieldOptional "pImageIndices" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pImageIndices" VkPresentInfoKHR =-             #{offset VkPresentInfoKHR, pImageIndices}-        type FieldIsArray "pImageIndices" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkPresentInfoKHR, pImageIndices}--instance {-# OVERLAPPING #-}-         CanReadField "pImageIndices" VkPresentInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPresentInfoKHR, pImageIndices})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPresentInfoKHR, pImageIndices}--instance {-# OVERLAPPING #-}-         CanWriteField "pImageIndices" VkPresentInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPresentInfoKHR, pImageIndices}--instance {-# OVERLAPPING #-} HasField "pResults" VkPresentInfoKHR-         where-        type FieldType "pResults" VkPresentInfoKHR = Ptr VkResult-        type FieldOptional "pResults" VkPresentInfoKHR = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pResults" VkPresentInfoKHR =-             #{offset VkPresentInfoKHR, pResults}-        type FieldIsArray "pResults" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkPresentInfoKHR, pResults}--instance {-# OVERLAPPING #-}-         CanReadField "pResults" VkPresentInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPresentInfoKHR, pResults})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPresentInfoKHR, pResults}--instance {-# OVERLAPPING #-}-         CanWriteField "pResults" VkPresentInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPresentInfoKHR, pResults}--instance Show VkPresentInfoKHR where-        showsPrec d x-          = showString "VkPresentInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "waitSemaphoreCount = " .-                            showsPrec d (getField @"waitSemaphoreCount" x) .-                              showString ", " .-                                showString "pWaitSemaphores = " .-                                  showsPrec d (getField @"pWaitSemaphores" x) .-                                    showString ", " .-                                      showString "swapchainCount = " .-                                        showsPrec d (getField @"swapchainCount" x) .-                                          showString ", " .-                                            showString "pSwapchains = " .-                                              showsPrec d (getField @"pSwapchains" x) .-                                                showString ", " .-                                                  showString "pImageIndices = " .-                                                    showsPrec d (getField @"pImageIndices" x) .-                                                      showString ", " .-                                                        showString "pResults = " .-                                                          showsPrec d (getField @"pResults" x) .-                                                            showChar '}'---- | > typedef struct VkPresentRegionKHR {---   >     uint32_t         rectangleCount;---   >     const VkRectLayerKHR*   pRectangles;---   > } VkPresentRegionKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPresentRegionKHR VkPresentRegionKHR registry at www.khronos.org>-type VkPresentRegionKHR = VulkanStruct VkPresentRegionKHR' -- ' closing tick for hsc2hs--data VkPresentRegionKHR' -- ' closing tick for hsc2hs--instance Eq VkPresentRegionKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPresentRegionKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPresentRegionKHR where-        sizeOf ~_ = #{size VkPresentRegionKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkPresentRegionKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPresentRegionKHR where-        type StructFields VkPresentRegionKHR =-             '["rectangleCount", "pRectangles"] -- ' closing tick for hsc2hs-        type CUnionType VkPresentRegionKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPresentRegionKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPresentRegionKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "rectangleCount" VkPresentRegionKHR where-        type FieldType "rectangleCount" VkPresentRegionKHR = Word32-        type FieldOptional "rectangleCount" VkPresentRegionKHR = 'True -- ' closing tick for hsc2hs-        type FieldOffset "rectangleCount" VkPresentRegionKHR =-             #{offset VkPresentRegionKHR, rectangleCount}-        type FieldIsArray "rectangleCount" VkPresentRegionKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPresentRegionKHR, rectangleCount}--instance {-# OVERLAPPING #-}-         CanReadField "rectangleCount" VkPresentRegionKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPresentRegionKHR, rectangleCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPresentRegionKHR, rectangleCount}--instance {-# OVERLAPPING #-}-         CanWriteField "rectangleCount" VkPresentRegionKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPresentRegionKHR, rectangleCount}--instance {-# OVERLAPPING #-}-         HasField "pRectangles" VkPresentRegionKHR where-        type FieldType "pRectangles" VkPresentRegionKHR =-             Ptr VkRectLayerKHR-        type FieldOptional "pRectangles" VkPresentRegionKHR = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pRectangles" VkPresentRegionKHR =-             #{offset VkPresentRegionKHR, pRectangles}-        type FieldIsArray "pRectangles" VkPresentRegionKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkPresentRegionKHR, pRectangles}--instance {-# OVERLAPPING #-}-         CanReadField "pRectangles" VkPresentRegionKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPresentRegionKHR, pRectangles})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPresentRegionKHR, pRectangles}--instance {-# OVERLAPPING #-}-         CanWriteField "pRectangles" VkPresentRegionKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPresentRegionKHR, pRectangles}--instance Show VkPresentRegionKHR where-        showsPrec d x-          = showString "VkPresentRegionKHR {" .-              showString "rectangleCount = " .-                showsPrec d (getField @"rectangleCount" x) .-                  showString ", " .-                    showString "pRectangles = " .-                      showsPrec d (getField @"pRectangles" x) . showChar '}'---- | > typedef struct VkPresentRegionsKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     uint32_t                         swapchainCount;---   >     const VkPresentRegionKHR*   pRegions;---   > } VkPresentRegionsKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPresentRegionsKHR VkPresentRegionsKHR registry at www.khronos.org>-type VkPresentRegionsKHR = VulkanStruct VkPresentRegionsKHR' -- ' closing tick for hsc2hs--data VkPresentRegionsKHR' -- ' closing tick for hsc2hs--instance Eq VkPresentRegionsKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPresentRegionsKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPresentRegionsKHR where-        sizeOf ~_ = #{size VkPresentRegionsKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkPresentRegionsKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPresentRegionsKHR where-        type StructFields VkPresentRegionsKHR =-             '["sType", "pNext", "swapchainCount", "pRegions"] -- ' closing tick for hsc2hs-        type CUnionType VkPresentRegionsKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPresentRegionsKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPresentRegionsKHR = '[VkPresentInfoKHR] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkPresentRegionsKHR-         where-        type FieldType "sType" VkPresentRegionsKHR = VkStructureType-        type FieldOptional "sType" VkPresentRegionsKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPresentRegionsKHR =-             #{offset VkPresentRegionsKHR, sType}-        type FieldIsArray "sType" VkPresentRegionsKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkPresentRegionsKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPresentRegionsKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPresentRegionsKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPresentRegionsKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPresentRegionsKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPresentRegionsKHR, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkPresentRegionsKHR-         where-        type FieldType "pNext" VkPresentRegionsKHR = Ptr Void-        type FieldOptional "pNext" VkPresentRegionsKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPresentRegionsKHR =-             #{offset VkPresentRegionsKHR, pNext}-        type FieldIsArray "pNext" VkPresentRegionsKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkPresentRegionsKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPresentRegionsKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPresentRegionsKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPresentRegionsKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPresentRegionsKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPresentRegionsKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "swapchainCount" VkPresentRegionsKHR where-        type FieldType "swapchainCount" VkPresentRegionsKHR = Word32-        type FieldOptional "swapchainCount" VkPresentRegionsKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "swapchainCount" VkPresentRegionsKHR =-             #{offset VkPresentRegionsKHR, swapchainCount}-        type FieldIsArray "swapchainCount" VkPresentRegionsKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPresentRegionsKHR, swapchainCount}--instance {-# OVERLAPPING #-}-         CanReadField "swapchainCount" VkPresentRegionsKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPresentRegionsKHR, swapchainCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPresentRegionsKHR, swapchainCount}--instance {-# OVERLAPPING #-}-         CanWriteField "swapchainCount" VkPresentRegionsKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPresentRegionsKHR, swapchainCount}--instance {-# OVERLAPPING #-}-         HasField "pRegions" VkPresentRegionsKHR where-        type FieldType "pRegions" VkPresentRegionsKHR =-             Ptr VkPresentRegionKHR-        type FieldOptional "pRegions" VkPresentRegionsKHR = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pRegions" VkPresentRegionsKHR =-             #{offset VkPresentRegionsKHR, pRegions}-        type FieldIsArray "pRegions" VkPresentRegionsKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkPresentRegionsKHR, pRegions}--instance {-# OVERLAPPING #-}-         CanReadField "pRegions" VkPresentRegionsKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPresentRegionsKHR, pRegions})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPresentRegionsKHR, pRegions}--instance {-# OVERLAPPING #-}-         CanWriteField "pRegions" VkPresentRegionsKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPresentRegionsKHR, pRegions}--instance Show VkPresentRegionsKHR where-        showsPrec d x-          = showString "VkPresentRegionsKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "swapchainCount = " .-                            showsPrec d (getField @"swapchainCount" x) .-                              showString ", " .-                                showString "pRegions = " .-                                  showsPrec d (getField @"pRegions" x) . showChar '}'---- | > typedef struct VkPresentTimeGOOGLE {---   >     uint32_t                         presentID;---   >     uint64_t                         desiredPresentTime;---   > } VkPresentTimeGOOGLE;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPresentTimeGOOGLE VkPresentTimeGOOGLE registry at www.khronos.org>-type VkPresentTimeGOOGLE = VulkanStruct VkPresentTimeGOOGLE' -- ' closing tick for hsc2hs--data VkPresentTimeGOOGLE' -- ' closing tick for hsc2hs--instance Eq VkPresentTimeGOOGLE where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPresentTimeGOOGLE where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPresentTimeGOOGLE where-        sizeOf ~_ = #{size VkPresentTimeGOOGLE}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkPresentTimeGOOGLE}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPresentTimeGOOGLE where-        type StructFields VkPresentTimeGOOGLE =-             '["presentID", "desiredPresentTime"] -- ' closing tick for hsc2hs-        type CUnionType VkPresentTimeGOOGLE = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPresentTimeGOOGLE = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPresentTimeGOOGLE = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "presentID" VkPresentTimeGOOGLE where-        type FieldType "presentID" VkPresentTimeGOOGLE = Word32-        type FieldOptional "presentID" VkPresentTimeGOOGLE = 'False -- ' closing tick for hsc2hs-        type FieldOffset "presentID" VkPresentTimeGOOGLE =-             #{offset VkPresentTimeGOOGLE, presentID}-        type FieldIsArray "presentID" VkPresentTimeGOOGLE = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkPresentTimeGOOGLE, presentID}--instance {-# OVERLAPPING #-}-         CanReadField "presentID" VkPresentTimeGOOGLE where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPresentTimeGOOGLE, presentID})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPresentTimeGOOGLE, presentID}--instance {-# OVERLAPPING #-}-         CanWriteField "presentID" VkPresentTimeGOOGLE where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPresentTimeGOOGLE, presentID}--instance {-# OVERLAPPING #-}-         HasField "desiredPresentTime" VkPresentTimeGOOGLE where-        type FieldType "desiredPresentTime" VkPresentTimeGOOGLE = Word64-        type FieldOptional "desiredPresentTime" VkPresentTimeGOOGLE =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "desiredPresentTime" VkPresentTimeGOOGLE =-             #{offset VkPresentTimeGOOGLE, desiredPresentTime}-        type FieldIsArray "desiredPresentTime" VkPresentTimeGOOGLE = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPresentTimeGOOGLE, desiredPresentTime}--instance {-# OVERLAPPING #-}-         CanReadField "desiredPresentTime" VkPresentTimeGOOGLE where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPresentTimeGOOGLE, desiredPresentTime})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPresentTimeGOOGLE, desiredPresentTime}--instance {-# OVERLAPPING #-}-         CanWriteField "desiredPresentTime" VkPresentTimeGOOGLE where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPresentTimeGOOGLE, desiredPresentTime}--instance Show VkPresentTimeGOOGLE where-        showsPrec d x-          = showString "VkPresentTimeGOOGLE {" .-              showString "presentID = " .-                showsPrec d (getField @"presentID" x) .-                  showString ", " .-                    showString "desiredPresentTime = " .-                      showsPrec d (getField @"desiredPresentTime" x) . showChar '}'---- | > typedef struct VkPresentTimesInfoGOOGLE {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     uint32_t                         swapchainCount;---   >     const VkPresentTimeGOOGLE*   pTimes;---   > } VkPresentTimesInfoGOOGLE;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPresentTimesInfoGOOGLE VkPresentTimesInfoGOOGLE registry at www.khronos.org>-type VkPresentTimesInfoGOOGLE =-     VulkanStruct VkPresentTimesInfoGOOGLE' -- ' closing tick for hsc2hs--data VkPresentTimesInfoGOOGLE' -- ' closing tick for hsc2hs--instance Eq VkPresentTimesInfoGOOGLE where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPresentTimesInfoGOOGLE where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPresentTimesInfoGOOGLE where-        sizeOf ~_ = #{size VkPresentTimesInfoGOOGLE}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkPresentTimesInfoGOOGLE}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkPresentTimesInfoGOOGLE where-        type StructFields VkPresentTimesInfoGOOGLE =-             '["sType", "pNext", "swapchainCount", "pTimes"] -- ' closing tick for hsc2hs-        type CUnionType VkPresentTimesInfoGOOGLE = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPresentTimesInfoGOOGLE = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPresentTimesInfoGOOGLE = '[VkPresentInfoKHR] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkPresentTimesInfoGOOGLE where-        type FieldType "sType" VkPresentTimesInfoGOOGLE = VkStructureType-        type FieldOptional "sType" VkPresentTimesInfoGOOGLE = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkPresentTimesInfoGOOGLE =-             #{offset VkPresentTimesInfoGOOGLE, sType}-        type FieldIsArray "sType" VkPresentTimesInfoGOOGLE = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkPresentTimesInfoGOOGLE, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkPresentTimesInfoGOOGLE where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPresentTimesInfoGOOGLE, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPresentTimesInfoGOOGLE, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkPresentTimesInfoGOOGLE where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPresentTimesInfoGOOGLE, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkPresentTimesInfoGOOGLE where-        type FieldType "pNext" VkPresentTimesInfoGOOGLE = Ptr Void-        type FieldOptional "pNext" VkPresentTimesInfoGOOGLE = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkPresentTimesInfoGOOGLE =-             #{offset VkPresentTimesInfoGOOGLE, pNext}-        type FieldIsArray "pNext" VkPresentTimesInfoGOOGLE = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkPresentTimesInfoGOOGLE, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkPresentTimesInfoGOOGLE where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPresentTimesInfoGOOGLE, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPresentTimesInfoGOOGLE, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkPresentTimesInfoGOOGLE where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPresentTimesInfoGOOGLE, pNext}--instance {-# OVERLAPPING #-}-         HasField "swapchainCount" VkPresentTimesInfoGOOGLE where-        type FieldType "swapchainCount" VkPresentTimesInfoGOOGLE = Word32-        type FieldOptional "swapchainCount" VkPresentTimesInfoGOOGLE =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "swapchainCount" VkPresentTimesInfoGOOGLE =-             #{offset VkPresentTimesInfoGOOGLE, swapchainCount}-        type FieldIsArray "swapchainCount" VkPresentTimesInfoGOOGLE =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPresentTimesInfoGOOGLE, swapchainCount}--instance {-# OVERLAPPING #-}-         CanReadField "swapchainCount" VkPresentTimesInfoGOOGLE where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPresentTimesInfoGOOGLE, swapchainCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPresentTimesInfoGOOGLE, swapchainCount}--instance {-# OVERLAPPING #-}-         CanWriteField "swapchainCount" VkPresentTimesInfoGOOGLE where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPresentTimesInfoGOOGLE, swapchainCount}--instance {-# OVERLAPPING #-}-         HasField "pTimes" VkPresentTimesInfoGOOGLE where-        type FieldType "pTimes" VkPresentTimesInfoGOOGLE =-             Ptr VkPresentTimeGOOGLE-        type FieldOptional "pTimes" VkPresentTimesInfoGOOGLE = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pTimes" VkPresentTimesInfoGOOGLE =-             #{offset VkPresentTimesInfoGOOGLE, pTimes}-        type FieldIsArray "pTimes" VkPresentTimesInfoGOOGLE = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkPresentTimesInfoGOOGLE, pTimes}--instance {-# OVERLAPPING #-}-         CanReadField "pTimes" VkPresentTimesInfoGOOGLE where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPresentTimesInfoGOOGLE, pTimes})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPresentTimesInfoGOOGLE, pTimes}--instance {-# OVERLAPPING #-}-         CanWriteField "pTimes" VkPresentTimesInfoGOOGLE where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPresentTimesInfoGOOGLE, pTimes}--instance Show VkPresentTimesInfoGOOGLE where-        showsPrec d x-          = showString "VkPresentTimesInfoGOOGLE {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "swapchainCount = " .-                            showsPrec d (getField @"swapchainCount" x) .-                              showString ", " .-                                showString "pTimes = " .-                                  showsPrec d (getField @"pTimes" x) . showChar '}'+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.Present+       (VkPresentInfoKHR, VkPresentRegionKHR, VkPresentRegionsKHR,+        VkPresentTimeGOOGLE, VkPresentTimesInfoGOOGLE)+       where+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.Result        (VkResult)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles            (VkSemaphore, VkSwapchainKHR)+import Graphics.Vulkan.Types.Struct.Rect        (VkRectLayerKHR)++-- | > typedef struct VkPresentInfoKHR {+--   >     VkStructureType sType;+--   >     const void*  pNext;+--   >     uint32_t         waitSemaphoreCount;+--   >     const VkSemaphore* pWaitSemaphores;+--   >     uint32_t                         swapchainCount;+--   >     const VkSwapchainKHR* pSwapchains;+--   >     const uint32_t* pImageIndices;+--   >     VkResult* pResults;+--   > } VkPresentInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPresentInfoKHR VkPresentInfoKHR registry at www.khronos.org>+type VkPresentInfoKHR = VkStruct VkPresentInfoKHR' -- ' closing tick for hsc2hs++data VkPresentInfoKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPresentInfoKHR where+    type StructRep VkPresentInfoKHR =+         'StructMeta "VkPresentInfoKHR" VkPresentInfoKHR  -- ' closing tick for hsc2hs+                                                         #{size VkPresentInfoKHR}+           #{alignment VkPresentInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPresentInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPresentInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "waitSemaphoreCount" Word32 'True +                                                           #{offset VkPresentInfoKHR, waitSemaphoreCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pWaitSemaphores" (Ptr VkSemaphore) 'False +                                                                    #{offset VkPresentInfoKHR, pWaitSemaphores}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "swapchainCount" Word32 'False +                                                        #{offset VkPresentInfoKHR, swapchainCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pSwapchains" (Ptr VkSwapchainKHR) 'False +                                                                   #{offset VkPresentInfoKHR, pSwapchains}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pImageIndices" (Ptr Word32) 'False +                                                             #{offset VkPresentInfoKHR, pImageIndices}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pResults" (Ptr VkResult) 'True +                                                         #{offset VkPresentInfoKHR, pResults}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkPresentRegionKHR {+--   >     uint32_t         rectangleCount;+--   >     const VkRectLayerKHR*   pRectangles;+--   > } VkPresentRegionKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPresentRegionKHR VkPresentRegionKHR registry at www.khronos.org>+type VkPresentRegionKHR = VkStruct VkPresentRegionKHR' -- ' closing tick for hsc2hs++data VkPresentRegionKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPresentRegionKHR where+    type StructRep VkPresentRegionKHR =+         'StructMeta "VkPresentRegionKHR" VkPresentRegionKHR  -- ' closing tick for hsc2hs+                                                             #{size VkPresentRegionKHR}+           #{alignment VkPresentRegionKHR}+           '[('FieldMeta "rectangleCount" Word32 'True  -- ' closing tick for hsc2hs+                                                       #{offset VkPresentRegionKHR, rectangleCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pRectangles" (Ptr VkRectLayerKHR) 'True +                                                                  #{offset VkPresentRegionKHR, pRectangles}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkPresentRegionsKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     uint32_t                         swapchainCount;+--   >     const VkPresentRegionKHR*   pRegions;+--   > } VkPresentRegionsKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPresentRegionsKHR VkPresentRegionsKHR registry at www.khronos.org>+type VkPresentRegionsKHR = VkStruct VkPresentRegionsKHR' -- ' closing tick for hsc2hs++data VkPresentRegionsKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPresentRegionsKHR where+    type StructRep VkPresentRegionsKHR =+         'StructMeta "VkPresentRegionsKHR" VkPresentRegionsKHR  -- ' closing tick for hsc2hs+                                                               #{size VkPresentRegionsKHR}+           #{alignment VkPresentRegionsKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPresentRegionsKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPresentRegionsKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "swapchainCount" Word32 'False +                                                        #{offset VkPresentRegionsKHR, swapchainCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pRegions" (Ptr VkPresentRegionKHR) 'True +                                                                   #{offset VkPresentRegionsKHR, pRegions}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPresentInfoKHR] -- ' closing tick for hsc2hs++-- | > typedef struct VkPresentTimeGOOGLE {+--   >     uint32_t                         presentID;+--   >     uint64_t                         desiredPresentTime;+--   > } VkPresentTimeGOOGLE;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPresentTimeGOOGLE VkPresentTimeGOOGLE registry at www.khronos.org>+type VkPresentTimeGOOGLE = VkStruct VkPresentTimeGOOGLE' -- ' closing tick for hsc2hs++data VkPresentTimeGOOGLE' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPresentTimeGOOGLE where+    type StructRep VkPresentTimeGOOGLE =+         'StructMeta "VkPresentTimeGOOGLE" VkPresentTimeGOOGLE  -- ' closing tick for hsc2hs+                                                               #{size VkPresentTimeGOOGLE}+           #{alignment VkPresentTimeGOOGLE}+           '[('FieldMeta "presentID" Word32 'False  -- ' closing tick for hsc2hs+                                                   #{offset VkPresentTimeGOOGLE, presentID}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "desiredPresentTime" Word64 'False +                                                            #{offset VkPresentTimeGOOGLE, desiredPresentTime}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkPresentTimesInfoGOOGLE {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     uint32_t                         swapchainCount;+--   >     const VkPresentTimeGOOGLE*   pTimes;+--   > } VkPresentTimesInfoGOOGLE;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPresentTimesInfoGOOGLE VkPresentTimesInfoGOOGLE registry at www.khronos.org>+type VkPresentTimesInfoGOOGLE = VkStruct VkPresentTimesInfoGOOGLE' -- ' closing tick for hsc2hs++data VkPresentTimesInfoGOOGLE' -- ' closing tick for hsc2hs++instance VulkanMarshal VkPresentTimesInfoGOOGLE where+    type StructRep VkPresentTimesInfoGOOGLE =+         'StructMeta "VkPresentTimesInfoGOOGLE" VkPresentTimesInfoGOOGLE -- ' closing tick for hsc2hs+           #{size VkPresentTimesInfoGOOGLE}+           #{alignment VkPresentTimesInfoGOOGLE}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkPresentTimesInfoGOOGLE, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkPresentTimesInfoGOOGLE, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "swapchainCount" Word32 'False +                                                        #{offset VkPresentTimesInfoGOOGLE, swapchainCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pTimes" (Ptr VkPresentTimeGOOGLE) 'True +                                                                  #{offset VkPresentTimesInfoGOOGLE, pTimes}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkPresentInfoKHR] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/ProtectedSubmitInfo.hsc view
@@ -2,20 +2,16 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.ProtectedSubmitInfo-       (VkProtectedSubmitInfo, VkProtectedSubmitInfo') where -- ' closing tick for hsc2hs-import Foreign.Storable                         (Storable (..))+       (VkProtectedSubmitInfo) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.BaseTypes          (VkBool32) import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType) import Graphics.Vulkan.Types.Struct.SubmitInfo  (VkSubmitInfo)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkProtectedSubmitInfo { --   >     VkStructureType sType;@@ -24,143 +20,30 @@ --   > } VkProtectedSubmitInfo; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkProtectedSubmitInfo VkProtectedSubmitInfo registry at www.khronos.org>-type VkProtectedSubmitInfo = VulkanStruct VkProtectedSubmitInfo' -- ' closing tick for hsc2hs+type VkProtectedSubmitInfo = VkStruct VkProtectedSubmitInfo' -- ' closing tick for hsc2hs  data VkProtectedSubmitInfo' -- ' closing tick for hsc2hs -instance Eq VkProtectedSubmitInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkProtectedSubmitInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkProtectedSubmitInfo where-        sizeOf ~_ = #{size VkProtectedSubmitInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkProtectedSubmitInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkProtectedSubmitInfo where-        type StructFields VkProtectedSubmitInfo =-             '["sType", "pNext", "protectedSubmit"] -- ' closing tick for hsc2hs-        type CUnionType VkProtectedSubmitInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkProtectedSubmitInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkProtectedSubmitInfo = '[VkSubmitInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkProtectedSubmitInfo-         where-        type FieldType "sType" VkProtectedSubmitInfo = VkStructureType-        type FieldOptional "sType" VkProtectedSubmitInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkProtectedSubmitInfo =-             #{offset VkProtectedSubmitInfo, sType}-        type FieldIsArray "sType" VkProtectedSubmitInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkProtectedSubmitInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkProtectedSubmitInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkProtectedSubmitInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkProtectedSubmitInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkProtectedSubmitInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkProtectedSubmitInfo, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkProtectedSubmitInfo-         where-        type FieldType "pNext" VkProtectedSubmitInfo = Ptr Void-        type FieldOptional "pNext" VkProtectedSubmitInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkProtectedSubmitInfo =-             #{offset VkProtectedSubmitInfo, pNext}-        type FieldIsArray "pNext" VkProtectedSubmitInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkProtectedSubmitInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkProtectedSubmitInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkProtectedSubmitInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkProtectedSubmitInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkProtectedSubmitInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkProtectedSubmitInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "protectedSubmit" VkProtectedSubmitInfo where-        type FieldType "protectedSubmit" VkProtectedSubmitInfo = VkBool32-        type FieldOptional "protectedSubmit" VkProtectedSubmitInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "protectedSubmit" VkProtectedSubmitInfo =-             #{offset VkProtectedSubmitInfo, protectedSubmit}-        type FieldIsArray "protectedSubmit" VkProtectedSubmitInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkProtectedSubmitInfo, protectedSubmit}--instance {-# OVERLAPPING #-}-         CanReadField "protectedSubmit" VkProtectedSubmitInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkProtectedSubmitInfo, protectedSubmit})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkProtectedSubmitInfo, protectedSubmit}--instance {-# OVERLAPPING #-}-         CanWriteField "protectedSubmit" VkProtectedSubmitInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkProtectedSubmitInfo, protectedSubmit}--instance Show VkProtectedSubmitInfo where-        showsPrec d x-          = showString "VkProtectedSubmitInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "protectedSubmit = " .-                            showsPrec d (getField @"protectedSubmit" x) . showChar '}'+    type StructRep VkProtectedSubmitInfo =+         'StructMeta "VkProtectedSubmitInfo" VkProtectedSubmitInfo  -- ' closing tick for hsc2hs+                                                                   #{size VkProtectedSubmitInfo}+           #{alignment VkProtectedSubmitInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkProtectedSubmitInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkProtectedSubmitInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "protectedSubmit" VkBool32 'False +                                                           #{offset VkProtectedSubmitInfo, protectedSubmit}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkSubmitInfo] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/PushConstantRange.hsc view
@@ -2,18 +2,14 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.PushConstantRange-       (VkPushConstantRange, VkPushConstantRange') where -- ' closing tick for hsc2hs-import Foreign.Storable                  (Storable (..))+       (VkPushConstantRange) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.Shader (VkShaderStageFlags)-import System.IO.Unsafe                  (unsafeDupablePerformIO)  -- | > typedef struct VkPushConstantRange { --   >     VkShaderStageFlags     stageFlags;@@ -22,143 +18,30 @@ --   > } VkPushConstantRange; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPushConstantRange VkPushConstantRange registry at www.khronos.org>-type VkPushConstantRange = VulkanStruct VkPushConstantRange' -- ' closing tick for hsc2hs+type VkPushConstantRange = VkStruct VkPushConstantRange' -- ' closing tick for hsc2hs  data VkPushConstantRange' -- ' closing tick for hsc2hs -instance Eq VkPushConstantRange where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkPushConstantRange where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkPushConstantRange where-        sizeOf ~_ = #{size VkPushConstantRange}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkPushConstantRange}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkPushConstantRange where-        type StructFields VkPushConstantRange =-             '["stageFlags", "offset", "size"] -- ' closing tick for hsc2hs-        type CUnionType VkPushConstantRange = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkPushConstantRange = 'False -- ' closing tick for hsc2hs-        type StructExtends VkPushConstantRange = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "stageFlags" VkPushConstantRange where-        type FieldType "stageFlags" VkPushConstantRange =-             VkShaderStageFlags-        type FieldOptional "stageFlags" VkPushConstantRange = 'False -- ' closing tick for hsc2hs-        type FieldOffset "stageFlags" VkPushConstantRange =-             #{offset VkPushConstantRange, stageFlags}-        type FieldIsArray "stageFlags" VkPushConstantRange = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkPushConstantRange, stageFlags}--instance {-# OVERLAPPING #-}-         CanReadField "stageFlags" VkPushConstantRange where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPushConstantRange, stageFlags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPushConstantRange, stageFlags}--instance {-# OVERLAPPING #-}-         CanWriteField "stageFlags" VkPushConstantRange where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPushConstantRange, stageFlags}--instance {-# OVERLAPPING #-} HasField "offset" VkPushConstantRange-         where-        type FieldType "offset" VkPushConstantRange = Word32-        type FieldOptional "offset" VkPushConstantRange = 'False -- ' closing tick for hsc2hs-        type FieldOffset "offset" VkPushConstantRange =-             #{offset VkPushConstantRange, offset}-        type FieldIsArray "offset" VkPushConstantRange = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkPushConstantRange, offset}--instance {-# OVERLAPPING #-}-         CanReadField "offset" VkPushConstantRange where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPushConstantRange, offset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPushConstantRange, offset}--instance {-# OVERLAPPING #-}-         CanWriteField "offset" VkPushConstantRange where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPushConstantRange, offset}--instance {-# OVERLAPPING #-} HasField "size" VkPushConstantRange-         where-        type FieldType "size" VkPushConstantRange = Word32-        type FieldOptional "size" VkPushConstantRange = 'False -- ' closing tick for hsc2hs-        type FieldOffset "size" VkPushConstantRange =-             #{offset VkPushConstantRange, size}-        type FieldIsArray "size" VkPushConstantRange = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkPushConstantRange, size}--instance {-# OVERLAPPING #-}-         CanReadField "size" VkPushConstantRange where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkPushConstantRange, size})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkPushConstantRange, size}--instance {-# OVERLAPPING #-}-         CanWriteField "size" VkPushConstantRange where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkPushConstantRange, size}--instance Show VkPushConstantRange where-        showsPrec d x-          = showString "VkPushConstantRange {" .-              showString "stageFlags = " .-                showsPrec d (getField @"stageFlags" x) .-                  showString ", " .-                    showString "offset = " .-                      showsPrec d (getField @"offset" x) .-                        showString ", " .-                          showString "size = " .-                            showsPrec d (getField @"size" x) . showChar '}'+    type StructRep VkPushConstantRange =+         'StructMeta "VkPushConstantRange" VkPushConstantRange  -- ' closing tick for hsc2hs+                                                               #{size VkPushConstantRange}+           #{alignment VkPushConstantRange}+           '[('FieldMeta "stageFlags" VkShaderStageFlags 'False  -- ' closing tick for hsc2hs+                                                                #{offset VkPushConstantRange, stageFlags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "offset" Word32 'False +                                                #{offset VkPushConstantRange, offset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "size" Word32 'False +                                              #{offset VkPushConstantRange, size}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/QueryPoolCreateInfo.hsc view
@@ -2,21 +2,17 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.QueryPoolCreateInfo-       (VkQueryPoolCreateInfo, VkQueryPoolCreateInfo') where -- ' closing tick for hsc2hs-import Foreign.Storable                         (Storable (..))+       (VkQueryPoolCreateInfo) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Bitmasks           (VkQueryPoolCreateFlags) import Graphics.Vulkan.Types.Enum.Query         (VkQueryPipelineStatisticFlags,                                                  VkQueryType) import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkQueryPoolCreateInfo { --   >     VkStructureType sType;@@ -28,253 +24,46 @@ --   > } VkQueryPoolCreateInfo; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkQueryPoolCreateInfo VkQueryPoolCreateInfo registry at www.khronos.org>-type VkQueryPoolCreateInfo = VulkanStruct VkQueryPoolCreateInfo' -- ' closing tick for hsc2hs+type VkQueryPoolCreateInfo = VkStruct VkQueryPoolCreateInfo' -- ' closing tick for hsc2hs  data VkQueryPoolCreateInfo' -- ' closing tick for hsc2hs -instance Eq VkQueryPoolCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkQueryPoolCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkQueryPoolCreateInfo where-        sizeOf ~_ = #{size VkQueryPoolCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkQueryPoolCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkQueryPoolCreateInfo where-        type StructFields VkQueryPoolCreateInfo =-             '["sType", "pNext", "flags", "queryType", "queryCount", -- ' closing tick for hsc2hs-               "pipelineStatistics"]-        type CUnionType VkQueryPoolCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkQueryPoolCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkQueryPoolCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkQueryPoolCreateInfo-         where-        type FieldType "sType" VkQueryPoolCreateInfo = VkStructureType-        type FieldOptional "sType" VkQueryPoolCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkQueryPoolCreateInfo =-             #{offset VkQueryPoolCreateInfo, sType}-        type FieldIsArray "sType" VkQueryPoolCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkQueryPoolCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkQueryPoolCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkQueryPoolCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkQueryPoolCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkQueryPoolCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkQueryPoolCreateInfo, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkQueryPoolCreateInfo-         where-        type FieldType "pNext" VkQueryPoolCreateInfo = Ptr Void-        type FieldOptional "pNext" VkQueryPoolCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkQueryPoolCreateInfo =-             #{offset VkQueryPoolCreateInfo, pNext}-        type FieldIsArray "pNext" VkQueryPoolCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkQueryPoolCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkQueryPoolCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkQueryPoolCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkQueryPoolCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkQueryPoolCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkQueryPoolCreateInfo, pNext}--instance {-# OVERLAPPING #-} HasField "flags" VkQueryPoolCreateInfo-         where-        type FieldType "flags" VkQueryPoolCreateInfo =-             VkQueryPoolCreateFlags-        type FieldOptional "flags" VkQueryPoolCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkQueryPoolCreateInfo =-             #{offset VkQueryPoolCreateInfo, flags}-        type FieldIsArray "flags" VkQueryPoolCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkQueryPoolCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkQueryPoolCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkQueryPoolCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkQueryPoolCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkQueryPoolCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkQueryPoolCreateInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "queryType" VkQueryPoolCreateInfo where-        type FieldType "queryType" VkQueryPoolCreateInfo = VkQueryType-        type FieldOptional "queryType" VkQueryPoolCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "queryType" VkQueryPoolCreateInfo =-             #{offset VkQueryPoolCreateInfo, queryType}-        type FieldIsArray "queryType" VkQueryPoolCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkQueryPoolCreateInfo, queryType}--instance {-# OVERLAPPING #-}-         CanReadField "queryType" VkQueryPoolCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkQueryPoolCreateInfo, queryType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkQueryPoolCreateInfo, queryType}--instance {-# OVERLAPPING #-}-         CanWriteField "queryType" VkQueryPoolCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkQueryPoolCreateInfo, queryType}--instance {-# OVERLAPPING #-}-         HasField "queryCount" VkQueryPoolCreateInfo where-        type FieldType "queryCount" VkQueryPoolCreateInfo = Word32-        type FieldOptional "queryCount" VkQueryPoolCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "queryCount" VkQueryPoolCreateInfo =-             #{offset VkQueryPoolCreateInfo, queryCount}-        type FieldIsArray "queryCount" VkQueryPoolCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkQueryPoolCreateInfo, queryCount}--instance {-# OVERLAPPING #-}-         CanReadField "queryCount" VkQueryPoolCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkQueryPoolCreateInfo, queryCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkQueryPoolCreateInfo, queryCount}--instance {-# OVERLAPPING #-}-         CanWriteField "queryCount" VkQueryPoolCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkQueryPoolCreateInfo, queryCount}--instance {-# OVERLAPPING #-}-         HasField "pipelineStatistics" VkQueryPoolCreateInfo where-        type FieldType "pipelineStatistics" VkQueryPoolCreateInfo =-             VkQueryPipelineStatisticFlags-        type FieldOptional "pipelineStatistics" VkQueryPoolCreateInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "pipelineStatistics" VkQueryPoolCreateInfo =-             #{offset VkQueryPoolCreateInfo, pipelineStatistics}-        type FieldIsArray "pipelineStatistics" VkQueryPoolCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkQueryPoolCreateInfo, pipelineStatistics}--instance {-# OVERLAPPING #-}-         CanReadField "pipelineStatistics" VkQueryPoolCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkQueryPoolCreateInfo, pipelineStatistics})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkQueryPoolCreateInfo, pipelineStatistics}--instance {-# OVERLAPPING #-}-         CanWriteField "pipelineStatistics" VkQueryPoolCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkQueryPoolCreateInfo, pipelineStatistics}--instance Show VkQueryPoolCreateInfo where-        showsPrec d x-          = showString "VkQueryPoolCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "queryType = " .-                                  showsPrec d (getField @"queryType" x) .-                                    showString ", " .-                                      showString "queryCount = " .-                                        showsPrec d (getField @"queryCount" x) .-                                          showString ", " .-                                            showString "pipelineStatistics = " .-                                              showsPrec d (getField @"pipelineStatistics" x) .-                                                showChar '}'+    type StructRep VkQueryPoolCreateInfo =+         'StructMeta "VkQueryPoolCreateInfo" VkQueryPoolCreateInfo  -- ' closing tick for hsc2hs+                                                                   #{size VkQueryPoolCreateInfo}+           #{alignment VkQueryPoolCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkQueryPoolCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkQueryPoolCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkQueryPoolCreateFlags 'True +                                                              #{offset VkQueryPoolCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "queryType" VkQueryType 'False +                                                        #{offset VkQueryPoolCreateInfo, queryType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "queryCount" Word32 'False +                                                    #{offset VkQueryPoolCreateInfo, queryCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pipelineStatistics" VkQueryPipelineStatisticFlags -- ' closing tick for hsc2hs+                'True -- ' closing tick for hsc2hs+                #{offset VkQueryPoolCreateInfo, pipelineStatistics}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/QueueFamilyProperties.hsc view
@@ -2,23 +2,18 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.QueueFamilyProperties-       (VkQueueFamilyProperties, VkQueueFamilyProperties', -- ' closing tick for hsc2hs-        VkQueueFamilyProperties2, VkQueueFamilyProperties2', -- ' closing tick for hsc2hs+       (VkQueueFamilyProperties, VkQueueFamilyProperties2,         VkQueueFamilyProperties2KHR)        where-import Foreign.Storable                         (Storable (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.Queue         (VkQueueFlags) import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType) import Graphics.Vulkan.Types.Struct.Extent      (VkExtent3D)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkQueueFamilyProperties { --   >     VkQueueFlags           queueFlags;@@ -28,200 +23,38 @@ --   > } VkQueueFamilyProperties; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkQueueFamilyProperties VkQueueFamilyProperties registry at www.khronos.org>-type VkQueueFamilyProperties =-     VulkanStruct VkQueueFamilyProperties' -- ' closing tick for hsc2hs+type VkQueueFamilyProperties = VkStruct VkQueueFamilyProperties' -- ' closing tick for hsc2hs  data VkQueueFamilyProperties' -- ' closing tick for hsc2hs -instance Eq VkQueueFamilyProperties where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkQueueFamilyProperties where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkQueueFamilyProperties where-        sizeOf ~_ = #{size VkQueueFamilyProperties}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkQueueFamilyProperties}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkQueueFamilyProperties where-        type StructFields VkQueueFamilyProperties =-             '["queueFlags", "queueCount", "timestampValidBits", -- ' closing tick for hsc2hs-               "minImageTransferGranularity"]-        type CUnionType VkQueueFamilyProperties = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkQueueFamilyProperties = 'True -- ' closing tick for hsc2hs-        type StructExtends VkQueueFamilyProperties = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "queueFlags" VkQueueFamilyProperties where-        type FieldType "queueFlags" VkQueueFamilyProperties = VkQueueFlags-        type FieldOptional "queueFlags" VkQueueFamilyProperties = 'True -- ' closing tick for hsc2hs-        type FieldOffset "queueFlags" VkQueueFamilyProperties =-             #{offset VkQueueFamilyProperties, queueFlags}-        type FieldIsArray "queueFlags" VkQueueFamilyProperties = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkQueueFamilyProperties, queueFlags}--instance {-# OVERLAPPING #-}-         CanReadField "queueFlags" VkQueueFamilyProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkQueueFamilyProperties, queueFlags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkQueueFamilyProperties, queueFlags}--instance {-# OVERLAPPING #-}-         CanWriteField "queueFlags" VkQueueFamilyProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkQueueFamilyProperties, queueFlags}--instance {-# OVERLAPPING #-}-         HasField "queueCount" VkQueueFamilyProperties where-        type FieldType "queueCount" VkQueueFamilyProperties = Word32-        type FieldOptional "queueCount" VkQueueFamilyProperties = 'False -- ' closing tick for hsc2hs-        type FieldOffset "queueCount" VkQueueFamilyProperties =-             #{offset VkQueueFamilyProperties, queueCount}-        type FieldIsArray "queueCount" VkQueueFamilyProperties = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkQueueFamilyProperties, queueCount}--instance {-# OVERLAPPING #-}-         CanReadField "queueCount" VkQueueFamilyProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkQueueFamilyProperties, queueCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkQueueFamilyProperties, queueCount}--instance {-# OVERLAPPING #-}-         CanWriteField "queueCount" VkQueueFamilyProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkQueueFamilyProperties, queueCount}--instance {-# OVERLAPPING #-}-         HasField "timestampValidBits" VkQueueFamilyProperties where-        type FieldType "timestampValidBits" VkQueueFamilyProperties =-             Word32-        type FieldOptional "timestampValidBits" VkQueueFamilyProperties =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "timestampValidBits" VkQueueFamilyProperties =-             #{offset VkQueueFamilyProperties, timestampValidBits}-        type FieldIsArray "timestampValidBits" VkQueueFamilyProperties =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkQueueFamilyProperties, timestampValidBits}--instance {-# OVERLAPPING #-}-         CanReadField "timestampValidBits" VkQueueFamilyProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkQueueFamilyProperties, timestampValidBits})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkQueueFamilyProperties, timestampValidBits}--instance {-# OVERLAPPING #-}-         CanWriteField "timestampValidBits" VkQueueFamilyProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkQueueFamilyProperties, timestampValidBits}--instance {-# OVERLAPPING #-}-         HasField "minImageTransferGranularity" VkQueueFamilyProperties-         where-        type FieldType "minImageTransferGranularity"-               VkQueueFamilyProperties-             = VkExtent3D-        type FieldOptional "minImageTransferGranularity"-               VkQueueFamilyProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "minImageTransferGranularity"-               VkQueueFamilyProperties-             =-             #{offset VkQueueFamilyProperties, minImageTransferGranularity}-        type FieldIsArray "minImageTransferGranularity"-               VkQueueFamilyProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkQueueFamilyProperties, minImageTransferGranularity}--instance {-# OVERLAPPING #-}-         CanReadField "minImageTransferGranularity" VkQueueFamilyProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkQueueFamilyProperties, minImageTransferGranularity})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkQueueFamilyProperties, minImageTransferGranularity}--instance {-# OVERLAPPING #-}-         CanWriteField "minImageTransferGranularity" VkQueueFamilyProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkQueueFamilyProperties, minImageTransferGranularity}--instance Show VkQueueFamilyProperties where-        showsPrec d x-          = showString "VkQueueFamilyProperties {" .-              showString "queueFlags = " .-                showsPrec d (getField @"queueFlags" x) .-                  showString ", " .-                    showString "queueCount = " .-                      showsPrec d (getField @"queueCount" x) .-                        showString ", " .-                          showString "timestampValidBits = " .-                            showsPrec d (getField @"timestampValidBits" x) .-                              showString ", " .-                                showString "minImageTransferGranularity = " .-                                  showsPrec d (getField @"minImageTransferGranularity" x) .-                                    showChar '}'+    type StructRep VkQueueFamilyProperties =+         'StructMeta "VkQueueFamilyProperties" VkQueueFamilyProperties -- ' closing tick for hsc2hs+           #{size VkQueueFamilyProperties}+           #{alignment VkQueueFamilyProperties}+           '[('FieldMeta "queueFlags" VkQueueFlags 'True  -- ' closing tick for hsc2hs+                                                         #{offset VkQueueFamilyProperties, queueFlags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "queueCount" Word32 'False +                                                    #{offset VkQueueFamilyProperties, queueCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "timestampValidBits" Word32 'False +                                                            #{offset VkQueueFamilyProperties, timestampValidBits}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minImageTransferGranularity" VkExtent3D 'False+                #{offset VkQueueFamilyProperties, minImageTransferGranularity}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | > typedef struct VkQueueFamilyProperties2 { --   >     VkStructureType sType;@@ -230,151 +63,33 @@ --   > } VkQueueFamilyProperties2; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkQueueFamilyProperties2 VkQueueFamilyProperties2 registry at www.khronos.org>-type VkQueueFamilyProperties2 =-     VulkanStruct VkQueueFamilyProperties2' -- ' closing tick for hsc2hs+type VkQueueFamilyProperties2 = VkStruct VkQueueFamilyProperties2' -- ' closing tick for hsc2hs  data VkQueueFamilyProperties2' -- ' closing tick for hsc2hs -instance Eq VkQueueFamilyProperties2 where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkQueueFamilyProperties2 where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkQueueFamilyProperties2 where-        sizeOf ~_ = #{size VkQueueFamilyProperties2}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkQueueFamilyProperties2}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkQueueFamilyProperties2 where-        type StructFields VkQueueFamilyProperties2 =-             '["sType", "pNext", "queueFamilyProperties"] -- ' closing tick for hsc2hs-        type CUnionType VkQueueFamilyProperties2 = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkQueueFamilyProperties2 = 'True -- ' closing tick for hsc2hs-        type StructExtends VkQueueFamilyProperties2 = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkQueueFamilyProperties2 where-        type FieldType "sType" VkQueueFamilyProperties2 = VkStructureType-        type FieldOptional "sType" VkQueueFamilyProperties2 = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkQueueFamilyProperties2 =-             #{offset VkQueueFamilyProperties2, sType}-        type FieldIsArray "sType" VkQueueFamilyProperties2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkQueueFamilyProperties2, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkQueueFamilyProperties2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkQueueFamilyProperties2, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkQueueFamilyProperties2, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkQueueFamilyProperties2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkQueueFamilyProperties2, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkQueueFamilyProperties2 where-        type FieldType "pNext" VkQueueFamilyProperties2 = Ptr Void-        type FieldOptional "pNext" VkQueueFamilyProperties2 = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkQueueFamilyProperties2 =-             #{offset VkQueueFamilyProperties2, pNext}-        type FieldIsArray "pNext" VkQueueFamilyProperties2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkQueueFamilyProperties2, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkQueueFamilyProperties2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkQueueFamilyProperties2, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkQueueFamilyProperties2, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkQueueFamilyProperties2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkQueueFamilyProperties2, pNext}--instance {-# OVERLAPPING #-}-         HasField "queueFamilyProperties" VkQueueFamilyProperties2 where-        type FieldType "queueFamilyProperties" VkQueueFamilyProperties2 =-             VkQueueFamilyProperties-        type FieldOptional "queueFamilyProperties" VkQueueFamilyProperties2-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "queueFamilyProperties" VkQueueFamilyProperties2 =-             #{offset VkQueueFamilyProperties2, queueFamilyProperties}-        type FieldIsArray "queueFamilyProperties" VkQueueFamilyProperties2-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkQueueFamilyProperties2, queueFamilyProperties}--instance {-# OVERLAPPING #-}-         CanReadField "queueFamilyProperties" VkQueueFamilyProperties2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkQueueFamilyProperties2, queueFamilyProperties})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkQueueFamilyProperties2, queueFamilyProperties}--instance {-# OVERLAPPING #-}-         CanWriteField "queueFamilyProperties" VkQueueFamilyProperties2-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkQueueFamilyProperties2, queueFamilyProperties}--instance Show VkQueueFamilyProperties2 where-        showsPrec d x-          = showString "VkQueueFamilyProperties2 {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "queueFamilyProperties = " .-                            showsPrec d (getField @"queueFamilyProperties" x) . showChar '}'+    type StructRep VkQueueFamilyProperties2 =+         'StructMeta "VkQueueFamilyProperties2" VkQueueFamilyProperties2 -- ' closing tick for hsc2hs+           #{size VkQueueFamilyProperties2}+           #{alignment VkQueueFamilyProperties2}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkQueueFamilyProperties2, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkQueueFamilyProperties2, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "queueFamilyProperties" VkQueueFamilyProperties 'False+                #{offset VkQueueFamilyProperties2, queueFamilyProperties}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | Alias for `VkQueueFamilyProperties2` type VkQueueFamilyProperties2KHR = VkQueueFamilyProperties2
src-gen/Graphics/Vulkan/Types/Struct/Rect.hsc view
@@ -2,19 +2,15 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.Rect-       (VkRect2D, VkRect2D', VkRectLayerKHR, VkRectLayerKHR') where-import Foreign.Storable                    (Storable (..))+module Graphics.Vulkan.Types.Struct.Rect (VkRect2D, VkRectLayerKHR)+       where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Struct.Extent (VkExtent2D) import Graphics.Vulkan.Types.Struct.Offset (VkOffset2D)-import System.IO.Unsafe                    (unsafeDupablePerformIO)  -- | > typedef struct VkRect2D { --   >     VkOffset2D     offset;@@ -22,100 +18,28 @@ --   > } VkRect2D; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkRect2D VkRect2D registry at www.khronos.org>-type VkRect2D = VulkanStruct VkRect2D' -- ' closing tick for hsc2hs+type VkRect2D = VkStruct VkRect2D' -- ' closing tick for hsc2hs  data VkRect2D' -- ' closing tick for hsc2hs -instance Eq VkRect2D where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkRect2D where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkRect2D where-        sizeOf ~_ = #{size VkRect2D}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkRect2D}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkRect2D where-        type StructFields VkRect2D = '["offset", "extent"] -- ' closing tick for hsc2hs-        type CUnionType VkRect2D = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkRect2D = 'False -- ' closing tick for hsc2hs-        type StructExtends VkRect2D = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "offset" VkRect2D where-        type FieldType "offset" VkRect2D = VkOffset2D-        type FieldOptional "offset" VkRect2D = 'False -- ' closing tick for hsc2hs-        type FieldOffset "offset" VkRect2D =-             #{offset VkRect2D, offset}-        type FieldIsArray "offset" VkRect2D = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkRect2D, offset}--instance {-# OVERLAPPING #-} CanReadField "offset" VkRect2D where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRect2D, offset})--        {-# INLINE readField #-}-        readField p = peekByteOff p #{offset VkRect2D, offset}--instance {-# OVERLAPPING #-} CanWriteField "offset" VkRect2D where-        {-# INLINE writeField #-}-        writeField p = pokeByteOff p #{offset VkRect2D, offset}--instance {-# OVERLAPPING #-} HasField "extent" VkRect2D where-        type FieldType "extent" VkRect2D = VkExtent2D-        type FieldOptional "extent" VkRect2D = 'False -- ' closing tick for hsc2hs-        type FieldOffset "extent" VkRect2D =-             #{offset VkRect2D, extent}-        type FieldIsArray "extent" VkRect2D = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkRect2D, extent}--instance {-# OVERLAPPING #-} CanReadField "extent" VkRect2D where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRect2D, extent})--        {-# INLINE readField #-}-        readField p = peekByteOff p #{offset VkRect2D, extent}--instance {-# OVERLAPPING #-} CanWriteField "extent" VkRect2D where-        {-# INLINE writeField #-}-        writeField p = pokeByteOff p #{offset VkRect2D, extent}--instance Show VkRect2D where-        showsPrec d x-          = showString "VkRect2D {" .-              showString "offset = " .-                showsPrec d (getField @"offset" x) .-                  showString ", " .-                    showString "extent = " .-                      showsPrec d (getField @"extent" x) . showChar '}'+    type StructRep VkRect2D =+         'StructMeta "VkRect2D" VkRect2D  -- ' closing tick for hsc2hs+                                         #{size VkRect2D}+           #{alignment VkRect2D}+           '[('FieldMeta "offset" VkOffset2D 'False  -- ' closing tick for hsc2hs+                                                    #{offset VkRect2D, offset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "extent" VkExtent2D 'False +                                                    #{offset VkRect2D, extent}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | > typedef struct VkRectLayerKHR { --   >     VkOffset2D                       offset;@@ -124,138 +48,30 @@ --   > } VkRectLayerKHR; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkRectLayerKHR VkRectLayerKHR registry at www.khronos.org>-type VkRectLayerKHR = VulkanStruct VkRectLayerKHR' -- ' closing tick for hsc2hs+type VkRectLayerKHR = VkStruct VkRectLayerKHR' -- ' closing tick for hsc2hs  data VkRectLayerKHR' -- ' closing tick for hsc2hs -instance Eq VkRectLayerKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkRectLayerKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkRectLayerKHR where-        sizeOf ~_ = #{size VkRectLayerKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkRectLayerKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkRectLayerKHR where-        type StructFields VkRectLayerKHR = '["offset", "extent", "layer"] -- ' closing tick for hsc2hs-        type CUnionType VkRectLayerKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkRectLayerKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkRectLayerKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "offset" VkRectLayerKHR where-        type FieldType "offset" VkRectLayerKHR = VkOffset2D-        type FieldOptional "offset" VkRectLayerKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "offset" VkRectLayerKHR =-             #{offset VkRectLayerKHR, offset}-        type FieldIsArray "offset" VkRectLayerKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkRectLayerKHR, offset}--instance {-# OVERLAPPING #-} CanReadField "offset" VkRectLayerKHR-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRectLayerKHR, offset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRectLayerKHR, offset}--instance {-# OVERLAPPING #-} CanWriteField "offset" VkRectLayerKHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRectLayerKHR, offset}--instance {-# OVERLAPPING #-} HasField "extent" VkRectLayerKHR where-        type FieldType "extent" VkRectLayerKHR = VkExtent2D-        type FieldOptional "extent" VkRectLayerKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "extent" VkRectLayerKHR =-             #{offset VkRectLayerKHR, extent}-        type FieldIsArray "extent" VkRectLayerKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkRectLayerKHR, extent}--instance {-# OVERLAPPING #-} CanReadField "extent" VkRectLayerKHR-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRectLayerKHR, extent})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRectLayerKHR, extent}--instance {-# OVERLAPPING #-} CanWriteField "extent" VkRectLayerKHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRectLayerKHR, extent}--instance {-# OVERLAPPING #-} HasField "layer" VkRectLayerKHR where-        type FieldType "layer" VkRectLayerKHR = Word32-        type FieldOptional "layer" VkRectLayerKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "layer" VkRectLayerKHR =-             #{offset VkRectLayerKHR, layer}-        type FieldIsArray "layer" VkRectLayerKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkRectLayerKHR, layer}--instance {-# OVERLAPPING #-} CanReadField "layer" VkRectLayerKHR-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRectLayerKHR, layer})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRectLayerKHR, layer}--instance {-# OVERLAPPING #-} CanWriteField "layer" VkRectLayerKHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRectLayerKHR, layer}--instance Show VkRectLayerKHR where-        showsPrec d x-          = showString "VkRectLayerKHR {" .-              showString "offset = " .-                showsPrec d (getField @"offset" x) .-                  showString ", " .-                    showString "extent = " .-                      showsPrec d (getField @"extent" x) .-                        showString ", " .-                          showString "layer = " .-                            showsPrec d (getField @"layer" x) . showChar '}'+    type StructRep VkRectLayerKHR =+         'StructMeta "VkRectLayerKHR" VkRectLayerKHR  -- ' closing tick for hsc2hs+                                                     #{size VkRectLayerKHR}+           #{alignment VkRectLayerKHR}+           '[('FieldMeta "offset" VkOffset2D 'False  -- ' closing tick for hsc2hs+                                                    #{offset VkRectLayerKHR, offset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "extent" VkExtent2D 'False +                                                    #{offset VkRectLayerKHR, extent}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "layer" Word32 'False +                                               #{offset VkRectLayerKHR, layer}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/RefreshCycleDurationGOOGLE.hsc view
@@ -2,17 +2,13 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.RefreshCycleDurationGOOGLE-       (VkRefreshCycleDurationGOOGLE, VkRefreshCycleDurationGOOGLE') where -- ' closing tick for hsc2hs-import Foreign.Storable                 (Storable (..))+       (VkRefreshCycleDurationGOOGLE) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal-import System.IO.Unsafe                 (unsafeDupablePerformIO)  -- | > typedef struct VkRefreshCycleDurationGOOGLE { --   >     uint64_t                         refreshDuration;@@ -20,79 +16,21 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkRefreshCycleDurationGOOGLE VkRefreshCycleDurationGOOGLE registry at www.khronos.org> type VkRefreshCycleDurationGOOGLE =-     VulkanStruct VkRefreshCycleDurationGOOGLE' -- ' closing tick for hsc2hs+     VkStruct VkRefreshCycleDurationGOOGLE' -- ' closing tick for hsc2hs  data VkRefreshCycleDurationGOOGLE' -- ' closing tick for hsc2hs -instance Eq VkRefreshCycleDurationGOOGLE where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkRefreshCycleDurationGOOGLE where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkRefreshCycleDurationGOOGLE where-        sizeOf ~_ = #{size VkRefreshCycleDurationGOOGLE}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkRefreshCycleDurationGOOGLE}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkRefreshCycleDurationGOOGLE where-        type StructFields VkRefreshCycleDurationGOOGLE =-             '["refreshDuration"] -- ' closing tick for hsc2hs-        type CUnionType VkRefreshCycleDurationGOOGLE = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkRefreshCycleDurationGOOGLE = 'False -- ' closing tick for hsc2hs-        type StructExtends VkRefreshCycleDurationGOOGLE = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "refreshDuration" VkRefreshCycleDurationGOOGLE where-        type FieldType "refreshDuration" VkRefreshCycleDurationGOOGLE =-             Word64-        type FieldOptional "refreshDuration" VkRefreshCycleDurationGOOGLE =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "refreshDuration" VkRefreshCycleDurationGOOGLE =-             #{offset VkRefreshCycleDurationGOOGLE, refreshDuration}-        type FieldIsArray "refreshDuration" VkRefreshCycleDurationGOOGLE =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRefreshCycleDurationGOOGLE, refreshDuration}--instance {-# OVERLAPPING #-}-         CanReadField "refreshDuration" VkRefreshCycleDurationGOOGLE where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRefreshCycleDurationGOOGLE, refreshDuration})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRefreshCycleDurationGOOGLE, refreshDuration}--instance {-# OVERLAPPING #-}-         CanWriteField "refreshDuration" VkRefreshCycleDurationGOOGLE where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRefreshCycleDurationGOOGLE, refreshDuration}--instance Show VkRefreshCycleDurationGOOGLE where-        showsPrec d x-          = showString "VkRefreshCycleDurationGOOGLE {" .-              showString "refreshDuration = " .-                showsPrec d (getField @"refreshDuration" x) . showChar '}'+    type StructRep VkRefreshCycleDurationGOOGLE =+         'StructMeta "VkRefreshCycleDurationGOOGLE" -- ' closing tick for hsc2hs+           VkRefreshCycleDurationGOOGLE+           #{size VkRefreshCycleDurationGOOGLE}+           #{alignment VkRefreshCycleDurationGOOGLE}+           '[('FieldMeta "refreshDuration" Word64 'False  -- ' closing tick for hsc2hs+                                                         #{offset VkRefreshCycleDurationGOOGLE, refreshDuration}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/RenderPass.hsc view
@@ -2,1655 +2,339 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.RenderPass-       (VkRenderPassBeginInfo, VkRenderPassBeginInfo', -- ' closing tick for hsc2hs-        VkRenderPassCreateInfo, VkRenderPassCreateInfo', -- ' closing tick for hsc2hs-        VkRenderPassInputAttachmentAspectCreateInfo,-        VkRenderPassInputAttachmentAspectCreateInfo', -- ' closing tick for hsc2hs-        VkRenderPassInputAttachmentAspectCreateInfoKHR,-        VkRenderPassMultiviewCreateInfo, VkRenderPassMultiviewCreateInfo', -- ' closing tick for hsc2hs-        VkRenderPassMultiviewCreateInfoKHR,-        VkRenderPassSampleLocationsBeginInfoEXT,-        VkRenderPassSampleLocationsBeginInfoEXT') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                                            (Storable (..))-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Internal-import Graphics.Vulkan.Types.Bitmasks                              (VkRenderPassCreateFlags)-import Graphics.Vulkan.Types.Enum.StructureType                    (VkStructureType)-import Graphics.Vulkan.Types.Handles                               (VkFramebuffer,-                                                                    VkRenderPass)-import Graphics.Vulkan.Types.Struct.Attachment                     (VkAttachmentDescription,-                                                                    VkAttachmentSampleLocationsEXT)-import Graphics.Vulkan.Types.Struct.Clear                          (VkClearValue)-import Graphics.Vulkan.Types.Struct.InputAttachmentAspectReference (VkInputAttachmentAspectReference)-import Graphics.Vulkan.Types.Struct.Rect                           (VkRect2D)-import Graphics.Vulkan.Types.Struct.Subpass                        (VkSubpassDependency,-                                                                    VkSubpassDescription,-                                                                    VkSubpassSampleLocationsEXT)-import System.IO.Unsafe                                            (unsafeDupablePerformIO)---- | > typedef struct VkRenderPassBeginInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkRenderPass           renderPass;---   >     VkFramebuffer          framebuffer;---   >     VkRect2D               renderArea;---   >     uint32_t               clearValueCount;---   >     const VkClearValue*    pClearValues;---   > } VkRenderPassBeginInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkRenderPassBeginInfo VkRenderPassBeginInfo registry at www.khronos.org>-type VkRenderPassBeginInfo = VulkanStruct VkRenderPassBeginInfo' -- ' closing tick for hsc2hs--data VkRenderPassBeginInfo' -- ' closing tick for hsc2hs--instance Eq VkRenderPassBeginInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkRenderPassBeginInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkRenderPassBeginInfo where-        sizeOf ~_ = #{size VkRenderPassBeginInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkRenderPassBeginInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkRenderPassBeginInfo where-        type StructFields VkRenderPassBeginInfo =-             '["sType", "pNext", "renderPass", "framebuffer", "renderArea", -- ' closing tick for hsc2hs-               "clearValueCount", "pClearValues"]-        type CUnionType VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkRenderPassBeginInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkRenderPassBeginInfo-         where-        type FieldType "sType" VkRenderPassBeginInfo = VkStructureType-        type FieldOptional "sType" VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkRenderPassBeginInfo =-             #{offset VkRenderPassBeginInfo, sType}-        type FieldIsArray "sType" VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkRenderPassBeginInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkRenderPassBeginInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassBeginInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassBeginInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkRenderPassBeginInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassBeginInfo, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkRenderPassBeginInfo-         where-        type FieldType "pNext" VkRenderPassBeginInfo = Ptr Void-        type FieldOptional "pNext" VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkRenderPassBeginInfo =-             #{offset VkRenderPassBeginInfo, pNext}-        type FieldIsArray "pNext" VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkRenderPassBeginInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkRenderPassBeginInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassBeginInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassBeginInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkRenderPassBeginInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassBeginInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "renderPass" VkRenderPassBeginInfo where-        type FieldType "renderPass" VkRenderPassBeginInfo = VkRenderPass-        type FieldOptional "renderPass" VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "renderPass" VkRenderPassBeginInfo =-             #{offset VkRenderPassBeginInfo, renderPass}-        type FieldIsArray "renderPass" VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassBeginInfo, renderPass}--instance {-# OVERLAPPING #-}-         CanReadField "renderPass" VkRenderPassBeginInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassBeginInfo, renderPass})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassBeginInfo, renderPass}--instance {-# OVERLAPPING #-}-         CanWriteField "renderPass" VkRenderPassBeginInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassBeginInfo, renderPass}--instance {-# OVERLAPPING #-}-         HasField "framebuffer" VkRenderPassBeginInfo where-        type FieldType "framebuffer" VkRenderPassBeginInfo = VkFramebuffer-        type FieldOptional "framebuffer" VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "framebuffer" VkRenderPassBeginInfo =-             #{offset VkRenderPassBeginInfo, framebuffer}-        type FieldIsArray "framebuffer" VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassBeginInfo, framebuffer}--instance {-# OVERLAPPING #-}-         CanReadField "framebuffer" VkRenderPassBeginInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassBeginInfo, framebuffer})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassBeginInfo, framebuffer}--instance {-# OVERLAPPING #-}-         CanWriteField "framebuffer" VkRenderPassBeginInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassBeginInfo, framebuffer}--instance {-# OVERLAPPING #-}-         HasField "renderArea" VkRenderPassBeginInfo where-        type FieldType "renderArea" VkRenderPassBeginInfo = VkRect2D-        type FieldOptional "renderArea" VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "renderArea" VkRenderPassBeginInfo =-             #{offset VkRenderPassBeginInfo, renderArea}-        type FieldIsArray "renderArea" VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassBeginInfo, renderArea}--instance {-# OVERLAPPING #-}-         CanReadField "renderArea" VkRenderPassBeginInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassBeginInfo, renderArea})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassBeginInfo, renderArea}--instance {-# OVERLAPPING #-}-         CanWriteField "renderArea" VkRenderPassBeginInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassBeginInfo, renderArea}--instance {-# OVERLAPPING #-}-         HasField "clearValueCount" VkRenderPassBeginInfo where-        type FieldType "clearValueCount" VkRenderPassBeginInfo = Word32-        type FieldOptional "clearValueCount" VkRenderPassBeginInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "clearValueCount" VkRenderPassBeginInfo =-             #{offset VkRenderPassBeginInfo, clearValueCount}-        type FieldIsArray "clearValueCount" VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassBeginInfo, clearValueCount}--instance {-# OVERLAPPING #-}-         CanReadField "clearValueCount" VkRenderPassBeginInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassBeginInfo, clearValueCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassBeginInfo, clearValueCount}--instance {-# OVERLAPPING #-}-         CanWriteField "clearValueCount" VkRenderPassBeginInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassBeginInfo, clearValueCount}--instance {-# OVERLAPPING #-}-         HasField "pClearValues" VkRenderPassBeginInfo where-        type FieldType "pClearValues" VkRenderPassBeginInfo =-             Ptr VkClearValue-        type FieldOptional "pClearValues" VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pClearValues" VkRenderPassBeginInfo =-             #{offset VkRenderPassBeginInfo, pClearValues}-        type FieldIsArray "pClearValues" VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassBeginInfo, pClearValues}--instance {-# OVERLAPPING #-}-         CanReadField "pClearValues" VkRenderPassBeginInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassBeginInfo, pClearValues})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassBeginInfo, pClearValues}--instance {-# OVERLAPPING #-}-         CanWriteField "pClearValues" VkRenderPassBeginInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassBeginInfo, pClearValues}--instance Show VkRenderPassBeginInfo where-        showsPrec d x-          = showString "VkRenderPassBeginInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "renderPass = " .-                            showsPrec d (getField @"renderPass" x) .-                              showString ", " .-                                showString "framebuffer = " .-                                  showsPrec d (getField @"framebuffer" x) .-                                    showString ", " .-                                      showString "renderArea = " .-                                        showsPrec d (getField @"renderArea" x) .-                                          showString ", " .-                                            showString "clearValueCount = " .-                                              showsPrec d (getField @"clearValueCount" x) .-                                                showString ", " .-                                                  showString "pClearValues = " .-                                                    showsPrec d (getField @"pClearValues" x) .-                                                      showChar '}'---- | > typedef struct VkRenderPassCreateInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkRenderPassCreateFlags    flags;---   >     uint32_t   attachmentCount;---   >     const VkAttachmentDescription* pAttachments;---   >     uint32_t               subpassCount;---   >     const VkSubpassDescription* pSubpasses;---   >     uint32_t       dependencyCount;---   >     const VkSubpassDependency* pDependencies;---   > } VkRenderPassCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkRenderPassCreateInfo VkRenderPassCreateInfo registry at www.khronos.org>-type VkRenderPassCreateInfo = VulkanStruct VkRenderPassCreateInfo' -- ' closing tick for hsc2hs--data VkRenderPassCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkRenderPassCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkRenderPassCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkRenderPassCreateInfo where-        sizeOf ~_ = #{size VkRenderPassCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkRenderPassCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkRenderPassCreateInfo where-        type StructFields VkRenderPassCreateInfo =-             '["sType", "pNext", "flags", "attachmentCount", "pAttachments", -- ' closing tick for hsc2hs-               "subpassCount", "pSubpasses", "dependencyCount", "pDependencies"]-        type CUnionType VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkRenderPassCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkRenderPassCreateInfo where-        type FieldType "sType" VkRenderPassCreateInfo = VkStructureType-        type FieldOptional "sType" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkRenderPassCreateInfo =-             #{offset VkRenderPassCreateInfo, sType}-        type FieldIsArray "sType" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkRenderPassCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkRenderPassCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkRenderPassCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkRenderPassCreateInfo where-        type FieldType "pNext" VkRenderPassCreateInfo = Ptr Void-        type FieldOptional "pNext" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkRenderPassCreateInfo =-             #{offset VkRenderPassCreateInfo, pNext}-        type FieldIsArray "pNext" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkRenderPassCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkRenderPassCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkRenderPassCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkRenderPassCreateInfo where-        type FieldType "flags" VkRenderPassCreateInfo =-             VkRenderPassCreateFlags-        type FieldOptional "flags" VkRenderPassCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkRenderPassCreateInfo =-             #{offset VkRenderPassCreateInfo, flags}-        type FieldIsArray "flags" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkRenderPassCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkRenderPassCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkRenderPassCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassCreateInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "attachmentCount" VkRenderPassCreateInfo where-        type FieldType "attachmentCount" VkRenderPassCreateInfo = Word32-        type FieldOptional "attachmentCount" VkRenderPassCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "attachmentCount" VkRenderPassCreateInfo =-             #{offset VkRenderPassCreateInfo, attachmentCount}-        type FieldIsArray "attachmentCount" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassCreateInfo, attachmentCount}--instance {-# OVERLAPPING #-}-         CanReadField "attachmentCount" VkRenderPassCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassCreateInfo, attachmentCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassCreateInfo, attachmentCount}--instance {-# OVERLAPPING #-}-         CanWriteField "attachmentCount" VkRenderPassCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassCreateInfo, attachmentCount}--instance {-# OVERLAPPING #-}-         HasField "pAttachments" VkRenderPassCreateInfo where-        type FieldType "pAttachments" VkRenderPassCreateInfo =-             Ptr VkAttachmentDescription-        type FieldOptional "pAttachments" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pAttachments" VkRenderPassCreateInfo =-             #{offset VkRenderPassCreateInfo, pAttachments}-        type FieldIsArray "pAttachments" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassCreateInfo, pAttachments}--instance {-# OVERLAPPING #-}-         CanReadField "pAttachments" VkRenderPassCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassCreateInfo, pAttachments})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassCreateInfo, pAttachments}--instance {-# OVERLAPPING #-}-         CanWriteField "pAttachments" VkRenderPassCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassCreateInfo, pAttachments}--instance {-# OVERLAPPING #-}-         HasField "subpassCount" VkRenderPassCreateInfo where-        type FieldType "subpassCount" VkRenderPassCreateInfo = Word32-        type FieldOptional "subpassCount" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "subpassCount" VkRenderPassCreateInfo =-             #{offset VkRenderPassCreateInfo, subpassCount}-        type FieldIsArray "subpassCount" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassCreateInfo, subpassCount}--instance {-# OVERLAPPING #-}-         CanReadField "subpassCount" VkRenderPassCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassCreateInfo, subpassCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassCreateInfo, subpassCount}--instance {-# OVERLAPPING #-}-         CanWriteField "subpassCount" VkRenderPassCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassCreateInfo, subpassCount}--instance {-# OVERLAPPING #-}-         HasField "pSubpasses" VkRenderPassCreateInfo where-        type FieldType "pSubpasses" VkRenderPassCreateInfo =-             Ptr VkSubpassDescription-        type FieldOptional "pSubpasses" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pSubpasses" VkRenderPassCreateInfo =-             #{offset VkRenderPassCreateInfo, pSubpasses}-        type FieldIsArray "pSubpasses" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassCreateInfo, pSubpasses}--instance {-# OVERLAPPING #-}-         CanReadField "pSubpasses" VkRenderPassCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassCreateInfo, pSubpasses})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassCreateInfo, pSubpasses}--instance {-# OVERLAPPING #-}-         CanWriteField "pSubpasses" VkRenderPassCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassCreateInfo, pSubpasses}--instance {-# OVERLAPPING #-}-         HasField "dependencyCount" VkRenderPassCreateInfo where-        type FieldType "dependencyCount" VkRenderPassCreateInfo = Word32-        type FieldOptional "dependencyCount" VkRenderPassCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "dependencyCount" VkRenderPassCreateInfo =-             #{offset VkRenderPassCreateInfo, dependencyCount}-        type FieldIsArray "dependencyCount" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassCreateInfo, dependencyCount}--instance {-# OVERLAPPING #-}-         CanReadField "dependencyCount" VkRenderPassCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassCreateInfo, dependencyCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassCreateInfo, dependencyCount}--instance {-# OVERLAPPING #-}-         CanWriteField "dependencyCount" VkRenderPassCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassCreateInfo, dependencyCount}--instance {-# OVERLAPPING #-}-         HasField "pDependencies" VkRenderPassCreateInfo where-        type FieldType "pDependencies" VkRenderPassCreateInfo =-             Ptr VkSubpassDependency-        type FieldOptional "pDependencies" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pDependencies" VkRenderPassCreateInfo =-             #{offset VkRenderPassCreateInfo, pDependencies}-        type FieldIsArray "pDependencies" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassCreateInfo, pDependencies}--instance {-# OVERLAPPING #-}-         CanReadField "pDependencies" VkRenderPassCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassCreateInfo, pDependencies})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassCreateInfo, pDependencies}--instance {-# OVERLAPPING #-}-         CanWriteField "pDependencies" VkRenderPassCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassCreateInfo, pDependencies}--instance Show VkRenderPassCreateInfo where-        showsPrec d x-          = showString "VkRenderPassCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "attachmentCount = " .-                                  showsPrec d (getField @"attachmentCount" x) .-                                    showString ", " .-                                      showString "pAttachments = " .-                                        showsPrec d (getField @"pAttachments" x) .-                                          showString ", " .-                                            showString "subpassCount = " .-                                              showsPrec d (getField @"subpassCount" x) .-                                                showString ", " .-                                                  showString "pSubpasses = " .-                                                    showsPrec d (getField @"pSubpasses" x) .-                                                      showString ", " .-                                                        showString "dependencyCount = " .-                                                          showsPrec d-                                                            (getField @"dependencyCount" x)-                                                            .-                                                            showString ", " .-                                                              showString "pDependencies = " .-                                                                showsPrec d-                                                                  (getField @"pDependencies" x)-                                                                  . showChar '}'---- | > typedef struct VkRenderPassInputAttachmentAspectCreateInfo {---   >     VkStructureType sType;---   >     const void*                     pNext;---   >     uint32_t                        aspectReferenceCount;---   >     const VkInputAttachmentAspectReference* pAspectReferences;---   > } VkRenderPassInputAttachmentAspectCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfo registry at www.khronos.org>-type VkRenderPassInputAttachmentAspectCreateInfo =-     VulkanStruct VkRenderPassInputAttachmentAspectCreateInfo' -- ' closing tick for hsc2hs--data VkRenderPassInputAttachmentAspectCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkRenderPassInputAttachmentAspectCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkRenderPassInputAttachmentAspectCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkRenderPassInputAttachmentAspectCreateInfo where-        sizeOf ~_-          = #{size VkRenderPassInputAttachmentAspectCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkRenderPassInputAttachmentAspectCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkRenderPassInputAttachmentAspectCreateInfo-         where-        type StructFields VkRenderPassInputAttachmentAspectCreateInfo =-             '["sType", "pNext", "aspectReferenceCount", "pAspectReferences"] -- ' closing tick for hsc2hs-        type CUnionType VkRenderPassInputAttachmentAspectCreateInfo =-             'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkRenderPassInputAttachmentAspectCreateInfo =-             'False -- ' closing tick for hsc2hs-        type StructExtends VkRenderPassInputAttachmentAspectCreateInfo =-             '[VkRenderPassCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkRenderPassInputAttachmentAspectCreateInfo where-        type FieldType "sType" VkRenderPassInputAttachmentAspectCreateInfo-             = VkStructureType-        type FieldOptional "sType"-               VkRenderPassInputAttachmentAspectCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkRenderPassInputAttachmentAspectCreateInfo-             =-             #{offset VkRenderPassInputAttachmentAspectCreateInfo, sType}-        type FieldIsArray "sType"-               VkRenderPassInputAttachmentAspectCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassInputAttachmentAspectCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkRenderPassInputAttachmentAspectCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassInputAttachmentAspectCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassInputAttachmentAspectCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkRenderPassInputAttachmentAspectCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassInputAttachmentAspectCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkRenderPassInputAttachmentAspectCreateInfo where-        type FieldType "pNext" VkRenderPassInputAttachmentAspectCreateInfo-             = Ptr Void-        type FieldOptional "pNext"-               VkRenderPassInputAttachmentAspectCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkRenderPassInputAttachmentAspectCreateInfo-             =-             #{offset VkRenderPassInputAttachmentAspectCreateInfo, pNext}-        type FieldIsArray "pNext"-               VkRenderPassInputAttachmentAspectCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassInputAttachmentAspectCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkRenderPassInputAttachmentAspectCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassInputAttachmentAspectCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassInputAttachmentAspectCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkRenderPassInputAttachmentAspectCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassInputAttachmentAspectCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "aspectReferenceCount"-           VkRenderPassInputAttachmentAspectCreateInfo-         where-        type FieldType "aspectReferenceCount"-               VkRenderPassInputAttachmentAspectCreateInfo-             = Word32-        type FieldOptional "aspectReferenceCount"-               VkRenderPassInputAttachmentAspectCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "aspectReferenceCount"-               VkRenderPassInputAttachmentAspectCreateInfo-             =-             #{offset VkRenderPassInputAttachmentAspectCreateInfo, aspectReferenceCount}-        type FieldIsArray "aspectReferenceCount"-               VkRenderPassInputAttachmentAspectCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassInputAttachmentAspectCreateInfo, aspectReferenceCount}--instance {-# OVERLAPPING #-}-         CanReadField "aspectReferenceCount"-           VkRenderPassInputAttachmentAspectCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassInputAttachmentAspectCreateInfo, aspectReferenceCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassInputAttachmentAspectCreateInfo, aspectReferenceCount}--instance {-# OVERLAPPING #-}-         CanWriteField "aspectReferenceCount"-           VkRenderPassInputAttachmentAspectCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassInputAttachmentAspectCreateInfo, aspectReferenceCount}--instance {-# OVERLAPPING #-}-         HasField "pAspectReferences"-           VkRenderPassInputAttachmentAspectCreateInfo-         where-        type FieldType "pAspectReferences"-               VkRenderPassInputAttachmentAspectCreateInfo-             = Ptr VkInputAttachmentAspectReference-        type FieldOptional "pAspectReferences"-               VkRenderPassInputAttachmentAspectCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pAspectReferences"-               VkRenderPassInputAttachmentAspectCreateInfo-             =-             #{offset VkRenderPassInputAttachmentAspectCreateInfo, pAspectReferences}-        type FieldIsArray "pAspectReferences"-               VkRenderPassInputAttachmentAspectCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassInputAttachmentAspectCreateInfo, pAspectReferences}--instance {-# OVERLAPPING #-}-         CanReadField "pAspectReferences"-           VkRenderPassInputAttachmentAspectCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassInputAttachmentAspectCreateInfo, pAspectReferences})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassInputAttachmentAspectCreateInfo, pAspectReferences}--instance {-# OVERLAPPING #-}-         CanWriteField "pAspectReferences"-           VkRenderPassInputAttachmentAspectCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassInputAttachmentAspectCreateInfo, pAspectReferences}--instance Show VkRenderPassInputAttachmentAspectCreateInfo where-        showsPrec d x-          = showString "VkRenderPassInputAttachmentAspectCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "aspectReferenceCount = " .-                            showsPrec d (getField @"aspectReferenceCount" x) .-                              showString ", " .-                                showString "pAspectReferences = " .-                                  showsPrec d (getField @"pAspectReferences" x) . showChar '}'---- | Alias for `VkRenderPassInputAttachmentAspectCreateInfo`-type VkRenderPassInputAttachmentAspectCreateInfoKHR =-     VkRenderPassInputAttachmentAspectCreateInfo---- | > typedef struct VkRenderPassMultiviewCreateInfo {---   >     VkStructureType        sType;---   >     const void*            pNext;---   >     uint32_t               subpassCount;---   >     const uint32_t*     pViewMasks;---   >     uint32_t               dependencyCount;---   >     const int32_t*   pViewOffsets;---   >     uint32_t               correlationMaskCount;---   >     const uint32_t* pCorrelationMasks;---   > } VkRenderPassMultiviewCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfo registry at www.khronos.org>-type VkRenderPassMultiviewCreateInfo =-     VulkanStruct VkRenderPassMultiviewCreateInfo' -- ' closing tick for hsc2hs--data VkRenderPassMultiviewCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkRenderPassMultiviewCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkRenderPassMultiviewCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkRenderPassMultiviewCreateInfo where-        sizeOf ~_ = #{size VkRenderPassMultiviewCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkRenderPassMultiviewCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkRenderPassMultiviewCreateInfo where-        type StructFields VkRenderPassMultiviewCreateInfo =-             '["sType", "pNext", "subpassCount", "pViewMasks", -- ' closing tick for hsc2hs-               "dependencyCount", "pViewOffsets", "correlationMaskCount",-               "pCorrelationMasks"]-        type CUnionType VkRenderPassMultiviewCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkRenderPassMultiviewCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkRenderPassMultiviewCreateInfo =-             '[VkRenderPassCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkRenderPassMultiviewCreateInfo where-        type FieldType "sType" VkRenderPassMultiviewCreateInfo =-             VkStructureType-        type FieldOptional "sType" VkRenderPassMultiviewCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkRenderPassMultiviewCreateInfo =-             #{offset VkRenderPassMultiviewCreateInfo, sType}-        type FieldIsArray "sType" VkRenderPassMultiviewCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassMultiviewCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkRenderPassMultiviewCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassMultiviewCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassMultiviewCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkRenderPassMultiviewCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassMultiviewCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkRenderPassMultiviewCreateInfo where-        type FieldType "pNext" VkRenderPassMultiviewCreateInfo = Ptr Void-        type FieldOptional "pNext" VkRenderPassMultiviewCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkRenderPassMultiviewCreateInfo =-             #{offset VkRenderPassMultiviewCreateInfo, pNext}-        type FieldIsArray "pNext" VkRenderPassMultiviewCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassMultiviewCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkRenderPassMultiviewCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassMultiviewCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassMultiviewCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkRenderPassMultiviewCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassMultiviewCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "subpassCount" VkRenderPassMultiviewCreateInfo where-        type FieldType "subpassCount" VkRenderPassMultiviewCreateInfo =-             Word32-        type FieldOptional "subpassCount" VkRenderPassMultiviewCreateInfo =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "subpassCount" VkRenderPassMultiviewCreateInfo =-             #{offset VkRenderPassMultiviewCreateInfo, subpassCount}-        type FieldIsArray "subpassCount" VkRenderPassMultiviewCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassMultiviewCreateInfo, subpassCount}--instance {-# OVERLAPPING #-}-         CanReadField "subpassCount" VkRenderPassMultiviewCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassMultiviewCreateInfo, subpassCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassMultiviewCreateInfo, subpassCount}--instance {-# OVERLAPPING #-}-         CanWriteField "subpassCount" VkRenderPassMultiviewCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassMultiviewCreateInfo, subpassCount}--instance {-# OVERLAPPING #-}-         HasField "pViewMasks" VkRenderPassMultiviewCreateInfo where-        type FieldType "pViewMasks" VkRenderPassMultiviewCreateInfo =-             Ptr Word32-        type FieldOptional "pViewMasks" VkRenderPassMultiviewCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pViewMasks" VkRenderPassMultiviewCreateInfo =-             #{offset VkRenderPassMultiviewCreateInfo, pViewMasks}-        type FieldIsArray "pViewMasks" VkRenderPassMultiviewCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassMultiviewCreateInfo, pViewMasks}--instance {-# OVERLAPPING #-}-         CanReadField "pViewMasks" VkRenderPassMultiviewCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassMultiviewCreateInfo, pViewMasks})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassMultiviewCreateInfo, pViewMasks}--instance {-# OVERLAPPING #-}-         CanWriteField "pViewMasks" VkRenderPassMultiviewCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassMultiviewCreateInfo, pViewMasks}--instance {-# OVERLAPPING #-}-         HasField "dependencyCount" VkRenderPassMultiviewCreateInfo where-        type FieldType "dependencyCount" VkRenderPassMultiviewCreateInfo =-             Word32-        type FieldOptional "dependencyCount"-               VkRenderPassMultiviewCreateInfo-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "dependencyCount" VkRenderPassMultiviewCreateInfo-             =-             #{offset VkRenderPassMultiviewCreateInfo, dependencyCount}-        type FieldIsArray "dependencyCount" VkRenderPassMultiviewCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassMultiviewCreateInfo, dependencyCount}--instance {-# OVERLAPPING #-}-         CanReadField "dependencyCount" VkRenderPassMultiviewCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassMultiviewCreateInfo, dependencyCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassMultiviewCreateInfo, dependencyCount}--instance {-# OVERLAPPING #-}-         CanWriteField "dependencyCount" VkRenderPassMultiviewCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassMultiviewCreateInfo, dependencyCount}--instance {-# OVERLAPPING #-}-         HasField "pViewOffsets" VkRenderPassMultiviewCreateInfo where-        type FieldType "pViewOffsets" VkRenderPassMultiviewCreateInfo =-             Ptr Int32-        type FieldOptional "pViewOffsets" VkRenderPassMultiviewCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pViewOffsets" VkRenderPassMultiviewCreateInfo =-             #{offset VkRenderPassMultiviewCreateInfo, pViewOffsets}-        type FieldIsArray "pViewOffsets" VkRenderPassMultiviewCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassMultiviewCreateInfo, pViewOffsets}--instance {-# OVERLAPPING #-}-         CanReadField "pViewOffsets" VkRenderPassMultiviewCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassMultiviewCreateInfo, pViewOffsets})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassMultiviewCreateInfo, pViewOffsets}--instance {-# OVERLAPPING #-}-         CanWriteField "pViewOffsets" VkRenderPassMultiviewCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassMultiviewCreateInfo, pViewOffsets}--instance {-# OVERLAPPING #-}-         HasField "correlationMaskCount" VkRenderPassMultiviewCreateInfo-         where-        type FieldType "correlationMaskCount"-               VkRenderPassMultiviewCreateInfo-             = Word32-        type FieldOptional "correlationMaskCount"-               VkRenderPassMultiviewCreateInfo-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "correlationMaskCount"-               VkRenderPassMultiviewCreateInfo-             =-             #{offset VkRenderPassMultiviewCreateInfo, correlationMaskCount}-        type FieldIsArray "correlationMaskCount"-               VkRenderPassMultiviewCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassMultiviewCreateInfo, correlationMaskCount}--instance {-# OVERLAPPING #-}-         CanReadField "correlationMaskCount" VkRenderPassMultiviewCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassMultiviewCreateInfo, correlationMaskCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassMultiviewCreateInfo, correlationMaskCount}--instance {-# OVERLAPPING #-}-         CanWriteField "correlationMaskCount"-           VkRenderPassMultiviewCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassMultiviewCreateInfo, correlationMaskCount}--instance {-# OVERLAPPING #-}-         HasField "pCorrelationMasks" VkRenderPassMultiviewCreateInfo where-        type FieldType "pCorrelationMasks" VkRenderPassMultiviewCreateInfo-             = Ptr Word32-        type FieldOptional "pCorrelationMasks"-               VkRenderPassMultiviewCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pCorrelationMasks"-               VkRenderPassMultiviewCreateInfo-             =-             #{offset VkRenderPassMultiviewCreateInfo, pCorrelationMasks}-        type FieldIsArray "pCorrelationMasks"-               VkRenderPassMultiviewCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassMultiviewCreateInfo, pCorrelationMasks}--instance {-# OVERLAPPING #-}-         CanReadField "pCorrelationMasks" VkRenderPassMultiviewCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassMultiviewCreateInfo, pCorrelationMasks})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassMultiviewCreateInfo, pCorrelationMasks}--instance {-# OVERLAPPING #-}-         CanWriteField "pCorrelationMasks" VkRenderPassMultiviewCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassMultiviewCreateInfo, pCorrelationMasks}--instance Show VkRenderPassMultiviewCreateInfo where-        showsPrec d x-          = showString "VkRenderPassMultiviewCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "subpassCount = " .-                            showsPrec d (getField @"subpassCount" x) .-                              showString ", " .-                                showString "pViewMasks = " .-                                  showsPrec d (getField @"pViewMasks" x) .-                                    showString ", " .-                                      showString "dependencyCount = " .-                                        showsPrec d (getField @"dependencyCount" x) .-                                          showString ", " .-                                            showString "pViewOffsets = " .-                                              showsPrec d (getField @"pViewOffsets" x) .-                                                showString ", " .-                                                  showString "correlationMaskCount = " .-                                                    showsPrec d (getField @"correlationMaskCount" x)-                                                      .-                                                      showString ", " .-                                                        showString "pCorrelationMasks = " .-                                                          showsPrec d-                                                            (getField @"pCorrelationMasks" x)-                                                            . showChar '}'---- | Alias for `VkRenderPassMultiviewCreateInfo`-type VkRenderPassMultiviewCreateInfoKHR =-     VkRenderPassMultiviewCreateInfo---- | > typedef struct VkRenderPassSampleLocationsBeginInfoEXT {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     uint32_t         attachmentInitialSampleLocationsCount;---   >     const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;---   >     uint32_t         postSubpassSampleLocationsCount;---   >     const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;---   > } VkRenderPassSampleLocationsBeginInfoEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkRenderPassSampleLocationsBeginInfoEXT VkRenderPassSampleLocationsBeginInfoEXT registry at www.khronos.org>-type VkRenderPassSampleLocationsBeginInfoEXT =-     VulkanStruct VkRenderPassSampleLocationsBeginInfoEXT' -- ' closing tick for hsc2hs--data VkRenderPassSampleLocationsBeginInfoEXT' -- ' closing tick for hsc2hs--instance Eq VkRenderPassSampleLocationsBeginInfoEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkRenderPassSampleLocationsBeginInfoEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkRenderPassSampleLocationsBeginInfoEXT where-        sizeOf ~_-          = #{size VkRenderPassSampleLocationsBeginInfoEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkRenderPassSampleLocationsBeginInfoEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkRenderPassSampleLocationsBeginInfoEXT-         where-        type StructFields VkRenderPassSampleLocationsBeginInfoEXT =-             '["sType", "pNext", "attachmentInitialSampleLocationsCount", -- ' closing tick for hsc2hs-               "pAttachmentInitialSampleLocations",-               "postSubpassSampleLocationsCount", "pPostSubpassSampleLocations"]-        type CUnionType VkRenderPassSampleLocationsBeginInfoEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkRenderPassSampleLocationsBeginInfoEXT = 'False -- ' closing tick for hsc2hs-        type StructExtends VkRenderPassSampleLocationsBeginInfoEXT =-             '[VkRenderPassBeginInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkRenderPassSampleLocationsBeginInfoEXT where-        type FieldType "sType" VkRenderPassSampleLocationsBeginInfoEXT =-             VkStructureType-        type FieldOptional "sType" VkRenderPassSampleLocationsBeginInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkRenderPassSampleLocationsBeginInfoEXT =-             #{offset VkRenderPassSampleLocationsBeginInfoEXT, sType}-        type FieldIsArray "sType" VkRenderPassSampleLocationsBeginInfoEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassSampleLocationsBeginInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkRenderPassSampleLocationsBeginInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassSampleLocationsBeginInfoEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassSampleLocationsBeginInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkRenderPassSampleLocationsBeginInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassSampleLocationsBeginInfoEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkRenderPassSampleLocationsBeginInfoEXT where-        type FieldType "pNext" VkRenderPassSampleLocationsBeginInfoEXT =-             Ptr Void-        type FieldOptional "pNext" VkRenderPassSampleLocationsBeginInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkRenderPassSampleLocationsBeginInfoEXT =-             #{offset VkRenderPassSampleLocationsBeginInfoEXT, pNext}-        type FieldIsArray "pNext" VkRenderPassSampleLocationsBeginInfoEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassSampleLocationsBeginInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkRenderPassSampleLocationsBeginInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassSampleLocationsBeginInfoEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassSampleLocationsBeginInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkRenderPassSampleLocationsBeginInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassSampleLocationsBeginInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "attachmentInitialSampleLocationsCount"-           VkRenderPassSampleLocationsBeginInfoEXT-         where-        type FieldType "attachmentInitialSampleLocationsCount"-               VkRenderPassSampleLocationsBeginInfoEXT-             = Word32-        type FieldOptional "attachmentInitialSampleLocationsCount"-               VkRenderPassSampleLocationsBeginInfoEXT-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "attachmentInitialSampleLocationsCount"-               VkRenderPassSampleLocationsBeginInfoEXT-             =-             #{offset VkRenderPassSampleLocationsBeginInfoEXT, attachmentInitialSampleLocationsCount}-        type FieldIsArray "attachmentInitialSampleLocationsCount"-               VkRenderPassSampleLocationsBeginInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassSampleLocationsBeginInfoEXT, attachmentInitialSampleLocationsCount}--instance {-# OVERLAPPING #-}-         CanReadField "attachmentInitialSampleLocationsCount"-           VkRenderPassSampleLocationsBeginInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassSampleLocationsBeginInfoEXT, attachmentInitialSampleLocationsCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassSampleLocationsBeginInfoEXT, attachmentInitialSampleLocationsCount}--instance {-# OVERLAPPING #-}-         CanWriteField "attachmentInitialSampleLocationsCount"-           VkRenderPassSampleLocationsBeginInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassSampleLocationsBeginInfoEXT, attachmentInitialSampleLocationsCount}--instance {-# OVERLAPPING #-}-         HasField "pAttachmentInitialSampleLocations"-           VkRenderPassSampleLocationsBeginInfoEXT-         where-        type FieldType "pAttachmentInitialSampleLocations"-               VkRenderPassSampleLocationsBeginInfoEXT-             = Ptr VkAttachmentSampleLocationsEXT-        type FieldOptional "pAttachmentInitialSampleLocations"-               VkRenderPassSampleLocationsBeginInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pAttachmentInitialSampleLocations"-               VkRenderPassSampleLocationsBeginInfoEXT-             =-             #{offset VkRenderPassSampleLocationsBeginInfoEXT, pAttachmentInitialSampleLocations}-        type FieldIsArray "pAttachmentInitialSampleLocations"-               VkRenderPassSampleLocationsBeginInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassSampleLocationsBeginInfoEXT, pAttachmentInitialSampleLocations}--instance {-# OVERLAPPING #-}-         CanReadField "pAttachmentInitialSampleLocations"-           VkRenderPassSampleLocationsBeginInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassSampleLocationsBeginInfoEXT, pAttachmentInitialSampleLocations})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassSampleLocationsBeginInfoEXT, pAttachmentInitialSampleLocations}--instance {-# OVERLAPPING #-}-         CanWriteField "pAttachmentInitialSampleLocations"-           VkRenderPassSampleLocationsBeginInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassSampleLocationsBeginInfoEXT, pAttachmentInitialSampleLocations}--instance {-# OVERLAPPING #-}-         HasField "postSubpassSampleLocationsCount"-           VkRenderPassSampleLocationsBeginInfoEXT-         where-        type FieldType "postSubpassSampleLocationsCount"-               VkRenderPassSampleLocationsBeginInfoEXT-             = Word32-        type FieldOptional "postSubpassSampleLocationsCount"-               VkRenderPassSampleLocationsBeginInfoEXT-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "postSubpassSampleLocationsCount"-               VkRenderPassSampleLocationsBeginInfoEXT-             =-             #{offset VkRenderPassSampleLocationsBeginInfoEXT, postSubpassSampleLocationsCount}-        type FieldIsArray "postSubpassSampleLocationsCount"-               VkRenderPassSampleLocationsBeginInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassSampleLocationsBeginInfoEXT, postSubpassSampleLocationsCount}--instance {-# OVERLAPPING #-}-         CanReadField "postSubpassSampleLocationsCount"-           VkRenderPassSampleLocationsBeginInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassSampleLocationsBeginInfoEXT, postSubpassSampleLocationsCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassSampleLocationsBeginInfoEXT, postSubpassSampleLocationsCount}--instance {-# OVERLAPPING #-}-         CanWriteField "postSubpassSampleLocationsCount"-           VkRenderPassSampleLocationsBeginInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassSampleLocationsBeginInfoEXT, postSubpassSampleLocationsCount}--instance {-# OVERLAPPING #-}-         HasField "pPostSubpassSampleLocations"-           VkRenderPassSampleLocationsBeginInfoEXT-         where-        type FieldType "pPostSubpassSampleLocations"-               VkRenderPassSampleLocationsBeginInfoEXT-             = Ptr VkSubpassSampleLocationsEXT-        type FieldOptional "pPostSubpassSampleLocations"-               VkRenderPassSampleLocationsBeginInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pPostSubpassSampleLocations"-               VkRenderPassSampleLocationsBeginInfoEXT-             =-             #{offset VkRenderPassSampleLocationsBeginInfoEXT, pPostSubpassSampleLocations}-        type FieldIsArray "pPostSubpassSampleLocations"-               VkRenderPassSampleLocationsBeginInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkRenderPassSampleLocationsBeginInfoEXT, pPostSubpassSampleLocations}--instance {-# OVERLAPPING #-}-         CanReadField "pPostSubpassSampleLocations"-           VkRenderPassSampleLocationsBeginInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkRenderPassSampleLocationsBeginInfoEXT, pPostSubpassSampleLocations})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkRenderPassSampleLocationsBeginInfoEXT, pPostSubpassSampleLocations}--instance {-# OVERLAPPING #-}-         CanWriteField "pPostSubpassSampleLocations"-           VkRenderPassSampleLocationsBeginInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkRenderPassSampleLocationsBeginInfoEXT, pPostSubpassSampleLocations}--instance Show VkRenderPassSampleLocationsBeginInfoEXT where-        showsPrec d x-          = showString "VkRenderPassSampleLocationsBeginInfoEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "attachmentInitialSampleLocationsCount = " .-                            showsPrec d (getField @"attachmentInitialSampleLocationsCount" x) .-                              showString ", " .-                                showString "pAttachmentInitialSampleLocations = " .-                                  showsPrec d (getField @"pAttachmentInitialSampleLocations" x) .-                                    showString ", " .-                                      showString "postSubpassSampleLocationsCount = " .-                                        showsPrec d (getField @"postSubpassSampleLocationsCount" x)-                                          .-                                          showString ", " .-                                            showString "pPostSubpassSampleLocations = " .-                                              showsPrec d-                                                (getField @"pPostSubpassSampleLocations" x)-                                                . showChar '}'+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.RenderPass+       (VkRenderPassBeginInfo, VkRenderPassCreateInfo,+        VkRenderPassInputAttachmentAspectCreateInfo,+        VkRenderPassInputAttachmentAspectCreateInfoKHR,+        VkRenderPassMultiviewCreateInfo,+        VkRenderPassMultiviewCreateInfoKHR,+        VkRenderPassSampleLocationsBeginInfoEXT)+       where+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Bitmasks                              (VkRenderPassCreateFlags)+import Graphics.Vulkan.Types.Enum.StructureType                    (VkStructureType)+import Graphics.Vulkan.Types.Handles                               (VkFramebuffer,+                                                                    VkRenderPass)+import Graphics.Vulkan.Types.Struct.Attachment                     (VkAttachmentDescription,+                                                                    VkAttachmentSampleLocationsEXT)+import Graphics.Vulkan.Types.Struct.Clear                          (VkClearValue)+import Graphics.Vulkan.Types.Struct.InputAttachmentAspectReference (VkInputAttachmentAspectReference)+import Graphics.Vulkan.Types.Struct.Rect                           (VkRect2D)+import Graphics.Vulkan.Types.Struct.Subpass                        (VkSubpassDependency,+                                                                    VkSubpassDescription,+                                                                    VkSubpassSampleLocationsEXT)++-- | > typedef struct VkRenderPassBeginInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkRenderPass           renderPass;+--   >     VkFramebuffer          framebuffer;+--   >     VkRect2D               renderArea;+--   >     uint32_t               clearValueCount;+--   >     const VkClearValue*    pClearValues;+--   > } VkRenderPassBeginInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkRenderPassBeginInfo VkRenderPassBeginInfo registry at www.khronos.org>+type VkRenderPassBeginInfo = VkStruct VkRenderPassBeginInfo' -- ' closing tick for hsc2hs++data VkRenderPassBeginInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkRenderPassBeginInfo where+    type StructRep VkRenderPassBeginInfo =+         'StructMeta "VkRenderPassBeginInfo" VkRenderPassBeginInfo  -- ' closing tick for hsc2hs+                                                                   #{size VkRenderPassBeginInfo}+           #{alignment VkRenderPassBeginInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkRenderPassBeginInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkRenderPassBeginInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "renderPass" VkRenderPass 'False +                                                          #{offset VkRenderPassBeginInfo, renderPass}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "framebuffer" VkFramebuffer 'False +                                                            #{offset VkRenderPassBeginInfo, framebuffer}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "renderArea" VkRect2D 'False +                                                      #{offset VkRenderPassBeginInfo, renderArea}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "clearValueCount" Word32 'True +                                                        #{offset VkRenderPassBeginInfo, clearValueCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pClearValues" (Ptr VkClearValue) 'False +                                                                  #{offset VkRenderPassBeginInfo, pClearValues}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkRenderPassCreateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkRenderPassCreateFlags    flags;+--   >     uint32_t   attachmentCount;+--   >     const VkAttachmentDescription* pAttachments;+--   >     uint32_t               subpassCount;+--   >     const VkSubpassDescription* pSubpasses;+--   >     uint32_t       dependencyCount;+--   >     const VkSubpassDependency* pDependencies;+--   > } VkRenderPassCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkRenderPassCreateInfo VkRenderPassCreateInfo registry at www.khronos.org>+type VkRenderPassCreateInfo = VkStruct VkRenderPassCreateInfo' -- ' closing tick for hsc2hs++data VkRenderPassCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkRenderPassCreateInfo where+    type StructRep VkRenderPassCreateInfo =+         'StructMeta "VkRenderPassCreateInfo" VkRenderPassCreateInfo -- ' closing tick for hsc2hs+           #{size VkRenderPassCreateInfo}+           #{alignment VkRenderPassCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkRenderPassCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkRenderPassCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkRenderPassCreateFlags 'True +                                                               #{offset VkRenderPassCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "attachmentCount" Word32 'True +                                                        #{offset VkRenderPassCreateInfo, attachmentCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pAttachments" (Ptr VkAttachmentDescription) 'False+                #{offset VkRenderPassCreateInfo, pAttachments}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "subpassCount" Word32 'False +                                                      #{offset VkRenderPassCreateInfo, subpassCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pSubpasses" (Ptr VkSubpassDescription) 'False+                #{offset VkRenderPassCreateInfo, pSubpasses}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dependencyCount" Word32 'True +                                                        #{offset VkRenderPassCreateInfo, dependencyCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pDependencies" (Ptr VkSubpassDependency) 'False+                #{offset VkRenderPassCreateInfo, pDependencies}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkRenderPassInputAttachmentAspectCreateInfo {+--   >     VkStructureType sType;+--   >     const void*                     pNext;+--   >     uint32_t                        aspectReferenceCount;+--   >     const VkInputAttachmentAspectReference* pAspectReferences;+--   > } VkRenderPassInputAttachmentAspectCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfo registry at www.khronos.org>+type VkRenderPassInputAttachmentAspectCreateInfo =+     VkStruct VkRenderPassInputAttachmentAspectCreateInfo' -- ' closing tick for hsc2hs++data VkRenderPassInputAttachmentAspectCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkRenderPassInputAttachmentAspectCreateInfo+         where+    type StructRep VkRenderPassInputAttachmentAspectCreateInfo =+         'StructMeta "VkRenderPassInputAttachmentAspectCreateInfo" -- ' closing tick for hsc2hs+           VkRenderPassInputAttachmentAspectCreateInfo+           #{size VkRenderPassInputAttachmentAspectCreateInfo}+           #{alignment VkRenderPassInputAttachmentAspectCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkRenderPassInputAttachmentAspectCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkRenderPassInputAttachmentAspectCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "aspectReferenceCount" Word32 'False +                                                              #{offset VkRenderPassInputAttachmentAspectCreateInfo, aspectReferenceCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pAspectReferences" -- ' closing tick for hsc2hs+                (Ptr VkInputAttachmentAspectReference)+                'False -- ' closing tick for hsc2hs+                #{offset VkRenderPassInputAttachmentAspectCreateInfo, pAspectReferences}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkRenderPassCreateInfo] -- ' closing tick for hsc2hs++-- | Alias for `VkRenderPassInputAttachmentAspectCreateInfo`+type VkRenderPassInputAttachmentAspectCreateInfoKHR =+     VkRenderPassInputAttachmentAspectCreateInfo++-- | > typedef struct VkRenderPassMultiviewCreateInfo {+--   >     VkStructureType        sType;+--   >     const void*            pNext;+--   >     uint32_t               subpassCount;+--   >     const uint32_t*     pViewMasks;+--   >     uint32_t               dependencyCount;+--   >     const int32_t*   pViewOffsets;+--   >     uint32_t               correlationMaskCount;+--   >     const uint32_t* pCorrelationMasks;+--   > } VkRenderPassMultiviewCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfo registry at www.khronos.org>+type VkRenderPassMultiviewCreateInfo =+     VkStruct VkRenderPassMultiviewCreateInfo' -- ' closing tick for hsc2hs++data VkRenderPassMultiviewCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkRenderPassMultiviewCreateInfo where+    type StructRep VkRenderPassMultiviewCreateInfo =+         'StructMeta "VkRenderPassMultiviewCreateInfo" -- ' closing tick for hsc2hs+           VkRenderPassMultiviewCreateInfo+           #{size VkRenderPassMultiviewCreateInfo}+           #{alignment VkRenderPassMultiviewCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkRenderPassMultiviewCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkRenderPassMultiviewCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "subpassCount" Word32 'True +                                                     #{offset VkRenderPassMultiviewCreateInfo, subpassCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pViewMasks" (Ptr Word32) 'False +                                                          #{offset VkRenderPassMultiviewCreateInfo, pViewMasks}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dependencyCount" Word32 'True +                                                        #{offset VkRenderPassMultiviewCreateInfo, dependencyCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pViewOffsets" (Ptr Int32) 'False +                                                           #{offset VkRenderPassMultiviewCreateInfo, pViewOffsets}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "correlationMaskCount" Word32 'True +                                                             #{offset VkRenderPassMultiviewCreateInfo, correlationMaskCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pCorrelationMasks" (Ptr Word32) 'False +                                                                 #{offset VkRenderPassMultiviewCreateInfo, pCorrelationMasks}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkRenderPassCreateInfo] -- ' closing tick for hsc2hs++-- | Alias for `VkRenderPassMultiviewCreateInfo`+type VkRenderPassMultiviewCreateInfoKHR =+     VkRenderPassMultiviewCreateInfo++-- | > typedef struct VkRenderPassSampleLocationsBeginInfoEXT {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     uint32_t         attachmentInitialSampleLocationsCount;+--   >     const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;+--   >     uint32_t         postSubpassSampleLocationsCount;+--   >     const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;+--   > } VkRenderPassSampleLocationsBeginInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkRenderPassSampleLocationsBeginInfoEXT VkRenderPassSampleLocationsBeginInfoEXT registry at www.khronos.org>+type VkRenderPassSampleLocationsBeginInfoEXT =+     VkStruct VkRenderPassSampleLocationsBeginInfoEXT' -- ' closing tick for hsc2hs++data VkRenderPassSampleLocationsBeginInfoEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal VkRenderPassSampleLocationsBeginInfoEXT+         where+    type StructRep VkRenderPassSampleLocationsBeginInfoEXT =+         'StructMeta "VkRenderPassSampleLocationsBeginInfoEXT" -- ' closing tick for hsc2hs+           VkRenderPassSampleLocationsBeginInfoEXT+           #{size VkRenderPassSampleLocationsBeginInfoEXT}+           #{alignment VkRenderPassSampleLocationsBeginInfoEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkRenderPassSampleLocationsBeginInfoEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkRenderPassSampleLocationsBeginInfoEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "attachmentInitialSampleLocationsCount" Word32 'True+                #{offset VkRenderPassSampleLocationsBeginInfoEXT, attachmentInitialSampleLocationsCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pAttachmentInitialSampleLocations" -- ' closing tick for hsc2hs+                (Ptr VkAttachmentSampleLocationsEXT)+                'False -- ' closing tick for hsc2hs+                #{offset VkRenderPassSampleLocationsBeginInfoEXT, pAttachmentInitialSampleLocations}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "postSubpassSampleLocationsCount" Word32 'True+                #{offset VkRenderPassSampleLocationsBeginInfoEXT, postSubpassSampleLocationsCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pPostSubpassSampleLocations" -- ' closing tick for hsc2hs+                (Ptr VkSubpassSampleLocationsEXT)+                'False -- ' closing tick for hsc2hs+                #{offset VkRenderPassSampleLocationsBeginInfoEXT, pPostSubpassSampleLocations}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkRenderPassBeginInfo] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/SampleLocation.hsc view
@@ -2,23 +2,17 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.SampleLocation-       (VkSampleLocationEXT, VkSampleLocationEXT', -- ' closing tick for hsc2hs-        VkSampleLocationsInfoEXT, VkSampleLocationsInfoEXT') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                            (Storable (..))+       (VkSampleLocationEXT, VkSampleLocationsInfoEXT) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.SampleCountFlags (VkSampleCountFlagBits) import Graphics.Vulkan.Types.Enum.StructureType    (VkStructureType) import Graphics.Vulkan.Types.Struct.Extent         (VkExtent2D) import Graphics.Vulkan.Types.Struct.Image          (VkImageMemoryBarrier)-import System.IO.Unsafe                            (unsafeDupablePerformIO)  -- | > typedef struct VkSampleLocationEXT { --   >     float                            x;@@ -26,107 +20,32 @@ --   > } VkSampleLocationEXT; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSampleLocationEXT VkSampleLocationEXT registry at www.khronos.org>-type VkSampleLocationEXT = VulkanStruct VkSampleLocationEXT' -- ' closing tick for hsc2hs+type VkSampleLocationEXT = VkStruct VkSampleLocationEXT' -- ' closing tick for hsc2hs  data VkSampleLocationEXT' -- ' closing tick for hsc2hs -instance Eq VkSampleLocationEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSampleLocationEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSampleLocationEXT where-        sizeOf ~_ = #{size VkSampleLocationEXT}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkSampleLocationEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkSampleLocationEXT where-        type StructFields VkSampleLocationEXT = '["x", "y"] -- ' closing tick for hsc2hs-        type CUnionType VkSampleLocationEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSampleLocationEXT = 'False -- ' closing tick for hsc2hs-        type StructExtends VkSampleLocationEXT = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "x" VkSampleLocationEXT where-        type FieldType "x" VkSampleLocationEXT = #{type float}-        type FieldOptional "x" VkSampleLocationEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "x" VkSampleLocationEXT =-             #{offset VkSampleLocationEXT, x}-        type FieldIsArray "x" VkSampleLocationEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSampleLocationEXT, x}--instance {-# OVERLAPPING #-} CanReadField "x" VkSampleLocationEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSampleLocationEXT, x})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSampleLocationEXT, x}--instance {-# OVERLAPPING #-} CanWriteField "x" VkSampleLocationEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSampleLocationEXT, x}--instance {-# OVERLAPPING #-} HasField "y" VkSampleLocationEXT where-        type FieldType "y" VkSampleLocationEXT = #{type float}-        type FieldOptional "y" VkSampleLocationEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "y" VkSampleLocationEXT =-             #{offset VkSampleLocationEXT, y}-        type FieldIsArray "y" VkSampleLocationEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSampleLocationEXT, y}--instance {-# OVERLAPPING #-} CanReadField "y" VkSampleLocationEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSampleLocationEXT, y})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSampleLocationEXT, y}--instance {-# OVERLAPPING #-} CanWriteField "y" VkSampleLocationEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSampleLocationEXT, y}--instance Show VkSampleLocationEXT where-        showsPrec d x-          = showString "VkSampleLocationEXT {" .-              showString "x = " .-                showsPrec d (getField @"x" x) .-                  showString ", " .-                    showString "y = " . showsPrec d (getField @"y" x) . showChar '}'+    type StructRep VkSampleLocationEXT =+         'StructMeta "VkSampleLocationEXT" VkSampleLocationEXT  -- ' closing tick for hsc2hs+                                                               #{size VkSampleLocationEXT}+           #{alignment VkSampleLocationEXT}+           '[('FieldMeta "x" (+                              #{type float}+                              ) 'False  -- ' closing tick for hsc2hs+                                       #{offset VkSampleLocationEXT, x}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "y" ( -- ' closing tick for hsc2hs+                              #{type float}+                              ) 'False  -- ' closing tick for hsc2hs+                                       #{offset VkSampleLocationEXT, y}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | > typedef struct VkSampleLocationsInfoEXT { --   >     VkStructureType sType;@@ -138,274 +57,45 @@ --   > } VkSampleLocationsInfoEXT; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSampleLocationsInfoEXT VkSampleLocationsInfoEXT registry at www.khronos.org>-type VkSampleLocationsInfoEXT =-     VulkanStruct VkSampleLocationsInfoEXT' -- ' closing tick for hsc2hs+type VkSampleLocationsInfoEXT = VkStruct VkSampleLocationsInfoEXT' -- ' closing tick for hsc2hs  data VkSampleLocationsInfoEXT' -- ' closing tick for hsc2hs -instance Eq VkSampleLocationsInfoEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSampleLocationsInfoEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSampleLocationsInfoEXT where-        sizeOf ~_ = #{size VkSampleLocationsInfoEXT}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkSampleLocationsInfoEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkSampleLocationsInfoEXT where-        type StructFields VkSampleLocationsInfoEXT =-             '["sType", "pNext", "sampleLocationsPerPixel", -- ' closing tick for hsc2hs-               "sampleLocationGridSize", "sampleLocationsCount",-               "pSampleLocations"]-        type CUnionType VkSampleLocationsInfoEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSampleLocationsInfoEXT = 'False -- ' closing tick for hsc2hs-        type StructExtends VkSampleLocationsInfoEXT =-             '[VkImageMemoryBarrier] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkSampleLocationsInfoEXT where-        type FieldType "sType" VkSampleLocationsInfoEXT = VkStructureType-        type FieldOptional "sType" VkSampleLocationsInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkSampleLocationsInfoEXT =-             #{offset VkSampleLocationsInfoEXT, sType}-        type FieldIsArray "sType" VkSampleLocationsInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSampleLocationsInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkSampleLocationsInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSampleLocationsInfoEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSampleLocationsInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkSampleLocationsInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSampleLocationsInfoEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkSampleLocationsInfoEXT where-        type FieldType "pNext" VkSampleLocationsInfoEXT = Ptr Void-        type FieldOptional "pNext" VkSampleLocationsInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkSampleLocationsInfoEXT =-             #{offset VkSampleLocationsInfoEXT, pNext}-        type FieldIsArray "pNext" VkSampleLocationsInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSampleLocationsInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkSampleLocationsInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSampleLocationsInfoEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSampleLocationsInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkSampleLocationsInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSampleLocationsInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "sampleLocationsPerPixel" VkSampleLocationsInfoEXT where-        type FieldType "sampleLocationsPerPixel" VkSampleLocationsInfoEXT =-             VkSampleCountFlagBits-        type FieldOptional "sampleLocationsPerPixel"-               VkSampleLocationsInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sampleLocationsPerPixel" VkSampleLocationsInfoEXT-             =-             #{offset VkSampleLocationsInfoEXT, sampleLocationsPerPixel}-        type FieldIsArray "sampleLocationsPerPixel"-               VkSampleLocationsInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSampleLocationsInfoEXT, sampleLocationsPerPixel}--instance {-# OVERLAPPING #-}-         CanReadField "sampleLocationsPerPixel" VkSampleLocationsInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSampleLocationsInfoEXT, sampleLocationsPerPixel})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSampleLocationsInfoEXT, sampleLocationsPerPixel}--instance {-# OVERLAPPING #-}-         CanWriteField "sampleLocationsPerPixel" VkSampleLocationsInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSampleLocationsInfoEXT, sampleLocationsPerPixel}--instance {-# OVERLAPPING #-}-         HasField "sampleLocationGridSize" VkSampleLocationsInfoEXT where-        type FieldType "sampleLocationGridSize" VkSampleLocationsInfoEXT =-             VkExtent2D-        type FieldOptional "sampleLocationGridSize"-               VkSampleLocationsInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sampleLocationGridSize" VkSampleLocationsInfoEXT-             =-             #{offset VkSampleLocationsInfoEXT, sampleLocationGridSize}-        type FieldIsArray "sampleLocationGridSize" VkSampleLocationsInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSampleLocationsInfoEXT, sampleLocationGridSize}--instance {-# OVERLAPPING #-}-         CanReadField "sampleLocationGridSize" VkSampleLocationsInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSampleLocationsInfoEXT, sampleLocationGridSize})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSampleLocationsInfoEXT, sampleLocationGridSize}--instance {-# OVERLAPPING #-}-         CanWriteField "sampleLocationGridSize" VkSampleLocationsInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSampleLocationsInfoEXT, sampleLocationGridSize}--instance {-# OVERLAPPING #-}-         HasField "sampleLocationsCount" VkSampleLocationsInfoEXT where-        type FieldType "sampleLocationsCount" VkSampleLocationsInfoEXT =-             Word32-        type FieldOptional "sampleLocationsCount" VkSampleLocationsInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sampleLocationsCount" VkSampleLocationsInfoEXT =-             #{offset VkSampleLocationsInfoEXT, sampleLocationsCount}-        type FieldIsArray "sampleLocationsCount" VkSampleLocationsInfoEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSampleLocationsInfoEXT, sampleLocationsCount}--instance {-# OVERLAPPING #-}-         CanReadField "sampleLocationsCount" VkSampleLocationsInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSampleLocationsInfoEXT, sampleLocationsCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSampleLocationsInfoEXT, sampleLocationsCount}--instance {-# OVERLAPPING #-}-         CanWriteField "sampleLocationsCount" VkSampleLocationsInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSampleLocationsInfoEXT, sampleLocationsCount}--instance {-# OVERLAPPING #-}-         HasField "pSampleLocations" VkSampleLocationsInfoEXT where-        type FieldType "pSampleLocations" VkSampleLocationsInfoEXT =-             Ptr VkSampleLocationEXT-        type FieldOptional "pSampleLocations" VkSampleLocationsInfoEXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pSampleLocations" VkSampleLocationsInfoEXT =-             #{offset VkSampleLocationsInfoEXT, pSampleLocations}-        type FieldIsArray "pSampleLocations" VkSampleLocationsInfoEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSampleLocationsInfoEXT, pSampleLocations}--instance {-# OVERLAPPING #-}-         CanReadField "pSampleLocations" VkSampleLocationsInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSampleLocationsInfoEXT, pSampleLocations})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSampleLocationsInfoEXT, pSampleLocations}--instance {-# OVERLAPPING #-}-         CanWriteField "pSampleLocations" VkSampleLocationsInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSampleLocationsInfoEXT, pSampleLocations}--instance Show VkSampleLocationsInfoEXT where-        showsPrec d x-          = showString "VkSampleLocationsInfoEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "sampleLocationsPerPixel = " .-                            showsPrec d (getField @"sampleLocationsPerPixel" x) .-                              showString ", " .-                                showString "sampleLocationGridSize = " .-                                  showsPrec d (getField @"sampleLocationGridSize" x) .-                                    showString ", " .-                                      showString "sampleLocationsCount = " .-                                        showsPrec d (getField @"sampleLocationsCount" x) .-                                          showString ", " .-                                            showString "pSampleLocations = " .-                                              showsPrec d (getField @"pSampleLocations" x) .-                                                showChar '}'+    type StructRep VkSampleLocationsInfoEXT =+         'StructMeta "VkSampleLocationsInfoEXT" VkSampleLocationsInfoEXT -- ' closing tick for hsc2hs+           #{size VkSampleLocationsInfoEXT}+           #{alignment VkSampleLocationsInfoEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkSampleLocationsInfoEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkSampleLocationsInfoEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sampleLocationsPerPixel" VkSampleCountFlagBits 'False+                #{offset VkSampleLocationsInfoEXT, sampleLocationsPerPixel}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sampleLocationGridSize" VkExtent2D 'False +                                                                    #{offset VkSampleLocationsInfoEXT, sampleLocationGridSize}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sampleLocationsCount" Word32 'False +                                                              #{offset VkSampleLocationsInfoEXT, sampleLocationsCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pSampleLocations" (Ptr VkSampleLocationEXT) 'False+                #{offset VkSampleLocationsInfoEXT, pSampleLocations}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkImageMemoryBarrier] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/Sampler.hsc view
@@ -2,1809 +2,369 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.Sampler-       (VkSamplerCreateInfo, VkSamplerCreateInfo', -- ' closing tick for hsc2hs-        VkSamplerReductionModeCreateInfoEXT,-        VkSamplerReductionModeCreateInfoEXT', -- ' closing tick for hsc2hs-        VkSamplerYcbcrConversionCreateInfo,-        VkSamplerYcbcrConversionCreateInfo', -- ' closing tick for hsc2hs-        VkSamplerYcbcrConversionCreateInfoKHR,-        VkSamplerYcbcrConversionImageFormatProperties,-        VkSamplerYcbcrConversionImageFormatProperties', -- ' closing tick for hsc2hs-        VkSamplerYcbcrConversionImageFormatPropertiesKHR,-        VkSamplerYcbcrConversionInfo, VkSamplerYcbcrConversionInfo', -- ' closing tick for hsc2hs-        VkSamplerYcbcrConversionInfoKHR)-       where-import Foreign.Storable                              (Storable (..))-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Internal-import Graphics.Vulkan.Types.BaseTypes               (VkBool32)-import Graphics.Vulkan.Types.Bitmasks                (VkSamplerCreateFlags)-import Graphics.Vulkan.Types.Enum.BorderColor        (VkBorderColor)-import Graphics.Vulkan.Types.Enum.ChromaLocation     (VkChromaLocation)-import Graphics.Vulkan.Types.Enum.CompareOp          (VkCompareOp)-import Graphics.Vulkan.Types.Enum.Filter             (VkFilter)-import Graphics.Vulkan.Types.Enum.Format             (VkFormat)-import Graphics.Vulkan.Types.Enum.Sampler            (VkSamplerAddressMode,-                                                      VkSamplerMipmapMode,-                                                      VkSamplerReductionModeEXT,-                                                      VkSamplerYcbcrModelConversion,-                                                      VkSamplerYcbcrRange)-import Graphics.Vulkan.Types.Enum.StructureType      (VkStructureType)-import Graphics.Vulkan.Types.Handles                 (VkSamplerYcbcrConversion)-import Graphics.Vulkan.Types.Struct.ComponentMapping (VkComponentMapping)-import Graphics.Vulkan.Types.Struct.Image            (VkImageFormatProperties2,-                                                      VkImageViewCreateInfo)-import System.IO.Unsafe                              (unsafeDupablePerformIO)---- | > typedef struct VkSamplerCreateInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkSamplerCreateFlags   flags;---   >     VkFilter               magFilter;---   >     VkFilter               minFilter;---   >     VkSamplerMipmapMode    mipmapMode;---   >     VkSamplerAddressMode   addressModeU;---   >     VkSamplerAddressMode   addressModeV;---   >     VkSamplerAddressMode   addressModeW;---   >     float                  mipLodBias;---   >     VkBool32               anisotropyEnable;---   >     float                  maxAnisotropy;---   >     VkBool32               compareEnable;---   >     VkCompareOp            compareOp;---   >     float                  minLod;---   >     float                  maxLod;---   >     VkBorderColor          borderColor;---   >     VkBool32               unnormalizedCoordinates;---   > } VkSamplerCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSamplerCreateInfo VkSamplerCreateInfo registry at www.khronos.org>-type VkSamplerCreateInfo = VulkanStruct VkSamplerCreateInfo' -- ' closing tick for hsc2hs--data VkSamplerCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkSamplerCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSamplerCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSamplerCreateInfo where-        sizeOf ~_ = #{size VkSamplerCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkSamplerCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkSamplerCreateInfo where-        type StructFields VkSamplerCreateInfo =-             '["sType", "pNext", "flags", "magFilter", "minFilter", -- ' closing tick for hsc2hs-               "mipmapMode", "addressModeU", "addressModeV", "addressModeW",-               "mipLodBias", "anisotropyEnable", "maxAnisotropy", "compareEnable",-               "compareOp", "minLod", "maxLod", "borderColor",-               "unnormalizedCoordinates"]-        type CUnionType VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkSamplerCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkSamplerCreateInfo-         where-        type FieldType "sType" VkSamplerCreateInfo = VkStructureType-        type FieldOptional "sType" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkSamplerCreateInfo =-             #{offset VkSamplerCreateInfo, sType}-        type FieldIsArray "sType" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSamplerCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkSamplerCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkSamplerCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerCreateInfo, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkSamplerCreateInfo-         where-        type FieldType "pNext" VkSamplerCreateInfo = Ptr Void-        type FieldOptional "pNext" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkSamplerCreateInfo =-             #{offset VkSamplerCreateInfo, pNext}-        type FieldIsArray "pNext" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSamplerCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkSamplerCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkSamplerCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerCreateInfo, pNext}--instance {-# OVERLAPPING #-} HasField "flags" VkSamplerCreateInfo-         where-        type FieldType "flags" VkSamplerCreateInfo = VkSamplerCreateFlags-        type FieldOptional "flags" VkSamplerCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkSamplerCreateInfo =-             #{offset VkSamplerCreateInfo, flags}-        type FieldIsArray "flags" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSamplerCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkSamplerCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkSamplerCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerCreateInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "magFilter" VkSamplerCreateInfo where-        type FieldType "magFilter" VkSamplerCreateInfo = VkFilter-        type FieldOptional "magFilter" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "magFilter" VkSamplerCreateInfo =-             #{offset VkSamplerCreateInfo, magFilter}-        type FieldIsArray "magFilter" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSamplerCreateInfo, magFilter}--instance {-# OVERLAPPING #-}-         CanReadField "magFilter" VkSamplerCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, magFilter})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerCreateInfo, magFilter}--instance {-# OVERLAPPING #-}-         CanWriteField "magFilter" VkSamplerCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerCreateInfo, magFilter}--instance {-# OVERLAPPING #-}-         HasField "minFilter" VkSamplerCreateInfo where-        type FieldType "minFilter" VkSamplerCreateInfo = VkFilter-        type FieldOptional "minFilter" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "minFilter" VkSamplerCreateInfo =-             #{offset VkSamplerCreateInfo, minFilter}-        type FieldIsArray "minFilter" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSamplerCreateInfo, minFilter}--instance {-# OVERLAPPING #-}-         CanReadField "minFilter" VkSamplerCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, minFilter})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerCreateInfo, minFilter}--instance {-# OVERLAPPING #-}-         CanWriteField "minFilter" VkSamplerCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerCreateInfo, minFilter}--instance {-# OVERLAPPING #-}-         HasField "mipmapMode" VkSamplerCreateInfo where-        type FieldType "mipmapMode" VkSamplerCreateInfo =-             VkSamplerMipmapMode-        type FieldOptional "mipmapMode" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "mipmapMode" VkSamplerCreateInfo =-             #{offset VkSamplerCreateInfo, mipmapMode}-        type FieldIsArray "mipmapMode" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSamplerCreateInfo, mipmapMode}--instance {-# OVERLAPPING #-}-         CanReadField "mipmapMode" VkSamplerCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, mipmapMode})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerCreateInfo, mipmapMode}--instance {-# OVERLAPPING #-}-         CanWriteField "mipmapMode" VkSamplerCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerCreateInfo, mipmapMode}--instance {-# OVERLAPPING #-}-         HasField "addressModeU" VkSamplerCreateInfo where-        type FieldType "addressModeU" VkSamplerCreateInfo =-             VkSamplerAddressMode-        type FieldOptional "addressModeU" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "addressModeU" VkSamplerCreateInfo =-             #{offset VkSamplerCreateInfo, addressModeU}-        type FieldIsArray "addressModeU" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSamplerCreateInfo, addressModeU}--instance {-# OVERLAPPING #-}-         CanReadField "addressModeU" VkSamplerCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, addressModeU})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerCreateInfo, addressModeU}--instance {-# OVERLAPPING #-}-         CanWriteField "addressModeU" VkSamplerCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerCreateInfo, addressModeU}--instance {-# OVERLAPPING #-}-         HasField "addressModeV" VkSamplerCreateInfo where-        type FieldType "addressModeV" VkSamplerCreateInfo =-             VkSamplerAddressMode-        type FieldOptional "addressModeV" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "addressModeV" VkSamplerCreateInfo =-             #{offset VkSamplerCreateInfo, addressModeV}-        type FieldIsArray "addressModeV" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSamplerCreateInfo, addressModeV}--instance {-# OVERLAPPING #-}-         CanReadField "addressModeV" VkSamplerCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, addressModeV})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerCreateInfo, addressModeV}--instance {-# OVERLAPPING #-}-         CanWriteField "addressModeV" VkSamplerCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerCreateInfo, addressModeV}--instance {-# OVERLAPPING #-}-         HasField "addressModeW" VkSamplerCreateInfo where-        type FieldType "addressModeW" VkSamplerCreateInfo =-             VkSamplerAddressMode-        type FieldOptional "addressModeW" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "addressModeW" VkSamplerCreateInfo =-             #{offset VkSamplerCreateInfo, addressModeW}-        type FieldIsArray "addressModeW" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSamplerCreateInfo, addressModeW}--instance {-# OVERLAPPING #-}-         CanReadField "addressModeW" VkSamplerCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, addressModeW})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerCreateInfo, addressModeW}--instance {-# OVERLAPPING #-}-         CanWriteField "addressModeW" VkSamplerCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerCreateInfo, addressModeW}--instance {-# OVERLAPPING #-}-         HasField "mipLodBias" VkSamplerCreateInfo where-        type FieldType "mipLodBias" VkSamplerCreateInfo =-             #{type float}-        type FieldOptional "mipLodBias" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "mipLodBias" VkSamplerCreateInfo =-             #{offset VkSamplerCreateInfo, mipLodBias}-        type FieldIsArray "mipLodBias" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSamplerCreateInfo, mipLodBias}--instance {-# OVERLAPPING #-}-         CanReadField "mipLodBias" VkSamplerCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, mipLodBias})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerCreateInfo, mipLodBias}--instance {-# OVERLAPPING #-}-         CanWriteField "mipLodBias" VkSamplerCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerCreateInfo, mipLodBias}--instance {-# OVERLAPPING #-}-         HasField "anisotropyEnable" VkSamplerCreateInfo where-        type FieldType "anisotropyEnable" VkSamplerCreateInfo = VkBool32-        type FieldOptional "anisotropyEnable" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "anisotropyEnable" VkSamplerCreateInfo =-             #{offset VkSamplerCreateInfo, anisotropyEnable}-        type FieldIsArray "anisotropyEnable" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSamplerCreateInfo, anisotropyEnable}--instance {-# OVERLAPPING #-}-         CanReadField "anisotropyEnable" VkSamplerCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, anisotropyEnable})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerCreateInfo, anisotropyEnable}--instance {-# OVERLAPPING #-}-         CanWriteField "anisotropyEnable" VkSamplerCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerCreateInfo, anisotropyEnable}--instance {-# OVERLAPPING #-}-         HasField "maxAnisotropy" VkSamplerCreateInfo where-        type FieldType "maxAnisotropy" VkSamplerCreateInfo =-             #{type float}-        type FieldOptional "maxAnisotropy" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxAnisotropy" VkSamplerCreateInfo =-             #{offset VkSamplerCreateInfo, maxAnisotropy}-        type FieldIsArray "maxAnisotropy" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSamplerCreateInfo, maxAnisotropy}--instance {-# OVERLAPPING #-}-         CanReadField "maxAnisotropy" VkSamplerCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, maxAnisotropy})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerCreateInfo, maxAnisotropy}--instance {-# OVERLAPPING #-}-         CanWriteField "maxAnisotropy" VkSamplerCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerCreateInfo, maxAnisotropy}--instance {-# OVERLAPPING #-}-         HasField "compareEnable" VkSamplerCreateInfo where-        type FieldType "compareEnable" VkSamplerCreateInfo = VkBool32-        type FieldOptional "compareEnable" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "compareEnable" VkSamplerCreateInfo =-             #{offset VkSamplerCreateInfo, compareEnable}-        type FieldIsArray "compareEnable" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSamplerCreateInfo, compareEnable}--instance {-# OVERLAPPING #-}-         CanReadField "compareEnable" VkSamplerCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, compareEnable})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerCreateInfo, compareEnable}--instance {-# OVERLAPPING #-}-         CanWriteField "compareEnable" VkSamplerCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerCreateInfo, compareEnable}--instance {-# OVERLAPPING #-}-         HasField "compareOp" VkSamplerCreateInfo where-        type FieldType "compareOp" VkSamplerCreateInfo = VkCompareOp-        type FieldOptional "compareOp" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "compareOp" VkSamplerCreateInfo =-             #{offset VkSamplerCreateInfo, compareOp}-        type FieldIsArray "compareOp" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSamplerCreateInfo, compareOp}--instance {-# OVERLAPPING #-}-         CanReadField "compareOp" VkSamplerCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, compareOp})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerCreateInfo, compareOp}--instance {-# OVERLAPPING #-}-         CanWriteField "compareOp" VkSamplerCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerCreateInfo, compareOp}--instance {-# OVERLAPPING #-} HasField "minLod" VkSamplerCreateInfo-         where-        type FieldType "minLod" VkSamplerCreateInfo =-             #{type float}-        type FieldOptional "minLod" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "minLod" VkSamplerCreateInfo =-             #{offset VkSamplerCreateInfo, minLod}-        type FieldIsArray "minLod" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSamplerCreateInfo, minLod}--instance {-# OVERLAPPING #-}-         CanReadField "minLod" VkSamplerCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, minLod})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerCreateInfo, minLod}--instance {-# OVERLAPPING #-}-         CanWriteField "minLod" VkSamplerCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerCreateInfo, minLod}--instance {-# OVERLAPPING #-} HasField "maxLod" VkSamplerCreateInfo-         where-        type FieldType "maxLod" VkSamplerCreateInfo =-             #{type float}-        type FieldOptional "maxLod" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxLod" VkSamplerCreateInfo =-             #{offset VkSamplerCreateInfo, maxLod}-        type FieldIsArray "maxLod" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSamplerCreateInfo, maxLod}--instance {-# OVERLAPPING #-}-         CanReadField "maxLod" VkSamplerCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, maxLod})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerCreateInfo, maxLod}--instance {-# OVERLAPPING #-}-         CanWriteField "maxLod" VkSamplerCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerCreateInfo, maxLod}--instance {-# OVERLAPPING #-}-         HasField "borderColor" VkSamplerCreateInfo where-        type FieldType "borderColor" VkSamplerCreateInfo = VkBorderColor-        type FieldOptional "borderColor" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "borderColor" VkSamplerCreateInfo =-             #{offset VkSamplerCreateInfo, borderColor}-        type FieldIsArray "borderColor" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSamplerCreateInfo, borderColor}--instance {-# OVERLAPPING #-}-         CanReadField "borderColor" VkSamplerCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, borderColor})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerCreateInfo, borderColor}--instance {-# OVERLAPPING #-}-         CanWriteField "borderColor" VkSamplerCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerCreateInfo, borderColor}--instance {-# OVERLAPPING #-}-         HasField "unnormalizedCoordinates" VkSamplerCreateInfo where-        type FieldType "unnormalizedCoordinates" VkSamplerCreateInfo =-             VkBool32-        type FieldOptional "unnormalizedCoordinates" VkSamplerCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "unnormalizedCoordinates" VkSamplerCreateInfo =-             #{offset VkSamplerCreateInfo, unnormalizedCoordinates}-        type FieldIsArray "unnormalizedCoordinates" VkSamplerCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSamplerCreateInfo, unnormalizedCoordinates}--instance {-# OVERLAPPING #-}-         CanReadField "unnormalizedCoordinates" VkSamplerCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, unnormalizedCoordinates})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerCreateInfo, unnormalizedCoordinates}--instance {-# OVERLAPPING #-}-         CanWriteField "unnormalizedCoordinates" VkSamplerCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerCreateInfo, unnormalizedCoordinates}--instance Show VkSamplerCreateInfo where-        showsPrec d x-          = showString "VkSamplerCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "magFilter = " .-                                  showsPrec d (getField @"magFilter" x) .-                                    showString ", " .-                                      showString "minFilter = " .-                                        showsPrec d (getField @"minFilter" x) .-                                          showString ", " .-                                            showString "mipmapMode = " .-                                              showsPrec d (getField @"mipmapMode" x) .-                                                showString ", " .-                                                  showString "addressModeU = " .-                                                    showsPrec d (getField @"addressModeU" x) .-                                                      showString ", " .-                                                        showString "addressModeV = " .-                                                          showsPrec d (getField @"addressModeV" x) .-                                                            showString ", " .-                                                              showString "addressModeW = " .-                                                                showsPrec d-                                                                  (getField @"addressModeW" x)-                                                                  .-                                                                  showString ", " .-                                                                    showString "mipLodBias = " .-                                                                      showsPrec d-                                                                        (getField @"mipLodBias" x)-                                                                        .-                                                                        showString ", " .-                                                                          showString-                                                                            "anisotropyEnable = "-                                                                            .-                                                                            showsPrec d-                                                                              (getField-                                                                                 @"anisotropyEnable"-                                                                                 x)-                                                                              .-                                                                              showString ", " .-                                                                                showString-                                                                                  "maxAnisotropy = "-                                                                                  .-                                                                                  showsPrec d-                                                                                    (getField-                                                                                       @"maxAnisotropy"-                                                                                       x)-                                                                                    .-                                                                                    showString ", "-                                                                                      .-                                                                                      showString-                                                                                        "compareEnable = "-                                                                                        .-                                                                                        showsPrec d-                                                                                          (getField-                                                                                             @"compareEnable"-                                                                                             x)-                                                                                          .-                                                                                          showString-                                                                                            ", "-                                                                                            .-                                                                                            showString-                                                                                              "compareOp = "-                                                                                              .-                                                                                              showsPrec-                                                                                                d-                                                                                                (getField-                                                                                                   @"compareOp"-                                                                                                   x)-                                                                                                .-                                                                                                showString-                                                                                                  ", "-                                                                                                  .-                                                                                                  showString-                                                                                                    "minLod = "-                                                                                                    .-                                                                                                    showsPrec-                                                                                                      d-                                                                                                      (getField-                                                                                                         @"minLod"-                                                                                                         x)-                                                                                                      .-                                                                                                      showString-                                                                                                        ", "-                                                                                                        .-                                                                                                        showString-                                                                                                          "maxLod = "-                                                                                                          .-                                                                                                          showsPrec-                                                                                                            d-                                                                                                            (getField-                                                                                                               @"maxLod"-                                                                                                               x)-                                                                                                            .-                                                                                                            showString-                                                                                                              ", "-                                                                                                              .-                                                                                                              showString-                                                                                                                "borderColor = "-                                                                                                                .-                                                                                                                showsPrec-                                                                                                                  d-                                                                                                                  (getField-                                                                                                                     @"borderColor"-                                                                                                                     x)-                                                                                                                  .-                                                                                                                  showString-                                                                                                                    ", "-                                                                                                                    .-                                                                                                                    showString-                                                                                                                      "unnormalizedCoordinates = "-                                                                                                                      .-                                                                                                                      showsPrec-                                                                                                                        d-                                                                                                                        (getField-                                                                                                                           @"unnormalizedCoordinates"-                                                                                                                           x)-                                                                                                                        .-                                                                                                                        showChar-                                                                                                                          '}'---- | > typedef struct VkSamplerReductionModeCreateInfoEXT {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkSamplerReductionModeEXT reductionMode;---   > } VkSamplerReductionModeCreateInfoEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSamplerReductionModeCreateInfoEXT VkSamplerReductionModeCreateInfoEXT registry at www.khronos.org>-type VkSamplerReductionModeCreateInfoEXT =-     VulkanStruct VkSamplerReductionModeCreateInfoEXT' -- ' closing tick for hsc2hs--data VkSamplerReductionModeCreateInfoEXT' -- ' closing tick for hsc2hs--instance Eq VkSamplerReductionModeCreateInfoEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSamplerReductionModeCreateInfoEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSamplerReductionModeCreateInfoEXT where-        sizeOf ~_ = #{size VkSamplerReductionModeCreateInfoEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkSamplerReductionModeCreateInfoEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkSamplerReductionModeCreateInfoEXT where-        type StructFields VkSamplerReductionModeCreateInfoEXT =-             '["sType", "pNext", "reductionMode"] -- ' closing tick for hsc2hs-        type CUnionType VkSamplerReductionModeCreateInfoEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSamplerReductionModeCreateInfoEXT = 'False -- ' closing tick for hsc2hs-        type StructExtends VkSamplerReductionModeCreateInfoEXT =-             '[VkSamplerCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkSamplerReductionModeCreateInfoEXT where-        type FieldType "sType" VkSamplerReductionModeCreateInfoEXT =-             VkStructureType-        type FieldOptional "sType" VkSamplerReductionModeCreateInfoEXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkSamplerReductionModeCreateInfoEXT =-             #{offset VkSamplerReductionModeCreateInfoEXT, sType}-        type FieldIsArray "sType" VkSamplerReductionModeCreateInfoEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSamplerReductionModeCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkSamplerReductionModeCreateInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerReductionModeCreateInfoEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerReductionModeCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkSamplerReductionModeCreateInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerReductionModeCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkSamplerReductionModeCreateInfoEXT where-        type FieldType "pNext" VkSamplerReductionModeCreateInfoEXT =-             Ptr Void-        type FieldOptional "pNext" VkSamplerReductionModeCreateInfoEXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkSamplerReductionModeCreateInfoEXT =-             #{offset VkSamplerReductionModeCreateInfoEXT, pNext}-        type FieldIsArray "pNext" VkSamplerReductionModeCreateInfoEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSamplerReductionModeCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkSamplerReductionModeCreateInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerReductionModeCreateInfoEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerReductionModeCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkSamplerReductionModeCreateInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerReductionModeCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "reductionMode" VkSamplerReductionModeCreateInfoEXT where-        type FieldType "reductionMode" VkSamplerReductionModeCreateInfoEXT-             = VkSamplerReductionModeEXT-        type FieldOptional "reductionMode"-               VkSamplerReductionModeCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "reductionMode"-               VkSamplerReductionModeCreateInfoEXT-             =-             #{offset VkSamplerReductionModeCreateInfoEXT, reductionMode}-        type FieldIsArray "reductionMode"-               VkSamplerReductionModeCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSamplerReductionModeCreateInfoEXT, reductionMode}--instance {-# OVERLAPPING #-}-         CanReadField "reductionMode" VkSamplerReductionModeCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerReductionModeCreateInfoEXT, reductionMode})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerReductionModeCreateInfoEXT, reductionMode}--instance {-# OVERLAPPING #-}-         CanWriteField "reductionMode" VkSamplerReductionModeCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerReductionModeCreateInfoEXT, reductionMode}--instance Show VkSamplerReductionModeCreateInfoEXT where-        showsPrec d x-          = showString "VkSamplerReductionModeCreateInfoEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "reductionMode = " .-                            showsPrec d (getField @"reductionMode" x) . showChar '}'---- | > typedef struct VkSamplerYcbcrConversionCreateInfo {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkFormat                         format;---   >     VkSamplerYcbcrModelConversion ycbcrModel;---   >     VkSamplerYcbcrRange           ycbcrRange;---   >     VkComponentMapping               components;---   >     VkChromaLocation              xChromaOffset;---   >     VkChromaLocation              yChromaOffset;---   >     VkFilter                         chromaFilter;---   >     VkBool32                         forceExplicitReconstruction;---   > } VkSamplerYcbcrConversionCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfo registry at www.khronos.org>-type VkSamplerYcbcrConversionCreateInfo =-     VulkanStruct VkSamplerYcbcrConversionCreateInfo' -- ' closing tick for hsc2hs--data VkSamplerYcbcrConversionCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkSamplerYcbcrConversionCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSamplerYcbcrConversionCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSamplerYcbcrConversionCreateInfo where-        sizeOf ~_ = #{size VkSamplerYcbcrConversionCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkSamplerYcbcrConversionCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkSamplerYcbcrConversionCreateInfo where-        type StructFields VkSamplerYcbcrConversionCreateInfo =-             '["sType", "pNext", "format", "ycbcrModel", "ycbcrRange", -- ' closing tick for hsc2hs-               "components", "xChromaOffset", "yChromaOffset", "chromaFilter",-               "forceExplicitReconstruction"]-        type CUnionType VkSamplerYcbcrConversionCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSamplerYcbcrConversionCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkSamplerYcbcrConversionCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkSamplerYcbcrConversionCreateInfo where-        type FieldType "sType" VkSamplerYcbcrConversionCreateInfo =-             VkStructureType-        type FieldOptional "sType" VkSamplerYcbcrConversionCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkSamplerYcbcrConversionCreateInfo =-             #{offset VkSamplerYcbcrConversionCreateInfo, sType}-        type FieldIsArray "sType" VkSamplerYcbcrConversionCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSamplerYcbcrConversionCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkSamplerYcbcrConversionCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkSamplerYcbcrConversionCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkSamplerYcbcrConversionCreateInfo where-        type FieldType "pNext" VkSamplerYcbcrConversionCreateInfo =-             Ptr Void-        type FieldOptional "pNext" VkSamplerYcbcrConversionCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkSamplerYcbcrConversionCreateInfo =-             #{offset VkSamplerYcbcrConversionCreateInfo, pNext}-        type FieldIsArray "pNext" VkSamplerYcbcrConversionCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSamplerYcbcrConversionCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkSamplerYcbcrConversionCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkSamplerYcbcrConversionCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "format" VkSamplerYcbcrConversionCreateInfo where-        type FieldType "format" VkSamplerYcbcrConversionCreateInfo =-             VkFormat-        type FieldOptional "format" VkSamplerYcbcrConversionCreateInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "format" VkSamplerYcbcrConversionCreateInfo =-             #{offset VkSamplerYcbcrConversionCreateInfo, format}-        type FieldIsArray "format" VkSamplerYcbcrConversionCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSamplerYcbcrConversionCreateInfo, format}--instance {-# OVERLAPPING #-}-         CanReadField "format" VkSamplerYcbcrConversionCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionCreateInfo, format})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, format}--instance {-# OVERLAPPING #-}-         CanWriteField "format" VkSamplerYcbcrConversionCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, format}--instance {-# OVERLAPPING #-}-         HasField "ycbcrModel" VkSamplerYcbcrConversionCreateInfo where-        type FieldType "ycbcrModel" VkSamplerYcbcrConversionCreateInfo =-             VkSamplerYcbcrModelConversion-        type FieldOptional "ycbcrModel" VkSamplerYcbcrConversionCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "ycbcrModel" VkSamplerYcbcrConversionCreateInfo =-             #{offset VkSamplerYcbcrConversionCreateInfo, ycbcrModel}-        type FieldIsArray "ycbcrModel" VkSamplerYcbcrConversionCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSamplerYcbcrConversionCreateInfo, ycbcrModel}--instance {-# OVERLAPPING #-}-         CanReadField "ycbcrModel" VkSamplerYcbcrConversionCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionCreateInfo, ycbcrModel})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, ycbcrModel}--instance {-# OVERLAPPING #-}-         CanWriteField "ycbcrModel" VkSamplerYcbcrConversionCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, ycbcrModel}--instance {-# OVERLAPPING #-}-         HasField "ycbcrRange" VkSamplerYcbcrConversionCreateInfo where-        type FieldType "ycbcrRange" VkSamplerYcbcrConversionCreateInfo =-             VkSamplerYcbcrRange-        type FieldOptional "ycbcrRange" VkSamplerYcbcrConversionCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "ycbcrRange" VkSamplerYcbcrConversionCreateInfo =-             #{offset VkSamplerYcbcrConversionCreateInfo, ycbcrRange}-        type FieldIsArray "ycbcrRange" VkSamplerYcbcrConversionCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSamplerYcbcrConversionCreateInfo, ycbcrRange}--instance {-# OVERLAPPING #-}-         CanReadField "ycbcrRange" VkSamplerYcbcrConversionCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionCreateInfo, ycbcrRange})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, ycbcrRange}--instance {-# OVERLAPPING #-}-         CanWriteField "ycbcrRange" VkSamplerYcbcrConversionCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, ycbcrRange}--instance {-# OVERLAPPING #-}-         HasField "components" VkSamplerYcbcrConversionCreateInfo where-        type FieldType "components" VkSamplerYcbcrConversionCreateInfo =-             VkComponentMapping-        type FieldOptional "components" VkSamplerYcbcrConversionCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "components" VkSamplerYcbcrConversionCreateInfo =-             #{offset VkSamplerYcbcrConversionCreateInfo, components}-        type FieldIsArray "components" VkSamplerYcbcrConversionCreateInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSamplerYcbcrConversionCreateInfo, components}--instance {-# OVERLAPPING #-}-         CanReadField "components" VkSamplerYcbcrConversionCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionCreateInfo, components})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, components}--instance {-# OVERLAPPING #-}-         CanWriteField "components" VkSamplerYcbcrConversionCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, components}--instance {-# OVERLAPPING #-}-         HasField "xChromaOffset" VkSamplerYcbcrConversionCreateInfo where-        type FieldType "xChromaOffset" VkSamplerYcbcrConversionCreateInfo =-             VkChromaLocation-        type FieldOptional "xChromaOffset"-               VkSamplerYcbcrConversionCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "xChromaOffset" VkSamplerYcbcrConversionCreateInfo-             =-             #{offset VkSamplerYcbcrConversionCreateInfo, xChromaOffset}-        type FieldIsArray "xChromaOffset"-               VkSamplerYcbcrConversionCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSamplerYcbcrConversionCreateInfo, xChromaOffset}--instance {-# OVERLAPPING #-}-         CanReadField "xChromaOffset" VkSamplerYcbcrConversionCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionCreateInfo, xChromaOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, xChromaOffset}--instance {-# OVERLAPPING #-}-         CanWriteField "xChromaOffset" VkSamplerYcbcrConversionCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, xChromaOffset}--instance {-# OVERLAPPING #-}-         HasField "yChromaOffset" VkSamplerYcbcrConversionCreateInfo where-        type FieldType "yChromaOffset" VkSamplerYcbcrConversionCreateInfo =-             VkChromaLocation-        type FieldOptional "yChromaOffset"-               VkSamplerYcbcrConversionCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "yChromaOffset" VkSamplerYcbcrConversionCreateInfo-             =-             #{offset VkSamplerYcbcrConversionCreateInfo, yChromaOffset}-        type FieldIsArray "yChromaOffset"-               VkSamplerYcbcrConversionCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSamplerYcbcrConversionCreateInfo, yChromaOffset}--instance {-# OVERLAPPING #-}-         CanReadField "yChromaOffset" VkSamplerYcbcrConversionCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionCreateInfo, yChromaOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, yChromaOffset}--instance {-# OVERLAPPING #-}-         CanWriteField "yChromaOffset" VkSamplerYcbcrConversionCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, yChromaOffset}--instance {-# OVERLAPPING #-}-         HasField "chromaFilter" VkSamplerYcbcrConversionCreateInfo where-        type FieldType "chromaFilter" VkSamplerYcbcrConversionCreateInfo =-             VkFilter-        type FieldOptional "chromaFilter"-               VkSamplerYcbcrConversionCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "chromaFilter" VkSamplerYcbcrConversionCreateInfo-             =-             #{offset VkSamplerYcbcrConversionCreateInfo, chromaFilter}-        type FieldIsArray "chromaFilter" VkSamplerYcbcrConversionCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSamplerYcbcrConversionCreateInfo, chromaFilter}--instance {-# OVERLAPPING #-}-         CanReadField "chromaFilter" VkSamplerYcbcrConversionCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionCreateInfo, chromaFilter})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, chromaFilter}--instance {-# OVERLAPPING #-}-         CanWriteField "chromaFilter" VkSamplerYcbcrConversionCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, chromaFilter}--instance {-# OVERLAPPING #-}-         HasField "forceExplicitReconstruction"-           VkSamplerYcbcrConversionCreateInfo-         where-        type FieldType "forceExplicitReconstruction"-               VkSamplerYcbcrConversionCreateInfo-             = VkBool32-        type FieldOptional "forceExplicitReconstruction"-               VkSamplerYcbcrConversionCreateInfo-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "forceExplicitReconstruction"-               VkSamplerYcbcrConversionCreateInfo-             =-             #{offset VkSamplerYcbcrConversionCreateInfo, forceExplicitReconstruction}-        type FieldIsArray "forceExplicitReconstruction"-               VkSamplerYcbcrConversionCreateInfo-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSamplerYcbcrConversionCreateInfo, forceExplicitReconstruction}--instance {-# OVERLAPPING #-}-         CanReadField "forceExplicitReconstruction"-           VkSamplerYcbcrConversionCreateInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionCreateInfo, forceExplicitReconstruction})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, forceExplicitReconstruction}--instance {-# OVERLAPPING #-}-         CanWriteField "forceExplicitReconstruction"-           VkSamplerYcbcrConversionCreateInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, forceExplicitReconstruction}--instance Show VkSamplerYcbcrConversionCreateInfo where-        showsPrec d x-          = showString "VkSamplerYcbcrConversionCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "format = " .-                            showsPrec d (getField @"format" x) .-                              showString ", " .-                                showString "ycbcrModel = " .-                                  showsPrec d (getField @"ycbcrModel" x) .-                                    showString ", " .-                                      showString "ycbcrRange = " .-                                        showsPrec d (getField @"ycbcrRange" x) .-                                          showString ", " .-                                            showString "components = " .-                                              showsPrec d (getField @"components" x) .-                                                showString ", " .-                                                  showString "xChromaOffset = " .-                                                    showsPrec d (getField @"xChromaOffset" x) .-                                                      showString ", " .-                                                        showString "yChromaOffset = " .-                                                          showsPrec d (getField @"yChromaOffset" x)-                                                            .-                                                            showString ", " .-                                                              showString "chromaFilter = " .-                                                                showsPrec d-                                                                  (getField @"chromaFilter" x)-                                                                  .-                                                                  showString ", " .-                                                                    showString-                                                                      "forceExplicitReconstruction = "-                                                                      .-                                                                      showsPrec d-                                                                        (getField-                                                                           @"forceExplicitReconstruction"-                                                                           x)-                                                                        . showChar '}'---- | Alias for `VkSamplerYcbcrConversionCreateInfo`-type VkSamplerYcbcrConversionCreateInfoKHR =-     VkSamplerYcbcrConversionCreateInfo---- | > typedef struct VkSamplerYcbcrConversionImageFormatProperties {---   >     VkStructureType sType;---   >     void*      pNext;---   >     uint32_t                         combinedImageSamplerDescriptorCount;---   > } VkSamplerYcbcrConversionImageFormatProperties;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatProperties registry at www.khronos.org>-type VkSamplerYcbcrConversionImageFormatProperties =-     VulkanStruct VkSamplerYcbcrConversionImageFormatProperties' -- ' closing tick for hsc2hs--data VkSamplerYcbcrConversionImageFormatProperties' -- ' closing tick for hsc2hs--instance Eq VkSamplerYcbcrConversionImageFormatProperties where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSamplerYcbcrConversionImageFormatProperties where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSamplerYcbcrConversionImageFormatProperties-         where-        sizeOf ~_-          = #{size VkSamplerYcbcrConversionImageFormatProperties}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkSamplerYcbcrConversionImageFormatProperties}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal-           VkSamplerYcbcrConversionImageFormatProperties-         where-        type StructFields VkSamplerYcbcrConversionImageFormatProperties =-             '["sType", "pNext", "combinedImageSamplerDescriptorCount"] -- ' closing tick for hsc2hs-        type CUnionType VkSamplerYcbcrConversionImageFormatProperties =-             'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSamplerYcbcrConversionImageFormatProperties =-             'True -- ' closing tick for hsc2hs-        type StructExtends VkSamplerYcbcrConversionImageFormatProperties =-             '[VkImageFormatProperties2] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkSamplerYcbcrConversionImageFormatProperties-         where-        type FieldType "sType"-               VkSamplerYcbcrConversionImageFormatProperties-             = VkStructureType-        type FieldOptional "sType"-               VkSamplerYcbcrConversionImageFormatProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType"-               VkSamplerYcbcrConversionImageFormatProperties-             =-             #{offset VkSamplerYcbcrConversionImageFormatProperties, sType}-        type FieldIsArray "sType"-               VkSamplerYcbcrConversionImageFormatProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSamplerYcbcrConversionImageFormatProperties, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkSamplerYcbcrConversionImageFormatProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionImageFormatProperties, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerYcbcrConversionImageFormatProperties, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkSamplerYcbcrConversionImageFormatProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerYcbcrConversionImageFormatProperties, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkSamplerYcbcrConversionImageFormatProperties-         where-        type FieldType "pNext"-               VkSamplerYcbcrConversionImageFormatProperties-             = Ptr Void-        type FieldOptional "pNext"-               VkSamplerYcbcrConversionImageFormatProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext"-               VkSamplerYcbcrConversionImageFormatProperties-             =-             #{offset VkSamplerYcbcrConversionImageFormatProperties, pNext}-        type FieldIsArray "pNext"-               VkSamplerYcbcrConversionImageFormatProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSamplerYcbcrConversionImageFormatProperties, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkSamplerYcbcrConversionImageFormatProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionImageFormatProperties, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerYcbcrConversionImageFormatProperties, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkSamplerYcbcrConversionImageFormatProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerYcbcrConversionImageFormatProperties, pNext}--instance {-# OVERLAPPING #-}-         HasField "combinedImageSamplerDescriptorCount"-           VkSamplerYcbcrConversionImageFormatProperties-         where-        type FieldType "combinedImageSamplerDescriptorCount"-               VkSamplerYcbcrConversionImageFormatProperties-             = Word32-        type FieldOptional "combinedImageSamplerDescriptorCount"-               VkSamplerYcbcrConversionImageFormatProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "combinedImageSamplerDescriptorCount"-               VkSamplerYcbcrConversionImageFormatProperties-             =-             #{offset VkSamplerYcbcrConversionImageFormatProperties, combinedImageSamplerDescriptorCount}-        type FieldIsArray "combinedImageSamplerDescriptorCount"-               VkSamplerYcbcrConversionImageFormatProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSamplerYcbcrConversionImageFormatProperties, combinedImageSamplerDescriptorCount}--instance {-# OVERLAPPING #-}-         CanReadField "combinedImageSamplerDescriptorCount"-           VkSamplerYcbcrConversionImageFormatProperties-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionImageFormatProperties, combinedImageSamplerDescriptorCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerYcbcrConversionImageFormatProperties, combinedImageSamplerDescriptorCount}--instance {-# OVERLAPPING #-}-         CanWriteField "combinedImageSamplerDescriptorCount"-           VkSamplerYcbcrConversionImageFormatProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerYcbcrConversionImageFormatProperties, combinedImageSamplerDescriptorCount}--instance Show VkSamplerYcbcrConversionImageFormatProperties where-        showsPrec d x-          = showString "VkSamplerYcbcrConversionImageFormatProperties {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "combinedImageSamplerDescriptorCount = " .-                            showsPrec d (getField @"combinedImageSamplerDescriptorCount" x) .-                              showChar '}'---- | Alias for `VkSamplerYcbcrConversionImageFormatProperties`-type VkSamplerYcbcrConversionImageFormatPropertiesKHR =-     VkSamplerYcbcrConversionImageFormatProperties---- | > typedef struct VkSamplerYcbcrConversionInfo {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkSamplerYcbcrConversion      conversion;---   > } VkSamplerYcbcrConversionInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfo registry at www.khronos.org>-type VkSamplerYcbcrConversionInfo =-     VulkanStruct VkSamplerYcbcrConversionInfo' -- ' closing tick for hsc2hs--data VkSamplerYcbcrConversionInfo' -- ' closing tick for hsc2hs--instance Eq VkSamplerYcbcrConversionInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSamplerYcbcrConversionInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSamplerYcbcrConversionInfo where-        sizeOf ~_ = #{size VkSamplerYcbcrConversionInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkSamplerYcbcrConversionInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkSamplerYcbcrConversionInfo where-        type StructFields VkSamplerYcbcrConversionInfo =-             '["sType", "pNext", "conversion"] -- ' closing tick for hsc2hs-        type CUnionType VkSamplerYcbcrConversionInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSamplerYcbcrConversionInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkSamplerYcbcrConversionInfo =-             '[VkSamplerCreateInfo, VkImageViewCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkSamplerYcbcrConversionInfo where-        type FieldType "sType" VkSamplerYcbcrConversionInfo =-             VkStructureType-        type FieldOptional "sType" VkSamplerYcbcrConversionInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkSamplerYcbcrConversionInfo =-             #{offset VkSamplerYcbcrConversionInfo, sType}-        type FieldIsArray "sType" VkSamplerYcbcrConversionInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSamplerYcbcrConversionInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkSamplerYcbcrConversionInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerYcbcrConversionInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkSamplerYcbcrConversionInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerYcbcrConversionInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkSamplerYcbcrConversionInfo where-        type FieldType "pNext" VkSamplerYcbcrConversionInfo = Ptr Void-        type FieldOptional "pNext" VkSamplerYcbcrConversionInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkSamplerYcbcrConversionInfo =-             #{offset VkSamplerYcbcrConversionInfo, pNext}-        type FieldIsArray "pNext" VkSamplerYcbcrConversionInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSamplerYcbcrConversionInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkSamplerYcbcrConversionInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerYcbcrConversionInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkSamplerYcbcrConversionInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerYcbcrConversionInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "conversion" VkSamplerYcbcrConversionInfo where-        type FieldType "conversion" VkSamplerYcbcrConversionInfo =-             VkSamplerYcbcrConversion-        type FieldOptional "conversion" VkSamplerYcbcrConversionInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "conversion" VkSamplerYcbcrConversionInfo =-             #{offset VkSamplerYcbcrConversionInfo, conversion}-        type FieldIsArray "conversion" VkSamplerYcbcrConversionInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSamplerYcbcrConversionInfo, conversion}--instance {-# OVERLAPPING #-}-         CanReadField "conversion" VkSamplerYcbcrConversionInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionInfo, conversion})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSamplerYcbcrConversionInfo, conversion}--instance {-# OVERLAPPING #-}-         CanWriteField "conversion" VkSamplerYcbcrConversionInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSamplerYcbcrConversionInfo, conversion}--instance Show VkSamplerYcbcrConversionInfo where-        showsPrec d x-          = showString "VkSamplerYcbcrConversionInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "conversion = " .-                            showsPrec d (getField @"conversion" x) . showChar '}'+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.Sampler+       (VkSamplerCreateInfo, VkSamplerReductionModeCreateInfoEXT,+        VkSamplerYcbcrConversionCreateInfo,+        VkSamplerYcbcrConversionCreateInfoKHR,+        VkSamplerYcbcrConversionImageFormatProperties,+        VkSamplerYcbcrConversionImageFormatPropertiesKHR,+        VkSamplerYcbcrConversionInfo, VkSamplerYcbcrConversionInfoKHR)+       where+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes               (VkBool32)+import Graphics.Vulkan.Types.Bitmasks                (VkSamplerCreateFlags)+import Graphics.Vulkan.Types.Enum.BorderColor        (VkBorderColor)+import Graphics.Vulkan.Types.Enum.ChromaLocation     (VkChromaLocation)+import Graphics.Vulkan.Types.Enum.CompareOp          (VkCompareOp)+import Graphics.Vulkan.Types.Enum.Filter             (VkFilter)+import Graphics.Vulkan.Types.Enum.Format             (VkFormat)+import Graphics.Vulkan.Types.Enum.Sampler            (VkSamplerAddressMode,+                                                      VkSamplerMipmapMode,+                                                      VkSamplerReductionModeEXT,+                                                      VkSamplerYcbcrModelConversion,+                                                      VkSamplerYcbcrRange)+import Graphics.Vulkan.Types.Enum.StructureType      (VkStructureType)+import Graphics.Vulkan.Types.Handles                 (VkSamplerYcbcrConversion)+import Graphics.Vulkan.Types.Struct.ComponentMapping (VkComponentMapping)+import Graphics.Vulkan.Types.Struct.Image            (VkImageFormatProperties2,+                                                      VkImageViewCreateInfo)++-- | > typedef struct VkSamplerCreateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkSamplerCreateFlags   flags;+--   >     VkFilter               magFilter;+--   >     VkFilter               minFilter;+--   >     VkSamplerMipmapMode    mipmapMode;+--   >     VkSamplerAddressMode   addressModeU;+--   >     VkSamplerAddressMode   addressModeV;+--   >     VkSamplerAddressMode   addressModeW;+--   >     float                  mipLodBias;+--   >     VkBool32               anisotropyEnable;+--   >     float                  maxAnisotropy;+--   >     VkBool32               compareEnable;+--   >     VkCompareOp            compareOp;+--   >     float                  minLod;+--   >     float                  maxLod;+--   >     VkBorderColor          borderColor;+--   >     VkBool32               unnormalizedCoordinates;+--   > } VkSamplerCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSamplerCreateInfo VkSamplerCreateInfo registry at www.khronos.org>+type VkSamplerCreateInfo = VkStruct VkSamplerCreateInfo' -- ' closing tick for hsc2hs++data VkSamplerCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkSamplerCreateInfo where+    type StructRep VkSamplerCreateInfo =+         'StructMeta "VkSamplerCreateInfo" VkSamplerCreateInfo  -- ' closing tick for hsc2hs+                                                               #{size VkSamplerCreateInfo}+           #{alignment VkSamplerCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkSamplerCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkSamplerCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkSamplerCreateFlags 'True +                                                            #{offset VkSamplerCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "magFilter" VkFilter 'False +                                                     #{offset VkSamplerCreateInfo, magFilter}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minFilter" VkFilter 'False +                                                     #{offset VkSamplerCreateInfo, minFilter}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "mipmapMode" VkSamplerMipmapMode 'False +                                                                 #{offset VkSamplerCreateInfo, mipmapMode}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "addressModeU" VkSamplerAddressMode 'False +                                                                    #{offset VkSamplerCreateInfo, addressModeU}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "addressModeV" VkSamplerAddressMode 'False +                                                                    #{offset VkSamplerCreateInfo, addressModeV}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "addressModeW" VkSamplerAddressMode 'False +                                                                    #{offset VkSamplerCreateInfo, addressModeW}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "mipLodBias" ( -- ' closing tick for hsc2hs+                                       #{type float}+                                       ) 'False -- ' closing tick for hsc2hs+                #{offset VkSamplerCreateInfo, mipLodBias}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "anisotropyEnable" VkBool32 'False +                                                            #{offset VkSamplerCreateInfo, anisotropyEnable}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxAnisotropy" ( -- ' closing tick for hsc2hs+                                          #{type float}+                                          ) 'False -- ' closing tick for hsc2hs+                #{offset VkSamplerCreateInfo, maxAnisotropy}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "compareEnable" VkBool32 'False +                                                         #{offset VkSamplerCreateInfo, compareEnable}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "compareOp" VkCompareOp 'False +                                                        #{offset VkSamplerCreateInfo, compareOp}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minLod" ( -- ' closing tick for hsc2hs+                                   #{type float}+                                   ) 'False  -- ' closing tick for hsc2hs+                                            #{offset VkSamplerCreateInfo, minLod}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxLod" ( -- ' closing tick for hsc2hs+                                   #{type float}+                                   ) 'False  -- ' closing tick for hsc2hs+                                            #{offset VkSamplerCreateInfo, maxLod}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "borderColor" VkBorderColor 'False +                                                            #{offset VkSamplerCreateInfo, borderColor}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "unnormalizedCoordinates" VkBool32 'False +                                                                   #{offset VkSamplerCreateInfo, unnormalizedCoordinates}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkSamplerReductionModeCreateInfoEXT {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkSamplerReductionModeEXT reductionMode;+--   > } VkSamplerReductionModeCreateInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSamplerReductionModeCreateInfoEXT VkSamplerReductionModeCreateInfoEXT registry at www.khronos.org>+type VkSamplerReductionModeCreateInfoEXT =+     VkStruct VkSamplerReductionModeCreateInfoEXT' -- ' closing tick for hsc2hs++data VkSamplerReductionModeCreateInfoEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal VkSamplerReductionModeCreateInfoEXT where+    type StructRep VkSamplerReductionModeCreateInfoEXT =+         'StructMeta "VkSamplerReductionModeCreateInfoEXT" -- ' closing tick for hsc2hs+           VkSamplerReductionModeCreateInfoEXT+           #{size VkSamplerReductionModeCreateInfoEXT}+           #{alignment VkSamplerReductionModeCreateInfoEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkSamplerReductionModeCreateInfoEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkSamplerReductionModeCreateInfoEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "reductionMode" VkSamplerReductionModeEXT 'False+                #{offset VkSamplerReductionModeCreateInfoEXT, reductionMode}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkSamplerCreateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkSamplerYcbcrConversionCreateInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkFormat                         format;+--   >     VkSamplerYcbcrModelConversion ycbcrModel;+--   >     VkSamplerYcbcrRange           ycbcrRange;+--   >     VkComponentMapping               components;+--   >     VkChromaLocation              xChromaOffset;+--   >     VkChromaLocation              yChromaOffset;+--   >     VkFilter                         chromaFilter;+--   >     VkBool32                         forceExplicitReconstruction;+--   > } VkSamplerYcbcrConversionCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfo registry at www.khronos.org>+type VkSamplerYcbcrConversionCreateInfo =+     VkStruct VkSamplerYcbcrConversionCreateInfo' -- ' closing tick for hsc2hs++data VkSamplerYcbcrConversionCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkSamplerYcbcrConversionCreateInfo where+    type StructRep VkSamplerYcbcrConversionCreateInfo =+         'StructMeta "VkSamplerYcbcrConversionCreateInfo" -- ' closing tick for hsc2hs+           VkSamplerYcbcrConversionCreateInfo+           #{size VkSamplerYcbcrConversionCreateInfo}+           #{alignment VkSamplerYcbcrConversionCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkSamplerYcbcrConversionCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkSamplerYcbcrConversionCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "format" VkFormat 'False +                                                  #{offset VkSamplerYcbcrConversionCreateInfo, format}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "ycbcrModel" VkSamplerYcbcrModelConversion 'False+                #{offset VkSamplerYcbcrConversionCreateInfo, ycbcrModel}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "ycbcrRange" VkSamplerYcbcrRange 'False +                                                                 #{offset VkSamplerYcbcrConversionCreateInfo, ycbcrRange}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "components" VkComponentMapping 'False +                                                                #{offset VkSamplerYcbcrConversionCreateInfo, components}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "xChromaOffset" VkChromaLocation 'False +                                                                 #{offset VkSamplerYcbcrConversionCreateInfo, xChromaOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "yChromaOffset" VkChromaLocation 'False +                                                                 #{offset VkSamplerYcbcrConversionCreateInfo, yChromaOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "chromaFilter" VkFilter 'False +                                                        #{offset VkSamplerYcbcrConversionCreateInfo, chromaFilter}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "forceExplicitReconstruction" VkBool32 'False +                                                                       #{offset VkSamplerYcbcrConversionCreateInfo, forceExplicitReconstruction}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | Alias for `VkSamplerYcbcrConversionCreateInfo`+type VkSamplerYcbcrConversionCreateInfoKHR =+     VkSamplerYcbcrConversionCreateInfo++-- | > typedef struct VkSamplerYcbcrConversionImageFormatProperties {+--   >     VkStructureType sType;+--   >     void*      pNext;+--   >     uint32_t                         combinedImageSamplerDescriptorCount;+--   > } VkSamplerYcbcrConversionImageFormatProperties;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatProperties registry at www.khronos.org>+type VkSamplerYcbcrConversionImageFormatProperties =+     VkStruct VkSamplerYcbcrConversionImageFormatProperties' -- ' closing tick for hsc2hs++data VkSamplerYcbcrConversionImageFormatProperties' -- ' closing tick for hsc2hs++instance VulkanMarshal+           VkSamplerYcbcrConversionImageFormatProperties+         where+    type StructRep VkSamplerYcbcrConversionImageFormatProperties =+         'StructMeta "VkSamplerYcbcrConversionImageFormatProperties" -- ' closing tick for hsc2hs+           VkSamplerYcbcrConversionImageFormatProperties+           #{size VkSamplerYcbcrConversionImageFormatProperties}+           #{alignment VkSamplerYcbcrConversionImageFormatProperties}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkSamplerYcbcrConversionImageFormatProperties, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkSamplerYcbcrConversionImageFormatProperties, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "combinedImageSamplerDescriptorCount" Word32 'False+                #{offset VkSamplerYcbcrConversionImageFormatProperties, combinedImageSamplerDescriptorCount}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[VkImageFormatProperties2] -- ' closing tick for hsc2hs++-- | Alias for `VkSamplerYcbcrConversionImageFormatProperties`+type VkSamplerYcbcrConversionImageFormatPropertiesKHR =+     VkSamplerYcbcrConversionImageFormatProperties++-- | > typedef struct VkSamplerYcbcrConversionInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkSamplerYcbcrConversion      conversion;+--   > } VkSamplerYcbcrConversionInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfo registry at www.khronos.org>+type VkSamplerYcbcrConversionInfo =+     VkStruct VkSamplerYcbcrConversionInfo' -- ' closing tick for hsc2hs++data VkSamplerYcbcrConversionInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkSamplerYcbcrConversionInfo where+    type StructRep VkSamplerYcbcrConversionInfo =+         'StructMeta "VkSamplerYcbcrConversionInfo" -- ' closing tick for hsc2hs+           VkSamplerYcbcrConversionInfo+           #{size VkSamplerYcbcrConversionInfo}+           #{alignment VkSamplerYcbcrConversionInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkSamplerYcbcrConversionInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkSamplerYcbcrConversionInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "conversion" VkSamplerYcbcrConversion 'False +                                                                      #{offset VkSamplerYcbcrConversionInfo, conversion}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkSamplerCreateInfo, VkImageViewCreateInfo] -- ' closing tick for hsc2hs  -- | Alias for `VkSamplerYcbcrConversionInfo` type VkSamplerYcbcrConversionInfoKHR = VkSamplerYcbcrConversionInfo
src-gen/Graphics/Vulkan/Types/Struct/Semaphore.hsc view
@@ -2,23 +2,17 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.Semaphore-       (VkSemaphoreCreateInfo, VkSemaphoreCreateInfo', -- ' closing tick for hsc2hs-        VkSemaphoreGetFdInfoKHR, VkSemaphoreGetFdInfoKHR') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                         (Storable (..))+       (VkSemaphoreCreateInfo, VkSemaphoreGetFdInfoKHR) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Bitmasks           (VkSemaphoreCreateFlags) import Graphics.Vulkan.Types.Enum.External      (VkExternalSemaphoreHandleTypeFlagBits) import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType) import Graphics.Vulkan.Types.Handles            (VkSemaphore)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkSemaphoreCreateInfo { --   >     VkStructureType sType;@@ -27,146 +21,33 @@ --   > } VkSemaphoreCreateInfo; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSemaphoreCreateInfo VkSemaphoreCreateInfo registry at www.khronos.org>-type VkSemaphoreCreateInfo = VulkanStruct VkSemaphoreCreateInfo' -- ' closing tick for hsc2hs+type VkSemaphoreCreateInfo = VkStruct VkSemaphoreCreateInfo' -- ' closing tick for hsc2hs  data VkSemaphoreCreateInfo' -- ' closing tick for hsc2hs -instance Eq VkSemaphoreCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSemaphoreCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSemaphoreCreateInfo where-        sizeOf ~_ = #{size VkSemaphoreCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkSemaphoreCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkSemaphoreCreateInfo where-        type StructFields VkSemaphoreCreateInfo =-             '["sType", "pNext", "flags"] -- ' closing tick for hsc2hs-        type CUnionType VkSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkSemaphoreCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkSemaphoreCreateInfo-         where-        type FieldType "sType" VkSemaphoreCreateInfo = VkStructureType-        type FieldOptional "sType" VkSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkSemaphoreCreateInfo =-             #{offset VkSemaphoreCreateInfo, sType}-        type FieldIsArray "sType" VkSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSemaphoreCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkSemaphoreCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSemaphoreCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSemaphoreCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkSemaphoreCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSemaphoreCreateInfo, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkSemaphoreCreateInfo-         where-        type FieldType "pNext" VkSemaphoreCreateInfo = Ptr Void-        type FieldOptional "pNext" VkSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkSemaphoreCreateInfo =-             #{offset VkSemaphoreCreateInfo, pNext}-        type FieldIsArray "pNext" VkSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSemaphoreCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkSemaphoreCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSemaphoreCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSemaphoreCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkSemaphoreCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSemaphoreCreateInfo, pNext}--instance {-# OVERLAPPING #-} HasField "flags" VkSemaphoreCreateInfo-         where-        type FieldType "flags" VkSemaphoreCreateInfo =-             VkSemaphoreCreateFlags-        type FieldOptional "flags" VkSemaphoreCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkSemaphoreCreateInfo =-             #{offset VkSemaphoreCreateInfo, flags}-        type FieldIsArray "flags" VkSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSemaphoreCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkSemaphoreCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSemaphoreCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSemaphoreCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkSemaphoreCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSemaphoreCreateInfo, flags}--instance Show VkSemaphoreCreateInfo where-        showsPrec d x-          = showString "VkSemaphoreCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) . showChar '}'+    type StructRep VkSemaphoreCreateInfo =+         'StructMeta "VkSemaphoreCreateInfo" VkSemaphoreCreateInfo  -- ' closing tick for hsc2hs+                                                                   #{size VkSemaphoreCreateInfo}+           #{alignment VkSemaphoreCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkSemaphoreCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkSemaphoreCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkSemaphoreCreateFlags 'True +                                                              #{offset VkSemaphoreCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | > typedef struct VkSemaphoreGetFdInfoKHR { --   >     VkStructureType sType;@@ -176,180 +57,36 @@ --   > } VkSemaphoreGetFdInfoKHR; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSemaphoreGetFdInfoKHR VkSemaphoreGetFdInfoKHR registry at www.khronos.org>-type VkSemaphoreGetFdInfoKHR =-     VulkanStruct VkSemaphoreGetFdInfoKHR' -- ' closing tick for hsc2hs+type VkSemaphoreGetFdInfoKHR = VkStruct VkSemaphoreGetFdInfoKHR' -- ' closing tick for hsc2hs  data VkSemaphoreGetFdInfoKHR' -- ' closing tick for hsc2hs -instance Eq VkSemaphoreGetFdInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSemaphoreGetFdInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSemaphoreGetFdInfoKHR where-        sizeOf ~_ = #{size VkSemaphoreGetFdInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkSemaphoreGetFdInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkSemaphoreGetFdInfoKHR where-        type StructFields VkSemaphoreGetFdInfoKHR =-             '["sType", "pNext", "semaphore", "handleType"] -- ' closing tick for hsc2hs-        type CUnionType VkSemaphoreGetFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSemaphoreGetFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkSemaphoreGetFdInfoKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkSemaphoreGetFdInfoKHR where-        type FieldType "sType" VkSemaphoreGetFdInfoKHR = VkStructureType-        type FieldOptional "sType" VkSemaphoreGetFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkSemaphoreGetFdInfoKHR =-             #{offset VkSemaphoreGetFdInfoKHR, sType}-        type FieldIsArray "sType" VkSemaphoreGetFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSemaphoreGetFdInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkSemaphoreGetFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSemaphoreGetFdInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSemaphoreGetFdInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkSemaphoreGetFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSemaphoreGetFdInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkSemaphoreGetFdInfoKHR where-        type FieldType "pNext" VkSemaphoreGetFdInfoKHR = Ptr Void-        type FieldOptional "pNext" VkSemaphoreGetFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkSemaphoreGetFdInfoKHR =-             #{offset VkSemaphoreGetFdInfoKHR, pNext}-        type FieldIsArray "pNext" VkSemaphoreGetFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSemaphoreGetFdInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkSemaphoreGetFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSemaphoreGetFdInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSemaphoreGetFdInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkSemaphoreGetFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSemaphoreGetFdInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "semaphore" VkSemaphoreGetFdInfoKHR where-        type FieldType "semaphore" VkSemaphoreGetFdInfoKHR = VkSemaphore-        type FieldOptional "semaphore" VkSemaphoreGetFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "semaphore" VkSemaphoreGetFdInfoKHR =-             #{offset VkSemaphoreGetFdInfoKHR, semaphore}-        type FieldIsArray "semaphore" VkSemaphoreGetFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSemaphoreGetFdInfoKHR, semaphore}--instance {-# OVERLAPPING #-}-         CanReadField "semaphore" VkSemaphoreGetFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSemaphoreGetFdInfoKHR, semaphore})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSemaphoreGetFdInfoKHR, semaphore}--instance {-# OVERLAPPING #-}-         CanWriteField "semaphore" VkSemaphoreGetFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSemaphoreGetFdInfoKHR, semaphore}--instance {-# OVERLAPPING #-}-         HasField "handleType" VkSemaphoreGetFdInfoKHR where-        type FieldType "handleType" VkSemaphoreGetFdInfoKHR =-             VkExternalSemaphoreHandleTypeFlagBits-        type FieldOptional "handleType" VkSemaphoreGetFdInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "handleType" VkSemaphoreGetFdInfoKHR =-             #{offset VkSemaphoreGetFdInfoKHR, handleType}-        type FieldIsArray "handleType" VkSemaphoreGetFdInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSemaphoreGetFdInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         CanReadField "handleType" VkSemaphoreGetFdInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSemaphoreGetFdInfoKHR, handleType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSemaphoreGetFdInfoKHR, handleType}--instance {-# OVERLAPPING #-}-         CanWriteField "handleType" VkSemaphoreGetFdInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSemaphoreGetFdInfoKHR, handleType}--instance Show VkSemaphoreGetFdInfoKHR where-        showsPrec d x-          = showString "VkSemaphoreGetFdInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "semaphore = " .-                            showsPrec d (getField @"semaphore" x) .-                              showString ", " .-                                showString "handleType = " .-                                  showsPrec d (getField @"handleType" x) . showChar '}'+    type StructRep VkSemaphoreGetFdInfoKHR =+         'StructMeta "VkSemaphoreGetFdInfoKHR" VkSemaphoreGetFdInfoKHR -- ' closing tick for hsc2hs+           #{size VkSemaphoreGetFdInfoKHR}+           #{alignment VkSemaphoreGetFdInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkSemaphoreGetFdInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkSemaphoreGetFdInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "semaphore" VkSemaphore 'False +                                                        #{offset VkSemaphoreGetFdInfoKHR, semaphore}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "handleType" VkExternalSemaphoreHandleTypeFlagBits -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkSemaphoreGetFdInfoKHR, handleType}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc view
@@ -1,1030 +1,210 @@ #include "vulkan/vulkan.h"  {-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleContexts      #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE PatternSynonyms       #-}-{-# LANGUAGE ScopedTypeVariables   #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-}-{-# LANGUAGE TypeFamilies          #-}-{-# LANGUAGE UndecidableInstances  #-}-module Graphics.Vulkan.Types.Struct.Shader-       (VkShaderModuleCreateInfo, VkShaderModuleCreateInfo', -- ' closing tick for hsc2hs-        VkShaderModuleValidationCacheCreateInfoEXT,-        VkShaderModuleValidationCacheCreateInfoEXT', -- ' closing tick for hsc2hs-        VkShaderResourceUsageAMD, VkShaderResourceUsageAMD', -- ' closing tick for hsc2hs-        VkShaderStatisticsInfoAMD, VkShaderStatisticsInfoAMD') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                         (Storable (..))-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Internal-import Graphics.Vulkan.Types.Bitmasks           (VkShaderModuleCreateFlags)-import Graphics.Vulkan.Types.Enum.Shader        (VkShaderStageFlags)-import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)-import Graphics.Vulkan.Types.Handles            (VkValidationCacheEXT)-import System.IO.Unsafe                         (unsafeDupablePerformIO)---- | > typedef struct VkShaderModuleCreateInfo {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkShaderModuleCreateFlags flags;---   >     size_t                 codeSize;---   >     const uint32_t*            pCode;---   > } VkShaderModuleCreateInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkShaderModuleCreateInfo VkShaderModuleCreateInfo registry at www.khronos.org>-type VkShaderModuleCreateInfo =-     VulkanStruct VkShaderModuleCreateInfo' -- ' closing tick for hsc2hs--data VkShaderModuleCreateInfo' -- ' closing tick for hsc2hs--instance Eq VkShaderModuleCreateInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkShaderModuleCreateInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkShaderModuleCreateInfo where-        sizeOf ~_ = #{size VkShaderModuleCreateInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkShaderModuleCreateInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkShaderModuleCreateInfo where-        type StructFields VkShaderModuleCreateInfo =-             '["sType", "pNext", "flags", "codeSize", "pCode"] -- ' closing tick for hsc2hs-        type CUnionType VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkShaderModuleCreateInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkShaderModuleCreateInfo where-        type FieldType "sType" VkShaderModuleCreateInfo = VkStructureType-        type FieldOptional "sType" VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkShaderModuleCreateInfo =-             #{offset VkShaderModuleCreateInfo, sType}-        type FieldIsArray "sType" VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkShaderModuleCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkShaderModuleCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkShaderModuleCreateInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkShaderModuleCreateInfo, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkShaderModuleCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkShaderModuleCreateInfo, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkShaderModuleCreateInfo where-        type FieldType "pNext" VkShaderModuleCreateInfo = Ptr Void-        type FieldOptional "pNext" VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkShaderModuleCreateInfo =-             #{offset VkShaderModuleCreateInfo, pNext}-        type FieldIsArray "pNext" VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkShaderModuleCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkShaderModuleCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkShaderModuleCreateInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkShaderModuleCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkShaderModuleCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkShaderModuleCreateInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkShaderModuleCreateInfo where-        type FieldType "flags" VkShaderModuleCreateInfo =-             VkShaderModuleCreateFlags-        type FieldOptional "flags" VkShaderModuleCreateInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkShaderModuleCreateInfo =-             #{offset VkShaderModuleCreateInfo, flags}-        type FieldIsArray "flags" VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkShaderModuleCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkShaderModuleCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkShaderModuleCreateInfo, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkShaderModuleCreateInfo, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkShaderModuleCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkShaderModuleCreateInfo, flags}--instance {-# OVERLAPPING #-}-         HasField "codeSize" VkShaderModuleCreateInfo where-        type FieldType "codeSize" VkShaderModuleCreateInfo = CSize-        type FieldOptional "codeSize" VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "codeSize" VkShaderModuleCreateInfo =-             #{offset VkShaderModuleCreateInfo, codeSize}-        type FieldIsArray "codeSize" VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkShaderModuleCreateInfo, codeSize}--instance {-# OVERLAPPING #-}-         CanReadField "codeSize" VkShaderModuleCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkShaderModuleCreateInfo, codeSize})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkShaderModuleCreateInfo, codeSize}--instance {-# OVERLAPPING #-}-         CanWriteField "codeSize" VkShaderModuleCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkShaderModuleCreateInfo, codeSize}--instance {-# OVERLAPPING #-}-         HasField "pCode" VkShaderModuleCreateInfo where-        type FieldType "pCode" VkShaderModuleCreateInfo = Ptr Word32-        type FieldOptional "pCode" VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pCode" VkShaderModuleCreateInfo =-             #{offset VkShaderModuleCreateInfo, pCode}-        type FieldIsArray "pCode" VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkShaderModuleCreateInfo, pCode}--instance {-# OVERLAPPING #-}-         CanReadField "pCode" VkShaderModuleCreateInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkShaderModuleCreateInfo, pCode})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkShaderModuleCreateInfo, pCode}--instance {-# OVERLAPPING #-}-         CanWriteField "pCode" VkShaderModuleCreateInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkShaderModuleCreateInfo, pCode}--instance Show VkShaderModuleCreateInfo where-        showsPrec d x-          = showString "VkShaderModuleCreateInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "codeSize = " .-                                  showsPrec d (getField @"codeSize" x) .-                                    showString ", " .-                                      showString "pCode = " .-                                        showsPrec d (getField @"pCode" x) . showChar '}'---- | > typedef struct VkShaderModuleValidationCacheCreateInfoEXT {---   >     VkStructureType sType;---   >     const void*            pNext;---   >     VkValidationCacheEXT    validationCache;---   > } VkShaderModuleValidationCacheCreateInfoEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkShaderModuleValidationCacheCreateInfoEXT VkShaderModuleValidationCacheCreateInfoEXT registry at www.khronos.org>-type VkShaderModuleValidationCacheCreateInfoEXT =-     VulkanStruct VkShaderModuleValidationCacheCreateInfoEXT' -- ' closing tick for hsc2hs--data VkShaderModuleValidationCacheCreateInfoEXT' -- ' closing tick for hsc2hs--instance Eq VkShaderModuleValidationCacheCreateInfoEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkShaderModuleValidationCacheCreateInfoEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkShaderModuleValidationCacheCreateInfoEXT where-        sizeOf ~_-          = #{size VkShaderModuleValidationCacheCreateInfoEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkShaderModuleValidationCacheCreateInfoEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkShaderModuleValidationCacheCreateInfoEXT-         where-        type StructFields VkShaderModuleValidationCacheCreateInfoEXT =-             '["sType", "pNext", "validationCache"] -- ' closing tick for hsc2hs-        type CUnionType VkShaderModuleValidationCacheCreateInfoEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkShaderModuleValidationCacheCreateInfoEXT =-             'False -- ' closing tick for hsc2hs-        type StructExtends VkShaderModuleValidationCacheCreateInfoEXT =-             '[VkShaderModuleCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkShaderModuleValidationCacheCreateInfoEXT where-        type FieldType "sType" VkShaderModuleValidationCacheCreateInfoEXT =-             VkStructureType-        type FieldOptional "sType"-               VkShaderModuleValidationCacheCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkShaderModuleValidationCacheCreateInfoEXT-             =-             #{offset VkShaderModuleValidationCacheCreateInfoEXT, sType}-        type FieldIsArray "sType"-               VkShaderModuleValidationCacheCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkShaderModuleValidationCacheCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkShaderModuleValidationCacheCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkShaderModuleValidationCacheCreateInfoEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkShaderModuleValidationCacheCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkShaderModuleValidationCacheCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkShaderModuleValidationCacheCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkShaderModuleValidationCacheCreateInfoEXT where-        type FieldType "pNext" VkShaderModuleValidationCacheCreateInfoEXT =-             Ptr Void-        type FieldOptional "pNext"-               VkShaderModuleValidationCacheCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkShaderModuleValidationCacheCreateInfoEXT-             =-             #{offset VkShaderModuleValidationCacheCreateInfoEXT, pNext}-        type FieldIsArray "pNext"-               VkShaderModuleValidationCacheCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkShaderModuleValidationCacheCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkShaderModuleValidationCacheCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkShaderModuleValidationCacheCreateInfoEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkShaderModuleValidationCacheCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkShaderModuleValidationCacheCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkShaderModuleValidationCacheCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "validationCache"-           VkShaderModuleValidationCacheCreateInfoEXT-         where-        type FieldType "validationCache"-               VkShaderModuleValidationCacheCreateInfoEXT-             = VkValidationCacheEXT-        type FieldOptional "validationCache"-               VkShaderModuleValidationCacheCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "validationCache"-               VkShaderModuleValidationCacheCreateInfoEXT-             =-             #{offset VkShaderModuleValidationCacheCreateInfoEXT, validationCache}-        type FieldIsArray "validationCache"-               VkShaderModuleValidationCacheCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkShaderModuleValidationCacheCreateInfoEXT, validationCache}--instance {-# OVERLAPPING #-}-         CanReadField "validationCache"-           VkShaderModuleValidationCacheCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkShaderModuleValidationCacheCreateInfoEXT, validationCache})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkShaderModuleValidationCacheCreateInfoEXT, validationCache}--instance {-# OVERLAPPING #-}-         CanWriteField "validationCache"-           VkShaderModuleValidationCacheCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkShaderModuleValidationCacheCreateInfoEXT, validationCache}--instance Show VkShaderModuleValidationCacheCreateInfoEXT where-        showsPrec d x-          = showString "VkShaderModuleValidationCacheCreateInfoEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "validationCache = " .-                            showsPrec d (getField @"validationCache" x) . showChar '}'---- | > typedef struct VkShaderResourceUsageAMD {---   >     uint32_t numUsedVgprs;---   >     uint32_t numUsedSgprs;---   >     uint32_t ldsSizePerLocalWorkGroup;---   >     size_t ldsUsageSizeInBytes;---   >     size_t scratchMemUsageInBytes;---   > } VkShaderResourceUsageAMD;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkShaderResourceUsageAMD VkShaderResourceUsageAMD registry at www.khronos.org>-type VkShaderResourceUsageAMD =-     VulkanStruct VkShaderResourceUsageAMD' -- ' closing tick for hsc2hs--data VkShaderResourceUsageAMD' -- ' closing tick for hsc2hs--instance Eq VkShaderResourceUsageAMD where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkShaderResourceUsageAMD where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkShaderResourceUsageAMD where-        sizeOf ~_ = #{size VkShaderResourceUsageAMD}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkShaderResourceUsageAMD}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkShaderResourceUsageAMD where-        type StructFields VkShaderResourceUsageAMD =-             '["numUsedVgprs", "numUsedSgprs", "ldsSizePerLocalWorkGroup", -- ' closing tick for hsc2hs-               "ldsUsageSizeInBytes", "scratchMemUsageInBytes"]-        type CUnionType VkShaderResourceUsageAMD = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkShaderResourceUsageAMD = 'True -- ' closing tick for hsc2hs-        type StructExtends VkShaderResourceUsageAMD = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "numUsedVgprs" VkShaderResourceUsageAMD where-        type FieldType "numUsedVgprs" VkShaderResourceUsageAMD = Word32-        type FieldOptional "numUsedVgprs" VkShaderResourceUsageAMD = 'False -- ' closing tick for hsc2hs-        type FieldOffset "numUsedVgprs" VkShaderResourceUsageAMD =-             #{offset VkShaderResourceUsageAMD, numUsedVgprs}-        type FieldIsArray "numUsedVgprs" VkShaderResourceUsageAMD = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkShaderResourceUsageAMD, numUsedVgprs}--instance {-# OVERLAPPING #-}-         CanReadField "numUsedVgprs" VkShaderResourceUsageAMD where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkShaderResourceUsageAMD, numUsedVgprs})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkShaderResourceUsageAMD, numUsedVgprs}--instance {-# OVERLAPPING #-}-         CanWriteField "numUsedVgprs" VkShaderResourceUsageAMD where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkShaderResourceUsageAMD, numUsedVgprs}--instance {-# OVERLAPPING #-}-         HasField "numUsedSgprs" VkShaderResourceUsageAMD where-        type FieldType "numUsedSgprs" VkShaderResourceUsageAMD = Word32-        type FieldOptional "numUsedSgprs" VkShaderResourceUsageAMD = 'False -- ' closing tick for hsc2hs-        type FieldOffset "numUsedSgprs" VkShaderResourceUsageAMD =-             #{offset VkShaderResourceUsageAMD, numUsedSgprs}-        type FieldIsArray "numUsedSgprs" VkShaderResourceUsageAMD = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkShaderResourceUsageAMD, numUsedSgprs}--instance {-# OVERLAPPING #-}-         CanReadField "numUsedSgprs" VkShaderResourceUsageAMD where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkShaderResourceUsageAMD, numUsedSgprs})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkShaderResourceUsageAMD, numUsedSgprs}--instance {-# OVERLAPPING #-}-         CanWriteField "numUsedSgprs" VkShaderResourceUsageAMD where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkShaderResourceUsageAMD, numUsedSgprs}--instance {-# OVERLAPPING #-}-         HasField "ldsSizePerLocalWorkGroup" VkShaderResourceUsageAMD where-        type FieldType "ldsSizePerLocalWorkGroup" VkShaderResourceUsageAMD-             = Word32-        type FieldOptional "ldsSizePerLocalWorkGroup"-               VkShaderResourceUsageAMD-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "ldsSizePerLocalWorkGroup"-               VkShaderResourceUsageAMD-             =-             #{offset VkShaderResourceUsageAMD, ldsSizePerLocalWorkGroup}-        type FieldIsArray "ldsSizePerLocalWorkGroup"-               VkShaderResourceUsageAMD-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkShaderResourceUsageAMD, ldsSizePerLocalWorkGroup}--instance {-# OVERLAPPING #-}-         CanReadField "ldsSizePerLocalWorkGroup" VkShaderResourceUsageAMD-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkShaderResourceUsageAMD, ldsSizePerLocalWorkGroup})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkShaderResourceUsageAMD, ldsSizePerLocalWorkGroup}--instance {-# OVERLAPPING #-}-         CanWriteField "ldsSizePerLocalWorkGroup" VkShaderResourceUsageAMD-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkShaderResourceUsageAMD, ldsSizePerLocalWorkGroup}--instance {-# OVERLAPPING #-}-         HasField "ldsUsageSizeInBytes" VkShaderResourceUsageAMD where-        type FieldType "ldsUsageSizeInBytes" VkShaderResourceUsageAMD =-             CSize-        type FieldOptional "ldsUsageSizeInBytes" VkShaderResourceUsageAMD =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "ldsUsageSizeInBytes" VkShaderResourceUsageAMD =-             #{offset VkShaderResourceUsageAMD, ldsUsageSizeInBytes}-        type FieldIsArray "ldsUsageSizeInBytes" VkShaderResourceUsageAMD =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkShaderResourceUsageAMD, ldsUsageSizeInBytes}--instance {-# OVERLAPPING #-}-         CanReadField "ldsUsageSizeInBytes" VkShaderResourceUsageAMD where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkShaderResourceUsageAMD, ldsUsageSizeInBytes})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkShaderResourceUsageAMD, ldsUsageSizeInBytes}--instance {-# OVERLAPPING #-}-         CanWriteField "ldsUsageSizeInBytes" VkShaderResourceUsageAMD where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkShaderResourceUsageAMD, ldsUsageSizeInBytes}--instance {-# OVERLAPPING #-}-         HasField "scratchMemUsageInBytes" VkShaderResourceUsageAMD where-        type FieldType "scratchMemUsageInBytes" VkShaderResourceUsageAMD =-             CSize-        type FieldOptional "scratchMemUsageInBytes"-               VkShaderResourceUsageAMD-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "scratchMemUsageInBytes" VkShaderResourceUsageAMD-             =-             #{offset VkShaderResourceUsageAMD, scratchMemUsageInBytes}-        type FieldIsArray "scratchMemUsageInBytes" VkShaderResourceUsageAMD-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkShaderResourceUsageAMD, scratchMemUsageInBytes}--instance {-# OVERLAPPING #-}-         CanReadField "scratchMemUsageInBytes" VkShaderResourceUsageAMD-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkShaderResourceUsageAMD, scratchMemUsageInBytes})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkShaderResourceUsageAMD, scratchMemUsageInBytes}--instance {-# OVERLAPPING #-}-         CanWriteField "scratchMemUsageInBytes" VkShaderResourceUsageAMD-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkShaderResourceUsageAMD, scratchMemUsageInBytes}--instance Show VkShaderResourceUsageAMD where-        showsPrec d x-          = showString "VkShaderResourceUsageAMD {" .-              showString "numUsedVgprs = " .-                showsPrec d (getField @"numUsedVgprs" x) .-                  showString ", " .-                    showString "numUsedSgprs = " .-                      showsPrec d (getField @"numUsedSgprs" x) .-                        showString ", " .-                          showString "ldsSizePerLocalWorkGroup = " .-                            showsPrec d (getField @"ldsSizePerLocalWorkGroup" x) .-                              showString ", " .-                                showString "ldsUsageSizeInBytes = " .-                                  showsPrec d (getField @"ldsUsageSizeInBytes" x) .-                                    showString ", " .-                                      showString "scratchMemUsageInBytes = " .-                                        showsPrec d (getField @"scratchMemUsageInBytes" x) .-                                          showChar '}'---- | > typedef struct VkShaderStatisticsInfoAMD {---   >     VkShaderStageFlags shaderStageMask;---   >     VkShaderResourceUsageAMD resourceUsage;---   >     uint32_t numPhysicalVgprs;---   >     uint32_t numPhysicalSgprs;---   >     uint32_t numAvailableVgprs;---   >     uint32_t numAvailableSgprs;---   >     uint32_t computeWorkGroupSize[3];---   > } VkShaderStatisticsInfoAMD;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkShaderStatisticsInfoAMD VkShaderStatisticsInfoAMD registry at www.khronos.org>-type VkShaderStatisticsInfoAMD =-     VulkanStruct VkShaderStatisticsInfoAMD' -- ' closing tick for hsc2hs--data VkShaderStatisticsInfoAMD' -- ' closing tick for hsc2hs--instance Eq VkShaderStatisticsInfoAMD where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkShaderStatisticsInfoAMD where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkShaderStatisticsInfoAMD where-        sizeOf ~_ = #{size VkShaderStatisticsInfoAMD}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkShaderStatisticsInfoAMD}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkShaderStatisticsInfoAMD where-        type StructFields VkShaderStatisticsInfoAMD =-             '["shaderStageMask", "resourceUsage", "numPhysicalVgprs", -- ' closing tick for hsc2hs-               "numPhysicalSgprs", "numAvailableVgprs", "numAvailableSgprs",-               "computeWorkGroupSize"]-        type CUnionType VkShaderStatisticsInfoAMD = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkShaderStatisticsInfoAMD = 'True -- ' closing tick for hsc2hs-        type StructExtends VkShaderStatisticsInfoAMD = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "shaderStageMask" VkShaderStatisticsInfoAMD where-        type FieldType "shaderStageMask" VkShaderStatisticsInfoAMD =-             VkShaderStageFlags-        type FieldOptional "shaderStageMask" VkShaderStatisticsInfoAMD =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "shaderStageMask" VkShaderStatisticsInfoAMD =-             #{offset VkShaderStatisticsInfoAMD, shaderStageMask}-        type FieldIsArray "shaderStageMask" VkShaderStatisticsInfoAMD =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkShaderStatisticsInfoAMD, shaderStageMask}--instance {-# OVERLAPPING #-}-         CanReadField "shaderStageMask" VkShaderStatisticsInfoAMD where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkShaderStatisticsInfoAMD, shaderStageMask})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkShaderStatisticsInfoAMD, shaderStageMask}--instance {-# OVERLAPPING #-}-         CanWriteField "shaderStageMask" VkShaderStatisticsInfoAMD where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkShaderStatisticsInfoAMD, shaderStageMask}--instance {-# OVERLAPPING #-}-         HasField "resourceUsage" VkShaderStatisticsInfoAMD where-        type FieldType "resourceUsage" VkShaderStatisticsInfoAMD =-             VkShaderResourceUsageAMD-        type FieldOptional "resourceUsage" VkShaderStatisticsInfoAMD =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "resourceUsage" VkShaderStatisticsInfoAMD =-             #{offset VkShaderStatisticsInfoAMD, resourceUsage}-        type FieldIsArray "resourceUsage" VkShaderStatisticsInfoAMD =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkShaderStatisticsInfoAMD, resourceUsage}--instance {-# OVERLAPPING #-}-         CanReadField "resourceUsage" VkShaderStatisticsInfoAMD where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkShaderStatisticsInfoAMD, resourceUsage})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkShaderStatisticsInfoAMD, resourceUsage}--instance {-# OVERLAPPING #-}-         CanWriteField "resourceUsage" VkShaderStatisticsInfoAMD where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkShaderStatisticsInfoAMD, resourceUsage}--instance {-# OVERLAPPING #-}-         HasField "numPhysicalVgprs" VkShaderStatisticsInfoAMD where-        type FieldType "numPhysicalVgprs" VkShaderStatisticsInfoAMD =-             Word32-        type FieldOptional "numPhysicalVgprs" VkShaderStatisticsInfoAMD =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "numPhysicalVgprs" VkShaderStatisticsInfoAMD =-             #{offset VkShaderStatisticsInfoAMD, numPhysicalVgprs}-        type FieldIsArray "numPhysicalVgprs" VkShaderStatisticsInfoAMD =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkShaderStatisticsInfoAMD, numPhysicalVgprs}--instance {-# OVERLAPPING #-}-         CanReadField "numPhysicalVgprs" VkShaderStatisticsInfoAMD where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkShaderStatisticsInfoAMD, numPhysicalVgprs})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkShaderStatisticsInfoAMD, numPhysicalVgprs}--instance {-# OVERLAPPING #-}-         CanWriteField "numPhysicalVgprs" VkShaderStatisticsInfoAMD where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkShaderStatisticsInfoAMD, numPhysicalVgprs}--instance {-# OVERLAPPING #-}-         HasField "numPhysicalSgprs" VkShaderStatisticsInfoAMD where-        type FieldType "numPhysicalSgprs" VkShaderStatisticsInfoAMD =-             Word32-        type FieldOptional "numPhysicalSgprs" VkShaderStatisticsInfoAMD =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "numPhysicalSgprs" VkShaderStatisticsInfoAMD =-             #{offset VkShaderStatisticsInfoAMD, numPhysicalSgprs}-        type FieldIsArray "numPhysicalSgprs" VkShaderStatisticsInfoAMD =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkShaderStatisticsInfoAMD, numPhysicalSgprs}--instance {-# OVERLAPPING #-}-         CanReadField "numPhysicalSgprs" VkShaderStatisticsInfoAMD where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkShaderStatisticsInfoAMD, numPhysicalSgprs})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkShaderStatisticsInfoAMD, numPhysicalSgprs}--instance {-# OVERLAPPING #-}-         CanWriteField "numPhysicalSgprs" VkShaderStatisticsInfoAMD where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkShaderStatisticsInfoAMD, numPhysicalSgprs}--instance {-# OVERLAPPING #-}-         HasField "numAvailableVgprs" VkShaderStatisticsInfoAMD where-        type FieldType "numAvailableVgprs" VkShaderStatisticsInfoAMD =-             Word32-        type FieldOptional "numAvailableVgprs" VkShaderStatisticsInfoAMD =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "numAvailableVgprs" VkShaderStatisticsInfoAMD =-             #{offset VkShaderStatisticsInfoAMD, numAvailableVgprs}-        type FieldIsArray "numAvailableVgprs" VkShaderStatisticsInfoAMD =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkShaderStatisticsInfoAMD, numAvailableVgprs}--instance {-# OVERLAPPING #-}-         CanReadField "numAvailableVgprs" VkShaderStatisticsInfoAMD where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkShaderStatisticsInfoAMD, numAvailableVgprs})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkShaderStatisticsInfoAMD, numAvailableVgprs}--instance {-# OVERLAPPING #-}-         CanWriteField "numAvailableVgprs" VkShaderStatisticsInfoAMD where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkShaderStatisticsInfoAMD, numAvailableVgprs}--instance {-# OVERLAPPING #-}-         HasField "numAvailableSgprs" VkShaderStatisticsInfoAMD where-        type FieldType "numAvailableSgprs" VkShaderStatisticsInfoAMD =-             Word32-        type FieldOptional "numAvailableSgprs" VkShaderStatisticsInfoAMD =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "numAvailableSgprs" VkShaderStatisticsInfoAMD =-             #{offset VkShaderStatisticsInfoAMD, numAvailableSgprs}-        type FieldIsArray "numAvailableSgprs" VkShaderStatisticsInfoAMD =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkShaderStatisticsInfoAMD, numAvailableSgprs}--instance {-# OVERLAPPING #-}-         CanReadField "numAvailableSgprs" VkShaderStatisticsInfoAMD where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkShaderStatisticsInfoAMD, numAvailableSgprs})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkShaderStatisticsInfoAMD, numAvailableSgprs}--instance {-# OVERLAPPING #-}-         CanWriteField "numAvailableSgprs" VkShaderStatisticsInfoAMD where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkShaderStatisticsInfoAMD, numAvailableSgprs}--instance {-# OVERLAPPING #-}-         HasField "computeWorkGroupSize" VkShaderStatisticsInfoAMD where-        type FieldType "computeWorkGroupSize" VkShaderStatisticsInfoAMD =-             Word32-        type FieldOptional "computeWorkGroupSize" VkShaderStatisticsInfoAMD-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "computeWorkGroupSize" VkShaderStatisticsInfoAMD =-             #{offset VkShaderStatisticsInfoAMD, computeWorkGroupSize}-        type FieldIsArray "computeWorkGroupSize" VkShaderStatisticsInfoAMD-             = 'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkShaderStatisticsInfoAMD, computeWorkGroupSize}--instance {-# OVERLAPPING #-}-         CanReadFieldArray "computeWorkGroupSize" VkShaderStatisticsInfoAMD-         where-        type FieldArrayLength "computeWorkGroupSize"-               VkShaderStatisticsInfoAMD-             = 3--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = 3--        {-# INLINE getFieldArrayUnsafe #-}-        getFieldArrayUnsafe i = f-          where {-# NOINLINE f #-}-                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)-                off-                  = #{offset VkShaderStatisticsInfoAMD, computeWorkGroupSize}-                      + sizeOf (undefined :: Word32) * i--        {-# INLINE readFieldArrayUnsafe #-}-        readFieldArrayUnsafe i p-          = peekByteOff p-              (#{offset VkShaderStatisticsInfoAMD, computeWorkGroupSize}-                 + sizeOf (undefined :: Word32) * i)--instance {-# OVERLAPPING #-}-         CanWriteFieldArray "computeWorkGroupSize" VkShaderStatisticsInfoAMD-         where-        {-# INLINE writeFieldArrayUnsafe #-}-        writeFieldArrayUnsafe i p-          = pokeByteOff p-              (#{offset VkShaderStatisticsInfoAMD, computeWorkGroupSize}-                 + sizeOf (undefined :: Word32) * i)--instance Show VkShaderStatisticsInfoAMD where-        showsPrec d x-          = showString "VkShaderStatisticsInfoAMD {" .-              showString "shaderStageMask = " .-                showsPrec d (getField @"shaderStageMask" x) .-                  showString ", " .-                    showString "resourceUsage = " .-                      showsPrec d (getField @"resourceUsage" x) .-                        showString ", " .-                          showString "numPhysicalVgprs = " .-                            showsPrec d (getField @"numPhysicalVgprs" x) .-                              showString ", " .-                                showString "numPhysicalSgprs = " .-                                  showsPrec d (getField @"numPhysicalSgprs" x) .-                                    showString ", " .-                                      showString "numAvailableVgprs = " .-                                        showsPrec d (getField @"numAvailableVgprs" x) .-                                          showString ", " .-                                            showString "numAvailableSgprs = " .-                                              showsPrec d (getField @"numAvailableSgprs" x) .-                                                showString ", " .-                                                  (showString "computeWorkGroupSize = [" .-                                                     showsPrec d-                                                       (let s = sizeOf-                                                                  (undefined ::-                                                                     FieldType-                                                                       "computeWorkGroupSize"-                                                                       VkShaderStatisticsInfoAMD)-                                                            o = fieldOffset @"computeWorkGroupSize"-                                                                  @VkShaderStatisticsInfoAMD-                                                            f i-                                                              = peekByteOff (unsafePtr x) i ::-                                                                  IO-                                                                    (FieldType-                                                                       "computeWorkGroupSize"-                                                                       VkShaderStatisticsInfoAMD)-                                                          in-                                                          unsafeDupablePerformIO . mapM f $-                                                            map (\ i -> o + i * s) [0 .. 3 - 1])-                                                       . showChar ']')-                                                    . showChar '}'+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.Shader+       (VkShaderModuleCreateInfo,+        VkShaderModuleValidationCacheCreateInfoEXT,+        VkShaderResourceUsageAMD, VkShaderStatisticsInfoAMD)+       where+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Bitmasks           (VkShaderModuleCreateFlags)+import Graphics.Vulkan.Types.Enum.Shader        (VkShaderStageFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles            (VkValidationCacheEXT)++-- | > typedef struct VkShaderModuleCreateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkShaderModuleCreateFlags flags;+--   >     size_t                 codeSize;+--   >     const uint32_t*            pCode;+--   > } VkShaderModuleCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkShaderModuleCreateInfo VkShaderModuleCreateInfo registry at www.khronos.org>+type VkShaderModuleCreateInfo = VkStruct VkShaderModuleCreateInfo' -- ' closing tick for hsc2hs++data VkShaderModuleCreateInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkShaderModuleCreateInfo where+    type StructRep VkShaderModuleCreateInfo =+         'StructMeta "VkShaderModuleCreateInfo" VkShaderModuleCreateInfo -- ' closing tick for hsc2hs+           #{size VkShaderModuleCreateInfo}+           #{alignment VkShaderModuleCreateInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkShaderModuleCreateInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkShaderModuleCreateInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkShaderModuleCreateFlags 'True +                                                                 #{offset VkShaderModuleCreateInfo, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "codeSize" CSize 'False +                                                 #{offset VkShaderModuleCreateInfo, codeSize}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pCode" (Ptr Word32) 'False +                                                     #{offset VkShaderModuleCreateInfo, pCode}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkShaderModuleValidationCacheCreateInfoEXT {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkValidationCacheEXT    validationCache;+--   > } VkShaderModuleValidationCacheCreateInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkShaderModuleValidationCacheCreateInfoEXT VkShaderModuleValidationCacheCreateInfoEXT registry at www.khronos.org>+type VkShaderModuleValidationCacheCreateInfoEXT =+     VkStruct VkShaderModuleValidationCacheCreateInfoEXT' -- ' closing tick for hsc2hs++data VkShaderModuleValidationCacheCreateInfoEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal VkShaderModuleValidationCacheCreateInfoEXT+         where+    type StructRep VkShaderModuleValidationCacheCreateInfoEXT =+         'StructMeta "VkShaderModuleValidationCacheCreateInfoEXT" -- ' closing tick for hsc2hs+           VkShaderModuleValidationCacheCreateInfoEXT+           #{size VkShaderModuleValidationCacheCreateInfoEXT}+           #{alignment VkShaderModuleValidationCacheCreateInfoEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkShaderModuleValidationCacheCreateInfoEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkShaderModuleValidationCacheCreateInfoEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "validationCache" VkValidationCacheEXT 'False +                                                                       #{offset VkShaderModuleValidationCacheCreateInfoEXT, validationCache}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkShaderModuleCreateInfo] -- ' closing tick for hsc2hs++-- | > typedef struct VkShaderResourceUsageAMD {+--   >     uint32_t numUsedVgprs;+--   >     uint32_t numUsedSgprs;+--   >     uint32_t ldsSizePerLocalWorkGroup;+--   >     size_t ldsUsageSizeInBytes;+--   >     size_t scratchMemUsageInBytes;+--   > } VkShaderResourceUsageAMD;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkShaderResourceUsageAMD VkShaderResourceUsageAMD registry at www.khronos.org>+type VkShaderResourceUsageAMD = VkStruct VkShaderResourceUsageAMD' -- ' closing tick for hsc2hs++data VkShaderResourceUsageAMD' -- ' closing tick for hsc2hs++instance VulkanMarshal VkShaderResourceUsageAMD where+    type StructRep VkShaderResourceUsageAMD =+         'StructMeta "VkShaderResourceUsageAMD" VkShaderResourceUsageAMD -- ' closing tick for hsc2hs+           #{size VkShaderResourceUsageAMD}+           #{alignment VkShaderResourceUsageAMD}+           '[('FieldMeta "numUsedVgprs" Word32 'False  -- ' closing tick for hsc2hs+                                                      #{offset VkShaderResourceUsageAMD, numUsedVgprs}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "numUsedSgprs" Word32 'False +                                                      #{offset VkShaderResourceUsageAMD, numUsedSgprs}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "ldsSizePerLocalWorkGroup" Word32 'False +                                                                  #{offset VkShaderResourceUsageAMD, ldsSizePerLocalWorkGroup}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "ldsUsageSizeInBytes" CSize 'False +                                                            #{offset VkShaderResourceUsageAMD, ldsUsageSizeInBytes}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "scratchMemUsageInBytes" CSize 'False +                                                               #{offset VkShaderResourceUsageAMD, scratchMemUsageInBytes}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkShaderStatisticsInfoAMD {+--   >     VkShaderStageFlags shaderStageMask;+--   >     VkShaderResourceUsageAMD resourceUsage;+--   >     uint32_t numPhysicalVgprs;+--   >     uint32_t numPhysicalSgprs;+--   >     uint32_t numAvailableVgprs;+--   >     uint32_t numAvailableSgprs;+--   >     uint32_t computeWorkGroupSize[3];+--   > } VkShaderStatisticsInfoAMD;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkShaderStatisticsInfoAMD VkShaderStatisticsInfoAMD registry at www.khronos.org>+type VkShaderStatisticsInfoAMD =+     VkStruct VkShaderStatisticsInfoAMD' -- ' closing tick for hsc2hs++data VkShaderStatisticsInfoAMD' -- ' closing tick for hsc2hs++instance VulkanMarshal VkShaderStatisticsInfoAMD where+    type StructRep VkShaderStatisticsInfoAMD =+         'StructMeta "VkShaderStatisticsInfoAMD" VkShaderStatisticsInfoAMD -- ' closing tick for hsc2hs+           #{size VkShaderStatisticsInfoAMD}+           #{alignment VkShaderStatisticsInfoAMD}+           '[('FieldMeta "shaderStageMask" VkShaderStageFlags 'False  -- ' closing tick for hsc2hs+                                                                     #{offset VkShaderStatisticsInfoAMD, shaderStageMask}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "resourceUsage" VkShaderResourceUsageAMD 'False+                #{offset VkShaderStatisticsInfoAMD, resourceUsage}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "numPhysicalVgprs" Word32 'False +                                                          #{offset VkShaderStatisticsInfoAMD, numPhysicalVgprs}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "numPhysicalSgprs" Word32 'False +                                                          #{offset VkShaderStatisticsInfoAMD, numPhysicalSgprs}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "numAvailableVgprs" Word32 'False +                                                           #{offset VkShaderStatisticsInfoAMD, numAvailableVgprs}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "numAvailableSgprs" Word32 'False +                                                           #{offset VkShaderStatisticsInfoAMD, numAvailableSgprs}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "computeWorkGroupSize" Word32 'False +                                                              #{offset VkShaderStatisticsInfoAMD, computeWorkGroupSize}+                3+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/SharedPresentSurfaceCapabilitiesKHR.hsc view
@@ -2,22 +2,16 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.SharedPresentSurfaceCapabilitiesKHR-       (VkSharedPresentSurfaceCapabilitiesKHR,-        VkSharedPresentSurfaceCapabilitiesKHR') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                         (Storable (..))+       (VkSharedPresentSurfaceCapabilitiesKHR) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.Image         (VkImageUsageFlags) import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType) import Graphics.Vulkan.Types.Struct.Surface     (VkSurfaceCapabilities2KHR)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkSharedPresentSurfaceCapabilitiesKHR { --   >     VkStructureType sType;@@ -27,169 +21,32 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSharedPresentSurfaceCapabilitiesKHR VkSharedPresentSurfaceCapabilitiesKHR registry at www.khronos.org> type VkSharedPresentSurfaceCapabilitiesKHR =-     VulkanStruct VkSharedPresentSurfaceCapabilitiesKHR' -- ' closing tick for hsc2hs+     VkStruct VkSharedPresentSurfaceCapabilitiesKHR' -- ' closing tick for hsc2hs  data VkSharedPresentSurfaceCapabilitiesKHR' -- ' closing tick for hsc2hs -instance Eq VkSharedPresentSurfaceCapabilitiesKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSharedPresentSurfaceCapabilitiesKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSharedPresentSurfaceCapabilitiesKHR where-        sizeOf ~_-          = #{size VkSharedPresentSurfaceCapabilitiesKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkSharedPresentSurfaceCapabilitiesKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkSharedPresentSurfaceCapabilitiesKHR where-        type StructFields VkSharedPresentSurfaceCapabilitiesKHR =-             '["sType", "pNext", "sharedPresentSupportedUsageFlags"] -- ' closing tick for hsc2hs-        type CUnionType VkSharedPresentSurfaceCapabilitiesKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSharedPresentSurfaceCapabilitiesKHR = 'True -- ' closing tick for hsc2hs-        type StructExtends VkSharedPresentSurfaceCapabilitiesKHR =-             '[VkSurfaceCapabilities2KHR] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkSharedPresentSurfaceCapabilitiesKHR where-        type FieldType "sType" VkSharedPresentSurfaceCapabilitiesKHR =-             VkStructureType-        type FieldOptional "sType" VkSharedPresentSurfaceCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkSharedPresentSurfaceCapabilitiesKHR =-             #{offset VkSharedPresentSurfaceCapabilitiesKHR, sType}-        type FieldIsArray "sType" VkSharedPresentSurfaceCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSharedPresentSurfaceCapabilitiesKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkSharedPresentSurfaceCapabilitiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSharedPresentSurfaceCapabilitiesKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSharedPresentSurfaceCapabilitiesKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkSharedPresentSurfaceCapabilitiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSharedPresentSurfaceCapabilitiesKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkSharedPresentSurfaceCapabilitiesKHR where-        type FieldType "pNext" VkSharedPresentSurfaceCapabilitiesKHR =-             Ptr Void-        type FieldOptional "pNext" VkSharedPresentSurfaceCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkSharedPresentSurfaceCapabilitiesKHR =-             #{offset VkSharedPresentSurfaceCapabilitiesKHR, pNext}-        type FieldIsArray "pNext" VkSharedPresentSurfaceCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSharedPresentSurfaceCapabilitiesKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkSharedPresentSurfaceCapabilitiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSharedPresentSurfaceCapabilitiesKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSharedPresentSurfaceCapabilitiesKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkSharedPresentSurfaceCapabilitiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSharedPresentSurfaceCapabilitiesKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "sharedPresentSupportedUsageFlags"-           VkSharedPresentSurfaceCapabilitiesKHR-         where-        type FieldType "sharedPresentSupportedUsageFlags"-               VkSharedPresentSurfaceCapabilitiesKHR-             = VkImageUsageFlags-        type FieldOptional "sharedPresentSupportedUsageFlags"-               VkSharedPresentSurfaceCapabilitiesKHR-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "sharedPresentSupportedUsageFlags"-               VkSharedPresentSurfaceCapabilitiesKHR-             =-             #{offset VkSharedPresentSurfaceCapabilitiesKHR, sharedPresentSupportedUsageFlags}-        type FieldIsArray "sharedPresentSupportedUsageFlags"-               VkSharedPresentSurfaceCapabilitiesKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSharedPresentSurfaceCapabilitiesKHR, sharedPresentSupportedUsageFlags}--instance {-# OVERLAPPING #-}-         CanReadField "sharedPresentSupportedUsageFlags"-           VkSharedPresentSurfaceCapabilitiesKHR-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSharedPresentSurfaceCapabilitiesKHR, sharedPresentSupportedUsageFlags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSharedPresentSurfaceCapabilitiesKHR, sharedPresentSupportedUsageFlags}--instance {-# OVERLAPPING #-}-         CanWriteField "sharedPresentSupportedUsageFlags"+    type StructRep VkSharedPresentSurfaceCapabilitiesKHR =+         'StructMeta "VkSharedPresentSurfaceCapabilitiesKHR" -- ' closing tick for hsc2hs            VkSharedPresentSurfaceCapabilitiesKHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSharedPresentSurfaceCapabilitiesKHR, sharedPresentSupportedUsageFlags}--instance Show VkSharedPresentSurfaceCapabilitiesKHR where-        showsPrec d x-          = showString "VkSharedPresentSurfaceCapabilitiesKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "sharedPresentSupportedUsageFlags = " .-                            showsPrec d (getField @"sharedPresentSupportedUsageFlags" x) .-                              showChar '}'+           #{size VkSharedPresentSurfaceCapabilitiesKHR}+           #{alignment VkSharedPresentSurfaceCapabilitiesKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkSharedPresentSurfaceCapabilitiesKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkSharedPresentSurfaceCapabilitiesKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sharedPresentSupportedUsageFlags" VkImageUsageFlags -- ' closing tick for hsc2hs+                'True -- ' closing tick for hsc2hs+                #{offset VkSharedPresentSurfaceCapabilitiesKHR, sharedPresentSupportedUsageFlags}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[VkSurfaceCapabilities2KHR] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/Sparse.hsc view
@@ -2,1742 +2,407 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.Sparse-       (VkSparseBufferMemoryBindInfo, VkSparseBufferMemoryBindInfo', -- ' closing tick for hsc2hs-        VkSparseImageFormatProperties, VkSparseImageFormatProperties', -- ' closing tick for hsc2hs-        VkSparseImageFormatProperties2, VkSparseImageFormatProperties2', -- ' closing tick for hsc2hs-        VkSparseImageFormatProperties2KHR, VkSparseImageMemoryBind,-        VkSparseImageMemoryBind', VkSparseImageMemoryBindInfo, -- ' closing tick for hsc2hs-        VkSparseImageMemoryBindInfo', VkSparseImageMemoryRequirements, -- ' closing tick for hsc2hs-        VkSparseImageMemoryRequirements', VkSparseImageMemoryRequirements2, -- ' closing tick for hsc2hs-        VkSparseImageMemoryRequirements2', -- ' closing tick for hsc2hs-        VkSparseImageMemoryRequirements2KHR,-        VkSparseImageOpaqueMemoryBindInfo,-        VkSparseImageOpaqueMemoryBindInfo', VkSparseMemoryBind, -- ' closing tick for hsc2hs-        VkSparseMemoryBind') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                         (Storable (..))-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Internal-import Graphics.Vulkan.Types.BaseTypes          (VkDeviceSize)-import Graphics.Vulkan.Types.Enum.Image         (VkImageAspectFlags)-import Graphics.Vulkan.Types.Enum.Sparse        (VkSparseImageFormatFlags,-                                                 VkSparseMemoryBindFlags)-import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)-import Graphics.Vulkan.Types.Handles            (VkBuffer, VkDeviceMemory,-                                                 VkImage)-import Graphics.Vulkan.Types.Struct.Extent      (VkExtent3D)-import Graphics.Vulkan.Types.Struct.Image       (VkImageSubresource)-import Graphics.Vulkan.Types.Struct.Offset      (VkOffset3D)-import System.IO.Unsafe                         (unsafeDupablePerformIO)---- | > typedef struct VkSparseBufferMemoryBindInfo {---   >     VkBuffer buffer;---   >     uint32_t               bindCount;---   >     const VkSparseMemoryBind* pBinds;---   > } VkSparseBufferMemoryBindInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSparseBufferMemoryBindInfo VkSparseBufferMemoryBindInfo registry at www.khronos.org>-type VkSparseBufferMemoryBindInfo =-     VulkanStruct VkSparseBufferMemoryBindInfo' -- ' closing tick for hsc2hs--data VkSparseBufferMemoryBindInfo' -- ' closing tick for hsc2hs--instance Eq VkSparseBufferMemoryBindInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSparseBufferMemoryBindInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSparseBufferMemoryBindInfo where-        sizeOf ~_ = #{size VkSparseBufferMemoryBindInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkSparseBufferMemoryBindInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkSparseBufferMemoryBindInfo where-        type StructFields VkSparseBufferMemoryBindInfo =-             '["buffer", "bindCount", "pBinds"] -- ' closing tick for hsc2hs-        type CUnionType VkSparseBufferMemoryBindInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSparseBufferMemoryBindInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkSparseBufferMemoryBindInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "buffer" VkSparseBufferMemoryBindInfo where-        type FieldType "buffer" VkSparseBufferMemoryBindInfo = VkBuffer-        type FieldOptional "buffer" VkSparseBufferMemoryBindInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "buffer" VkSparseBufferMemoryBindInfo =-             #{offset VkSparseBufferMemoryBindInfo, buffer}-        type FieldIsArray "buffer" VkSparseBufferMemoryBindInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSparseBufferMemoryBindInfo, buffer}--instance {-# OVERLAPPING #-}-         CanReadField "buffer" VkSparseBufferMemoryBindInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseBufferMemoryBindInfo, buffer})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseBufferMemoryBindInfo, buffer}--instance {-# OVERLAPPING #-}-         CanWriteField "buffer" VkSparseBufferMemoryBindInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseBufferMemoryBindInfo, buffer}--instance {-# OVERLAPPING #-}-         HasField "bindCount" VkSparseBufferMemoryBindInfo where-        type FieldType "bindCount" VkSparseBufferMemoryBindInfo = Word32-        type FieldOptional "bindCount" VkSparseBufferMemoryBindInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "bindCount" VkSparseBufferMemoryBindInfo =-             #{offset VkSparseBufferMemoryBindInfo, bindCount}-        type FieldIsArray "bindCount" VkSparseBufferMemoryBindInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSparseBufferMemoryBindInfo, bindCount}--instance {-# OVERLAPPING #-}-         CanReadField "bindCount" VkSparseBufferMemoryBindInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseBufferMemoryBindInfo, bindCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseBufferMemoryBindInfo, bindCount}--instance {-# OVERLAPPING #-}-         CanWriteField "bindCount" VkSparseBufferMemoryBindInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseBufferMemoryBindInfo, bindCount}--instance {-# OVERLAPPING #-}-         HasField "pBinds" VkSparseBufferMemoryBindInfo where-        type FieldType "pBinds" VkSparseBufferMemoryBindInfo =-             Ptr VkSparseMemoryBind-        type FieldOptional "pBinds" VkSparseBufferMemoryBindInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pBinds" VkSparseBufferMemoryBindInfo =-             #{offset VkSparseBufferMemoryBindInfo, pBinds}-        type FieldIsArray "pBinds" VkSparseBufferMemoryBindInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSparseBufferMemoryBindInfo, pBinds}--instance {-# OVERLAPPING #-}-         CanReadField "pBinds" VkSparseBufferMemoryBindInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseBufferMemoryBindInfo, pBinds})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseBufferMemoryBindInfo, pBinds}--instance {-# OVERLAPPING #-}-         CanWriteField "pBinds" VkSparseBufferMemoryBindInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseBufferMemoryBindInfo, pBinds}--instance Show VkSparseBufferMemoryBindInfo where-        showsPrec d x-          = showString "VkSparseBufferMemoryBindInfo {" .-              showString "buffer = " .-                showsPrec d (getField @"buffer" x) .-                  showString ", " .-                    showString "bindCount = " .-                      showsPrec d (getField @"bindCount" x) .-                        showString ", " .-                          showString "pBinds = " .-                            showsPrec d (getField @"pBinds" x) . showChar '}'---- | > typedef struct VkSparseImageFormatProperties {---   >     VkImageAspectFlags     aspectMask;---   >     VkExtent3D             imageGranularity;---   >     VkSparseImageFormatFlags flags;---   > } VkSparseImageFormatProperties;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSparseImageFormatProperties VkSparseImageFormatProperties registry at www.khronos.org>-type VkSparseImageFormatProperties =-     VulkanStruct VkSparseImageFormatProperties' -- ' closing tick for hsc2hs--data VkSparseImageFormatProperties' -- ' closing tick for hsc2hs--instance Eq VkSparseImageFormatProperties where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSparseImageFormatProperties where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSparseImageFormatProperties where-        sizeOf ~_ = #{size VkSparseImageFormatProperties}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkSparseImageFormatProperties}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkSparseImageFormatProperties where-        type StructFields VkSparseImageFormatProperties =-             '["aspectMask", "imageGranularity", "flags"] -- ' closing tick for hsc2hs-        type CUnionType VkSparseImageFormatProperties = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSparseImageFormatProperties = 'True -- ' closing tick for hsc2hs-        type StructExtends VkSparseImageFormatProperties = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "aspectMask" VkSparseImageFormatProperties where-        type FieldType "aspectMask" VkSparseImageFormatProperties =-             VkImageAspectFlags-        type FieldOptional "aspectMask" VkSparseImageFormatProperties =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "aspectMask" VkSparseImageFormatProperties =-             #{offset VkSparseImageFormatProperties, aspectMask}-        type FieldIsArray "aspectMask" VkSparseImageFormatProperties =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSparseImageFormatProperties, aspectMask}--instance {-# OVERLAPPING #-}-         CanReadField "aspectMask" VkSparseImageFormatProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseImageFormatProperties, aspectMask})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseImageFormatProperties, aspectMask}--instance {-# OVERLAPPING #-}-         CanWriteField "aspectMask" VkSparseImageFormatProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseImageFormatProperties, aspectMask}--instance {-# OVERLAPPING #-}-         HasField "imageGranularity" VkSparseImageFormatProperties where-        type FieldType "imageGranularity" VkSparseImageFormatProperties =-             VkExtent3D-        type FieldOptional "imageGranularity" VkSparseImageFormatProperties-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "imageGranularity" VkSparseImageFormatProperties =-             #{offset VkSparseImageFormatProperties, imageGranularity}-        type FieldIsArray "imageGranularity" VkSparseImageFormatProperties-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSparseImageFormatProperties, imageGranularity}--instance {-# OVERLAPPING #-}-         CanReadField "imageGranularity" VkSparseImageFormatProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseImageFormatProperties, imageGranularity})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseImageFormatProperties, imageGranularity}--instance {-# OVERLAPPING #-}-         CanWriteField "imageGranularity" VkSparseImageFormatProperties-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseImageFormatProperties, imageGranularity}--instance {-# OVERLAPPING #-}-         HasField "flags" VkSparseImageFormatProperties where-        type FieldType "flags" VkSparseImageFormatProperties =-             VkSparseImageFormatFlags-        type FieldOptional "flags" VkSparseImageFormatProperties = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkSparseImageFormatProperties =-             #{offset VkSparseImageFormatProperties, flags}-        type FieldIsArray "flags" VkSparseImageFormatProperties = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSparseImageFormatProperties, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkSparseImageFormatProperties where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseImageFormatProperties, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseImageFormatProperties, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkSparseImageFormatProperties where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseImageFormatProperties, flags}--instance Show VkSparseImageFormatProperties where-        showsPrec d x-          = showString "VkSparseImageFormatProperties {" .-              showString "aspectMask = " .-                showsPrec d (getField @"aspectMask" x) .-                  showString ", " .-                    showString "imageGranularity = " .-                      showsPrec d (getField @"imageGranularity" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) . showChar '}'---- | > typedef struct VkSparseImageFormatProperties2 {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     VkSparseImageFormatProperties    properties;---   > } VkSparseImageFormatProperties2;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSparseImageFormatProperties2 VkSparseImageFormatProperties2 registry at www.khronos.org>-type VkSparseImageFormatProperties2 =-     VulkanStruct VkSparseImageFormatProperties2' -- ' closing tick for hsc2hs--data VkSparseImageFormatProperties2' -- ' closing tick for hsc2hs--instance Eq VkSparseImageFormatProperties2 where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSparseImageFormatProperties2 where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSparseImageFormatProperties2 where-        sizeOf ~_ = #{size VkSparseImageFormatProperties2}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkSparseImageFormatProperties2}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkSparseImageFormatProperties2 where-        type StructFields VkSparseImageFormatProperties2 =-             '["sType", "pNext", "properties"] -- ' closing tick for hsc2hs-        type CUnionType VkSparseImageFormatProperties2 = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSparseImageFormatProperties2 = 'True -- ' closing tick for hsc2hs-        type StructExtends VkSparseImageFormatProperties2 = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkSparseImageFormatProperties2 where-        type FieldType "sType" VkSparseImageFormatProperties2 =-             VkStructureType-        type FieldOptional "sType" VkSparseImageFormatProperties2 = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkSparseImageFormatProperties2 =-             #{offset VkSparseImageFormatProperties2, sType}-        type FieldIsArray "sType" VkSparseImageFormatProperties2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSparseImageFormatProperties2, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkSparseImageFormatProperties2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseImageFormatProperties2, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseImageFormatProperties2, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkSparseImageFormatProperties2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseImageFormatProperties2, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkSparseImageFormatProperties2 where-        type FieldType "pNext" VkSparseImageFormatProperties2 = Ptr Void-        type FieldOptional "pNext" VkSparseImageFormatProperties2 = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkSparseImageFormatProperties2 =-             #{offset VkSparseImageFormatProperties2, pNext}-        type FieldIsArray "pNext" VkSparseImageFormatProperties2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSparseImageFormatProperties2, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkSparseImageFormatProperties2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseImageFormatProperties2, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseImageFormatProperties2, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkSparseImageFormatProperties2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseImageFormatProperties2, pNext}--instance {-# OVERLAPPING #-}-         HasField "properties" VkSparseImageFormatProperties2 where-        type FieldType "properties" VkSparseImageFormatProperties2 =-             VkSparseImageFormatProperties-        type FieldOptional "properties" VkSparseImageFormatProperties2 =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "properties" VkSparseImageFormatProperties2 =-             #{offset VkSparseImageFormatProperties2, properties}-        type FieldIsArray "properties" VkSparseImageFormatProperties2 =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSparseImageFormatProperties2, properties}--instance {-# OVERLAPPING #-}-         CanReadField "properties" VkSparseImageFormatProperties2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseImageFormatProperties2, properties})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseImageFormatProperties2, properties}--instance {-# OVERLAPPING #-}-         CanWriteField "properties" VkSparseImageFormatProperties2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseImageFormatProperties2, properties}--instance Show VkSparseImageFormatProperties2 where-        showsPrec d x-          = showString "VkSparseImageFormatProperties2 {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "properties = " .-                            showsPrec d (getField @"properties" x) . showChar '}'---- | Alias for `VkSparseImageFormatProperties2`-type VkSparseImageFormatProperties2KHR =-     VkSparseImageFormatProperties2---- | > typedef struct VkSparseImageMemoryBind {---   >     VkImageSubresource     subresource;---   >     VkOffset3D             offset;---   >     VkExtent3D             extent;---   >     VkDeviceMemory         memory;---   >     VkDeviceSize           memoryOffset;---   >     VkSparseMemoryBindFlagsflags;---   > } VkSparseImageMemoryBind;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSparseImageMemoryBind VkSparseImageMemoryBind registry at www.khronos.org>-type VkSparseImageMemoryBind =-     VulkanStruct VkSparseImageMemoryBind' -- ' closing tick for hsc2hs--data VkSparseImageMemoryBind' -- ' closing tick for hsc2hs--instance Eq VkSparseImageMemoryBind where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSparseImageMemoryBind where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSparseImageMemoryBind where-        sizeOf ~_ = #{size VkSparseImageMemoryBind}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkSparseImageMemoryBind}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkSparseImageMemoryBind where-        type StructFields VkSparseImageMemoryBind =-             '["subresource", "offset", "extent", "memory", "memoryOffset", -- ' closing tick for hsc2hs-               "flags"]-        type CUnionType VkSparseImageMemoryBind = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSparseImageMemoryBind = 'False -- ' closing tick for hsc2hs-        type StructExtends VkSparseImageMemoryBind = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "subresource" VkSparseImageMemoryBind where-        type FieldType "subresource" VkSparseImageMemoryBind =-             VkImageSubresource-        type FieldOptional "subresource" VkSparseImageMemoryBind = 'False -- ' closing tick for hsc2hs-        type FieldOffset "subresource" VkSparseImageMemoryBind =-             #{offset VkSparseImageMemoryBind, subresource}-        type FieldIsArray "subresource" VkSparseImageMemoryBind = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSparseImageMemoryBind, subresource}--instance {-# OVERLAPPING #-}-         CanReadField "subresource" VkSparseImageMemoryBind where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryBind, subresource})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseImageMemoryBind, subresource}--instance {-# OVERLAPPING #-}-         CanWriteField "subresource" VkSparseImageMemoryBind where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseImageMemoryBind, subresource}--instance {-# OVERLAPPING #-}-         HasField "offset" VkSparseImageMemoryBind where-        type FieldType "offset" VkSparseImageMemoryBind = VkOffset3D-        type FieldOptional "offset" VkSparseImageMemoryBind = 'False -- ' closing tick for hsc2hs-        type FieldOffset "offset" VkSparseImageMemoryBind =-             #{offset VkSparseImageMemoryBind, offset}-        type FieldIsArray "offset" VkSparseImageMemoryBind = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSparseImageMemoryBind, offset}--instance {-# OVERLAPPING #-}-         CanReadField "offset" VkSparseImageMemoryBind where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryBind, offset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseImageMemoryBind, offset}--instance {-# OVERLAPPING #-}-         CanWriteField "offset" VkSparseImageMemoryBind where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseImageMemoryBind, offset}--instance {-# OVERLAPPING #-}-         HasField "extent" VkSparseImageMemoryBind where-        type FieldType "extent" VkSparseImageMemoryBind = VkExtent3D-        type FieldOptional "extent" VkSparseImageMemoryBind = 'False -- ' closing tick for hsc2hs-        type FieldOffset "extent" VkSparseImageMemoryBind =-             #{offset VkSparseImageMemoryBind, extent}-        type FieldIsArray "extent" VkSparseImageMemoryBind = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSparseImageMemoryBind, extent}--instance {-# OVERLAPPING #-}-         CanReadField "extent" VkSparseImageMemoryBind where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryBind, extent})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseImageMemoryBind, extent}--instance {-# OVERLAPPING #-}-         CanWriteField "extent" VkSparseImageMemoryBind where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseImageMemoryBind, extent}--instance {-# OVERLAPPING #-}-         HasField "memory" VkSparseImageMemoryBind where-        type FieldType "memory" VkSparseImageMemoryBind = VkDeviceMemory-        type FieldOptional "memory" VkSparseImageMemoryBind = 'True -- ' closing tick for hsc2hs-        type FieldOffset "memory" VkSparseImageMemoryBind =-             #{offset VkSparseImageMemoryBind, memory}-        type FieldIsArray "memory" VkSparseImageMemoryBind = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSparseImageMemoryBind, memory}--instance {-# OVERLAPPING #-}-         CanReadField "memory" VkSparseImageMemoryBind where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryBind, memory})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseImageMemoryBind, memory}--instance {-# OVERLAPPING #-}-         CanWriteField "memory" VkSparseImageMemoryBind where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseImageMemoryBind, memory}--instance {-# OVERLAPPING #-}-         HasField "memoryOffset" VkSparseImageMemoryBind where-        type FieldType "memoryOffset" VkSparseImageMemoryBind =-             VkDeviceSize-        type FieldOptional "memoryOffset" VkSparseImageMemoryBind = 'False -- ' closing tick for hsc2hs-        type FieldOffset "memoryOffset" VkSparseImageMemoryBind =-             #{offset VkSparseImageMemoryBind, memoryOffset}-        type FieldIsArray "memoryOffset" VkSparseImageMemoryBind = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSparseImageMemoryBind, memoryOffset}--instance {-# OVERLAPPING #-}-         CanReadField "memoryOffset" VkSparseImageMemoryBind where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryBind, memoryOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseImageMemoryBind, memoryOffset}--instance {-# OVERLAPPING #-}-         CanWriteField "memoryOffset" VkSparseImageMemoryBind where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseImageMemoryBind, memoryOffset}--instance {-# OVERLAPPING #-}-         HasField "flags" VkSparseImageMemoryBind where-        type FieldType "flags" VkSparseImageMemoryBind =-             VkSparseMemoryBindFlags-        type FieldOptional "flags" VkSparseImageMemoryBind = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkSparseImageMemoryBind =-             #{offset VkSparseImageMemoryBind, flags}-        type FieldIsArray "flags" VkSparseImageMemoryBind = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSparseImageMemoryBind, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkSparseImageMemoryBind where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryBind, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseImageMemoryBind, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkSparseImageMemoryBind where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseImageMemoryBind, flags}--instance Show VkSparseImageMemoryBind where-        showsPrec d x-          = showString "VkSparseImageMemoryBind {" .-              showString "subresource = " .-                showsPrec d (getField @"subresource" x) .-                  showString ", " .-                    showString "offset = " .-                      showsPrec d (getField @"offset" x) .-                        showString ", " .-                          showString "extent = " .-                            showsPrec d (getField @"extent" x) .-                              showString ", " .-                                showString "memory = " .-                                  showsPrec d (getField @"memory" x) .-                                    showString ", " .-                                      showString "memoryOffset = " .-                                        showsPrec d (getField @"memoryOffset" x) .-                                          showString ", " .-                                            showString "flags = " .-                                              showsPrec d (getField @"flags" x) . showChar '}'---- | > typedef struct VkSparseImageMemoryBindInfo {---   >     VkImage image;---   >     uint32_t               bindCount;---   >     const VkSparseImageMemoryBind* pBinds;---   > } VkSparseImageMemoryBindInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSparseImageMemoryBindInfo VkSparseImageMemoryBindInfo registry at www.khronos.org>-type VkSparseImageMemoryBindInfo =-     VulkanStruct VkSparseImageMemoryBindInfo' -- ' closing tick for hsc2hs--data VkSparseImageMemoryBindInfo' -- ' closing tick for hsc2hs--instance Eq VkSparseImageMemoryBindInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSparseImageMemoryBindInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSparseImageMemoryBindInfo where-        sizeOf ~_ = #{size VkSparseImageMemoryBindInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkSparseImageMemoryBindInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkSparseImageMemoryBindInfo where-        type StructFields VkSparseImageMemoryBindInfo =-             '["image", "bindCount", "pBinds"] -- ' closing tick for hsc2hs-        type CUnionType VkSparseImageMemoryBindInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSparseImageMemoryBindInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkSparseImageMemoryBindInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "image" VkSparseImageMemoryBindInfo where-        type FieldType "image" VkSparseImageMemoryBindInfo = VkImage-        type FieldOptional "image" VkSparseImageMemoryBindInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "image" VkSparseImageMemoryBindInfo =-             #{offset VkSparseImageMemoryBindInfo, image}-        type FieldIsArray "image" VkSparseImageMemoryBindInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSparseImageMemoryBindInfo, image}--instance {-# OVERLAPPING #-}-         CanReadField "image" VkSparseImageMemoryBindInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryBindInfo, image})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseImageMemoryBindInfo, image}--instance {-# OVERLAPPING #-}-         CanWriteField "image" VkSparseImageMemoryBindInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseImageMemoryBindInfo, image}--instance {-# OVERLAPPING #-}-         HasField "bindCount" VkSparseImageMemoryBindInfo where-        type FieldType "bindCount" VkSparseImageMemoryBindInfo = Word32-        type FieldOptional "bindCount" VkSparseImageMemoryBindInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "bindCount" VkSparseImageMemoryBindInfo =-             #{offset VkSparseImageMemoryBindInfo, bindCount}-        type FieldIsArray "bindCount" VkSparseImageMemoryBindInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSparseImageMemoryBindInfo, bindCount}--instance {-# OVERLAPPING #-}-         CanReadField "bindCount" VkSparseImageMemoryBindInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryBindInfo, bindCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseImageMemoryBindInfo, bindCount}--instance {-# OVERLAPPING #-}-         CanWriteField "bindCount" VkSparseImageMemoryBindInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseImageMemoryBindInfo, bindCount}--instance {-# OVERLAPPING #-}-         HasField "pBinds" VkSparseImageMemoryBindInfo where-        type FieldType "pBinds" VkSparseImageMemoryBindInfo =-             Ptr VkSparseImageMemoryBind-        type FieldOptional "pBinds" VkSparseImageMemoryBindInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pBinds" VkSparseImageMemoryBindInfo =-             #{offset VkSparseImageMemoryBindInfo, pBinds}-        type FieldIsArray "pBinds" VkSparseImageMemoryBindInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSparseImageMemoryBindInfo, pBinds}--instance {-# OVERLAPPING #-}-         CanReadField "pBinds" VkSparseImageMemoryBindInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryBindInfo, pBinds})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseImageMemoryBindInfo, pBinds}--instance {-# OVERLAPPING #-}-         CanWriteField "pBinds" VkSparseImageMemoryBindInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseImageMemoryBindInfo, pBinds}--instance Show VkSparseImageMemoryBindInfo where-        showsPrec d x-          = showString "VkSparseImageMemoryBindInfo {" .-              showString "image = " .-                showsPrec d (getField @"image" x) .-                  showString ", " .-                    showString "bindCount = " .-                      showsPrec d (getField @"bindCount" x) .-                        showString ", " .-                          showString "pBinds = " .-                            showsPrec d (getField @"pBinds" x) . showChar '}'---- | > typedef struct VkSparseImageMemoryRequirements {---   >     VkSparseImageFormatProperties formatProperties;---   >     uint32_t               imageMipTailFirstLod;---   >     VkDeviceSize           imageMipTailSize;---   >     VkDeviceSize           imageMipTailOffset;---   >     VkDeviceSize           imageMipTailStride;---   > } VkSparseImageMemoryRequirements;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSparseImageMemoryRequirements VkSparseImageMemoryRequirements registry at www.khronos.org>-type VkSparseImageMemoryRequirements =-     VulkanStruct VkSparseImageMemoryRequirements' -- ' closing tick for hsc2hs--data VkSparseImageMemoryRequirements' -- ' closing tick for hsc2hs--instance Eq VkSparseImageMemoryRequirements where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSparseImageMemoryRequirements where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSparseImageMemoryRequirements where-        sizeOf ~_ = #{size VkSparseImageMemoryRequirements}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkSparseImageMemoryRequirements}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkSparseImageMemoryRequirements where-        type StructFields VkSparseImageMemoryRequirements =-             '["formatProperties", "imageMipTailFirstLod", "imageMipTailSize", -- ' closing tick for hsc2hs-               "imageMipTailOffset", "imageMipTailStride"]-        type CUnionType VkSparseImageMemoryRequirements = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSparseImageMemoryRequirements = 'True -- ' closing tick for hsc2hs-        type StructExtends VkSparseImageMemoryRequirements = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "formatProperties" VkSparseImageMemoryRequirements where-        type FieldType "formatProperties" VkSparseImageMemoryRequirements =-             VkSparseImageFormatProperties-        type FieldOptional "formatProperties"-               VkSparseImageMemoryRequirements-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "formatProperties" VkSparseImageMemoryRequirements-             =-             #{offset VkSparseImageMemoryRequirements, formatProperties}-        type FieldIsArray "formatProperties"-               VkSparseImageMemoryRequirements-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSparseImageMemoryRequirements, formatProperties}--instance {-# OVERLAPPING #-}-         CanReadField "formatProperties" VkSparseImageMemoryRequirements-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryRequirements, formatProperties})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseImageMemoryRequirements, formatProperties}--instance {-# OVERLAPPING #-}-         CanWriteField "formatProperties" VkSparseImageMemoryRequirements-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseImageMemoryRequirements, formatProperties}--instance {-# OVERLAPPING #-}-         HasField "imageMipTailFirstLod" VkSparseImageMemoryRequirements-         where-        type FieldType "imageMipTailFirstLod"-               VkSparseImageMemoryRequirements-             = Word32-        type FieldOptional "imageMipTailFirstLod"-               VkSparseImageMemoryRequirements-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "imageMipTailFirstLod"-               VkSparseImageMemoryRequirements-             =-             #{offset VkSparseImageMemoryRequirements, imageMipTailFirstLod}-        type FieldIsArray "imageMipTailFirstLod"-               VkSparseImageMemoryRequirements-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSparseImageMemoryRequirements, imageMipTailFirstLod}--instance {-# OVERLAPPING #-}-         CanReadField "imageMipTailFirstLod" VkSparseImageMemoryRequirements-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryRequirements, imageMipTailFirstLod})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseImageMemoryRequirements, imageMipTailFirstLod}--instance {-# OVERLAPPING #-}-         CanWriteField "imageMipTailFirstLod"-           VkSparseImageMemoryRequirements-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseImageMemoryRequirements, imageMipTailFirstLod}--instance {-# OVERLAPPING #-}-         HasField "imageMipTailSize" VkSparseImageMemoryRequirements where-        type FieldType "imageMipTailSize" VkSparseImageMemoryRequirements =-             VkDeviceSize-        type FieldOptional "imageMipTailSize"-               VkSparseImageMemoryRequirements-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "imageMipTailSize" VkSparseImageMemoryRequirements-             =-             #{offset VkSparseImageMemoryRequirements, imageMipTailSize}-        type FieldIsArray "imageMipTailSize"-               VkSparseImageMemoryRequirements-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSparseImageMemoryRequirements, imageMipTailSize}--instance {-# OVERLAPPING #-}-         CanReadField "imageMipTailSize" VkSparseImageMemoryRequirements-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryRequirements, imageMipTailSize})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseImageMemoryRequirements, imageMipTailSize}--instance {-# OVERLAPPING #-}-         CanWriteField "imageMipTailSize" VkSparseImageMemoryRequirements-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseImageMemoryRequirements, imageMipTailSize}--instance {-# OVERLAPPING #-}-         HasField "imageMipTailOffset" VkSparseImageMemoryRequirements where-        type FieldType "imageMipTailOffset" VkSparseImageMemoryRequirements-             = VkDeviceSize-        type FieldOptional "imageMipTailOffset"-               VkSparseImageMemoryRequirements-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "imageMipTailOffset"-               VkSparseImageMemoryRequirements-             =-             #{offset VkSparseImageMemoryRequirements, imageMipTailOffset}-        type FieldIsArray "imageMipTailOffset"-               VkSparseImageMemoryRequirements-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSparseImageMemoryRequirements, imageMipTailOffset}--instance {-# OVERLAPPING #-}-         CanReadField "imageMipTailOffset" VkSparseImageMemoryRequirements-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryRequirements, imageMipTailOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseImageMemoryRequirements, imageMipTailOffset}--instance {-# OVERLAPPING #-}-         CanWriteField "imageMipTailOffset" VkSparseImageMemoryRequirements-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseImageMemoryRequirements, imageMipTailOffset}--instance {-# OVERLAPPING #-}-         HasField "imageMipTailStride" VkSparseImageMemoryRequirements where-        type FieldType "imageMipTailStride" VkSparseImageMemoryRequirements-             = VkDeviceSize-        type FieldOptional "imageMipTailStride"-               VkSparseImageMemoryRequirements-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "imageMipTailStride"-               VkSparseImageMemoryRequirements-             =-             #{offset VkSparseImageMemoryRequirements, imageMipTailStride}-        type FieldIsArray "imageMipTailStride"-               VkSparseImageMemoryRequirements-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSparseImageMemoryRequirements, imageMipTailStride}--instance {-# OVERLAPPING #-}-         CanReadField "imageMipTailStride" VkSparseImageMemoryRequirements-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryRequirements, imageMipTailStride})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseImageMemoryRequirements, imageMipTailStride}--instance {-# OVERLAPPING #-}-         CanWriteField "imageMipTailStride" VkSparseImageMemoryRequirements-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseImageMemoryRequirements, imageMipTailStride}--instance Show VkSparseImageMemoryRequirements where-        showsPrec d x-          = showString "VkSparseImageMemoryRequirements {" .-              showString "formatProperties = " .-                showsPrec d (getField @"formatProperties" x) .-                  showString ", " .-                    showString "imageMipTailFirstLod = " .-                      showsPrec d (getField @"imageMipTailFirstLod" x) .-                        showString ", " .-                          showString "imageMipTailSize = " .-                            showsPrec d (getField @"imageMipTailSize" x) .-                              showString ", " .-                                showString "imageMipTailOffset = " .-                                  showsPrec d (getField @"imageMipTailOffset" x) .-                                    showString ", " .-                                      showString "imageMipTailStride = " .-                                        showsPrec d (getField @"imageMipTailStride" x) .-                                          showChar '}'---- | > typedef struct VkSparseImageMemoryRequirements2 {---   >     VkStructureType sType;---   >     void*                                       pNext;---   >     VkSparseImageMemoryRequirements                                      memoryRequirements;---   > } VkSparseImageMemoryRequirements2;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2 registry at www.khronos.org>-type VkSparseImageMemoryRequirements2 =-     VulkanStruct VkSparseImageMemoryRequirements2' -- ' closing tick for hsc2hs--data VkSparseImageMemoryRequirements2' -- ' closing tick for hsc2hs--instance Eq VkSparseImageMemoryRequirements2 where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSparseImageMemoryRequirements2 where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSparseImageMemoryRequirements2 where-        sizeOf ~_ = #{size VkSparseImageMemoryRequirements2}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkSparseImageMemoryRequirements2}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkSparseImageMemoryRequirements2 where-        type StructFields VkSparseImageMemoryRequirements2 =-             '["sType", "pNext", "memoryRequirements"] -- ' closing tick for hsc2hs-        type CUnionType VkSparseImageMemoryRequirements2 = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSparseImageMemoryRequirements2 = 'True -- ' closing tick for hsc2hs-        type StructExtends VkSparseImageMemoryRequirements2 = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkSparseImageMemoryRequirements2 where-        type FieldType "sType" VkSparseImageMemoryRequirements2 =-             VkStructureType-        type FieldOptional "sType" VkSparseImageMemoryRequirements2 =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkSparseImageMemoryRequirements2 =-             #{offset VkSparseImageMemoryRequirements2, sType}-        type FieldIsArray "sType" VkSparseImageMemoryRequirements2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSparseImageMemoryRequirements2, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkSparseImageMemoryRequirements2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryRequirements2, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseImageMemoryRequirements2, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkSparseImageMemoryRequirements2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseImageMemoryRequirements2, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkSparseImageMemoryRequirements2 where-        type FieldType "pNext" VkSparseImageMemoryRequirements2 = Ptr Void-        type FieldOptional "pNext" VkSparseImageMemoryRequirements2 =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkSparseImageMemoryRequirements2 =-             #{offset VkSparseImageMemoryRequirements2, pNext}-        type FieldIsArray "pNext" VkSparseImageMemoryRequirements2 = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSparseImageMemoryRequirements2, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkSparseImageMemoryRequirements2 where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryRequirements2, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseImageMemoryRequirements2, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkSparseImageMemoryRequirements2 where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseImageMemoryRequirements2, pNext}--instance {-# OVERLAPPING #-}-         HasField "memoryRequirements" VkSparseImageMemoryRequirements2-         where-        type FieldType "memoryRequirements"-               VkSparseImageMemoryRequirements2-             = VkSparseImageMemoryRequirements-        type FieldOptional "memoryRequirements"-               VkSparseImageMemoryRequirements2-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "memoryRequirements"-               VkSparseImageMemoryRequirements2-             =-             #{offset VkSparseImageMemoryRequirements2, memoryRequirements}-        type FieldIsArray "memoryRequirements"-               VkSparseImageMemoryRequirements2-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSparseImageMemoryRequirements2, memoryRequirements}--instance {-# OVERLAPPING #-}-         CanReadField "memoryRequirements" VkSparseImageMemoryRequirements2-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryRequirements2, memoryRequirements})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseImageMemoryRequirements2, memoryRequirements}--instance {-# OVERLAPPING #-}-         CanWriteField "memoryRequirements" VkSparseImageMemoryRequirements2-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseImageMemoryRequirements2, memoryRequirements}--instance Show VkSparseImageMemoryRequirements2 where-        showsPrec d x-          = showString "VkSparseImageMemoryRequirements2 {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "memoryRequirements = " .-                            showsPrec d (getField @"memoryRequirements" x) . showChar '}'---- | Alias for `VkSparseImageMemoryRequirements2`-type VkSparseImageMemoryRequirements2KHR =-     VkSparseImageMemoryRequirements2---- | > typedef struct VkSparseImageOpaqueMemoryBindInfo {---   >     VkImage image;---   >     uint32_t               bindCount;---   >     const VkSparseMemoryBind* pBinds;---   > } VkSparseImageOpaqueMemoryBindInfo;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSparseImageOpaqueMemoryBindInfo VkSparseImageOpaqueMemoryBindInfo registry at www.khronos.org>-type VkSparseImageOpaqueMemoryBindInfo =-     VulkanStruct VkSparseImageOpaqueMemoryBindInfo' -- ' closing tick for hsc2hs--data VkSparseImageOpaqueMemoryBindInfo' -- ' closing tick for hsc2hs--instance Eq VkSparseImageOpaqueMemoryBindInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSparseImageOpaqueMemoryBindInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSparseImageOpaqueMemoryBindInfo where-        sizeOf ~_ = #{size VkSparseImageOpaqueMemoryBindInfo}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkSparseImageOpaqueMemoryBindInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkSparseImageOpaqueMemoryBindInfo where-        type StructFields VkSparseImageOpaqueMemoryBindInfo =-             '["image", "bindCount", "pBinds"] -- ' closing tick for hsc2hs-        type CUnionType VkSparseImageOpaqueMemoryBindInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSparseImageOpaqueMemoryBindInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkSparseImageOpaqueMemoryBindInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "image" VkSparseImageOpaqueMemoryBindInfo where-        type FieldType "image" VkSparseImageOpaqueMemoryBindInfo = VkImage-        type FieldOptional "image" VkSparseImageOpaqueMemoryBindInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "image" VkSparseImageOpaqueMemoryBindInfo =-             #{offset VkSparseImageOpaqueMemoryBindInfo, image}-        type FieldIsArray "image" VkSparseImageOpaqueMemoryBindInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSparseImageOpaqueMemoryBindInfo, image}--instance {-# OVERLAPPING #-}-         CanReadField "image" VkSparseImageOpaqueMemoryBindInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseImageOpaqueMemoryBindInfo, image})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseImageOpaqueMemoryBindInfo, image}--instance {-# OVERLAPPING #-}-         CanWriteField "image" VkSparseImageOpaqueMemoryBindInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseImageOpaqueMemoryBindInfo, image}--instance {-# OVERLAPPING #-}-         HasField "bindCount" VkSparseImageOpaqueMemoryBindInfo where-        type FieldType "bindCount" VkSparseImageOpaqueMemoryBindInfo =-             Word32-        type FieldOptional "bindCount" VkSparseImageOpaqueMemoryBindInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "bindCount" VkSparseImageOpaqueMemoryBindInfo =-             #{offset VkSparseImageOpaqueMemoryBindInfo, bindCount}-        type FieldIsArray "bindCount" VkSparseImageOpaqueMemoryBindInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSparseImageOpaqueMemoryBindInfo, bindCount}--instance {-# OVERLAPPING #-}-         CanReadField "bindCount" VkSparseImageOpaqueMemoryBindInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseImageOpaqueMemoryBindInfo, bindCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseImageOpaqueMemoryBindInfo, bindCount}--instance {-# OVERLAPPING #-}-         CanWriteField "bindCount" VkSparseImageOpaqueMemoryBindInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseImageOpaqueMemoryBindInfo, bindCount}--instance {-# OVERLAPPING #-}-         HasField "pBinds" VkSparseImageOpaqueMemoryBindInfo where-        type FieldType "pBinds" VkSparseImageOpaqueMemoryBindInfo =-             Ptr VkSparseMemoryBind-        type FieldOptional "pBinds" VkSparseImageOpaqueMemoryBindInfo =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pBinds" VkSparseImageOpaqueMemoryBindInfo =-             #{offset VkSparseImageOpaqueMemoryBindInfo, pBinds}-        type FieldIsArray "pBinds" VkSparseImageOpaqueMemoryBindInfo =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSparseImageOpaqueMemoryBindInfo, pBinds}--instance {-# OVERLAPPING #-}-         CanReadField "pBinds" VkSparseImageOpaqueMemoryBindInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseImageOpaqueMemoryBindInfo, pBinds})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseImageOpaqueMemoryBindInfo, pBinds}--instance {-# OVERLAPPING #-}-         CanWriteField "pBinds" VkSparseImageOpaqueMemoryBindInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseImageOpaqueMemoryBindInfo, pBinds}--instance Show VkSparseImageOpaqueMemoryBindInfo where-        showsPrec d x-          = showString "VkSparseImageOpaqueMemoryBindInfo {" .-              showString "image = " .-                showsPrec d (getField @"image" x) .-                  showString ", " .-                    showString "bindCount = " .-                      showsPrec d (getField @"bindCount" x) .-                        showString ", " .-                          showString "pBinds = " .-                            showsPrec d (getField @"pBinds" x) . showChar '}'---- | > typedef struct VkSparseMemoryBind {---   >     VkDeviceSize           resourceOffset;---   >     VkDeviceSize           size;---   >     VkDeviceMemory         memory;---   >     VkDeviceSize           memoryOffset;---   >     VkSparseMemoryBindFlagsflags;---   > } VkSparseMemoryBind;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSparseMemoryBind VkSparseMemoryBind registry at www.khronos.org>-type VkSparseMemoryBind = VulkanStruct VkSparseMemoryBind' -- ' closing tick for hsc2hs--data VkSparseMemoryBind' -- ' closing tick for hsc2hs--instance Eq VkSparseMemoryBind where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSparseMemoryBind where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSparseMemoryBind where-        sizeOf ~_ = #{size VkSparseMemoryBind}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkSparseMemoryBind}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkSparseMemoryBind where-        type StructFields VkSparseMemoryBind =-             '["resourceOffset", "size", "memory", "memoryOffset", "flags"] -- ' closing tick for hsc2hs-        type CUnionType VkSparseMemoryBind = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSparseMemoryBind = 'False -- ' closing tick for hsc2hs-        type StructExtends VkSparseMemoryBind = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "resourceOffset" VkSparseMemoryBind where-        type FieldType "resourceOffset" VkSparseMemoryBind = VkDeviceSize-        type FieldOptional "resourceOffset" VkSparseMemoryBind = 'False -- ' closing tick for hsc2hs-        type FieldOffset "resourceOffset" VkSparseMemoryBind =-             #{offset VkSparseMemoryBind, resourceOffset}-        type FieldIsArray "resourceOffset" VkSparseMemoryBind = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSparseMemoryBind, resourceOffset}--instance {-# OVERLAPPING #-}-         CanReadField "resourceOffset" VkSparseMemoryBind where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseMemoryBind, resourceOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseMemoryBind, resourceOffset}--instance {-# OVERLAPPING #-}-         CanWriteField "resourceOffset" VkSparseMemoryBind where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseMemoryBind, resourceOffset}--instance {-# OVERLAPPING #-} HasField "size" VkSparseMemoryBind-         where-        type FieldType "size" VkSparseMemoryBind = VkDeviceSize-        type FieldOptional "size" VkSparseMemoryBind = 'False -- ' closing tick for hsc2hs-        type FieldOffset "size" VkSparseMemoryBind =-             #{offset VkSparseMemoryBind, size}-        type FieldIsArray "size" VkSparseMemoryBind = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSparseMemoryBind, size}--instance {-# OVERLAPPING #-} CanReadField "size" VkSparseMemoryBind-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseMemoryBind, size})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseMemoryBind, size}--instance {-# OVERLAPPING #-}-         CanWriteField "size" VkSparseMemoryBind where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseMemoryBind, size}--instance {-# OVERLAPPING #-} HasField "memory" VkSparseMemoryBind-         where-        type FieldType "memory" VkSparseMemoryBind = VkDeviceMemory-        type FieldOptional "memory" VkSparseMemoryBind = 'True -- ' closing tick for hsc2hs-        type FieldOffset "memory" VkSparseMemoryBind =-             #{offset VkSparseMemoryBind, memory}-        type FieldIsArray "memory" VkSparseMemoryBind = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSparseMemoryBind, memory}--instance {-# OVERLAPPING #-}-         CanReadField "memory" VkSparseMemoryBind where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseMemoryBind, memory})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseMemoryBind, memory}--instance {-# OVERLAPPING #-}-         CanWriteField "memory" VkSparseMemoryBind where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseMemoryBind, memory}--instance {-# OVERLAPPING #-}-         HasField "memoryOffset" VkSparseMemoryBind where-        type FieldType "memoryOffset" VkSparseMemoryBind = VkDeviceSize-        type FieldOptional "memoryOffset" VkSparseMemoryBind = 'False -- ' closing tick for hsc2hs-        type FieldOffset "memoryOffset" VkSparseMemoryBind =-             #{offset VkSparseMemoryBind, memoryOffset}-        type FieldIsArray "memoryOffset" VkSparseMemoryBind = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSparseMemoryBind, memoryOffset}--instance {-# OVERLAPPING #-}-         CanReadField "memoryOffset" VkSparseMemoryBind where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseMemoryBind, memoryOffset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseMemoryBind, memoryOffset}--instance {-# OVERLAPPING #-}-         CanWriteField "memoryOffset" VkSparseMemoryBind where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseMemoryBind, memoryOffset}--instance {-# OVERLAPPING #-} HasField "flags" VkSparseMemoryBind-         where-        type FieldType "flags" VkSparseMemoryBind = VkSparseMemoryBindFlags-        type FieldOptional "flags" VkSparseMemoryBind = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkSparseMemoryBind =-             #{offset VkSparseMemoryBind, flags}-        type FieldIsArray "flags" VkSparseMemoryBind = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSparseMemoryBind, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkSparseMemoryBind where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSparseMemoryBind, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSparseMemoryBind, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkSparseMemoryBind where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSparseMemoryBind, flags}--instance Show VkSparseMemoryBind where-        showsPrec d x-          = showString "VkSparseMemoryBind {" .-              showString "resourceOffset = " .-                showsPrec d (getField @"resourceOffset" x) .-                  showString ", " .-                    showString "size = " .-                      showsPrec d (getField @"size" x) .-                        showString ", " .-                          showString "memory = " .-                            showsPrec d (getField @"memory" x) .-                              showString ", " .-                                showString "memoryOffset = " .-                                  showsPrec d (getField @"memoryOffset" x) .-                                    showString ", " .-                                      showString "flags = " .-                                        showsPrec d (getField @"flags" x) . showChar '}'+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.Sparse+       (VkSparseBufferMemoryBindInfo, VkSparseImageFormatProperties,+        VkSparseImageFormatProperties2, VkSparseImageFormatProperties2KHR,+        VkSparseImageMemoryBind, VkSparseImageMemoryBindInfo,+        VkSparseImageMemoryRequirements, VkSparseImageMemoryRequirements2,+        VkSparseImageMemoryRequirements2KHR,+        VkSparseImageOpaqueMemoryBindInfo, VkSparseMemoryBind)+       where+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes          (VkDeviceSize)+import Graphics.Vulkan.Types.Enum.Image         (VkImageAspectFlags)+import Graphics.Vulkan.Types.Enum.Sparse        (VkSparseImageFormatFlags,+                                                 VkSparseMemoryBindFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles            (VkBuffer, VkDeviceMemory,+                                                 VkImage)+import Graphics.Vulkan.Types.Struct.Extent      (VkExtent3D)+import Graphics.Vulkan.Types.Struct.Image       (VkImageSubresource)+import Graphics.Vulkan.Types.Struct.Offset      (VkOffset3D)++-- | > typedef struct VkSparseBufferMemoryBindInfo {+--   >     VkBuffer buffer;+--   >     uint32_t               bindCount;+--   >     const VkSparseMemoryBind* pBinds;+--   > } VkSparseBufferMemoryBindInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSparseBufferMemoryBindInfo VkSparseBufferMemoryBindInfo registry at www.khronos.org>+type VkSparseBufferMemoryBindInfo =+     VkStruct VkSparseBufferMemoryBindInfo' -- ' closing tick for hsc2hs++data VkSparseBufferMemoryBindInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkSparseBufferMemoryBindInfo where+    type StructRep VkSparseBufferMemoryBindInfo =+         'StructMeta "VkSparseBufferMemoryBindInfo" -- ' closing tick for hsc2hs+           VkSparseBufferMemoryBindInfo+           #{size VkSparseBufferMemoryBindInfo}+           #{alignment VkSparseBufferMemoryBindInfo}+           '[('FieldMeta "buffer" VkBuffer 'False  -- ' closing tick for hsc2hs+                                                  #{offset VkSparseBufferMemoryBindInfo, buffer}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "bindCount" Word32 'False +                                                   #{offset VkSparseBufferMemoryBindInfo, bindCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pBinds" (Ptr VkSparseMemoryBind) 'False +                                                                  #{offset VkSparseBufferMemoryBindInfo, pBinds}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkSparseImageFormatProperties {+--   >     VkImageAspectFlags     aspectMask;+--   >     VkExtent3D             imageGranularity;+--   >     VkSparseImageFormatFlags flags;+--   > } VkSparseImageFormatProperties;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSparseImageFormatProperties VkSparseImageFormatProperties registry at www.khronos.org>+type VkSparseImageFormatProperties =+     VkStruct VkSparseImageFormatProperties' -- ' closing tick for hsc2hs++data VkSparseImageFormatProperties' -- ' closing tick for hsc2hs++instance VulkanMarshal VkSparseImageFormatProperties where+    type StructRep VkSparseImageFormatProperties =+         'StructMeta "VkSparseImageFormatProperties" -- ' closing tick for hsc2hs+           VkSparseImageFormatProperties+           #{size VkSparseImageFormatProperties}+           #{alignment VkSparseImageFormatProperties}+           '[('FieldMeta "aspectMask" VkImageAspectFlags 'True  -- ' closing tick for hsc2hs+                                                               #{offset VkSparseImageFormatProperties, aspectMask}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "imageGranularity" VkExtent3D 'False +                                                              #{offset VkSparseImageFormatProperties, imageGranularity}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkSparseImageFormatFlags 'True +                                                                #{offset VkSparseImageFormatProperties, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkSparseImageFormatProperties2 {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     VkSparseImageFormatProperties    properties;+--   > } VkSparseImageFormatProperties2;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSparseImageFormatProperties2 VkSparseImageFormatProperties2 registry at www.khronos.org>+type VkSparseImageFormatProperties2 =+     VkStruct VkSparseImageFormatProperties2' -- ' closing tick for hsc2hs++data VkSparseImageFormatProperties2' -- ' closing tick for hsc2hs++instance VulkanMarshal VkSparseImageFormatProperties2 where+    type StructRep VkSparseImageFormatProperties2 =+         'StructMeta "VkSparseImageFormatProperties2" -- ' closing tick for hsc2hs+           VkSparseImageFormatProperties2+           #{size VkSparseImageFormatProperties2}+           #{alignment VkSparseImageFormatProperties2}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkSparseImageFormatProperties2, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkSparseImageFormatProperties2, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "properties" VkSparseImageFormatProperties 'False+                #{offset VkSparseImageFormatProperties2, properties}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | Alias for `VkSparseImageFormatProperties2`+type VkSparseImageFormatProperties2KHR =+     VkSparseImageFormatProperties2++-- | > typedef struct VkSparseImageMemoryBind {+--   >     VkImageSubresource     subresource;+--   >     VkOffset3D             offset;+--   >     VkExtent3D             extent;+--   >     VkDeviceMemory         memory;+--   >     VkDeviceSize           memoryOffset;+--   >     VkSparseMemoryBindFlagsflags;+--   > } VkSparseImageMemoryBind;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSparseImageMemoryBind VkSparseImageMemoryBind registry at www.khronos.org>+type VkSparseImageMemoryBind = VkStruct VkSparseImageMemoryBind' -- ' closing tick for hsc2hs++data VkSparseImageMemoryBind' -- ' closing tick for hsc2hs++instance VulkanMarshal VkSparseImageMemoryBind where+    type StructRep VkSparseImageMemoryBind =+         'StructMeta "VkSparseImageMemoryBind" VkSparseImageMemoryBind -- ' closing tick for hsc2hs+           #{size VkSparseImageMemoryBind}+           #{alignment VkSparseImageMemoryBind}+           '[('FieldMeta "subresource" VkImageSubresource 'False  -- ' closing tick for hsc2hs+                                                                 #{offset VkSparseImageMemoryBind, subresource}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "offset" VkOffset3D 'False +                                                    #{offset VkSparseImageMemoryBind, offset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "extent" VkExtent3D 'False +                                                    #{offset VkSparseImageMemoryBind, extent}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "memory" VkDeviceMemory 'True +                                                       #{offset VkSparseImageMemoryBind, memory}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "memoryOffset" VkDeviceSize 'False +                                                            #{offset VkSparseImageMemoryBind, memoryOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkSparseMemoryBindFlags 'True +                                                               #{offset VkSparseImageMemoryBind, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkSparseImageMemoryBindInfo {+--   >     VkImage image;+--   >     uint32_t               bindCount;+--   >     const VkSparseImageMemoryBind* pBinds;+--   > } VkSparseImageMemoryBindInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSparseImageMemoryBindInfo VkSparseImageMemoryBindInfo registry at www.khronos.org>+type VkSparseImageMemoryBindInfo =+     VkStruct VkSparseImageMemoryBindInfo' -- ' closing tick for hsc2hs++data VkSparseImageMemoryBindInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkSparseImageMemoryBindInfo where+    type StructRep VkSparseImageMemoryBindInfo =+         'StructMeta "VkSparseImageMemoryBindInfo" -- ' closing tick for hsc2hs+           VkSparseImageMemoryBindInfo+           #{size VkSparseImageMemoryBindInfo}+           #{alignment VkSparseImageMemoryBindInfo}+           '[('FieldMeta "image" VkImage 'False  -- ' closing tick for hsc2hs+                                                #{offset VkSparseImageMemoryBindInfo, image}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "bindCount" Word32 'False +                                                   #{offset VkSparseImageMemoryBindInfo, bindCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pBinds" (Ptr VkSparseImageMemoryBind) 'False +                                                                       #{offset VkSparseImageMemoryBindInfo, pBinds}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkSparseImageMemoryRequirements {+--   >     VkSparseImageFormatProperties formatProperties;+--   >     uint32_t               imageMipTailFirstLod;+--   >     VkDeviceSize           imageMipTailSize;+--   >     VkDeviceSize           imageMipTailOffset;+--   >     VkDeviceSize           imageMipTailStride;+--   > } VkSparseImageMemoryRequirements;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSparseImageMemoryRequirements VkSparseImageMemoryRequirements registry at www.khronos.org>+type VkSparseImageMemoryRequirements =+     VkStruct VkSparseImageMemoryRequirements' -- ' closing tick for hsc2hs++data VkSparseImageMemoryRequirements' -- ' closing tick for hsc2hs++instance VulkanMarshal VkSparseImageMemoryRequirements where+    type StructRep VkSparseImageMemoryRequirements =+         'StructMeta "VkSparseImageMemoryRequirements" -- ' closing tick for hsc2hs+           VkSparseImageMemoryRequirements+           #{size VkSparseImageMemoryRequirements}+           #{alignment VkSparseImageMemoryRequirements}+           '[('FieldMeta "formatProperties" VkSparseImageFormatProperties+                'False -- ' closing tick for hsc2hs+                #{offset VkSparseImageMemoryRequirements, formatProperties}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "imageMipTailFirstLod" Word32 'False +                                                              #{offset VkSparseImageMemoryRequirements, imageMipTailFirstLod}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "imageMipTailSize" VkDeviceSize 'False +                                                                #{offset VkSparseImageMemoryRequirements, imageMipTailSize}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "imageMipTailOffset" VkDeviceSize 'False +                                                                  #{offset VkSparseImageMemoryRequirements, imageMipTailOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "imageMipTailStride" VkDeviceSize 'False +                                                                  #{offset VkSparseImageMemoryRequirements, imageMipTailStride}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkSparseImageMemoryRequirements2 {+--   >     VkStructureType sType;+--   >     void*                                       pNext;+--   >     VkSparseImageMemoryRequirements                                      memoryRequirements;+--   > } VkSparseImageMemoryRequirements2;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2 registry at www.khronos.org>+type VkSparseImageMemoryRequirements2 =+     VkStruct VkSparseImageMemoryRequirements2' -- ' closing tick for hsc2hs++data VkSparseImageMemoryRequirements2' -- ' closing tick for hsc2hs++instance VulkanMarshal VkSparseImageMemoryRequirements2 where+    type StructRep VkSparseImageMemoryRequirements2 =+         'StructMeta "VkSparseImageMemoryRequirements2" -- ' closing tick for hsc2hs+           VkSparseImageMemoryRequirements2+           #{size VkSparseImageMemoryRequirements2}+           #{alignment VkSparseImageMemoryRequirements2}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkSparseImageMemoryRequirements2, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkSparseImageMemoryRequirements2, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "memoryRequirements" VkSparseImageMemoryRequirements -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkSparseImageMemoryRequirements2, memoryRequirements}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | Alias for `VkSparseImageMemoryRequirements2`+type VkSparseImageMemoryRequirements2KHR =+     VkSparseImageMemoryRequirements2++-- | > typedef struct VkSparseImageOpaqueMemoryBindInfo {+--   >     VkImage image;+--   >     uint32_t               bindCount;+--   >     const VkSparseMemoryBind* pBinds;+--   > } VkSparseImageOpaqueMemoryBindInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSparseImageOpaqueMemoryBindInfo VkSparseImageOpaqueMemoryBindInfo registry at www.khronos.org>+type VkSparseImageOpaqueMemoryBindInfo =+     VkStruct VkSparseImageOpaqueMemoryBindInfo' -- ' closing tick for hsc2hs++data VkSparseImageOpaqueMemoryBindInfo' -- ' closing tick for hsc2hs++instance VulkanMarshal VkSparseImageOpaqueMemoryBindInfo where+    type StructRep VkSparseImageOpaqueMemoryBindInfo =+         'StructMeta "VkSparseImageOpaqueMemoryBindInfo" -- ' closing tick for hsc2hs+           VkSparseImageOpaqueMemoryBindInfo+           #{size VkSparseImageOpaqueMemoryBindInfo}+           #{alignment VkSparseImageOpaqueMemoryBindInfo}+           '[('FieldMeta "image" VkImage 'False  -- ' closing tick for hsc2hs+                                                #{offset VkSparseImageOpaqueMemoryBindInfo, image}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "bindCount" Word32 'False +                                                   #{offset VkSparseImageOpaqueMemoryBindInfo, bindCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pBinds" (Ptr VkSparseMemoryBind) 'False +                                                                  #{offset VkSparseImageOpaqueMemoryBindInfo, pBinds}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkSparseMemoryBind {+--   >     VkDeviceSize           resourceOffset;+--   >     VkDeviceSize           size;+--   >     VkDeviceMemory         memory;+--   >     VkDeviceSize           memoryOffset;+--   >     VkSparseMemoryBindFlagsflags;+--   > } VkSparseMemoryBind;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSparseMemoryBind VkSparseMemoryBind registry at www.khronos.org>+type VkSparseMemoryBind = VkStruct VkSparseMemoryBind' -- ' closing tick for hsc2hs++data VkSparseMemoryBind' -- ' closing tick for hsc2hs++instance VulkanMarshal VkSparseMemoryBind where+    type StructRep VkSparseMemoryBind =+         'StructMeta "VkSparseMemoryBind" VkSparseMemoryBind  -- ' closing tick for hsc2hs+                                                             #{size VkSparseMemoryBind}+           #{alignment VkSparseMemoryBind}+           '[('FieldMeta "resourceOffset" VkDeviceSize 'False  -- ' closing tick for hsc2hs+                                                              #{offset VkSparseMemoryBind, resourceOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "size" VkDeviceSize 'False +                                                    #{offset VkSparseMemoryBind, size}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "memory" VkDeviceMemory 'True +                                                       #{offset VkSparseMemoryBind, memory}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "memoryOffset" VkDeviceSize 'False +                                                            #{offset VkSparseMemoryBind, memoryOffset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkSparseMemoryBindFlags 'True +                                                               #{offset VkSparseMemoryBind, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/Specialization.hsc view
@@ -2,19 +2,13 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.Specialization-       (VkSpecializationInfo, VkSpecializationInfo', -- ' closing tick for hsc2hs-        VkSpecializationMapEntry, VkSpecializationMapEntry') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                 (Storable (..))+       (VkSpecializationInfo, VkSpecializationMapEntry) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal-import System.IO.Unsafe                 (unsafeDupablePerformIO)  -- | > typedef struct VkSpecializationInfo { --   >     uint32_t               mapEntryCount;@@ -24,182 +18,38 @@ --   > } VkSpecializationInfo; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSpecializationInfo VkSpecializationInfo registry at www.khronos.org>-type VkSpecializationInfo = VulkanStruct VkSpecializationInfo' -- ' closing tick for hsc2hs+type VkSpecializationInfo = VkStruct VkSpecializationInfo' -- ' closing tick for hsc2hs  data VkSpecializationInfo' -- ' closing tick for hsc2hs -instance Eq VkSpecializationInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSpecializationInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSpecializationInfo where-        sizeOf ~_ = #{size VkSpecializationInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkSpecializationInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkSpecializationInfo where-        type StructFields VkSpecializationInfo =-             '["mapEntryCount", "pMapEntries", "dataSize", "pData"] -- ' closing tick for hsc2hs-        type CUnionType VkSpecializationInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSpecializationInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkSpecializationInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "mapEntryCount" VkSpecializationInfo where-        type FieldType "mapEntryCount" VkSpecializationInfo = Word32-        type FieldOptional "mapEntryCount" VkSpecializationInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "mapEntryCount" VkSpecializationInfo =-             #{offset VkSpecializationInfo, mapEntryCount}-        type FieldIsArray "mapEntryCount" VkSpecializationInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSpecializationInfo, mapEntryCount}--instance {-# OVERLAPPING #-}-         CanReadField "mapEntryCount" VkSpecializationInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSpecializationInfo, mapEntryCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSpecializationInfo, mapEntryCount}--instance {-# OVERLAPPING #-}-         CanWriteField "mapEntryCount" VkSpecializationInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSpecializationInfo, mapEntryCount}--instance {-# OVERLAPPING #-}-         HasField "pMapEntries" VkSpecializationInfo where-        type FieldType "pMapEntries" VkSpecializationInfo =-             Ptr VkSpecializationMapEntry-        type FieldOptional "pMapEntries" VkSpecializationInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pMapEntries" VkSpecializationInfo =-             #{offset VkSpecializationInfo, pMapEntries}-        type FieldIsArray "pMapEntries" VkSpecializationInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSpecializationInfo, pMapEntries}--instance {-# OVERLAPPING #-}-         CanReadField "pMapEntries" VkSpecializationInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSpecializationInfo, pMapEntries})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSpecializationInfo, pMapEntries}--instance {-# OVERLAPPING #-}-         CanWriteField "pMapEntries" VkSpecializationInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSpecializationInfo, pMapEntries}--instance {-# OVERLAPPING #-}-         HasField "dataSize" VkSpecializationInfo where-        type FieldType "dataSize" VkSpecializationInfo = CSize-        type FieldOptional "dataSize" VkSpecializationInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "dataSize" VkSpecializationInfo =-             #{offset VkSpecializationInfo, dataSize}-        type FieldIsArray "dataSize" VkSpecializationInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSpecializationInfo, dataSize}--instance {-# OVERLAPPING #-}-         CanReadField "dataSize" VkSpecializationInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSpecializationInfo, dataSize})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSpecializationInfo, dataSize}--instance {-# OVERLAPPING #-}-         CanWriteField "dataSize" VkSpecializationInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSpecializationInfo, dataSize}--instance {-# OVERLAPPING #-} HasField "pData" VkSpecializationInfo-         where-        type FieldType "pData" VkSpecializationInfo = Ptr Void-        type FieldOptional "pData" VkSpecializationInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pData" VkSpecializationInfo =-             #{offset VkSpecializationInfo, pData}-        type FieldIsArray "pData" VkSpecializationInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSpecializationInfo, pData}--instance {-# OVERLAPPING #-}-         CanReadField "pData" VkSpecializationInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSpecializationInfo, pData})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSpecializationInfo, pData}--instance {-# OVERLAPPING #-}-         CanWriteField "pData" VkSpecializationInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSpecializationInfo, pData}--instance Show VkSpecializationInfo where-        showsPrec d x-          = showString "VkSpecializationInfo {" .-              showString "mapEntryCount = " .-                showsPrec d (getField @"mapEntryCount" x) .-                  showString ", " .-                    showString "pMapEntries = " .-                      showsPrec d (getField @"pMapEntries" x) .-                        showString ", " .-                          showString "dataSize = " .-                            showsPrec d (getField @"dataSize" x) .-                              showString ", " .-                                showString "pData = " .-                                  showsPrec d (getField @"pData" x) . showChar '}'+    type StructRep VkSpecializationInfo =+         'StructMeta "VkSpecializationInfo" VkSpecializationInfo  -- ' closing tick for hsc2hs+                                                                 #{size VkSpecializationInfo}+           #{alignment VkSpecializationInfo}+           '[('FieldMeta "mapEntryCount" Word32 'True  -- ' closing tick for hsc2hs+                                                      #{offset VkSpecializationInfo, mapEntryCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pMapEntries" (Ptr VkSpecializationMapEntry) 'False+                #{offset VkSpecializationInfo, pMapEntries}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dataSize" CSize 'True +                                                #{offset VkSpecializationInfo, dataSize}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pData" (Ptr Void) 'False +                                                   #{offset VkSpecializationInfo, pData}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | > typedef struct VkSpecializationMapEntry { --   >     uint32_t               constantID;@@ -208,145 +58,30 @@ --   > } VkSpecializationMapEntry; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSpecializationMapEntry VkSpecializationMapEntry registry at www.khronos.org>-type VkSpecializationMapEntry =-     VulkanStruct VkSpecializationMapEntry' -- ' closing tick for hsc2hs+type VkSpecializationMapEntry = VkStruct VkSpecializationMapEntry' -- ' closing tick for hsc2hs  data VkSpecializationMapEntry' -- ' closing tick for hsc2hs -instance Eq VkSpecializationMapEntry where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSpecializationMapEntry where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSpecializationMapEntry where-        sizeOf ~_ = #{size VkSpecializationMapEntry}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkSpecializationMapEntry}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkSpecializationMapEntry where-        type StructFields VkSpecializationMapEntry =-             '["constantID", "offset", "size"] -- ' closing tick for hsc2hs-        type CUnionType VkSpecializationMapEntry = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSpecializationMapEntry = 'False -- ' closing tick for hsc2hs-        type StructExtends VkSpecializationMapEntry = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "constantID" VkSpecializationMapEntry where-        type FieldType "constantID" VkSpecializationMapEntry = Word32-        type FieldOptional "constantID" VkSpecializationMapEntry = 'False -- ' closing tick for hsc2hs-        type FieldOffset "constantID" VkSpecializationMapEntry =-             #{offset VkSpecializationMapEntry, constantID}-        type FieldIsArray "constantID" VkSpecializationMapEntry = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSpecializationMapEntry, constantID}--instance {-# OVERLAPPING #-}-         CanReadField "constantID" VkSpecializationMapEntry where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSpecializationMapEntry, constantID})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSpecializationMapEntry, constantID}--instance {-# OVERLAPPING #-}-         CanWriteField "constantID" VkSpecializationMapEntry where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSpecializationMapEntry, constantID}--instance {-# OVERLAPPING #-}-         HasField "offset" VkSpecializationMapEntry where-        type FieldType "offset" VkSpecializationMapEntry = Word32-        type FieldOptional "offset" VkSpecializationMapEntry = 'False -- ' closing tick for hsc2hs-        type FieldOffset "offset" VkSpecializationMapEntry =-             #{offset VkSpecializationMapEntry, offset}-        type FieldIsArray "offset" VkSpecializationMapEntry = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSpecializationMapEntry, offset}--instance {-# OVERLAPPING #-}-         CanReadField "offset" VkSpecializationMapEntry where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSpecializationMapEntry, offset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSpecializationMapEntry, offset}--instance {-# OVERLAPPING #-}-         CanWriteField "offset" VkSpecializationMapEntry where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSpecializationMapEntry, offset}--instance {-# OVERLAPPING #-}-         HasField "size" VkSpecializationMapEntry where-        type FieldType "size" VkSpecializationMapEntry = CSize-        type FieldOptional "size" VkSpecializationMapEntry = 'False -- ' closing tick for hsc2hs-        type FieldOffset "size" VkSpecializationMapEntry =-             #{offset VkSpecializationMapEntry, size}-        type FieldIsArray "size" VkSpecializationMapEntry = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSpecializationMapEntry, size}--instance {-# OVERLAPPING #-}-         CanReadField "size" VkSpecializationMapEntry where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSpecializationMapEntry, size})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSpecializationMapEntry, size}--instance {-# OVERLAPPING #-}-         CanWriteField "size" VkSpecializationMapEntry where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSpecializationMapEntry, size}--instance Show VkSpecializationMapEntry where-        showsPrec d x-          = showString "VkSpecializationMapEntry {" .-              showString "constantID = " .-                showsPrec d (getField @"constantID" x) .-                  showString ", " .-                    showString "offset = " .-                      showsPrec d (getField @"offset" x) .-                        showString ", " .-                          showString "size = " .-                            showsPrec d (getField @"size" x) . showChar '}'+    type StructRep VkSpecializationMapEntry =+         'StructMeta "VkSpecializationMapEntry" VkSpecializationMapEntry -- ' closing tick for hsc2hs+           #{size VkSpecializationMapEntry}+           #{alignment VkSpecializationMapEntry}+           '[('FieldMeta "constantID" Word32 'False  -- ' closing tick for hsc2hs+                                                    #{offset VkSpecializationMapEntry, constantID}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "offset" Word32 'False +                                                #{offset VkSpecializationMapEntry, offset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "size" CSize 'False +                                             #{offset VkSpecializationMapEntry, size}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/StencilOpState.hsc view
@@ -2,19 +2,15 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.StencilOpState-       (VkStencilOpState, VkStencilOpState') where -- ' closing tick for hsc2hs-import Foreign.Storable                     (Storable (..))+       (VkStencilOpState) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.CompareOp (VkCompareOp) import Graphics.Vulkan.Types.Enum.Stencil   (VkStencilOp)-import System.IO.Unsafe                     (unsafeDupablePerformIO)  -- | > typedef struct VkStencilOpState { --   >     VkStencilOp            failOp;@@ -27,280 +23,50 @@ --   > } VkStencilOpState; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkStencilOpState VkStencilOpState registry at www.khronos.org>-type VkStencilOpState = VulkanStruct VkStencilOpState' -- ' closing tick for hsc2hs+type VkStencilOpState = VkStruct VkStencilOpState' -- ' closing tick for hsc2hs  data VkStencilOpState' -- ' closing tick for hsc2hs -instance Eq VkStencilOpState where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkStencilOpState where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkStencilOpState where-        sizeOf ~_ = #{size VkStencilOpState}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkStencilOpState}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkStencilOpState where-        type StructFields VkStencilOpState =-             '["failOp", "passOp", "depthFailOp", "compareOp", "compareMask", -- ' closing tick for hsc2hs-               "writeMask", "reference"]-        type CUnionType VkStencilOpState = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkStencilOpState = 'False -- ' closing tick for hsc2hs-        type StructExtends VkStencilOpState = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "failOp" VkStencilOpState-         where-        type FieldType "failOp" VkStencilOpState = VkStencilOp-        type FieldOptional "failOp" VkStencilOpState = 'False -- ' closing tick for hsc2hs-        type FieldOffset "failOp" VkStencilOpState =-             #{offset VkStencilOpState, failOp}-        type FieldIsArray "failOp" VkStencilOpState = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkStencilOpState, failOp}--instance {-# OVERLAPPING #-} CanReadField "failOp" VkStencilOpState-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkStencilOpState, failOp})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkStencilOpState, failOp}--instance {-# OVERLAPPING #-}-         CanWriteField "failOp" VkStencilOpState where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkStencilOpState, failOp}--instance {-# OVERLAPPING #-} HasField "passOp" VkStencilOpState-         where-        type FieldType "passOp" VkStencilOpState = VkStencilOp-        type FieldOptional "passOp" VkStencilOpState = 'False -- ' closing tick for hsc2hs-        type FieldOffset "passOp" VkStencilOpState =-             #{offset VkStencilOpState, passOp}-        type FieldIsArray "passOp" VkStencilOpState = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkStencilOpState, passOp}--instance {-# OVERLAPPING #-} CanReadField "passOp" VkStencilOpState-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkStencilOpState, passOp})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkStencilOpState, passOp}--instance {-# OVERLAPPING #-}-         CanWriteField "passOp" VkStencilOpState where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkStencilOpState, passOp}--instance {-# OVERLAPPING #-}-         HasField "depthFailOp" VkStencilOpState where-        type FieldType "depthFailOp" VkStencilOpState = VkStencilOp-        type FieldOptional "depthFailOp" VkStencilOpState = 'False -- ' closing tick for hsc2hs-        type FieldOffset "depthFailOp" VkStencilOpState =-             #{offset VkStencilOpState, depthFailOp}-        type FieldIsArray "depthFailOp" VkStencilOpState = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkStencilOpState, depthFailOp}--instance {-# OVERLAPPING #-}-         CanReadField "depthFailOp" VkStencilOpState where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkStencilOpState, depthFailOp})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkStencilOpState, depthFailOp}--instance {-# OVERLAPPING #-}-         CanWriteField "depthFailOp" VkStencilOpState where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkStencilOpState, depthFailOp}--instance {-# OVERLAPPING #-} HasField "compareOp" VkStencilOpState-         where-        type FieldType "compareOp" VkStencilOpState = VkCompareOp-        type FieldOptional "compareOp" VkStencilOpState = 'False -- ' closing tick for hsc2hs-        type FieldOffset "compareOp" VkStencilOpState =-             #{offset VkStencilOpState, compareOp}-        type FieldIsArray "compareOp" VkStencilOpState = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkStencilOpState, compareOp}--instance {-# OVERLAPPING #-}-         CanReadField "compareOp" VkStencilOpState where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkStencilOpState, compareOp})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkStencilOpState, compareOp}--instance {-# OVERLAPPING #-}-         CanWriteField "compareOp" VkStencilOpState where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkStencilOpState, compareOp}--instance {-# OVERLAPPING #-}-         HasField "compareMask" VkStencilOpState where-        type FieldType "compareMask" VkStencilOpState = Word32-        type FieldOptional "compareMask" VkStencilOpState = 'False -- ' closing tick for hsc2hs-        type FieldOffset "compareMask" VkStencilOpState =-             #{offset VkStencilOpState, compareMask}-        type FieldIsArray "compareMask" VkStencilOpState = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkStencilOpState, compareMask}--instance {-# OVERLAPPING #-}-         CanReadField "compareMask" VkStencilOpState where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkStencilOpState, compareMask})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkStencilOpState, compareMask}--instance {-# OVERLAPPING #-}-         CanWriteField "compareMask" VkStencilOpState where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkStencilOpState, compareMask}--instance {-# OVERLAPPING #-} HasField "writeMask" VkStencilOpState-         where-        type FieldType "writeMask" VkStencilOpState = Word32-        type FieldOptional "writeMask" VkStencilOpState = 'False -- ' closing tick for hsc2hs-        type FieldOffset "writeMask" VkStencilOpState =-             #{offset VkStencilOpState, writeMask}-        type FieldIsArray "writeMask" VkStencilOpState = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkStencilOpState, writeMask}--instance {-# OVERLAPPING #-}-         CanReadField "writeMask" VkStencilOpState where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkStencilOpState, writeMask})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkStencilOpState, writeMask}--instance {-# OVERLAPPING #-}-         CanWriteField "writeMask" VkStencilOpState where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkStencilOpState, writeMask}--instance {-# OVERLAPPING #-} HasField "reference" VkStencilOpState-         where-        type FieldType "reference" VkStencilOpState = Word32-        type FieldOptional "reference" VkStencilOpState = 'False -- ' closing tick for hsc2hs-        type FieldOffset "reference" VkStencilOpState =-             #{offset VkStencilOpState, reference}-        type FieldIsArray "reference" VkStencilOpState = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkStencilOpState, reference}--instance {-# OVERLAPPING #-}-         CanReadField "reference" VkStencilOpState where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkStencilOpState, reference})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkStencilOpState, reference}--instance {-# OVERLAPPING #-}-         CanWriteField "reference" VkStencilOpState where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkStencilOpState, reference}--instance Show VkStencilOpState where-        showsPrec d x-          = showString "VkStencilOpState {" .-              showString "failOp = " .-                showsPrec d (getField @"failOp" x) .-                  showString ", " .-                    showString "passOp = " .-                      showsPrec d (getField @"passOp" x) .-                        showString ", " .-                          showString "depthFailOp = " .-                            showsPrec d (getField @"depthFailOp" x) .-                              showString ", " .-                                showString "compareOp = " .-                                  showsPrec d (getField @"compareOp" x) .-                                    showString ", " .-                                      showString "compareMask = " .-                                        showsPrec d (getField @"compareMask" x) .-                                          showString ", " .-                                            showString "writeMask = " .-                                              showsPrec d (getField @"writeMask" x) .-                                                showString ", " .-                                                  showString "reference = " .-                                                    showsPrec d (getField @"reference" x) .-                                                      showChar '}'+    type StructRep VkStencilOpState =+         'StructMeta "VkStencilOpState" VkStencilOpState  -- ' closing tick for hsc2hs+                                                         #{size VkStencilOpState}+           #{alignment VkStencilOpState}+           '[('FieldMeta "failOp" VkStencilOp 'False  -- ' closing tick for hsc2hs+                                                     #{offset VkStencilOpState, failOp}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "passOp" VkStencilOp 'False +                                                     #{offset VkStencilOpState, passOp}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "depthFailOp" VkStencilOp 'False +                                                          #{offset VkStencilOpState, depthFailOp}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "compareOp" VkCompareOp 'False +                                                        #{offset VkStencilOpState, compareOp}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "compareMask" Word32 'False +                                                     #{offset VkStencilOpState, compareMask}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "writeMask" Word32 'False +                                                   #{offset VkStencilOpState, writeMask}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "reference" Word32 'False +                                                   #{offset VkStencilOpState, reference}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/SubmitInfo.hsc view
@@ -2,20 +2,15 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.SubmitInfo-       (VkSubmitInfo, VkSubmitInfo') where -- ' closing tick for hsc2hs-import Foreign.Storable                         (Storable (..))+module Graphics.Vulkan.Types.Struct.SubmitInfo (VkSubmitInfo) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.Pipeline      (VkPipelineStageFlags) import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType) import Graphics.Vulkan.Types.Handles            (VkCommandBuffer, VkSemaphore)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkSubmitInfo { --   >     VkStructureType sType;@@ -30,354 +25,60 @@ --   > } VkSubmitInfo; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSubmitInfo VkSubmitInfo registry at www.khronos.org>-type VkSubmitInfo = VulkanStruct VkSubmitInfo' -- ' closing tick for hsc2hs+type VkSubmitInfo = VkStruct VkSubmitInfo' -- ' closing tick for hsc2hs  data VkSubmitInfo' -- ' closing tick for hsc2hs -instance Eq VkSubmitInfo where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSubmitInfo where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSubmitInfo where-        sizeOf ~_ = #{size VkSubmitInfo}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkSubmitInfo}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkSubmitInfo where-        type StructFields VkSubmitInfo =-             '["sType", "pNext", "waitSemaphoreCount", "pWaitSemaphores", -- ' closing tick for hsc2hs-               "pWaitDstStageMask", "commandBufferCount", "pCommandBuffers",-               "signalSemaphoreCount", "pSignalSemaphores"]-        type CUnionType VkSubmitInfo = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSubmitInfo = 'False -- ' closing tick for hsc2hs-        type StructExtends VkSubmitInfo = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkSubmitInfo where-        type FieldType "sType" VkSubmitInfo = VkStructureType-        type FieldOptional "sType" VkSubmitInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkSubmitInfo =-             #{offset VkSubmitInfo, sType}-        type FieldIsArray "sType" VkSubmitInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSubmitInfo, sType}--instance {-# OVERLAPPING #-} CanReadField "sType" VkSubmitInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubmitInfo, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubmitInfo, sType}--instance {-# OVERLAPPING #-} CanWriteField "sType" VkSubmitInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubmitInfo, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkSubmitInfo where-        type FieldType "pNext" VkSubmitInfo = Ptr Void-        type FieldOptional "pNext" VkSubmitInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkSubmitInfo =-             #{offset VkSubmitInfo, pNext}-        type FieldIsArray "pNext" VkSubmitInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSubmitInfo, pNext}--instance {-# OVERLAPPING #-} CanReadField "pNext" VkSubmitInfo-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubmitInfo, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubmitInfo, pNext}--instance {-# OVERLAPPING #-} CanWriteField "pNext" VkSubmitInfo-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubmitInfo, pNext}--instance {-# OVERLAPPING #-}-         HasField "waitSemaphoreCount" VkSubmitInfo where-        type FieldType "waitSemaphoreCount" VkSubmitInfo = Word32-        type FieldOptional "waitSemaphoreCount" VkSubmitInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "waitSemaphoreCount" VkSubmitInfo =-             #{offset VkSubmitInfo, waitSemaphoreCount}-        type FieldIsArray "waitSemaphoreCount" VkSubmitInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSubmitInfo, waitSemaphoreCount}--instance {-# OVERLAPPING #-}-         CanReadField "waitSemaphoreCount" VkSubmitInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubmitInfo, waitSemaphoreCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubmitInfo, waitSemaphoreCount}--instance {-# OVERLAPPING #-}-         CanWriteField "waitSemaphoreCount" VkSubmitInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubmitInfo, waitSemaphoreCount}--instance {-# OVERLAPPING #-}-         HasField "pWaitSemaphores" VkSubmitInfo where-        type FieldType "pWaitSemaphores" VkSubmitInfo = Ptr VkSemaphore-        type FieldOptional "pWaitSemaphores" VkSubmitInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pWaitSemaphores" VkSubmitInfo =-             #{offset VkSubmitInfo, pWaitSemaphores}-        type FieldIsArray "pWaitSemaphores" VkSubmitInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSubmitInfo, pWaitSemaphores}--instance {-# OVERLAPPING #-}-         CanReadField "pWaitSemaphores" VkSubmitInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubmitInfo, pWaitSemaphores})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubmitInfo, pWaitSemaphores}--instance {-# OVERLAPPING #-}-         CanWriteField "pWaitSemaphores" VkSubmitInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubmitInfo, pWaitSemaphores}--instance {-# OVERLAPPING #-}-         HasField "pWaitDstStageMask" VkSubmitInfo where-        type FieldType "pWaitDstStageMask" VkSubmitInfo =-             Ptr VkPipelineStageFlags-        type FieldOptional "pWaitDstStageMask" VkSubmitInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pWaitDstStageMask" VkSubmitInfo =-             #{offset VkSubmitInfo, pWaitDstStageMask}-        type FieldIsArray "pWaitDstStageMask" VkSubmitInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSubmitInfo, pWaitDstStageMask}--instance {-# OVERLAPPING #-}-         CanReadField "pWaitDstStageMask" VkSubmitInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubmitInfo, pWaitDstStageMask})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubmitInfo, pWaitDstStageMask}--instance {-# OVERLAPPING #-}-         CanWriteField "pWaitDstStageMask" VkSubmitInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubmitInfo, pWaitDstStageMask}--instance {-# OVERLAPPING #-}-         HasField "commandBufferCount" VkSubmitInfo where-        type FieldType "commandBufferCount" VkSubmitInfo = Word32-        type FieldOptional "commandBufferCount" VkSubmitInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "commandBufferCount" VkSubmitInfo =-             #{offset VkSubmitInfo, commandBufferCount}-        type FieldIsArray "commandBufferCount" VkSubmitInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSubmitInfo, commandBufferCount}--instance {-# OVERLAPPING #-}-         CanReadField "commandBufferCount" VkSubmitInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubmitInfo, commandBufferCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubmitInfo, commandBufferCount}--instance {-# OVERLAPPING #-}-         CanWriteField "commandBufferCount" VkSubmitInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubmitInfo, commandBufferCount}--instance {-# OVERLAPPING #-}-         HasField "pCommandBuffers" VkSubmitInfo where-        type FieldType "pCommandBuffers" VkSubmitInfo = Ptr VkCommandBuffer-        type FieldOptional "pCommandBuffers" VkSubmitInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pCommandBuffers" VkSubmitInfo =-             #{offset VkSubmitInfo, pCommandBuffers}-        type FieldIsArray "pCommandBuffers" VkSubmitInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSubmitInfo, pCommandBuffers}--instance {-# OVERLAPPING #-}-         CanReadField "pCommandBuffers" VkSubmitInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubmitInfo, pCommandBuffers})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubmitInfo, pCommandBuffers}--instance {-# OVERLAPPING #-}-         CanWriteField "pCommandBuffers" VkSubmitInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubmitInfo, pCommandBuffers}--instance {-# OVERLAPPING #-}-         HasField "signalSemaphoreCount" VkSubmitInfo where-        type FieldType "signalSemaphoreCount" VkSubmitInfo = Word32-        type FieldOptional "signalSemaphoreCount" VkSubmitInfo = 'True -- ' closing tick for hsc2hs-        type FieldOffset "signalSemaphoreCount" VkSubmitInfo =-             #{offset VkSubmitInfo, signalSemaphoreCount}-        type FieldIsArray "signalSemaphoreCount" VkSubmitInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSubmitInfo, signalSemaphoreCount}--instance {-# OVERLAPPING #-}-         CanReadField "signalSemaphoreCount" VkSubmitInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubmitInfo, signalSemaphoreCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubmitInfo, signalSemaphoreCount}--instance {-# OVERLAPPING #-}-         CanWriteField "signalSemaphoreCount" VkSubmitInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubmitInfo, signalSemaphoreCount}--instance {-# OVERLAPPING #-}-         HasField "pSignalSemaphores" VkSubmitInfo where-        type FieldType "pSignalSemaphores" VkSubmitInfo = Ptr VkSemaphore-        type FieldOptional "pSignalSemaphores" VkSubmitInfo = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pSignalSemaphores" VkSubmitInfo =-             #{offset VkSubmitInfo, pSignalSemaphores}-        type FieldIsArray "pSignalSemaphores" VkSubmitInfo = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSubmitInfo, pSignalSemaphores}--instance {-# OVERLAPPING #-}-         CanReadField "pSignalSemaphores" VkSubmitInfo where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubmitInfo, pSignalSemaphores})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubmitInfo, pSignalSemaphores}--instance {-# OVERLAPPING #-}-         CanWriteField "pSignalSemaphores" VkSubmitInfo where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubmitInfo, pSignalSemaphores}--instance Show VkSubmitInfo where-        showsPrec d x-          = showString "VkSubmitInfo {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "waitSemaphoreCount = " .-                            showsPrec d (getField @"waitSemaphoreCount" x) .-                              showString ", " .-                                showString "pWaitSemaphores = " .-                                  showsPrec d (getField @"pWaitSemaphores" x) .-                                    showString ", " .-                                      showString "pWaitDstStageMask = " .-                                        showsPrec d (getField @"pWaitDstStageMask" x) .-                                          showString ", " .-                                            showString "commandBufferCount = " .-                                              showsPrec d (getField @"commandBufferCount" x) .-                                                showString ", " .-                                                  showString "pCommandBuffers = " .-                                                    showsPrec d (getField @"pCommandBuffers" x) .-                                                      showString ", " .-                                                        showString "signalSemaphoreCount = " .-                                                          showsPrec d-                                                            (getField @"signalSemaphoreCount" x)-                                                            .-                                                            showString ", " .-                                                              showString "pSignalSemaphores = " .-                                                                showsPrec d-                                                                  (getField @"pSignalSemaphores" x)-                                                                  . showChar '}'+    type StructRep VkSubmitInfo =+         'StructMeta "VkSubmitInfo" VkSubmitInfo  -- ' closing tick for hsc2hs+                                                 #{size VkSubmitInfo}+           #{alignment VkSubmitInfo}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkSubmitInfo, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkSubmitInfo, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "waitSemaphoreCount" Word32 'True +                                                           #{offset VkSubmitInfo, waitSemaphoreCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pWaitSemaphores" (Ptr VkSemaphore) 'False +                                                                    #{offset VkSubmitInfo, pWaitSemaphores}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pWaitDstStageMask" (Ptr VkPipelineStageFlags) 'False+                #{offset VkSubmitInfo, pWaitDstStageMask}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "commandBufferCount" Word32 'True +                                                           #{offset VkSubmitInfo, commandBufferCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pCommandBuffers" (Ptr VkCommandBuffer) 'False+                #{offset VkSubmitInfo, pCommandBuffers}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "signalSemaphoreCount" Word32 'True +                                                             #{offset VkSubmitInfo, signalSemaphoreCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pSignalSemaphores" (Ptr VkSemaphore) 'False +                                                                      #{offset VkSubmitInfo, pSignalSemaphores}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc view
@@ -2,17 +2,13 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.Subpass-       (VkSubpassDependency, VkSubpassDependency', VkSubpassDescription, -- ' closing tick for hsc2hs-        VkSubpassDescription', VkSubpassSampleLocationsEXT, -- ' closing tick for hsc2hs-        VkSubpassSampleLocationsEXT') -- ' closing tick for hsc2hs+       (VkSubpassDependency, VkSubpassDescription,+        VkSubpassSampleLocationsEXT)        where-import Foreign.Storable                            (Storable (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.AccessFlags      (VkAccessFlags)@@ -22,7 +18,6 @@ import Graphics.Vulkan.Types.Enum.Subpass          (VkSubpassDescriptionFlags) import Graphics.Vulkan.Types.Struct.Attachment     (VkAttachmentReference) import Graphics.Vulkan.Types.Struct.SampleLocation (VkSampleLocationsInfoEXT)-import System.IO.Unsafe                            (unsafeDupablePerformIO)  -- | > typedef struct VkSubpassDependency { --   >     uint32_t               srcSubpass;@@ -35,291 +30,53 @@ --   > } VkSubpassDependency; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSubpassDependency VkSubpassDependency registry at www.khronos.org>-type VkSubpassDependency = VulkanStruct VkSubpassDependency' -- ' closing tick for hsc2hs+type VkSubpassDependency = VkStruct VkSubpassDependency' -- ' closing tick for hsc2hs  data VkSubpassDependency' -- ' closing tick for hsc2hs -instance Eq VkSubpassDependency where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSubpassDependency where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSubpassDependency where-        sizeOf ~_ = #{size VkSubpassDependency}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkSubpassDependency}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkSubpassDependency where-        type StructFields VkSubpassDependency =-             '["srcSubpass", "dstSubpass", "srcStageMask", "dstStageMask", -- ' closing tick for hsc2hs-               "srcAccessMask", "dstAccessMask", "dependencyFlags"]-        type CUnionType VkSubpassDependency = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSubpassDependency = 'False -- ' closing tick for hsc2hs-        type StructExtends VkSubpassDependency = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "srcSubpass" VkSubpassDependency where-        type FieldType "srcSubpass" VkSubpassDependency = Word32-        type FieldOptional "srcSubpass" VkSubpassDependency = 'False -- ' closing tick for hsc2hs-        type FieldOffset "srcSubpass" VkSubpassDependency =-             #{offset VkSubpassDependency, srcSubpass}-        type FieldIsArray "srcSubpass" VkSubpassDependency = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSubpassDependency, srcSubpass}--instance {-# OVERLAPPING #-}-         CanReadField "srcSubpass" VkSubpassDependency where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubpassDependency, srcSubpass})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubpassDependency, srcSubpass}--instance {-# OVERLAPPING #-}-         CanWriteField "srcSubpass" VkSubpassDependency where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubpassDependency, srcSubpass}--instance {-# OVERLAPPING #-}-         HasField "dstSubpass" VkSubpassDependency where-        type FieldType "dstSubpass" VkSubpassDependency = Word32-        type FieldOptional "dstSubpass" VkSubpassDependency = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dstSubpass" VkSubpassDependency =-             #{offset VkSubpassDependency, dstSubpass}-        type FieldIsArray "dstSubpass" VkSubpassDependency = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSubpassDependency, dstSubpass}--instance {-# OVERLAPPING #-}-         CanReadField "dstSubpass" VkSubpassDependency where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubpassDependency, dstSubpass})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubpassDependency, dstSubpass}--instance {-# OVERLAPPING #-}-         CanWriteField "dstSubpass" VkSubpassDependency where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubpassDependency, dstSubpass}--instance {-# OVERLAPPING #-}-         HasField "srcStageMask" VkSubpassDependency where-        type FieldType "srcStageMask" VkSubpassDependency =-             VkPipelineStageFlags-        type FieldOptional "srcStageMask" VkSubpassDependency = 'False -- ' closing tick for hsc2hs-        type FieldOffset "srcStageMask" VkSubpassDependency =-             #{offset VkSubpassDependency, srcStageMask}-        type FieldIsArray "srcStageMask" VkSubpassDependency = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSubpassDependency, srcStageMask}--instance {-# OVERLAPPING #-}-         CanReadField "srcStageMask" VkSubpassDependency where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubpassDependency, srcStageMask})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubpassDependency, srcStageMask}--instance {-# OVERLAPPING #-}-         CanWriteField "srcStageMask" VkSubpassDependency where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubpassDependency, srcStageMask}--instance {-# OVERLAPPING #-}-         HasField "dstStageMask" VkSubpassDependency where-        type FieldType "dstStageMask" VkSubpassDependency =-             VkPipelineStageFlags-        type FieldOptional "dstStageMask" VkSubpassDependency = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dstStageMask" VkSubpassDependency =-             #{offset VkSubpassDependency, dstStageMask}-        type FieldIsArray "dstStageMask" VkSubpassDependency = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSubpassDependency, dstStageMask}--instance {-# OVERLAPPING #-}-         CanReadField "dstStageMask" VkSubpassDependency where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubpassDependency, dstStageMask})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubpassDependency, dstStageMask}--instance {-# OVERLAPPING #-}-         CanWriteField "dstStageMask" VkSubpassDependency where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubpassDependency, dstStageMask}--instance {-# OVERLAPPING #-}-         HasField "srcAccessMask" VkSubpassDependency where-        type FieldType "srcAccessMask" VkSubpassDependency = VkAccessFlags-        type FieldOptional "srcAccessMask" VkSubpassDependency = 'True -- ' closing tick for hsc2hs-        type FieldOffset "srcAccessMask" VkSubpassDependency =-             #{offset VkSubpassDependency, srcAccessMask}-        type FieldIsArray "srcAccessMask" VkSubpassDependency = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSubpassDependency, srcAccessMask}--instance {-# OVERLAPPING #-}-         CanReadField "srcAccessMask" VkSubpassDependency where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubpassDependency, srcAccessMask})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubpassDependency, srcAccessMask}--instance {-# OVERLAPPING #-}-         CanWriteField "srcAccessMask" VkSubpassDependency where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubpassDependency, srcAccessMask}--instance {-# OVERLAPPING #-}-         HasField "dstAccessMask" VkSubpassDependency where-        type FieldType "dstAccessMask" VkSubpassDependency = VkAccessFlags-        type FieldOptional "dstAccessMask" VkSubpassDependency = 'True -- ' closing tick for hsc2hs-        type FieldOffset "dstAccessMask" VkSubpassDependency =-             #{offset VkSubpassDependency, dstAccessMask}-        type FieldIsArray "dstAccessMask" VkSubpassDependency = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSubpassDependency, dstAccessMask}--instance {-# OVERLAPPING #-}-         CanReadField "dstAccessMask" VkSubpassDependency where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubpassDependency, dstAccessMask})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubpassDependency, dstAccessMask}--instance {-# OVERLAPPING #-}-         CanWriteField "dstAccessMask" VkSubpassDependency where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubpassDependency, dstAccessMask}--instance {-# OVERLAPPING #-}-         HasField "dependencyFlags" VkSubpassDependency where-        type FieldType "dependencyFlags" VkSubpassDependency =-             VkDependencyFlags-        type FieldOptional "dependencyFlags" VkSubpassDependency = 'True -- ' closing tick for hsc2hs-        type FieldOffset "dependencyFlags" VkSubpassDependency =-             #{offset VkSubpassDependency, dependencyFlags}-        type FieldIsArray "dependencyFlags" VkSubpassDependency = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSubpassDependency, dependencyFlags}--instance {-# OVERLAPPING #-}-         CanReadField "dependencyFlags" VkSubpassDependency where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubpassDependency, dependencyFlags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubpassDependency, dependencyFlags}--instance {-# OVERLAPPING #-}-         CanWriteField "dependencyFlags" VkSubpassDependency where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubpassDependency, dependencyFlags}--instance Show VkSubpassDependency where-        showsPrec d x-          = showString "VkSubpassDependency {" .-              showString "srcSubpass = " .-                showsPrec d (getField @"srcSubpass" x) .-                  showString ", " .-                    showString "dstSubpass = " .-                      showsPrec d (getField @"dstSubpass" x) .-                        showString ", " .-                          showString "srcStageMask = " .-                            showsPrec d (getField @"srcStageMask" x) .-                              showString ", " .-                                showString "dstStageMask = " .-                                  showsPrec d (getField @"dstStageMask" x) .-                                    showString ", " .-                                      showString "srcAccessMask = " .-                                        showsPrec d (getField @"srcAccessMask" x) .-                                          showString ", " .-                                            showString "dstAccessMask = " .-                                              showsPrec d (getField @"dstAccessMask" x) .-                                                showString ", " .-                                                  showString "dependencyFlags = " .-                                                    showsPrec d (getField @"dependencyFlags" x) .-                                                      showChar '}'+    type StructRep VkSubpassDependency =+         'StructMeta "VkSubpassDependency" VkSubpassDependency  -- ' closing tick for hsc2hs+                                                               #{size VkSubpassDependency}+           #{alignment VkSubpassDependency}+           '[('FieldMeta "srcSubpass" Word32 'False  -- ' closing tick for hsc2hs+                                                    #{offset VkSubpassDependency, srcSubpass}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dstSubpass" Word32 'False +                                                    #{offset VkSubpassDependency, dstSubpass}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "srcStageMask" VkPipelineStageFlags 'False +                                                                    #{offset VkSubpassDependency, srcStageMask}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dstStageMask" VkPipelineStageFlags 'False +                                                                    #{offset VkSubpassDependency, dstStageMask}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "srcAccessMask" VkAccessFlags 'True +                                                             #{offset VkSubpassDependency, srcAccessMask}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dstAccessMask" VkAccessFlags 'True +                                                             #{offset VkSubpassDependency, dstAccessMask}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dependencyFlags" VkDependencyFlags 'True +                                                                   #{offset VkSubpassDependency, dependencyFlags}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | > typedef struct VkSubpassDescription { --   >     VkSubpassDescriptionFlags flags;@@ -335,433 +92,69 @@ --   > } VkSubpassDescription; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSubpassDescription VkSubpassDescription registry at www.khronos.org>-type VkSubpassDescription = VulkanStruct VkSubpassDescription' -- ' closing tick for hsc2hs+type VkSubpassDescription = VkStruct VkSubpassDescription' -- ' closing tick for hsc2hs  data VkSubpassDescription' -- ' closing tick for hsc2hs -instance Eq VkSubpassDescription where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSubpassDescription where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSubpassDescription where-        sizeOf ~_ = #{size VkSubpassDescription}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkSubpassDescription}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkSubpassDescription where-        type StructFields VkSubpassDescription =-             '["flags", "pipelineBindPoint", "inputAttachmentCount", -- ' closing tick for hsc2hs-               "pInputAttachments", "colorAttachmentCount", "pColorAttachments",-               "pResolveAttachments", "pDepthStencilAttachment",-               "preserveAttachmentCount", "pPreserveAttachments"]-        type CUnionType VkSubpassDescription = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSubpassDescription = 'False -- ' closing tick for hsc2hs-        type StructExtends VkSubpassDescription = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "flags" VkSubpassDescription-         where-        type FieldType "flags" VkSubpassDescription =-             VkSubpassDescriptionFlags-        type FieldOptional "flags" VkSubpassDescription = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkSubpassDescription =-             #{offset VkSubpassDescription, flags}-        type FieldIsArray "flags" VkSubpassDescription = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSubpassDescription, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkSubpassDescription where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubpassDescription, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubpassDescription, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkSubpassDescription where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubpassDescription, flags}--instance {-# OVERLAPPING #-}-         HasField "pipelineBindPoint" VkSubpassDescription where-        type FieldType "pipelineBindPoint" VkSubpassDescription =-             VkPipelineBindPoint-        type FieldOptional "pipelineBindPoint" VkSubpassDescription =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pipelineBindPoint" VkSubpassDescription =-             #{offset VkSubpassDescription, pipelineBindPoint}-        type FieldIsArray "pipelineBindPoint" VkSubpassDescription = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSubpassDescription, pipelineBindPoint}--instance {-# OVERLAPPING #-}-         CanReadField "pipelineBindPoint" VkSubpassDescription where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubpassDescription, pipelineBindPoint})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubpassDescription, pipelineBindPoint}--instance {-# OVERLAPPING #-}-         CanWriteField "pipelineBindPoint" VkSubpassDescription where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubpassDescription, pipelineBindPoint}--instance {-# OVERLAPPING #-}-         HasField "inputAttachmentCount" VkSubpassDescription where-        type FieldType "inputAttachmentCount" VkSubpassDescription = Word32-        type FieldOptional "inputAttachmentCount" VkSubpassDescription =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "inputAttachmentCount" VkSubpassDescription =-             #{offset VkSubpassDescription, inputAttachmentCount}-        type FieldIsArray "inputAttachmentCount" VkSubpassDescription =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSubpassDescription, inputAttachmentCount}--instance {-# OVERLAPPING #-}-         CanReadField "inputAttachmentCount" VkSubpassDescription where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubpassDescription, inputAttachmentCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubpassDescription, inputAttachmentCount}--instance {-# OVERLAPPING #-}-         CanWriteField "inputAttachmentCount" VkSubpassDescription where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubpassDescription, inputAttachmentCount}--instance {-# OVERLAPPING #-}-         HasField "pInputAttachments" VkSubpassDescription where-        type FieldType "pInputAttachments" VkSubpassDescription =-             Ptr VkAttachmentReference-        type FieldOptional "pInputAttachments" VkSubpassDescription =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pInputAttachments" VkSubpassDescription =-             #{offset VkSubpassDescription, pInputAttachments}-        type FieldIsArray "pInputAttachments" VkSubpassDescription = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSubpassDescription, pInputAttachments}--instance {-# OVERLAPPING #-}-         CanReadField "pInputAttachments" VkSubpassDescription where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubpassDescription, pInputAttachments})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubpassDescription, pInputAttachments}--instance {-# OVERLAPPING #-}-         CanWriteField "pInputAttachments" VkSubpassDescription where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubpassDescription, pInputAttachments}--instance {-# OVERLAPPING #-}-         HasField "colorAttachmentCount" VkSubpassDescription where-        type FieldType "colorAttachmentCount" VkSubpassDescription = Word32-        type FieldOptional "colorAttachmentCount" VkSubpassDescription =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "colorAttachmentCount" VkSubpassDescription =-             #{offset VkSubpassDescription, colorAttachmentCount}-        type FieldIsArray "colorAttachmentCount" VkSubpassDescription =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSubpassDescription, colorAttachmentCount}--instance {-# OVERLAPPING #-}-         CanReadField "colorAttachmentCount" VkSubpassDescription where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubpassDescription, colorAttachmentCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubpassDescription, colorAttachmentCount}--instance {-# OVERLAPPING #-}-         CanWriteField "colorAttachmentCount" VkSubpassDescription where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubpassDescription, colorAttachmentCount}--instance {-# OVERLAPPING #-}-         HasField "pColorAttachments" VkSubpassDescription where-        type FieldType "pColorAttachments" VkSubpassDescription =-             Ptr VkAttachmentReference-        type FieldOptional "pColorAttachments" VkSubpassDescription =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pColorAttachments" VkSubpassDescription =-             #{offset VkSubpassDescription, pColorAttachments}-        type FieldIsArray "pColorAttachments" VkSubpassDescription = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSubpassDescription, pColorAttachments}--instance {-# OVERLAPPING #-}-         CanReadField "pColorAttachments" VkSubpassDescription where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubpassDescription, pColorAttachments})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubpassDescription, pColorAttachments}--instance {-# OVERLAPPING #-}-         CanWriteField "pColorAttachments" VkSubpassDescription where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubpassDescription, pColorAttachments}--instance {-# OVERLAPPING #-}-         HasField "pResolveAttachments" VkSubpassDescription where-        type FieldType "pResolveAttachments" VkSubpassDescription =-             Ptr VkAttachmentReference-        type FieldOptional "pResolveAttachments" VkSubpassDescription =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "pResolveAttachments" VkSubpassDescription =-             #{offset VkSubpassDescription, pResolveAttachments}-        type FieldIsArray "pResolveAttachments" VkSubpassDescription =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSubpassDescription, pResolveAttachments}--instance {-# OVERLAPPING #-}-         CanReadField "pResolveAttachments" VkSubpassDescription where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubpassDescription, pResolveAttachments})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubpassDescription, pResolveAttachments}--instance {-# OVERLAPPING #-}-         CanWriteField "pResolveAttachments" VkSubpassDescription where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubpassDescription, pResolveAttachments}--instance {-# OVERLAPPING #-}-         HasField "pDepthStencilAttachment" VkSubpassDescription where-        type FieldType "pDepthStencilAttachment" VkSubpassDescription =-             Ptr VkAttachmentReference-        type FieldOptional "pDepthStencilAttachment" VkSubpassDescription =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "pDepthStencilAttachment" VkSubpassDescription =-             #{offset VkSubpassDescription, pDepthStencilAttachment}-        type FieldIsArray "pDepthStencilAttachment" VkSubpassDescription =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSubpassDescription, pDepthStencilAttachment}--instance {-# OVERLAPPING #-}-         CanReadField "pDepthStencilAttachment" VkSubpassDescription where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubpassDescription, pDepthStencilAttachment})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubpassDescription, pDepthStencilAttachment}--instance {-# OVERLAPPING #-}-         CanWriteField "pDepthStencilAttachment" VkSubpassDescription where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubpassDescription, pDepthStencilAttachment}--instance {-# OVERLAPPING #-}-         HasField "preserveAttachmentCount" VkSubpassDescription where-        type FieldType "preserveAttachmentCount" VkSubpassDescription =-             Word32-        type FieldOptional "preserveAttachmentCount" VkSubpassDescription =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "preserveAttachmentCount" VkSubpassDescription =-             #{offset VkSubpassDescription, preserveAttachmentCount}-        type FieldIsArray "preserveAttachmentCount" VkSubpassDescription =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSubpassDescription, preserveAttachmentCount}--instance {-# OVERLAPPING #-}-         CanReadField "preserveAttachmentCount" VkSubpassDescription where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubpassDescription, preserveAttachmentCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubpassDescription, preserveAttachmentCount}--instance {-# OVERLAPPING #-}-         CanWriteField "preserveAttachmentCount" VkSubpassDescription where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubpassDescription, preserveAttachmentCount}--instance {-# OVERLAPPING #-}-         HasField "pPreserveAttachments" VkSubpassDescription where-        type FieldType "pPreserveAttachments" VkSubpassDescription =-             Ptr Word32-        type FieldOptional "pPreserveAttachments" VkSubpassDescription =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pPreserveAttachments" VkSubpassDescription =-             #{offset VkSubpassDescription, pPreserveAttachments}-        type FieldIsArray "pPreserveAttachments" VkSubpassDescription =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSubpassDescription, pPreserveAttachments}--instance {-# OVERLAPPING #-}-         CanReadField "pPreserveAttachments" VkSubpassDescription where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubpassDescription, pPreserveAttachments})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubpassDescription, pPreserveAttachments}--instance {-# OVERLAPPING #-}-         CanWriteField "pPreserveAttachments" VkSubpassDescription where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubpassDescription, pPreserveAttachments}--instance Show VkSubpassDescription where-        showsPrec d x-          = showString "VkSubpassDescription {" .-              showString "flags = " .-                showsPrec d (getField @"flags" x) .-                  showString ", " .-                    showString "pipelineBindPoint = " .-                      showsPrec d (getField @"pipelineBindPoint" x) .-                        showString ", " .-                          showString "inputAttachmentCount = " .-                            showsPrec d (getField @"inputAttachmentCount" x) .-                              showString ", " .-                                showString "pInputAttachments = " .-                                  showsPrec d (getField @"pInputAttachments" x) .-                                    showString ", " .-                                      showString "colorAttachmentCount = " .-                                        showsPrec d (getField @"colorAttachmentCount" x) .-                                          showString ", " .-                                            showString "pColorAttachments = " .-                                              showsPrec d (getField @"pColorAttachments" x) .-                                                showString ", " .-                                                  showString "pResolveAttachments = " .-                                                    showsPrec d (getField @"pResolveAttachments" x)-                                                      .-                                                      showString ", " .-                                                        showString "pDepthStencilAttachment = " .-                                                          showsPrec d-                                                            (getField @"pDepthStencilAttachment" x)-                                                            .-                                                            showString ", " .-                                                              showString-                                                                "preserveAttachmentCount = "-                                                                .-                                                                showsPrec d-                                                                  (getField-                                                                     @"preserveAttachmentCount"-                                                                     x)-                                                                  .-                                                                  showString ", " .-                                                                    showString-                                                                      "pPreserveAttachments = "-                                                                      .-                                                                      showsPrec d-                                                                        (getField-                                                                           @"pPreserveAttachments"-                                                                           x)-                                                                        . showChar '}'+    type StructRep VkSubpassDescription =+         'StructMeta "VkSubpassDescription" VkSubpassDescription  -- ' closing tick for hsc2hs+                                                                 #{size VkSubpassDescription}+           #{alignment VkSubpassDescription}+           '[('FieldMeta "flags" VkSubpassDescriptionFlags 'True  -- ' closing tick for hsc2hs+                                                                 #{offset VkSubpassDescription, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pipelineBindPoint" VkPipelineBindPoint 'False+                #{offset VkSubpassDescription, pipelineBindPoint}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "inputAttachmentCount" Word32 'True +                                                             #{offset VkSubpassDescription, inputAttachmentCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pInputAttachments" (Ptr VkAttachmentReference) 'False+                #{offset VkSubpassDescription, pInputAttachments}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "colorAttachmentCount" Word32 'True +                                                             #{offset VkSubpassDescription, colorAttachmentCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pColorAttachments" (Ptr VkAttachmentReference) 'False+                #{offset VkSubpassDescription, pColorAttachments}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pResolveAttachments" (Ptr VkAttachmentReference) 'True+                #{offset VkSubpassDescription, pResolveAttachments}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pDepthStencilAttachment" (Ptr VkAttachmentReference) -- ' closing tick for hsc2hs+                'True -- ' closing tick for hsc2hs+                #{offset VkSubpassDescription, pDepthStencilAttachment}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "preserveAttachmentCount" Word32 'True +                                                                #{offset VkSubpassDescription, preserveAttachmentCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pPreserveAttachments" (Ptr Word32) 'False +                                                                    #{offset VkSubpassDescription, pPreserveAttachments}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | > typedef struct VkSubpassSampleLocationsEXT { --   >     uint32_t                         subpassIndex;@@ -770,119 +163,26 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSubpassSampleLocationsEXT VkSubpassSampleLocationsEXT registry at www.khronos.org> type VkSubpassSampleLocationsEXT =-     VulkanStruct VkSubpassSampleLocationsEXT' -- ' closing tick for hsc2hs+     VkStruct VkSubpassSampleLocationsEXT' -- ' closing tick for hsc2hs  data VkSubpassSampleLocationsEXT' -- ' closing tick for hsc2hs -instance Eq VkSubpassSampleLocationsEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSubpassSampleLocationsEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSubpassSampleLocationsEXT where-        sizeOf ~_ = #{size VkSubpassSampleLocationsEXT}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkSubpassSampleLocationsEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkSubpassSampleLocationsEXT where-        type StructFields VkSubpassSampleLocationsEXT =-             '["subpassIndex", "sampleLocationsInfo"] -- ' closing tick for hsc2hs-        type CUnionType VkSubpassSampleLocationsEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSubpassSampleLocationsEXT = 'False -- ' closing tick for hsc2hs-        type StructExtends VkSubpassSampleLocationsEXT = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "subpassIndex" VkSubpassSampleLocationsEXT where-        type FieldType "subpassIndex" VkSubpassSampleLocationsEXT = Word32-        type FieldOptional "subpassIndex" VkSubpassSampleLocationsEXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "subpassIndex" VkSubpassSampleLocationsEXT =-             #{offset VkSubpassSampleLocationsEXT, subpassIndex}-        type FieldIsArray "subpassIndex" VkSubpassSampleLocationsEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSubpassSampleLocationsEXT, subpassIndex}--instance {-# OVERLAPPING #-}-         CanReadField "subpassIndex" VkSubpassSampleLocationsEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubpassSampleLocationsEXT, subpassIndex})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubpassSampleLocationsEXT, subpassIndex}--instance {-# OVERLAPPING #-}-         CanWriteField "subpassIndex" VkSubpassSampleLocationsEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubpassSampleLocationsEXT, subpassIndex}--instance {-# OVERLAPPING #-}-         HasField "sampleLocationsInfo" VkSubpassSampleLocationsEXT where-        type FieldType "sampleLocationsInfo" VkSubpassSampleLocationsEXT =-             VkSampleLocationsInfoEXT-        type FieldOptional "sampleLocationsInfo"-               VkSubpassSampleLocationsEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sampleLocationsInfo" VkSubpassSampleLocationsEXT-             =-             #{offset VkSubpassSampleLocationsEXT, sampleLocationsInfo}-        type FieldIsArray "sampleLocationsInfo" VkSubpassSampleLocationsEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSubpassSampleLocationsEXT, sampleLocationsInfo}--instance {-# OVERLAPPING #-}-         CanReadField "sampleLocationsInfo" VkSubpassSampleLocationsEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubpassSampleLocationsEXT, sampleLocationsInfo})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubpassSampleLocationsEXT, sampleLocationsInfo}--instance {-# OVERLAPPING #-}-         CanWriteField "sampleLocationsInfo" VkSubpassSampleLocationsEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubpassSampleLocationsEXT, sampleLocationsInfo}--instance Show VkSubpassSampleLocationsEXT where-        showsPrec d x-          = showString "VkSubpassSampleLocationsEXT {" .-              showString "subpassIndex = " .-                showsPrec d (getField @"subpassIndex" x) .-                  showString ", " .-                    showString "sampleLocationsInfo = " .-                      showsPrec d (getField @"sampleLocationsInfo" x) . showChar '}'+    type StructRep VkSubpassSampleLocationsEXT =+         'StructMeta "VkSubpassSampleLocationsEXT" -- ' closing tick for hsc2hs+           VkSubpassSampleLocationsEXT+           #{size VkSubpassSampleLocationsEXT}+           #{alignment VkSubpassSampleLocationsEXT}+           '[('FieldMeta "subpassIndex" Word32 'False  -- ' closing tick for hsc2hs+                                                      #{offset VkSubpassSampleLocationsEXT, subpassIndex}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "sampleLocationsInfo" VkSampleLocationsInfoEXT 'False+                #{offset VkSubpassSampleLocationsEXT, sampleLocationsInfo}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/SubresourceLayout.hsc view
@@ -2,18 +2,14 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.SubresourceLayout-       (VkSubresourceLayout, VkSubresourceLayout') where -- ' closing tick for hsc2hs-import Foreign.Storable                 (Storable (..))+       (VkSubresourceLayout) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.BaseTypes  (VkDeviceSize)-import System.IO.Unsafe                 (unsafeDupablePerformIO)  -- | > typedef struct VkSubresourceLayout { --   >     VkDeviceSize           offset;@@ -24,210 +20,40 @@ --   > } VkSubresourceLayout; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSubresourceLayout VkSubresourceLayout registry at www.khronos.org>-type VkSubresourceLayout = VulkanStruct VkSubresourceLayout' -- ' closing tick for hsc2hs+type VkSubresourceLayout = VkStruct VkSubresourceLayout' -- ' closing tick for hsc2hs  data VkSubresourceLayout' -- ' closing tick for hsc2hs -instance Eq VkSubresourceLayout where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSubresourceLayout where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSubresourceLayout where-        sizeOf ~_ = #{size VkSubresourceLayout}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkSubresourceLayout}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkSubresourceLayout where-        type StructFields VkSubresourceLayout =-             '["offset", "size", "rowPitch", "arrayPitch", "depthPitch"] -- ' closing tick for hsc2hs-        type CUnionType VkSubresourceLayout = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSubresourceLayout = 'True -- ' closing tick for hsc2hs-        type StructExtends VkSubresourceLayout = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "offset" VkSubresourceLayout-         where-        type FieldType "offset" VkSubresourceLayout = VkDeviceSize-        type FieldOptional "offset" VkSubresourceLayout = 'False -- ' closing tick for hsc2hs-        type FieldOffset "offset" VkSubresourceLayout =-             #{offset VkSubresourceLayout, offset}-        type FieldIsArray "offset" VkSubresourceLayout = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSubresourceLayout, offset}--instance {-# OVERLAPPING #-}-         CanReadField "offset" VkSubresourceLayout where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubresourceLayout, offset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubresourceLayout, offset}--instance {-# OVERLAPPING #-}-         CanWriteField "offset" VkSubresourceLayout where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubresourceLayout, offset}--instance {-# OVERLAPPING #-} HasField "size" VkSubresourceLayout-         where-        type FieldType "size" VkSubresourceLayout = VkDeviceSize-        type FieldOptional "size" VkSubresourceLayout = 'False -- ' closing tick for hsc2hs-        type FieldOffset "size" VkSubresourceLayout =-             #{offset VkSubresourceLayout, size}-        type FieldIsArray "size" VkSubresourceLayout = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSubresourceLayout, size}--instance {-# OVERLAPPING #-}-         CanReadField "size" VkSubresourceLayout where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubresourceLayout, size})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubresourceLayout, size}--instance {-# OVERLAPPING #-}-         CanWriteField "size" VkSubresourceLayout where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubresourceLayout, size}--instance {-# OVERLAPPING #-}-         HasField "rowPitch" VkSubresourceLayout where-        type FieldType "rowPitch" VkSubresourceLayout = VkDeviceSize-        type FieldOptional "rowPitch" VkSubresourceLayout = 'False -- ' closing tick for hsc2hs-        type FieldOffset "rowPitch" VkSubresourceLayout =-             #{offset VkSubresourceLayout, rowPitch}-        type FieldIsArray "rowPitch" VkSubresourceLayout = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSubresourceLayout, rowPitch}--instance {-# OVERLAPPING #-}-         CanReadField "rowPitch" VkSubresourceLayout where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubresourceLayout, rowPitch})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubresourceLayout, rowPitch}--instance {-# OVERLAPPING #-}-         CanWriteField "rowPitch" VkSubresourceLayout where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubresourceLayout, rowPitch}--instance {-# OVERLAPPING #-}-         HasField "arrayPitch" VkSubresourceLayout where-        type FieldType "arrayPitch" VkSubresourceLayout = VkDeviceSize-        type FieldOptional "arrayPitch" VkSubresourceLayout = 'False -- ' closing tick for hsc2hs-        type FieldOffset "arrayPitch" VkSubresourceLayout =-             #{offset VkSubresourceLayout, arrayPitch}-        type FieldIsArray "arrayPitch" VkSubresourceLayout = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSubresourceLayout, arrayPitch}--instance {-# OVERLAPPING #-}-         CanReadField "arrayPitch" VkSubresourceLayout where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubresourceLayout, arrayPitch})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubresourceLayout, arrayPitch}--instance {-# OVERLAPPING #-}-         CanWriteField "arrayPitch" VkSubresourceLayout where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubresourceLayout, arrayPitch}--instance {-# OVERLAPPING #-}-         HasField "depthPitch" VkSubresourceLayout where-        type FieldType "depthPitch" VkSubresourceLayout = VkDeviceSize-        type FieldOptional "depthPitch" VkSubresourceLayout = 'False -- ' closing tick for hsc2hs-        type FieldOffset "depthPitch" VkSubresourceLayout =-             #{offset VkSubresourceLayout, depthPitch}-        type FieldIsArray "depthPitch" VkSubresourceLayout = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSubresourceLayout, depthPitch}--instance {-# OVERLAPPING #-}-         CanReadField "depthPitch" VkSubresourceLayout where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSubresourceLayout, depthPitch})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSubresourceLayout, depthPitch}--instance {-# OVERLAPPING #-}-         CanWriteField "depthPitch" VkSubresourceLayout where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSubresourceLayout, depthPitch}--instance Show VkSubresourceLayout where-        showsPrec d x-          = showString "VkSubresourceLayout {" .-              showString "offset = " .-                showsPrec d (getField @"offset" x) .-                  showString ", " .-                    showString "size = " .-                      showsPrec d (getField @"size" x) .-                        showString ", " .-                          showString "rowPitch = " .-                            showsPrec d (getField @"rowPitch" x) .-                              showString ", " .-                                showString "arrayPitch = " .-                                  showsPrec d (getField @"arrayPitch" x) .-                                    showString ", " .-                                      showString "depthPitch = " .-                                        showsPrec d (getField @"depthPitch" x) . showChar '}'+    type StructRep VkSubresourceLayout =+         'StructMeta "VkSubresourceLayout" VkSubresourceLayout  -- ' closing tick for hsc2hs+                                                               #{size VkSubresourceLayout}+           #{alignment VkSubresourceLayout}+           '[('FieldMeta "offset" VkDeviceSize 'False  -- ' closing tick for hsc2hs+                                                      #{offset VkSubresourceLayout, offset}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "size" VkDeviceSize 'False +                                                    #{offset VkSubresourceLayout, size}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "rowPitch" VkDeviceSize 'False +                                                        #{offset VkSubresourceLayout, rowPitch}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "arrayPitch" VkDeviceSize 'False +                                                          #{offset VkSubresourceLayout, arrayPitch}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "depthPitch" VkDeviceSize 'False +                                                          #{offset VkSubresourceLayout, depthPitch}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc view
@@ -2,1482 +2,297 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.Surface-       (VkSurfaceCapabilities2EXT, VkSurfaceCapabilities2EXT', -- ' closing tick for hsc2hs-        VkSurfaceCapabilities2KHR, VkSurfaceCapabilities2KHR', -- ' closing tick for hsc2hs-        VkSurfaceCapabilitiesKHR, VkSurfaceCapabilitiesKHR', -- ' closing tick for hsc2hs-        VkSurfaceFormat2KHR, VkSurfaceFormat2KHR', VkSurfaceFormatKHR, -- ' closing tick for hsc2hs-        VkSurfaceFormatKHR') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                                  (Storable (..))-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Internal-import Graphics.Vulkan.Types.Enum.Color                  (VkColorSpaceKHR)-import Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR (VkCompositeAlphaFlagsKHR)-import Graphics.Vulkan.Types.Enum.Format                 (VkFormat)-import Graphics.Vulkan.Types.Enum.Image                  (VkImageUsageFlags)-import Graphics.Vulkan.Types.Enum.StructureType          (VkStructureType)-import Graphics.Vulkan.Types.Enum.Surface                (VkSurfaceCounterFlagsEXT,-                                                          VkSurfaceTransformFlagBitsKHR,-                                                          VkSurfaceTransformFlagsKHR)-import Graphics.Vulkan.Types.Struct.Extent               (VkExtent2D)-import System.IO.Unsafe                                  (unsafeDupablePerformIO)---- | > typedef struct VkSurfaceCapabilities2EXT {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     uint32_t                         minImageCount;---   >     uint32_t                         maxImageCount;---   >     VkExtent2D                       currentExtent;---   >     VkExtent2D                       minImageExtent;---   >     VkExtent2D                       maxImageExtent;---   >     uint32_t                         maxImageArrayLayers;---   >     VkSurfaceTransformFlagsKHR       supportedTransforms;---   >     VkSurfaceTransformFlagBitsKHR    currentTransform;---   >     VkCompositeAlphaFlagsKHR         supportedCompositeAlpha;---   >     VkImageUsageFlags                supportedUsageFlags;---   >     VkSurfaceCounterFlagsEXT supportedSurfaceCounters;---   > } VkSurfaceCapabilities2EXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSurfaceCapabilities2EXT VkSurfaceCapabilities2EXT registry at www.khronos.org>-type VkSurfaceCapabilities2EXT =-     VulkanStruct VkSurfaceCapabilities2EXT' -- ' closing tick for hsc2hs--data VkSurfaceCapabilities2EXT' -- ' closing tick for hsc2hs--instance Eq VkSurfaceCapabilities2EXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSurfaceCapabilities2EXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSurfaceCapabilities2EXT where-        sizeOf ~_ = #{size VkSurfaceCapabilities2EXT}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkSurfaceCapabilities2EXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkSurfaceCapabilities2EXT where-        type StructFields VkSurfaceCapabilities2EXT =-             '["sType", "pNext", "minImageCount", "maxImageCount", -- ' closing tick for hsc2hs-               "currentExtent", "minImageExtent", "maxImageExtent",-               "maxImageArrayLayers", "supportedTransforms", "currentTransform",-               "supportedCompositeAlpha", "supportedUsageFlags",-               "supportedSurfaceCounters"]-        type CUnionType VkSurfaceCapabilities2EXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSurfaceCapabilities2EXT = 'True -- ' closing tick for hsc2hs-        type StructExtends VkSurfaceCapabilities2EXT = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkSurfaceCapabilities2EXT where-        type FieldType "sType" VkSurfaceCapabilities2EXT = VkStructureType-        type FieldOptional "sType" VkSurfaceCapabilities2EXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkSurfaceCapabilities2EXT =-             #{offset VkSurfaceCapabilities2EXT, sType}-        type FieldIsArray "sType" VkSurfaceCapabilities2EXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSurfaceCapabilities2EXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkSurfaceCapabilities2EXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2EXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceCapabilities2EXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkSurfaceCapabilities2EXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceCapabilities2EXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkSurfaceCapabilities2EXT where-        type FieldType "pNext" VkSurfaceCapabilities2EXT = Ptr Void-        type FieldOptional "pNext" VkSurfaceCapabilities2EXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkSurfaceCapabilities2EXT =-             #{offset VkSurfaceCapabilities2EXT, pNext}-        type FieldIsArray "pNext" VkSurfaceCapabilities2EXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSurfaceCapabilities2EXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkSurfaceCapabilities2EXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2EXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceCapabilities2EXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkSurfaceCapabilities2EXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceCapabilities2EXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "minImageCount" VkSurfaceCapabilities2EXT where-        type FieldType "minImageCount" VkSurfaceCapabilities2EXT = Word32-        type FieldOptional "minImageCount" VkSurfaceCapabilities2EXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "minImageCount" VkSurfaceCapabilities2EXT =-             #{offset VkSurfaceCapabilities2EXT, minImageCount}-        type FieldIsArray "minImageCount" VkSurfaceCapabilities2EXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSurfaceCapabilities2EXT, minImageCount}--instance {-# OVERLAPPING #-}-         CanReadField "minImageCount" VkSurfaceCapabilities2EXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2EXT, minImageCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceCapabilities2EXT, minImageCount}--instance {-# OVERLAPPING #-}-         CanWriteField "minImageCount" VkSurfaceCapabilities2EXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceCapabilities2EXT, minImageCount}--instance {-# OVERLAPPING #-}-         HasField "maxImageCount" VkSurfaceCapabilities2EXT where-        type FieldType "maxImageCount" VkSurfaceCapabilities2EXT = Word32-        type FieldOptional "maxImageCount" VkSurfaceCapabilities2EXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxImageCount" VkSurfaceCapabilities2EXT =-             #{offset VkSurfaceCapabilities2EXT, maxImageCount}-        type FieldIsArray "maxImageCount" VkSurfaceCapabilities2EXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSurfaceCapabilities2EXT, maxImageCount}--instance {-# OVERLAPPING #-}-         CanReadField "maxImageCount" VkSurfaceCapabilities2EXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2EXT, maxImageCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceCapabilities2EXT, maxImageCount}--instance {-# OVERLAPPING #-}-         CanWriteField "maxImageCount" VkSurfaceCapabilities2EXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceCapabilities2EXT, maxImageCount}--instance {-# OVERLAPPING #-}-         HasField "currentExtent" VkSurfaceCapabilities2EXT where-        type FieldType "currentExtent" VkSurfaceCapabilities2EXT =-             VkExtent2D-        type FieldOptional "currentExtent" VkSurfaceCapabilities2EXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "currentExtent" VkSurfaceCapabilities2EXT =-             #{offset VkSurfaceCapabilities2EXT, currentExtent}-        type FieldIsArray "currentExtent" VkSurfaceCapabilities2EXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSurfaceCapabilities2EXT, currentExtent}--instance {-# OVERLAPPING #-}-         CanReadField "currentExtent" VkSurfaceCapabilities2EXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2EXT, currentExtent})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceCapabilities2EXT, currentExtent}--instance {-# OVERLAPPING #-}-         CanWriteField "currentExtent" VkSurfaceCapabilities2EXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceCapabilities2EXT, currentExtent}--instance {-# OVERLAPPING #-}-         HasField "minImageExtent" VkSurfaceCapabilities2EXT where-        type FieldType "minImageExtent" VkSurfaceCapabilities2EXT =-             VkExtent2D-        type FieldOptional "minImageExtent" VkSurfaceCapabilities2EXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "minImageExtent" VkSurfaceCapabilities2EXT =-             #{offset VkSurfaceCapabilities2EXT, minImageExtent}-        type FieldIsArray "minImageExtent" VkSurfaceCapabilities2EXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSurfaceCapabilities2EXT, minImageExtent}--instance {-# OVERLAPPING #-}-         CanReadField "minImageExtent" VkSurfaceCapabilities2EXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2EXT, minImageExtent})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceCapabilities2EXT, minImageExtent}--instance {-# OVERLAPPING #-}-         CanWriteField "minImageExtent" VkSurfaceCapabilities2EXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceCapabilities2EXT, minImageExtent}--instance {-# OVERLAPPING #-}-         HasField "maxImageExtent" VkSurfaceCapabilities2EXT where-        type FieldType "maxImageExtent" VkSurfaceCapabilities2EXT =-             VkExtent2D-        type FieldOptional "maxImageExtent" VkSurfaceCapabilities2EXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxImageExtent" VkSurfaceCapabilities2EXT =-             #{offset VkSurfaceCapabilities2EXT, maxImageExtent}-        type FieldIsArray "maxImageExtent" VkSurfaceCapabilities2EXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSurfaceCapabilities2EXT, maxImageExtent}--instance {-# OVERLAPPING #-}-         CanReadField "maxImageExtent" VkSurfaceCapabilities2EXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2EXT, maxImageExtent})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceCapabilities2EXT, maxImageExtent}--instance {-# OVERLAPPING #-}-         CanWriteField "maxImageExtent" VkSurfaceCapabilities2EXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceCapabilities2EXT, maxImageExtent}--instance {-# OVERLAPPING #-}-         HasField "maxImageArrayLayers" VkSurfaceCapabilities2EXT where-        type FieldType "maxImageArrayLayers" VkSurfaceCapabilities2EXT =-             Word32-        type FieldOptional "maxImageArrayLayers" VkSurfaceCapabilities2EXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxImageArrayLayers" VkSurfaceCapabilities2EXT =-             #{offset VkSurfaceCapabilities2EXT, maxImageArrayLayers}-        type FieldIsArray "maxImageArrayLayers" VkSurfaceCapabilities2EXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSurfaceCapabilities2EXT, maxImageArrayLayers}--instance {-# OVERLAPPING #-}-         CanReadField "maxImageArrayLayers" VkSurfaceCapabilities2EXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2EXT, maxImageArrayLayers})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceCapabilities2EXT, maxImageArrayLayers}--instance {-# OVERLAPPING #-}-         CanWriteField "maxImageArrayLayers" VkSurfaceCapabilities2EXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceCapabilities2EXT, maxImageArrayLayers}--instance {-# OVERLAPPING #-}-         HasField "supportedTransforms" VkSurfaceCapabilities2EXT where-        type FieldType "supportedTransforms" VkSurfaceCapabilities2EXT =-             VkSurfaceTransformFlagsKHR-        type FieldOptional "supportedTransforms" VkSurfaceCapabilities2EXT-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "supportedTransforms" VkSurfaceCapabilities2EXT =-             #{offset VkSurfaceCapabilities2EXT, supportedTransforms}-        type FieldIsArray "supportedTransforms" VkSurfaceCapabilities2EXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSurfaceCapabilities2EXT, supportedTransforms}--instance {-# OVERLAPPING #-}-         CanReadField "supportedTransforms" VkSurfaceCapabilities2EXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2EXT, supportedTransforms})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceCapabilities2EXT, supportedTransforms}--instance {-# OVERLAPPING #-}-         CanWriteField "supportedTransforms" VkSurfaceCapabilities2EXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceCapabilities2EXT, supportedTransforms}--instance {-# OVERLAPPING #-}-         HasField "currentTransform" VkSurfaceCapabilities2EXT where-        type FieldType "currentTransform" VkSurfaceCapabilities2EXT =-             VkSurfaceTransformFlagBitsKHR-        type FieldOptional "currentTransform" VkSurfaceCapabilities2EXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "currentTransform" VkSurfaceCapabilities2EXT =-             #{offset VkSurfaceCapabilities2EXT, currentTransform}-        type FieldIsArray "currentTransform" VkSurfaceCapabilities2EXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSurfaceCapabilities2EXT, currentTransform}--instance {-# OVERLAPPING #-}-         CanReadField "currentTransform" VkSurfaceCapabilities2EXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2EXT, currentTransform})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceCapabilities2EXT, currentTransform}--instance {-# OVERLAPPING #-}-         CanWriteField "currentTransform" VkSurfaceCapabilities2EXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceCapabilities2EXT, currentTransform}--instance {-# OVERLAPPING #-}-         HasField "supportedCompositeAlpha" VkSurfaceCapabilities2EXT where-        type FieldType "supportedCompositeAlpha" VkSurfaceCapabilities2EXT-             = VkCompositeAlphaFlagsKHR-        type FieldOptional "supportedCompositeAlpha"-               VkSurfaceCapabilities2EXT-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "supportedCompositeAlpha"-               VkSurfaceCapabilities2EXT-             =-             #{offset VkSurfaceCapabilities2EXT, supportedCompositeAlpha}-        type FieldIsArray "supportedCompositeAlpha"-               VkSurfaceCapabilities2EXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSurfaceCapabilities2EXT, supportedCompositeAlpha}--instance {-# OVERLAPPING #-}-         CanReadField "supportedCompositeAlpha" VkSurfaceCapabilities2EXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2EXT, supportedCompositeAlpha})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceCapabilities2EXT, supportedCompositeAlpha}--instance {-# OVERLAPPING #-}-         CanWriteField "supportedCompositeAlpha" VkSurfaceCapabilities2EXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceCapabilities2EXT, supportedCompositeAlpha}--instance {-# OVERLAPPING #-}-         HasField "supportedUsageFlags" VkSurfaceCapabilities2EXT where-        type FieldType "supportedUsageFlags" VkSurfaceCapabilities2EXT =-             VkImageUsageFlags-        type FieldOptional "supportedUsageFlags" VkSurfaceCapabilities2EXT-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "supportedUsageFlags" VkSurfaceCapabilities2EXT =-             #{offset VkSurfaceCapabilities2EXT, supportedUsageFlags}-        type FieldIsArray "supportedUsageFlags" VkSurfaceCapabilities2EXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSurfaceCapabilities2EXT, supportedUsageFlags}--instance {-# OVERLAPPING #-}-         CanReadField "supportedUsageFlags" VkSurfaceCapabilities2EXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2EXT, supportedUsageFlags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceCapabilities2EXT, supportedUsageFlags}--instance {-# OVERLAPPING #-}-         CanWriteField "supportedUsageFlags" VkSurfaceCapabilities2EXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceCapabilities2EXT, supportedUsageFlags}--instance {-# OVERLAPPING #-}-         HasField "supportedSurfaceCounters" VkSurfaceCapabilities2EXT where-        type FieldType "supportedSurfaceCounters" VkSurfaceCapabilities2EXT-             = VkSurfaceCounterFlagsEXT-        type FieldOptional "supportedSurfaceCounters"-               VkSurfaceCapabilities2EXT-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "supportedSurfaceCounters"-               VkSurfaceCapabilities2EXT-             =-             #{offset VkSurfaceCapabilities2EXT, supportedSurfaceCounters}-        type FieldIsArray "supportedSurfaceCounters"-               VkSurfaceCapabilities2EXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSurfaceCapabilities2EXT, supportedSurfaceCounters}--instance {-# OVERLAPPING #-}-         CanReadField "supportedSurfaceCounters" VkSurfaceCapabilities2EXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2EXT, supportedSurfaceCounters})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceCapabilities2EXT, supportedSurfaceCounters}--instance {-# OVERLAPPING #-}-         CanWriteField "supportedSurfaceCounters" VkSurfaceCapabilities2EXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceCapabilities2EXT, supportedSurfaceCounters}--instance Show VkSurfaceCapabilities2EXT where-        showsPrec d x-          = showString "VkSurfaceCapabilities2EXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "minImageCount = " .-                            showsPrec d (getField @"minImageCount" x) .-                              showString ", " .-                                showString "maxImageCount = " .-                                  showsPrec d (getField @"maxImageCount" x) .-                                    showString ", " .-                                      showString "currentExtent = " .-                                        showsPrec d (getField @"currentExtent" x) .-                                          showString ", " .-                                            showString "minImageExtent = " .-                                              showsPrec d (getField @"minImageExtent" x) .-                                                showString ", " .-                                                  showString "maxImageExtent = " .-                                                    showsPrec d (getField @"maxImageExtent" x) .-                                                      showString ", " .-                                                        showString "maxImageArrayLayers = " .-                                                          showsPrec d-                                                            (getField @"maxImageArrayLayers" x)-                                                            .-                                                            showString ", " .-                                                              showString "supportedTransforms = " .-                                                                showsPrec d-                                                                  (getField @"supportedTransforms"-                                                                     x)-                                                                  .-                                                                  showString ", " .-                                                                    showString "currentTransform = "-                                                                      .-                                                                      showsPrec d-                                                                        (getField-                                                                           @"currentTransform"-                                                                           x)-                                                                        .-                                                                        showString ", " .-                                                                          showString-                                                                            "supportedCompositeAlpha = "-                                                                            .-                                                                            showsPrec d-                                                                              (getField-                                                                                 @"supportedCompositeAlpha"-                                                                                 x)-                                                                              .-                                                                              showString ", " .-                                                                                showString-                                                                                  "supportedUsageFlags = "-                                                                                  .-                                                                                  showsPrec d-                                                                                    (getField-                                                                                       @"supportedUsageFlags"-                                                                                       x)-                                                                                    .-                                                                                    showString ", "-                                                                                      .-                                                                                      showString-                                                                                        "supportedSurfaceCounters = "-                                                                                        .-                                                                                        showsPrec d-                                                                                          (getField-                                                                                             @"supportedSurfaceCounters"-                                                                                             x)-                                                                                          .-                                                                                          showChar-                                                                                            '}'---- | > typedef struct VkSurfaceCapabilities2KHR {---   >     VkStructureType sType;---   >     void*   pNext;---   >     VkSurfaceCapabilitiesKHR surfaceCapabilities;---   > } VkSurfaceCapabilities2KHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSurfaceCapabilities2KHR VkSurfaceCapabilities2KHR registry at www.khronos.org>-type VkSurfaceCapabilities2KHR =-     VulkanStruct VkSurfaceCapabilities2KHR' -- ' closing tick for hsc2hs--data VkSurfaceCapabilities2KHR' -- ' closing tick for hsc2hs--instance Eq VkSurfaceCapabilities2KHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSurfaceCapabilities2KHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSurfaceCapabilities2KHR where-        sizeOf ~_ = #{size VkSurfaceCapabilities2KHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkSurfaceCapabilities2KHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkSurfaceCapabilities2KHR where-        type StructFields VkSurfaceCapabilities2KHR =-             '["sType", "pNext", "surfaceCapabilities"] -- ' closing tick for hsc2hs-        type CUnionType VkSurfaceCapabilities2KHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSurfaceCapabilities2KHR = 'True -- ' closing tick for hsc2hs-        type StructExtends VkSurfaceCapabilities2KHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkSurfaceCapabilities2KHR where-        type FieldType "sType" VkSurfaceCapabilities2KHR = VkStructureType-        type FieldOptional "sType" VkSurfaceCapabilities2KHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkSurfaceCapabilities2KHR =-             #{offset VkSurfaceCapabilities2KHR, sType}-        type FieldIsArray "sType" VkSurfaceCapabilities2KHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSurfaceCapabilities2KHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkSurfaceCapabilities2KHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2KHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceCapabilities2KHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkSurfaceCapabilities2KHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceCapabilities2KHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkSurfaceCapabilities2KHR where-        type FieldType "pNext" VkSurfaceCapabilities2KHR = Ptr Void-        type FieldOptional "pNext" VkSurfaceCapabilities2KHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkSurfaceCapabilities2KHR =-             #{offset VkSurfaceCapabilities2KHR, pNext}-        type FieldIsArray "pNext" VkSurfaceCapabilities2KHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSurfaceCapabilities2KHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkSurfaceCapabilities2KHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2KHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceCapabilities2KHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkSurfaceCapabilities2KHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceCapabilities2KHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "surfaceCapabilities" VkSurfaceCapabilities2KHR where-        type FieldType "surfaceCapabilities" VkSurfaceCapabilities2KHR =-             VkSurfaceCapabilitiesKHR-        type FieldOptional "surfaceCapabilities" VkSurfaceCapabilities2KHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "surfaceCapabilities" VkSurfaceCapabilities2KHR =-             #{offset VkSurfaceCapabilities2KHR, surfaceCapabilities}-        type FieldIsArray "surfaceCapabilities" VkSurfaceCapabilities2KHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSurfaceCapabilities2KHR, surfaceCapabilities}--instance {-# OVERLAPPING #-}-         CanReadField "surfaceCapabilities" VkSurfaceCapabilities2KHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2KHR, surfaceCapabilities})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceCapabilities2KHR, surfaceCapabilities}--instance {-# OVERLAPPING #-}-         CanWriteField "surfaceCapabilities" VkSurfaceCapabilities2KHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceCapabilities2KHR, surfaceCapabilities}--instance Show VkSurfaceCapabilities2KHR where-        showsPrec d x-          = showString "VkSurfaceCapabilities2KHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "surfaceCapabilities = " .-                            showsPrec d (getField @"surfaceCapabilities" x) . showChar '}'---- | > typedef struct VkSurfaceCapabilitiesKHR {---   >     uint32_t                         minImageCount;---   >     uint32_t                         maxImageCount;---   >     VkExtent2D                       currentExtent;---   >     VkExtent2D                       minImageExtent;---   >     VkExtent2D                       maxImageExtent;---   >     uint32_t                         maxImageArrayLayers;---   >     VkSurfaceTransformFlagsKHR       supportedTransforms;---   >     VkSurfaceTransformFlagBitsKHR    currentTransform;---   >     VkCompositeAlphaFlagsKHR         supportedCompositeAlpha;---   >     VkImageUsageFlags                supportedUsageFlags;---   > } VkSurfaceCapabilitiesKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSurfaceCapabilitiesKHR VkSurfaceCapabilitiesKHR registry at www.khronos.org>-type VkSurfaceCapabilitiesKHR =-     VulkanStruct VkSurfaceCapabilitiesKHR' -- ' closing tick for hsc2hs--data VkSurfaceCapabilitiesKHR' -- ' closing tick for hsc2hs--instance Eq VkSurfaceCapabilitiesKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSurfaceCapabilitiesKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSurfaceCapabilitiesKHR where-        sizeOf ~_ = #{size VkSurfaceCapabilitiesKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkSurfaceCapabilitiesKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkSurfaceCapabilitiesKHR where-        type StructFields VkSurfaceCapabilitiesKHR =-             '["minImageCount", "maxImageCount", "currentExtent", -- ' closing tick for hsc2hs-               "minImageExtent", "maxImageExtent", "maxImageArrayLayers",-               "supportedTransforms", "currentTransform",-               "supportedCompositeAlpha", "supportedUsageFlags"]-        type CUnionType VkSurfaceCapabilitiesKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSurfaceCapabilitiesKHR = 'True -- ' closing tick for hsc2hs-        type StructExtends VkSurfaceCapabilitiesKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "minImageCount" VkSurfaceCapabilitiesKHR where-        type FieldType "minImageCount" VkSurfaceCapabilitiesKHR = Word32-        type FieldOptional "minImageCount" VkSurfaceCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "minImageCount" VkSurfaceCapabilitiesKHR =-             #{offset VkSurfaceCapabilitiesKHR, minImageCount}-        type FieldIsArray "minImageCount" VkSurfaceCapabilitiesKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSurfaceCapabilitiesKHR, minImageCount}--instance {-# OVERLAPPING #-}-         CanReadField "minImageCount" VkSurfaceCapabilitiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilitiesKHR, minImageCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceCapabilitiesKHR, minImageCount}--instance {-# OVERLAPPING #-}-         CanWriteField "minImageCount" VkSurfaceCapabilitiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceCapabilitiesKHR, minImageCount}--instance {-# OVERLAPPING #-}-         HasField "maxImageCount" VkSurfaceCapabilitiesKHR where-        type FieldType "maxImageCount" VkSurfaceCapabilitiesKHR = Word32-        type FieldOptional "maxImageCount" VkSurfaceCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxImageCount" VkSurfaceCapabilitiesKHR =-             #{offset VkSurfaceCapabilitiesKHR, maxImageCount}-        type FieldIsArray "maxImageCount" VkSurfaceCapabilitiesKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSurfaceCapabilitiesKHR, maxImageCount}--instance {-# OVERLAPPING #-}-         CanReadField "maxImageCount" VkSurfaceCapabilitiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilitiesKHR, maxImageCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceCapabilitiesKHR, maxImageCount}--instance {-# OVERLAPPING #-}-         CanWriteField "maxImageCount" VkSurfaceCapabilitiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceCapabilitiesKHR, maxImageCount}--instance {-# OVERLAPPING #-}-         HasField "currentExtent" VkSurfaceCapabilitiesKHR where-        type FieldType "currentExtent" VkSurfaceCapabilitiesKHR =-             VkExtent2D-        type FieldOptional "currentExtent" VkSurfaceCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "currentExtent" VkSurfaceCapabilitiesKHR =-             #{offset VkSurfaceCapabilitiesKHR, currentExtent}-        type FieldIsArray "currentExtent" VkSurfaceCapabilitiesKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSurfaceCapabilitiesKHR, currentExtent}--instance {-# OVERLAPPING #-}-         CanReadField "currentExtent" VkSurfaceCapabilitiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilitiesKHR, currentExtent})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceCapabilitiesKHR, currentExtent}--instance {-# OVERLAPPING #-}-         CanWriteField "currentExtent" VkSurfaceCapabilitiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceCapabilitiesKHR, currentExtent}--instance {-# OVERLAPPING #-}-         HasField "minImageExtent" VkSurfaceCapabilitiesKHR where-        type FieldType "minImageExtent" VkSurfaceCapabilitiesKHR =-             VkExtent2D-        type FieldOptional "minImageExtent" VkSurfaceCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "minImageExtent" VkSurfaceCapabilitiesKHR =-             #{offset VkSurfaceCapabilitiesKHR, minImageExtent}-        type FieldIsArray "minImageExtent" VkSurfaceCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSurfaceCapabilitiesKHR, minImageExtent}--instance {-# OVERLAPPING #-}-         CanReadField "minImageExtent" VkSurfaceCapabilitiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilitiesKHR, minImageExtent})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceCapabilitiesKHR, minImageExtent}--instance {-# OVERLAPPING #-}-         CanWriteField "minImageExtent" VkSurfaceCapabilitiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceCapabilitiesKHR, minImageExtent}--instance {-# OVERLAPPING #-}-         HasField "maxImageExtent" VkSurfaceCapabilitiesKHR where-        type FieldType "maxImageExtent" VkSurfaceCapabilitiesKHR =-             VkExtent2D-        type FieldOptional "maxImageExtent" VkSurfaceCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxImageExtent" VkSurfaceCapabilitiesKHR =-             #{offset VkSurfaceCapabilitiesKHR, maxImageExtent}-        type FieldIsArray "maxImageExtent" VkSurfaceCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSurfaceCapabilitiesKHR, maxImageExtent}--instance {-# OVERLAPPING #-}-         CanReadField "maxImageExtent" VkSurfaceCapabilitiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilitiesKHR, maxImageExtent})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceCapabilitiesKHR, maxImageExtent}--instance {-# OVERLAPPING #-}-         CanWriteField "maxImageExtent" VkSurfaceCapabilitiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceCapabilitiesKHR, maxImageExtent}--instance {-# OVERLAPPING #-}-         HasField "maxImageArrayLayers" VkSurfaceCapabilitiesKHR where-        type FieldType "maxImageArrayLayers" VkSurfaceCapabilitiesKHR =-             Word32-        type FieldOptional "maxImageArrayLayers" VkSurfaceCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "maxImageArrayLayers" VkSurfaceCapabilitiesKHR =-             #{offset VkSurfaceCapabilitiesKHR, maxImageArrayLayers}-        type FieldIsArray "maxImageArrayLayers" VkSurfaceCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSurfaceCapabilitiesKHR, maxImageArrayLayers}--instance {-# OVERLAPPING #-}-         CanReadField "maxImageArrayLayers" VkSurfaceCapabilitiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilitiesKHR, maxImageArrayLayers})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceCapabilitiesKHR, maxImageArrayLayers}--instance {-# OVERLAPPING #-}-         CanWriteField "maxImageArrayLayers" VkSurfaceCapabilitiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceCapabilitiesKHR, maxImageArrayLayers}--instance {-# OVERLAPPING #-}-         HasField "supportedTransforms" VkSurfaceCapabilitiesKHR where-        type FieldType "supportedTransforms" VkSurfaceCapabilitiesKHR =-             VkSurfaceTransformFlagsKHR-        type FieldOptional "supportedTransforms" VkSurfaceCapabilitiesKHR =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "supportedTransforms" VkSurfaceCapabilitiesKHR =-             #{offset VkSurfaceCapabilitiesKHR, supportedTransforms}-        type FieldIsArray "supportedTransforms" VkSurfaceCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSurfaceCapabilitiesKHR, supportedTransforms}--instance {-# OVERLAPPING #-}-         CanReadField "supportedTransforms" VkSurfaceCapabilitiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilitiesKHR, supportedTransforms})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceCapabilitiesKHR, supportedTransforms}--instance {-# OVERLAPPING #-}-         CanWriteField "supportedTransforms" VkSurfaceCapabilitiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceCapabilitiesKHR, supportedTransforms}--instance {-# OVERLAPPING #-}-         HasField "currentTransform" VkSurfaceCapabilitiesKHR where-        type FieldType "currentTransform" VkSurfaceCapabilitiesKHR =-             VkSurfaceTransformFlagBitsKHR-        type FieldOptional "currentTransform" VkSurfaceCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "currentTransform" VkSurfaceCapabilitiesKHR =-             #{offset VkSurfaceCapabilitiesKHR, currentTransform}-        type FieldIsArray "currentTransform" VkSurfaceCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSurfaceCapabilitiesKHR, currentTransform}--instance {-# OVERLAPPING #-}-         CanReadField "currentTransform" VkSurfaceCapabilitiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilitiesKHR, currentTransform})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceCapabilitiesKHR, currentTransform}--instance {-# OVERLAPPING #-}-         CanWriteField "currentTransform" VkSurfaceCapabilitiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceCapabilitiesKHR, currentTransform}--instance {-# OVERLAPPING #-}-         HasField "supportedCompositeAlpha" VkSurfaceCapabilitiesKHR where-        type FieldType "supportedCompositeAlpha" VkSurfaceCapabilitiesKHR =-             VkCompositeAlphaFlagsKHR-        type FieldOptional "supportedCompositeAlpha"-               VkSurfaceCapabilitiesKHR-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "supportedCompositeAlpha" VkSurfaceCapabilitiesKHR-             =-             #{offset VkSurfaceCapabilitiesKHR, supportedCompositeAlpha}-        type FieldIsArray "supportedCompositeAlpha"-               VkSurfaceCapabilitiesKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSurfaceCapabilitiesKHR, supportedCompositeAlpha}--instance {-# OVERLAPPING #-}-         CanReadField "supportedCompositeAlpha" VkSurfaceCapabilitiesKHR-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilitiesKHR, supportedCompositeAlpha})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceCapabilitiesKHR, supportedCompositeAlpha}--instance {-# OVERLAPPING #-}-         CanWriteField "supportedCompositeAlpha" VkSurfaceCapabilitiesKHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceCapabilitiesKHR, supportedCompositeAlpha}--instance {-# OVERLAPPING #-}-         HasField "supportedUsageFlags" VkSurfaceCapabilitiesKHR where-        type FieldType "supportedUsageFlags" VkSurfaceCapabilitiesKHR =-             VkImageUsageFlags-        type FieldOptional "supportedUsageFlags" VkSurfaceCapabilitiesKHR =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "supportedUsageFlags" VkSurfaceCapabilitiesKHR =-             #{offset VkSurfaceCapabilitiesKHR, supportedUsageFlags}-        type FieldIsArray "supportedUsageFlags" VkSurfaceCapabilitiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSurfaceCapabilitiesKHR, supportedUsageFlags}--instance {-# OVERLAPPING #-}-         CanReadField "supportedUsageFlags" VkSurfaceCapabilitiesKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilitiesKHR, supportedUsageFlags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceCapabilitiesKHR, supportedUsageFlags}--instance {-# OVERLAPPING #-}-         CanWriteField "supportedUsageFlags" VkSurfaceCapabilitiesKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceCapabilitiesKHR, supportedUsageFlags}--instance Show VkSurfaceCapabilitiesKHR where-        showsPrec d x-          = showString "VkSurfaceCapabilitiesKHR {" .-              showString "minImageCount = " .-                showsPrec d (getField @"minImageCount" x) .-                  showString ", " .-                    showString "maxImageCount = " .-                      showsPrec d (getField @"maxImageCount" x) .-                        showString ", " .-                          showString "currentExtent = " .-                            showsPrec d (getField @"currentExtent" x) .-                              showString ", " .-                                showString "minImageExtent = " .-                                  showsPrec d (getField @"minImageExtent" x) .-                                    showString ", " .-                                      showString "maxImageExtent = " .-                                        showsPrec d (getField @"maxImageExtent" x) .-                                          showString ", " .-                                            showString "maxImageArrayLayers = " .-                                              showsPrec d (getField @"maxImageArrayLayers" x) .-                                                showString ", " .-                                                  showString "supportedTransforms = " .-                                                    showsPrec d (getField @"supportedTransforms" x)-                                                      .-                                                      showString ", " .-                                                        showString "currentTransform = " .-                                                          showsPrec d-                                                            (getField @"currentTransform" x)-                                                            .-                                                            showString ", " .-                                                              showString-                                                                "supportedCompositeAlpha = "-                                                                .-                                                                showsPrec d-                                                                  (getField-                                                                     @"supportedCompositeAlpha"-                                                                     x)-                                                                  .-                                                                  showString ", " .-                                                                    showString-                                                                      "supportedUsageFlags = "-                                                                      .-                                                                      showsPrec d-                                                                        (getField-                                                                           @"supportedUsageFlags"-                                                                           x)-                                                                        . showChar '}'---- | > typedef struct VkSurfaceFormat2KHR {---   >     VkStructureType sType;---   >     void* pNext;---   >     VkSurfaceFormatKHR surfaceFormat;---   > } VkSurfaceFormat2KHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSurfaceFormat2KHR VkSurfaceFormat2KHR registry at www.khronos.org>-type VkSurfaceFormat2KHR = VulkanStruct VkSurfaceFormat2KHR' -- ' closing tick for hsc2hs--data VkSurfaceFormat2KHR' -- ' closing tick for hsc2hs--instance Eq VkSurfaceFormat2KHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSurfaceFormat2KHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSurfaceFormat2KHR where-        sizeOf ~_ = #{size VkSurfaceFormat2KHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkSurfaceFormat2KHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkSurfaceFormat2KHR where-        type StructFields VkSurfaceFormat2KHR =-             '["sType", "pNext", "surfaceFormat"] -- ' closing tick for hsc2hs-        type CUnionType VkSurfaceFormat2KHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSurfaceFormat2KHR = 'True -- ' closing tick for hsc2hs-        type StructExtends VkSurfaceFormat2KHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkSurfaceFormat2KHR-         where-        type FieldType "sType" VkSurfaceFormat2KHR = VkStructureType-        type FieldOptional "sType" VkSurfaceFormat2KHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkSurfaceFormat2KHR =-             #{offset VkSurfaceFormat2KHR, sType}-        type FieldIsArray "sType" VkSurfaceFormat2KHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSurfaceFormat2KHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkSurfaceFormat2KHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceFormat2KHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceFormat2KHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkSurfaceFormat2KHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceFormat2KHR, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkSurfaceFormat2KHR-         where-        type FieldType "pNext" VkSurfaceFormat2KHR = Ptr Void-        type FieldOptional "pNext" VkSurfaceFormat2KHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkSurfaceFormat2KHR =-             #{offset VkSurfaceFormat2KHR, pNext}-        type FieldIsArray "pNext" VkSurfaceFormat2KHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSurfaceFormat2KHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkSurfaceFormat2KHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceFormat2KHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceFormat2KHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkSurfaceFormat2KHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceFormat2KHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "surfaceFormat" VkSurfaceFormat2KHR where-        type FieldType "surfaceFormat" VkSurfaceFormat2KHR =-             VkSurfaceFormatKHR-        type FieldOptional "surfaceFormat" VkSurfaceFormat2KHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "surfaceFormat" VkSurfaceFormat2KHR =-             #{offset VkSurfaceFormat2KHR, surfaceFormat}-        type FieldIsArray "surfaceFormat" VkSurfaceFormat2KHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSurfaceFormat2KHR, surfaceFormat}--instance {-# OVERLAPPING #-}-         CanReadField "surfaceFormat" VkSurfaceFormat2KHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceFormat2KHR, surfaceFormat})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceFormat2KHR, surfaceFormat}--instance {-# OVERLAPPING #-}-         CanWriteField "surfaceFormat" VkSurfaceFormat2KHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceFormat2KHR, surfaceFormat}--instance Show VkSurfaceFormat2KHR where-        showsPrec d x-          = showString "VkSurfaceFormat2KHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "surfaceFormat = " .-                            showsPrec d (getField @"surfaceFormat" x) . showChar '}'---- | > typedef struct VkSurfaceFormatKHR {---   >     VkFormat                         format;---   >     VkColorSpaceKHR                  colorSpace;---   > } VkSurfaceFormatKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSurfaceFormatKHR VkSurfaceFormatKHR registry at www.khronos.org>-type VkSurfaceFormatKHR = VulkanStruct VkSurfaceFormatKHR' -- ' closing tick for hsc2hs--data VkSurfaceFormatKHR' -- ' closing tick for hsc2hs--instance Eq VkSurfaceFormatKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSurfaceFormatKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSurfaceFormatKHR where-        sizeOf ~_ = #{size VkSurfaceFormatKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkSurfaceFormatKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkSurfaceFormatKHR where-        type StructFields VkSurfaceFormatKHR = '["format", "colorSpace"] -- ' closing tick for hsc2hs-        type CUnionType VkSurfaceFormatKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSurfaceFormatKHR = 'True -- ' closing tick for hsc2hs-        type StructExtends VkSurfaceFormatKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "format" VkSurfaceFormatKHR-         where-        type FieldType "format" VkSurfaceFormatKHR = VkFormat-        type FieldOptional "format" VkSurfaceFormatKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "format" VkSurfaceFormatKHR =-             #{offset VkSurfaceFormatKHR, format}-        type FieldIsArray "format" VkSurfaceFormatKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSurfaceFormatKHR, format}--instance {-# OVERLAPPING #-}-         CanReadField "format" VkSurfaceFormatKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceFormatKHR, format})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceFormatKHR, format}--instance {-# OVERLAPPING #-}-         CanWriteField "format" VkSurfaceFormatKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceFormatKHR, format}--instance {-# OVERLAPPING #-}-         HasField "colorSpace" VkSurfaceFormatKHR where-        type FieldType "colorSpace" VkSurfaceFormatKHR = VkColorSpaceKHR-        type FieldOptional "colorSpace" VkSurfaceFormatKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "colorSpace" VkSurfaceFormatKHR =-             #{offset VkSurfaceFormatKHR, colorSpace}-        type FieldIsArray "colorSpace" VkSurfaceFormatKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSurfaceFormatKHR, colorSpace}--instance {-# OVERLAPPING #-}-         CanReadField "colorSpace" VkSurfaceFormatKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSurfaceFormatKHR, colorSpace})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSurfaceFormatKHR, colorSpace}--instance {-# OVERLAPPING #-}-         CanWriteField "colorSpace" VkSurfaceFormatKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSurfaceFormatKHR, colorSpace}--instance Show VkSurfaceFormatKHR where-        showsPrec d x-          = showString "VkSurfaceFormatKHR {" .-              showString "format = " .-                showsPrec d (getField @"format" x) .-                  showString ", " .-                    showString "colorSpace = " .-                      showsPrec d (getField @"colorSpace" x) . showChar '}'+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.Surface+       (VkSurfaceCapabilities2EXT, VkSurfaceCapabilities2KHR,+        VkSurfaceCapabilitiesKHR, VkSurfaceFormat2KHR, VkSurfaceFormatKHR)+       where+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.Color                  (VkColorSpaceKHR)+import Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR (VkCompositeAlphaFlagsKHR)+import Graphics.Vulkan.Types.Enum.Format                 (VkFormat)+import Graphics.Vulkan.Types.Enum.Image                  (VkImageUsageFlags)+import Graphics.Vulkan.Types.Enum.StructureType          (VkStructureType)+import Graphics.Vulkan.Types.Enum.Surface                (VkSurfaceCounterFlagsEXT,+                                                          VkSurfaceTransformFlagBitsKHR,+                                                          VkSurfaceTransformFlagsKHR)+import Graphics.Vulkan.Types.Struct.Extent               (VkExtent2D)++-- | > typedef struct VkSurfaceCapabilities2EXT {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     uint32_t                         minImageCount;+--   >     uint32_t                         maxImageCount;+--   >     VkExtent2D                       currentExtent;+--   >     VkExtent2D                       minImageExtent;+--   >     VkExtent2D                       maxImageExtent;+--   >     uint32_t                         maxImageArrayLayers;+--   >     VkSurfaceTransformFlagsKHR       supportedTransforms;+--   >     VkSurfaceTransformFlagBitsKHR    currentTransform;+--   >     VkCompositeAlphaFlagsKHR         supportedCompositeAlpha;+--   >     VkImageUsageFlags                supportedUsageFlags;+--   >     VkSurfaceCounterFlagsEXT supportedSurfaceCounters;+--   > } VkSurfaceCapabilities2EXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSurfaceCapabilities2EXT VkSurfaceCapabilities2EXT registry at www.khronos.org>+type VkSurfaceCapabilities2EXT =+     VkStruct VkSurfaceCapabilities2EXT' -- ' closing tick for hsc2hs++data VkSurfaceCapabilities2EXT' -- ' closing tick for hsc2hs++instance VulkanMarshal VkSurfaceCapabilities2EXT where+    type StructRep VkSurfaceCapabilities2EXT =+         'StructMeta "VkSurfaceCapabilities2EXT" VkSurfaceCapabilities2EXT -- ' closing tick for hsc2hs+           #{size VkSurfaceCapabilities2EXT}+           #{alignment VkSurfaceCapabilities2EXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkSurfaceCapabilities2EXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkSurfaceCapabilities2EXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minImageCount" Word32 'False +                                                       #{offset VkSurfaceCapabilities2EXT, minImageCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxImageCount" Word32 'False +                                                       #{offset VkSurfaceCapabilities2EXT, maxImageCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "currentExtent" VkExtent2D 'False +                                                           #{offset VkSurfaceCapabilities2EXT, currentExtent}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minImageExtent" VkExtent2D 'False +                                                            #{offset VkSurfaceCapabilities2EXT, minImageExtent}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxImageExtent" VkExtent2D 'False +                                                            #{offset VkSurfaceCapabilities2EXT, maxImageExtent}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxImageArrayLayers" Word32 'False +                                                             #{offset VkSurfaceCapabilities2EXT, maxImageArrayLayers}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "supportedTransforms" VkSurfaceTransformFlagsKHR 'True+                #{offset VkSurfaceCapabilities2EXT, supportedTransforms}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "currentTransform" VkSurfaceTransformFlagBitsKHR 'False+                #{offset VkSurfaceCapabilities2EXT, currentTransform}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "supportedCompositeAlpha" VkCompositeAlphaFlagsKHR -- ' closing tick for hsc2hs+                'True -- ' closing tick for hsc2hs+                #{offset VkSurfaceCapabilities2EXT, supportedCompositeAlpha}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "supportedUsageFlags" VkImageUsageFlags 'True +                                                                       #{offset VkSurfaceCapabilities2EXT, supportedUsageFlags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "supportedSurfaceCounters" VkSurfaceCounterFlagsEXT -- ' closing tick for hsc2hs+                'True -- ' closing tick for hsc2hs+                #{offset VkSurfaceCapabilities2EXT, supportedSurfaceCounters}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkSurfaceCapabilities2KHR {+--   >     VkStructureType sType;+--   >     void*   pNext;+--   >     VkSurfaceCapabilitiesKHR surfaceCapabilities;+--   > } VkSurfaceCapabilities2KHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSurfaceCapabilities2KHR VkSurfaceCapabilities2KHR registry at www.khronos.org>+type VkSurfaceCapabilities2KHR =+     VkStruct VkSurfaceCapabilities2KHR' -- ' closing tick for hsc2hs++data VkSurfaceCapabilities2KHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkSurfaceCapabilities2KHR where+    type StructRep VkSurfaceCapabilities2KHR =+         'StructMeta "VkSurfaceCapabilities2KHR" VkSurfaceCapabilities2KHR -- ' closing tick for hsc2hs+           #{size VkSurfaceCapabilities2KHR}+           #{alignment VkSurfaceCapabilities2KHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkSurfaceCapabilities2KHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkSurfaceCapabilities2KHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "surfaceCapabilities" VkSurfaceCapabilitiesKHR 'False+                #{offset VkSurfaceCapabilities2KHR, surfaceCapabilities}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkSurfaceCapabilitiesKHR {+--   >     uint32_t                         minImageCount;+--   >     uint32_t                         maxImageCount;+--   >     VkExtent2D                       currentExtent;+--   >     VkExtent2D                       minImageExtent;+--   >     VkExtent2D                       maxImageExtent;+--   >     uint32_t                         maxImageArrayLayers;+--   >     VkSurfaceTransformFlagsKHR       supportedTransforms;+--   >     VkSurfaceTransformFlagBitsKHR    currentTransform;+--   >     VkCompositeAlphaFlagsKHR         supportedCompositeAlpha;+--   >     VkImageUsageFlags                supportedUsageFlags;+--   > } VkSurfaceCapabilitiesKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSurfaceCapabilitiesKHR VkSurfaceCapabilitiesKHR registry at www.khronos.org>+type VkSurfaceCapabilitiesKHR = VkStruct VkSurfaceCapabilitiesKHR' -- ' closing tick for hsc2hs++data VkSurfaceCapabilitiesKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkSurfaceCapabilitiesKHR where+    type StructRep VkSurfaceCapabilitiesKHR =+         'StructMeta "VkSurfaceCapabilitiesKHR" VkSurfaceCapabilitiesKHR -- ' closing tick for hsc2hs+           #{size VkSurfaceCapabilitiesKHR}+           #{alignment VkSurfaceCapabilitiesKHR}+           '[('FieldMeta "minImageCount" Word32 'False  -- ' closing tick for hsc2hs+                                                       #{offset VkSurfaceCapabilitiesKHR, minImageCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxImageCount" Word32 'False +                                                       #{offset VkSurfaceCapabilitiesKHR, maxImageCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "currentExtent" VkExtent2D 'False +                                                           #{offset VkSurfaceCapabilitiesKHR, currentExtent}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minImageExtent" VkExtent2D 'False +                                                            #{offset VkSurfaceCapabilitiesKHR, minImageExtent}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxImageExtent" VkExtent2D 'False +                                                            #{offset VkSurfaceCapabilitiesKHR, maxImageExtent}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxImageArrayLayers" Word32 'False +                                                             #{offset VkSurfaceCapabilitiesKHR, maxImageArrayLayers}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "supportedTransforms" VkSurfaceTransformFlagsKHR 'True+                #{offset VkSurfaceCapabilitiesKHR, supportedTransforms}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "currentTransform" VkSurfaceTransformFlagBitsKHR 'False+                #{offset VkSurfaceCapabilitiesKHR, currentTransform}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "supportedCompositeAlpha" VkCompositeAlphaFlagsKHR -- ' closing tick for hsc2hs+                'True -- ' closing tick for hsc2hs+                #{offset VkSurfaceCapabilitiesKHR, supportedCompositeAlpha}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "supportedUsageFlags" VkImageUsageFlags 'True +                                                                       #{offset VkSurfaceCapabilitiesKHR, supportedUsageFlags}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkSurfaceFormat2KHR {+--   >     VkStructureType sType;+--   >     void* pNext;+--   >     VkSurfaceFormatKHR surfaceFormat;+--   > } VkSurfaceFormat2KHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSurfaceFormat2KHR VkSurfaceFormat2KHR registry at www.khronos.org>+type VkSurfaceFormat2KHR = VkStruct VkSurfaceFormat2KHR' -- ' closing tick for hsc2hs++data VkSurfaceFormat2KHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkSurfaceFormat2KHR where+    type StructRep VkSurfaceFormat2KHR =+         'StructMeta "VkSurfaceFormat2KHR" VkSurfaceFormat2KHR  -- ' closing tick for hsc2hs+                                                               #{size VkSurfaceFormat2KHR}+           #{alignment VkSurfaceFormat2KHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkSurfaceFormat2KHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkSurfaceFormat2KHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "surfaceFormat" VkSurfaceFormatKHR 'False +                                                                   #{offset VkSurfaceFormat2KHR, surfaceFormat}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs++-- | > typedef struct VkSurfaceFormatKHR {+--   >     VkFormat                         format;+--   >     VkColorSpaceKHR                  colorSpace;+--   > } VkSurfaceFormatKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSurfaceFormatKHR VkSurfaceFormatKHR registry at www.khronos.org>+type VkSurfaceFormatKHR = VkStruct VkSurfaceFormatKHR' -- ' closing tick for hsc2hs++data VkSurfaceFormatKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkSurfaceFormatKHR where+    type StructRep VkSurfaceFormatKHR =+         'StructMeta "VkSurfaceFormatKHR" VkSurfaceFormatKHR  -- ' closing tick for hsc2hs+                                                             #{size VkSurfaceFormatKHR}+           #{alignment VkSurfaceFormatKHR}+           '[('FieldMeta "format" VkFormat 'False  -- ' closing tick for hsc2hs+                                                  #{offset VkSurfaceFormatKHR, format}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "colorSpace" VkColorSpaceKHR 'False +                                                             #{offset VkSurfaceFormatKHR, colorSpace}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/SwapchainC.hsc view
@@ -2,977 +2,186 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.SwapchainC-       (VkSwapchainCounterCreateInfoEXT, VkSwapchainCounterCreateInfoEXT', -- ' closing tick for hsc2hs-        VkSwapchainCreateInfoKHR, VkSwapchainCreateInfoKHR') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                                   (Storable (..))-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Internal-import Graphics.Vulkan.Types.BaseTypes                    (VkBool32)-import Graphics.Vulkan.Types.Enum.Color                   (VkColorSpaceKHR)-import Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR  (VkCompositeAlphaFlagBitsKHR)-import Graphics.Vulkan.Types.Enum.Format                  (VkFormat)-import Graphics.Vulkan.Types.Enum.Image                   (VkImageUsageFlags)-import Graphics.Vulkan.Types.Enum.PresentModeKHR          (VkPresentModeKHR)-import Graphics.Vulkan.Types.Enum.SharingMode             (VkSharingMode)-import Graphics.Vulkan.Types.Enum.StructureType           (VkStructureType)-import Graphics.Vulkan.Types.Enum.Surface                 (VkSurfaceCounterFlagsEXT,-                                                           VkSurfaceTransformFlagBitsKHR)-import Graphics.Vulkan.Types.Enum.SwapchainCreateFlagsKHR (VkSwapchainCreateFlagsKHR)-import Graphics.Vulkan.Types.Handles                      (VkSurfaceKHR,-                                                           VkSwapchainKHR)-import Graphics.Vulkan.Types.Struct.Extent                (VkExtent2D)-import System.IO.Unsafe                                   (unsafeDupablePerformIO)---- | > typedef struct VkSwapchainCounterCreateInfoEXT {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkSurfaceCounterFlagsEXT         surfaceCounters;---   > } VkSwapchainCounterCreateInfoEXT;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSwapchainCounterCreateInfoEXT VkSwapchainCounterCreateInfoEXT registry at www.khronos.org>-type VkSwapchainCounterCreateInfoEXT =-     VulkanStruct VkSwapchainCounterCreateInfoEXT' -- ' closing tick for hsc2hs--data VkSwapchainCounterCreateInfoEXT' -- ' closing tick for hsc2hs--instance Eq VkSwapchainCounterCreateInfoEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSwapchainCounterCreateInfoEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSwapchainCounterCreateInfoEXT where-        sizeOf ~_ = #{size VkSwapchainCounterCreateInfoEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkSwapchainCounterCreateInfoEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkSwapchainCounterCreateInfoEXT where-        type StructFields VkSwapchainCounterCreateInfoEXT =-             '["sType", "pNext", "surfaceCounters"] -- ' closing tick for hsc2hs-        type CUnionType VkSwapchainCounterCreateInfoEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSwapchainCounterCreateInfoEXT = 'False -- ' closing tick for hsc2hs-        type StructExtends VkSwapchainCounterCreateInfoEXT =-             '[VkSwapchainCreateInfoKHR] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkSwapchainCounterCreateInfoEXT where-        type FieldType "sType" VkSwapchainCounterCreateInfoEXT =-             VkStructureType-        type FieldOptional "sType" VkSwapchainCounterCreateInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkSwapchainCounterCreateInfoEXT =-             #{offset VkSwapchainCounterCreateInfoEXT, sType}-        type FieldIsArray "sType" VkSwapchainCounterCreateInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSwapchainCounterCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkSwapchainCounterCreateInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSwapchainCounterCreateInfoEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSwapchainCounterCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkSwapchainCounterCreateInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSwapchainCounterCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkSwapchainCounterCreateInfoEXT where-        type FieldType "pNext" VkSwapchainCounterCreateInfoEXT = Ptr Void-        type FieldOptional "pNext" VkSwapchainCounterCreateInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkSwapchainCounterCreateInfoEXT =-             #{offset VkSwapchainCounterCreateInfoEXT, pNext}-        type FieldIsArray "pNext" VkSwapchainCounterCreateInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSwapchainCounterCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkSwapchainCounterCreateInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSwapchainCounterCreateInfoEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSwapchainCounterCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkSwapchainCounterCreateInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSwapchainCounterCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "surfaceCounters" VkSwapchainCounterCreateInfoEXT where-        type FieldType "surfaceCounters" VkSwapchainCounterCreateInfoEXT =-             VkSurfaceCounterFlagsEXT-        type FieldOptional "surfaceCounters"-               VkSwapchainCounterCreateInfoEXT-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "surfaceCounters" VkSwapchainCounterCreateInfoEXT-             =-             #{offset VkSwapchainCounterCreateInfoEXT, surfaceCounters}-        type FieldIsArray "surfaceCounters" VkSwapchainCounterCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSwapchainCounterCreateInfoEXT, surfaceCounters}--instance {-# OVERLAPPING #-}-         CanReadField "surfaceCounters" VkSwapchainCounterCreateInfoEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSwapchainCounterCreateInfoEXT, surfaceCounters})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSwapchainCounterCreateInfoEXT, surfaceCounters}--instance {-# OVERLAPPING #-}-         CanWriteField "surfaceCounters" VkSwapchainCounterCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSwapchainCounterCreateInfoEXT, surfaceCounters}--instance Show VkSwapchainCounterCreateInfoEXT where-        showsPrec d x-          = showString "VkSwapchainCounterCreateInfoEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "surfaceCounters = " .-                            showsPrec d (getField @"surfaceCounters" x) . showChar '}'---- | > typedef struct VkSwapchainCreateInfoKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkSwapchainCreateFlagsKHR        flags;---   >     VkSurfaceKHR                     surface;---   >     uint32_t                         minImageCount;---   >     VkFormat                         imageFormat;---   >     VkColorSpaceKHR                  imageColorSpace;---   >     VkExtent2D                       imageExtent;---   >     uint32_t                         imageArrayLayers;---   >     VkImageUsageFlags                imageUsage;---   >     VkSharingMode                    imageSharingMode;---   >     uint32_t         queueFamilyIndexCount;---   >     const uint32_t*                  pQueueFamilyIndices;---   >     VkSurfaceTransformFlagBitsKHR    preTransform;---   >     VkCompositeAlphaFlagBitsKHR      compositeAlpha;---   >     VkPresentModeKHR                 presentMode;---   >     VkBool32                         clipped;---   >     VkSwapchainKHR   oldSwapchain;---   > } VkSwapchainCreateInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSwapchainCreateInfoKHR VkSwapchainCreateInfoKHR registry at www.khronos.org>-type VkSwapchainCreateInfoKHR =-     VulkanStruct VkSwapchainCreateInfoKHR' -- ' closing tick for hsc2hs--data VkSwapchainCreateInfoKHR' -- ' closing tick for hsc2hs--instance Eq VkSwapchainCreateInfoKHR where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkSwapchainCreateInfoKHR where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkSwapchainCreateInfoKHR where-        sizeOf ~_ = #{size VkSwapchainCreateInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkSwapchainCreateInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshal VkSwapchainCreateInfoKHR where-        type StructFields VkSwapchainCreateInfoKHR =-             '["sType", "pNext", "flags", "surface", "minImageCount", -- ' closing tick for hsc2hs-               "imageFormat", "imageColorSpace", "imageExtent",-               "imageArrayLayers", "imageUsage", "imageSharingMode",-               "queueFamilyIndexCount", "pQueueFamilyIndices", "preTransform",-               "compositeAlpha", "presentMode", "clipped", "oldSwapchain"]-        type CUnionType VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkSwapchainCreateInfoKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkSwapchainCreateInfoKHR where-        type FieldType "sType" VkSwapchainCreateInfoKHR = VkStructureType-        type FieldOptional "sType" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkSwapchainCreateInfoKHR =-             #{offset VkSwapchainCreateInfoKHR, sType}-        type FieldIsArray "sType" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSwapchainCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkSwapchainCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSwapchainCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkSwapchainCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkSwapchainCreateInfoKHR where-        type FieldType "pNext" VkSwapchainCreateInfoKHR = Ptr Void-        type FieldOptional "pNext" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkSwapchainCreateInfoKHR =-             #{offset VkSwapchainCreateInfoKHR, pNext}-        type FieldIsArray "pNext" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSwapchainCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkSwapchainCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSwapchainCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkSwapchainCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkSwapchainCreateInfoKHR where-        type FieldType "flags" VkSwapchainCreateInfoKHR =-             VkSwapchainCreateFlagsKHR-        type FieldOptional "flags" VkSwapchainCreateInfoKHR = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkSwapchainCreateInfoKHR =-             #{offset VkSwapchainCreateInfoKHR, flags}-        type FieldIsArray "flags" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkSwapchainCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkSwapchainCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSwapchainCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkSwapchainCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         HasField "surface" VkSwapchainCreateInfoKHR where-        type FieldType "surface" VkSwapchainCreateInfoKHR = VkSurfaceKHR-        type FieldOptional "surface" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "surface" VkSwapchainCreateInfoKHR =-             #{offset VkSwapchainCreateInfoKHR, surface}-        type FieldIsArray "surface" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSwapchainCreateInfoKHR, surface}--instance {-# OVERLAPPING #-}-         CanReadField "surface" VkSwapchainCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, surface})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSwapchainCreateInfoKHR, surface}--instance {-# OVERLAPPING #-}-         CanWriteField "surface" VkSwapchainCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, surface}--instance {-# OVERLAPPING #-}-         HasField "minImageCount" VkSwapchainCreateInfoKHR where-        type FieldType "minImageCount" VkSwapchainCreateInfoKHR = Word32-        type FieldOptional "minImageCount" VkSwapchainCreateInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "minImageCount" VkSwapchainCreateInfoKHR =-             #{offset VkSwapchainCreateInfoKHR, minImageCount}-        type FieldIsArray "minImageCount" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSwapchainCreateInfoKHR, minImageCount}--instance {-# OVERLAPPING #-}-         CanReadField "minImageCount" VkSwapchainCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, minImageCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSwapchainCreateInfoKHR, minImageCount}--instance {-# OVERLAPPING #-}-         CanWriteField "minImageCount" VkSwapchainCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, minImageCount}--instance {-# OVERLAPPING #-}-         HasField "imageFormat" VkSwapchainCreateInfoKHR where-        type FieldType "imageFormat" VkSwapchainCreateInfoKHR = VkFormat-        type FieldOptional "imageFormat" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "imageFormat" VkSwapchainCreateInfoKHR =-             #{offset VkSwapchainCreateInfoKHR, imageFormat}-        type FieldIsArray "imageFormat" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSwapchainCreateInfoKHR, imageFormat}--instance {-# OVERLAPPING #-}-         CanReadField "imageFormat" VkSwapchainCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, imageFormat})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSwapchainCreateInfoKHR, imageFormat}--instance {-# OVERLAPPING #-}-         CanWriteField "imageFormat" VkSwapchainCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, imageFormat}--instance {-# OVERLAPPING #-}-         HasField "imageColorSpace" VkSwapchainCreateInfoKHR where-        type FieldType "imageColorSpace" VkSwapchainCreateInfoKHR =-             VkColorSpaceKHR-        type FieldOptional "imageColorSpace" VkSwapchainCreateInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "imageColorSpace" VkSwapchainCreateInfoKHR =-             #{offset VkSwapchainCreateInfoKHR, imageColorSpace}-        type FieldIsArray "imageColorSpace" VkSwapchainCreateInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSwapchainCreateInfoKHR, imageColorSpace}--instance {-# OVERLAPPING #-}-         CanReadField "imageColorSpace" VkSwapchainCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, imageColorSpace})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSwapchainCreateInfoKHR, imageColorSpace}--instance {-# OVERLAPPING #-}-         CanWriteField "imageColorSpace" VkSwapchainCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, imageColorSpace}--instance {-# OVERLAPPING #-}-         HasField "imageExtent" VkSwapchainCreateInfoKHR where-        type FieldType "imageExtent" VkSwapchainCreateInfoKHR = VkExtent2D-        type FieldOptional "imageExtent" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "imageExtent" VkSwapchainCreateInfoKHR =-             #{offset VkSwapchainCreateInfoKHR, imageExtent}-        type FieldIsArray "imageExtent" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSwapchainCreateInfoKHR, imageExtent}--instance {-# OVERLAPPING #-}-         CanReadField "imageExtent" VkSwapchainCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, imageExtent})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSwapchainCreateInfoKHR, imageExtent}--instance {-# OVERLAPPING #-}-         CanWriteField "imageExtent" VkSwapchainCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, imageExtent}--instance {-# OVERLAPPING #-}-         HasField "imageArrayLayers" VkSwapchainCreateInfoKHR where-        type FieldType "imageArrayLayers" VkSwapchainCreateInfoKHR = Word32-        type FieldOptional "imageArrayLayers" VkSwapchainCreateInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "imageArrayLayers" VkSwapchainCreateInfoKHR =-             #{offset VkSwapchainCreateInfoKHR, imageArrayLayers}-        type FieldIsArray "imageArrayLayers" VkSwapchainCreateInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSwapchainCreateInfoKHR, imageArrayLayers}--instance {-# OVERLAPPING #-}-         CanReadField "imageArrayLayers" VkSwapchainCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, imageArrayLayers})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSwapchainCreateInfoKHR, imageArrayLayers}--instance {-# OVERLAPPING #-}-         CanWriteField "imageArrayLayers" VkSwapchainCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, imageArrayLayers}--instance {-# OVERLAPPING #-}-         HasField "imageUsage" VkSwapchainCreateInfoKHR where-        type FieldType "imageUsage" VkSwapchainCreateInfoKHR =-             VkImageUsageFlags-        type FieldOptional "imageUsage" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "imageUsage" VkSwapchainCreateInfoKHR =-             #{offset VkSwapchainCreateInfoKHR, imageUsage}-        type FieldIsArray "imageUsage" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSwapchainCreateInfoKHR, imageUsage}--instance {-# OVERLAPPING #-}-         CanReadField "imageUsage" VkSwapchainCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, imageUsage})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSwapchainCreateInfoKHR, imageUsage}--instance {-# OVERLAPPING #-}-         CanWriteField "imageUsage" VkSwapchainCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, imageUsage}--instance {-# OVERLAPPING #-}-         HasField "imageSharingMode" VkSwapchainCreateInfoKHR where-        type FieldType "imageSharingMode" VkSwapchainCreateInfoKHR =-             VkSharingMode-        type FieldOptional "imageSharingMode" VkSwapchainCreateInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "imageSharingMode" VkSwapchainCreateInfoKHR =-             #{offset VkSwapchainCreateInfoKHR, imageSharingMode}-        type FieldIsArray "imageSharingMode" VkSwapchainCreateInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSwapchainCreateInfoKHR, imageSharingMode}--instance {-# OVERLAPPING #-}-         CanReadField "imageSharingMode" VkSwapchainCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, imageSharingMode})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSwapchainCreateInfoKHR, imageSharingMode}--instance {-# OVERLAPPING #-}-         CanWriteField "imageSharingMode" VkSwapchainCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, imageSharingMode}--instance {-# OVERLAPPING #-}-         HasField "queueFamilyIndexCount" VkSwapchainCreateInfoKHR where-        type FieldType "queueFamilyIndexCount" VkSwapchainCreateInfoKHR =-             Word32-        type FieldOptional "queueFamilyIndexCount" VkSwapchainCreateInfoKHR-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "queueFamilyIndexCount" VkSwapchainCreateInfoKHR =-             #{offset VkSwapchainCreateInfoKHR, queueFamilyIndexCount}-        type FieldIsArray "queueFamilyIndexCount" VkSwapchainCreateInfoKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSwapchainCreateInfoKHR, queueFamilyIndexCount}--instance {-# OVERLAPPING #-}-         CanReadField "queueFamilyIndexCount" VkSwapchainCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, queueFamilyIndexCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSwapchainCreateInfoKHR, queueFamilyIndexCount}--instance {-# OVERLAPPING #-}-         CanWriteField "queueFamilyIndexCount" VkSwapchainCreateInfoKHR-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, queueFamilyIndexCount}--instance {-# OVERLAPPING #-}-         HasField "pQueueFamilyIndices" VkSwapchainCreateInfoKHR where-        type FieldType "pQueueFamilyIndices" VkSwapchainCreateInfoKHR =-             Ptr Word32-        type FieldOptional "pQueueFamilyIndices" VkSwapchainCreateInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pQueueFamilyIndices" VkSwapchainCreateInfoKHR =-             #{offset VkSwapchainCreateInfoKHR, pQueueFamilyIndices}-        type FieldIsArray "pQueueFamilyIndices" VkSwapchainCreateInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSwapchainCreateInfoKHR, pQueueFamilyIndices}--instance {-# OVERLAPPING #-}-         CanReadField "pQueueFamilyIndices" VkSwapchainCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, pQueueFamilyIndices})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSwapchainCreateInfoKHR, pQueueFamilyIndices}--instance {-# OVERLAPPING #-}-         CanWriteField "pQueueFamilyIndices" VkSwapchainCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, pQueueFamilyIndices}--instance {-# OVERLAPPING #-}-         HasField "preTransform" VkSwapchainCreateInfoKHR where-        type FieldType "preTransform" VkSwapchainCreateInfoKHR =-             VkSurfaceTransformFlagBitsKHR-        type FieldOptional "preTransform" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "preTransform" VkSwapchainCreateInfoKHR =-             #{offset VkSwapchainCreateInfoKHR, preTransform}-        type FieldIsArray "preTransform" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSwapchainCreateInfoKHR, preTransform}--instance {-# OVERLAPPING #-}-         CanReadField "preTransform" VkSwapchainCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, preTransform})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSwapchainCreateInfoKHR, preTransform}--instance {-# OVERLAPPING #-}-         CanWriteField "preTransform" VkSwapchainCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, preTransform}--instance {-# OVERLAPPING #-}-         HasField "compositeAlpha" VkSwapchainCreateInfoKHR where-        type FieldType "compositeAlpha" VkSwapchainCreateInfoKHR =-             VkCompositeAlphaFlagBitsKHR-        type FieldOptional "compositeAlpha" VkSwapchainCreateInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "compositeAlpha" VkSwapchainCreateInfoKHR =-             #{offset VkSwapchainCreateInfoKHR, compositeAlpha}-        type FieldIsArray "compositeAlpha" VkSwapchainCreateInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSwapchainCreateInfoKHR, compositeAlpha}--instance {-# OVERLAPPING #-}-         CanReadField "compositeAlpha" VkSwapchainCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, compositeAlpha})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSwapchainCreateInfoKHR, compositeAlpha}--instance {-# OVERLAPPING #-}-         CanWriteField "compositeAlpha" VkSwapchainCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, compositeAlpha}--instance {-# OVERLAPPING #-}-         HasField "presentMode" VkSwapchainCreateInfoKHR where-        type FieldType "presentMode" VkSwapchainCreateInfoKHR =-             VkPresentModeKHR-        type FieldOptional "presentMode" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "presentMode" VkSwapchainCreateInfoKHR =-             #{offset VkSwapchainCreateInfoKHR, presentMode}-        type FieldIsArray "presentMode" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSwapchainCreateInfoKHR, presentMode}--instance {-# OVERLAPPING #-}-         CanReadField "presentMode" VkSwapchainCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, presentMode})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSwapchainCreateInfoKHR, presentMode}--instance {-# OVERLAPPING #-}-         CanWriteField "presentMode" VkSwapchainCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, presentMode}--instance {-# OVERLAPPING #-}-         HasField "clipped" VkSwapchainCreateInfoKHR where-        type FieldType "clipped" VkSwapchainCreateInfoKHR = VkBool32-        type FieldOptional "clipped" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "clipped" VkSwapchainCreateInfoKHR =-             #{offset VkSwapchainCreateInfoKHR, clipped}-        type FieldIsArray "clipped" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSwapchainCreateInfoKHR, clipped}--instance {-# OVERLAPPING #-}-         CanReadField "clipped" VkSwapchainCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, clipped})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSwapchainCreateInfoKHR, clipped}--instance {-# OVERLAPPING #-}-         CanWriteField "clipped" VkSwapchainCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, clipped}--instance {-# OVERLAPPING #-}-         HasField "oldSwapchain" VkSwapchainCreateInfoKHR where-        type FieldType "oldSwapchain" VkSwapchainCreateInfoKHR =-             VkSwapchainKHR-        type FieldOptional "oldSwapchain" VkSwapchainCreateInfoKHR = 'True -- ' closing tick for hsc2hs-        type FieldOffset "oldSwapchain" VkSwapchainCreateInfoKHR =-             #{offset VkSwapchainCreateInfoKHR, oldSwapchain}-        type FieldIsArray "oldSwapchain" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkSwapchainCreateInfoKHR, oldSwapchain}--instance {-# OVERLAPPING #-}-         CanReadField "oldSwapchain" VkSwapchainCreateInfoKHR where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, oldSwapchain})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkSwapchainCreateInfoKHR, oldSwapchain}--instance {-# OVERLAPPING #-}-         CanWriteField "oldSwapchain" VkSwapchainCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, oldSwapchain}--instance Show VkSwapchainCreateInfoKHR where-        showsPrec d x-          = showString "VkSwapchainCreateInfoKHR {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "surface = " .-                                  showsPrec d (getField @"surface" x) .-                                    showString ", " .-                                      showString "minImageCount = " .-                                        showsPrec d (getField @"minImageCount" x) .-                                          showString ", " .-                                            showString "imageFormat = " .-                                              showsPrec d (getField @"imageFormat" x) .-                                                showString ", " .-                                                  showString "imageColorSpace = " .-                                                    showsPrec d (getField @"imageColorSpace" x) .-                                                      showString ", " .-                                                        showString "imageExtent = " .-                                                          showsPrec d (getField @"imageExtent" x) .-                                                            showString ", " .-                                                              showString "imageArrayLayers = " .-                                                                showsPrec d-                                                                  (getField @"imageArrayLayers" x)-                                                                  .-                                                                  showString ", " .-                                                                    showString "imageUsage = " .-                                                                      showsPrec d-                                                                        (getField @"imageUsage" x)-                                                                        .-                                                                        showString ", " .-                                                                          showString-                                                                            "imageSharingMode = "-                                                                            .-                                                                            showsPrec d-                                                                              (getField-                                                                                 @"imageSharingMode"-                                                                                 x)-                                                                              .-                                                                              showString ", " .-                                                                                showString-                                                                                  "queueFamilyIndexCount = "-                                                                                  .-                                                                                  showsPrec d-                                                                                    (getField-                                                                                       @"queueFamilyIndexCount"-                                                                                       x)-                                                                                    .-                                                                                    showString ", "-                                                                                      .-                                                                                      showString-                                                                                        "pQueueFamilyIndices = "-                                                                                        .-                                                                                        showsPrec d-                                                                                          (getField-                                                                                             @"pQueueFamilyIndices"-                                                                                             x)-                                                                                          .-                                                                                          showString-                                                                                            ", "-                                                                                            .-                                                                                            showString-                                                                                              "preTransform = "-                                                                                              .-                                                                                              showsPrec-                                                                                                d-                                                                                                (getField-                                                                                                   @"preTransform"-                                                                                                   x)-                                                                                                .-                                                                                                showString-                                                                                                  ", "-                                                                                                  .-                                                                                                  showString-                                                                                                    "compositeAlpha = "-                                                                                                    .-                                                                                                    showsPrec-                                                                                                      d-                                                                                                      (getField-                                                                                                         @"compositeAlpha"-                                                                                                         x)-                                                                                                      .-                                                                                                      showString-                                                                                                        ", "-                                                                                                        .-                                                                                                        showString-                                                                                                          "presentMode = "-                                                                                                          .-                                                                                                          showsPrec-                                                                                                            d-                                                                                                            (getField-                                                                                                               @"presentMode"-                                                                                                               x)-                                                                                                            .-                                                                                                            showString-                                                                                                              ", "-                                                                                                              .-                                                                                                              showString-                                                                                                                "clipped = "-                                                                                                                .-                                                                                                                showsPrec-                                                                                                                  d-                                                                                                                  (getField-                                                                                                                     @"clipped"-                                                                                                                     x)-                                                                                                                  .-                                                                                                                  showString-                                                                                                                    ", "-                                                                                                                    .-                                                                                                                    showString-                                                                                                                      "oldSwapchain = "-                                                                                                                      .-                                                                                                                      showsPrec-                                                                                                                        d-                                                                                                                        (getField-                                                                                                                           @"oldSwapchain"-                                                                                                                           x)-                                                                                                                        .-                                                                                                                        showChar-                                                                                                                          '}'+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.SwapchainC+       (VkSwapchainCounterCreateInfoEXT, VkSwapchainCreateInfoKHR) where+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes                    (VkBool32)+import Graphics.Vulkan.Types.Enum.Color                   (VkColorSpaceKHR)+import Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR  (VkCompositeAlphaFlagBitsKHR)+import Graphics.Vulkan.Types.Enum.Format                  (VkFormat)+import Graphics.Vulkan.Types.Enum.Image                   (VkImageUsageFlags)+import Graphics.Vulkan.Types.Enum.PresentModeKHR          (VkPresentModeKHR)+import Graphics.Vulkan.Types.Enum.SharingMode             (VkSharingMode)+import Graphics.Vulkan.Types.Enum.StructureType           (VkStructureType)+import Graphics.Vulkan.Types.Enum.Surface                 (VkSurfaceCounterFlagsEXT,+                                                           VkSurfaceTransformFlagBitsKHR)+import Graphics.Vulkan.Types.Enum.SwapchainCreateFlagsKHR (VkSwapchainCreateFlagsKHR)+import Graphics.Vulkan.Types.Handles                      (VkSurfaceKHR,+                                                           VkSwapchainKHR)+import Graphics.Vulkan.Types.Struct.Extent                (VkExtent2D)++-- | > typedef struct VkSwapchainCounterCreateInfoEXT {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkSurfaceCounterFlagsEXT         surfaceCounters;+--   > } VkSwapchainCounterCreateInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSwapchainCounterCreateInfoEXT VkSwapchainCounterCreateInfoEXT registry at www.khronos.org>+type VkSwapchainCounterCreateInfoEXT =+     VkStruct VkSwapchainCounterCreateInfoEXT' -- ' closing tick for hsc2hs++data VkSwapchainCounterCreateInfoEXT' -- ' closing tick for hsc2hs++instance VulkanMarshal VkSwapchainCounterCreateInfoEXT where+    type StructRep VkSwapchainCounterCreateInfoEXT =+         'StructMeta "VkSwapchainCounterCreateInfoEXT" -- ' closing tick for hsc2hs+           VkSwapchainCounterCreateInfoEXT+           #{size VkSwapchainCounterCreateInfoEXT}+           #{alignment VkSwapchainCounterCreateInfoEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkSwapchainCounterCreateInfoEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkSwapchainCounterCreateInfoEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "surfaceCounters" VkSurfaceCounterFlagsEXT 'True+                #{offset VkSwapchainCounterCreateInfoEXT, surfaceCounters}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkSwapchainCreateInfoKHR] -- ' closing tick for hsc2hs++-- | > typedef struct VkSwapchainCreateInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkSwapchainCreateFlagsKHR        flags;+--   >     VkSurfaceKHR                     surface;+--   >     uint32_t                         minImageCount;+--   >     VkFormat                         imageFormat;+--   >     VkColorSpaceKHR                  imageColorSpace;+--   >     VkExtent2D                       imageExtent;+--   >     uint32_t                         imageArrayLayers;+--   >     VkImageUsageFlags                imageUsage;+--   >     VkSharingMode                    imageSharingMode;+--   >     uint32_t         queueFamilyIndexCount;+--   >     const uint32_t*                  pQueueFamilyIndices;+--   >     VkSurfaceTransformFlagBitsKHR    preTransform;+--   >     VkCompositeAlphaFlagBitsKHR      compositeAlpha;+--   >     VkPresentModeKHR                 presentMode;+--   >     VkBool32                         clipped;+--   >     VkSwapchainKHR   oldSwapchain;+--   > } VkSwapchainCreateInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSwapchainCreateInfoKHR VkSwapchainCreateInfoKHR registry at www.khronos.org>+type VkSwapchainCreateInfoKHR = VkStruct VkSwapchainCreateInfoKHR' -- ' closing tick for hsc2hs++data VkSwapchainCreateInfoKHR' -- ' closing tick for hsc2hs++instance VulkanMarshal VkSwapchainCreateInfoKHR where+    type StructRep VkSwapchainCreateInfoKHR =+         'StructMeta "VkSwapchainCreateInfoKHR" VkSwapchainCreateInfoKHR -- ' closing tick for hsc2hs+           #{size VkSwapchainCreateInfoKHR}+           #{alignment VkSwapchainCreateInfoKHR}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkSwapchainCreateInfoKHR, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkSwapchainCreateInfoKHR, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkSwapchainCreateFlagsKHR 'True +                                                                 #{offset VkSwapchainCreateInfoKHR, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "surface" VkSurfaceKHR 'False +                                                       #{offset VkSwapchainCreateInfoKHR, surface}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minImageCount" Word32 'False +                                                       #{offset VkSwapchainCreateInfoKHR, minImageCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "imageFormat" VkFormat 'False +                                                       #{offset VkSwapchainCreateInfoKHR, imageFormat}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "imageColorSpace" VkColorSpaceKHR 'False +                                                                  #{offset VkSwapchainCreateInfoKHR, imageColorSpace}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "imageExtent" VkExtent2D 'False +                                                         #{offset VkSwapchainCreateInfoKHR, imageExtent}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "imageArrayLayers" Word32 'False +                                                          #{offset VkSwapchainCreateInfoKHR, imageArrayLayers}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "imageUsage" VkImageUsageFlags 'False +                                                               #{offset VkSwapchainCreateInfoKHR, imageUsage}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "imageSharingMode" VkSharingMode 'False +                                                                 #{offset VkSwapchainCreateInfoKHR, imageSharingMode}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "queueFamilyIndexCount" Word32 'True +                                                              #{offset VkSwapchainCreateInfoKHR, queueFamilyIndexCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pQueueFamilyIndices" (Ptr Word32) 'False +                                                                   #{offset VkSwapchainCreateInfoKHR, pQueueFamilyIndices}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "preTransform" VkSurfaceTransformFlagBitsKHR 'False+                #{offset VkSwapchainCreateInfoKHR, preTransform}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "compositeAlpha" VkCompositeAlphaFlagBitsKHR 'False+                #{offset VkSwapchainCreateInfoKHR, compositeAlpha}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "presentMode" VkPresentModeKHR 'False +                                                               #{offset VkSwapchainCreateInfoKHR, presentMode}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "clipped" VkBool32 'False +                                                   #{offset VkSwapchainCreateInfoKHR, clipped}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "oldSwapchain" VkSwapchainKHR 'True +                                                             #{offset VkSwapchainCreateInfoKHR, oldSwapchain}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/TextureLODGatherFormatPropertiesAMD.hsc view
@@ -2,22 +2,16 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.TextureLODGatherFormatPropertiesAMD-       (VkTextureLODGatherFormatPropertiesAMD,-        VkTextureLODGatherFormatPropertiesAMD') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                         (Storable (..))+       (VkTextureLODGatherFormatPropertiesAMD) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.BaseTypes          (VkBool32) import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType) import Graphics.Vulkan.Types.Struct.Image       (VkImageFormatProperties2)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkTextureLODGatherFormatPropertiesAMD { --   >     VkStructureType sType;@@ -27,169 +21,31 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkTextureLODGatherFormatPropertiesAMD VkTextureLODGatherFormatPropertiesAMD registry at www.khronos.org> type VkTextureLODGatherFormatPropertiesAMD =-     VulkanStruct VkTextureLODGatherFormatPropertiesAMD' -- ' closing tick for hsc2hs+     VkStruct VkTextureLODGatherFormatPropertiesAMD' -- ' closing tick for hsc2hs  data VkTextureLODGatherFormatPropertiesAMD' -- ' closing tick for hsc2hs -instance Eq VkTextureLODGatherFormatPropertiesAMD where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkTextureLODGatherFormatPropertiesAMD where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkTextureLODGatherFormatPropertiesAMD where-        sizeOf ~_-          = #{size VkTextureLODGatherFormatPropertiesAMD}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkTextureLODGatherFormatPropertiesAMD}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkTextureLODGatherFormatPropertiesAMD where-        type StructFields VkTextureLODGatherFormatPropertiesAMD =-             '["sType", "pNext", "supportsTextureGatherLODBiasAMD"] -- ' closing tick for hsc2hs-        type CUnionType VkTextureLODGatherFormatPropertiesAMD = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkTextureLODGatherFormatPropertiesAMD = 'True -- ' closing tick for hsc2hs-        type StructExtends VkTextureLODGatherFormatPropertiesAMD =-             '[VkImageFormatProperties2] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkTextureLODGatherFormatPropertiesAMD where-        type FieldType "sType" VkTextureLODGatherFormatPropertiesAMD =-             VkStructureType-        type FieldOptional "sType" VkTextureLODGatherFormatPropertiesAMD =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkTextureLODGatherFormatPropertiesAMD =-             #{offset VkTextureLODGatherFormatPropertiesAMD, sType}-        type FieldIsArray "sType" VkTextureLODGatherFormatPropertiesAMD =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkTextureLODGatherFormatPropertiesAMD, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkTextureLODGatherFormatPropertiesAMD where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkTextureLODGatherFormatPropertiesAMD, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkTextureLODGatherFormatPropertiesAMD, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkTextureLODGatherFormatPropertiesAMD where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkTextureLODGatherFormatPropertiesAMD, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkTextureLODGatherFormatPropertiesAMD where-        type FieldType "pNext" VkTextureLODGatherFormatPropertiesAMD =-             Ptr Void-        type FieldOptional "pNext" VkTextureLODGatherFormatPropertiesAMD =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkTextureLODGatherFormatPropertiesAMD =-             #{offset VkTextureLODGatherFormatPropertiesAMD, pNext}-        type FieldIsArray "pNext" VkTextureLODGatherFormatPropertiesAMD =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkTextureLODGatherFormatPropertiesAMD, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkTextureLODGatherFormatPropertiesAMD where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkTextureLODGatherFormatPropertiesAMD, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkTextureLODGatherFormatPropertiesAMD, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkTextureLODGatherFormatPropertiesAMD where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkTextureLODGatherFormatPropertiesAMD, pNext}--instance {-# OVERLAPPING #-}-         HasField "supportsTextureGatherLODBiasAMD"-           VkTextureLODGatherFormatPropertiesAMD-         where-        type FieldType "supportsTextureGatherLODBiasAMD"-               VkTextureLODGatherFormatPropertiesAMD-             = VkBool32-        type FieldOptional "supportsTextureGatherLODBiasAMD"-               VkTextureLODGatherFormatPropertiesAMD-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "supportsTextureGatherLODBiasAMD"-               VkTextureLODGatherFormatPropertiesAMD-             =-             #{offset VkTextureLODGatherFormatPropertiesAMD, supportsTextureGatherLODBiasAMD}-        type FieldIsArray "supportsTextureGatherLODBiasAMD"-               VkTextureLODGatherFormatPropertiesAMD-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkTextureLODGatherFormatPropertiesAMD, supportsTextureGatherLODBiasAMD}--instance {-# OVERLAPPING #-}-         CanReadField "supportsTextureGatherLODBiasAMD"-           VkTextureLODGatherFormatPropertiesAMD-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkTextureLODGatherFormatPropertiesAMD, supportsTextureGatherLODBiasAMD})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkTextureLODGatherFormatPropertiesAMD, supportsTextureGatherLODBiasAMD}--instance {-# OVERLAPPING #-}-         CanWriteField "supportsTextureGatherLODBiasAMD"+    type StructRep VkTextureLODGatherFormatPropertiesAMD =+         'StructMeta "VkTextureLODGatherFormatPropertiesAMD" -- ' closing tick for hsc2hs            VkTextureLODGatherFormatPropertiesAMD-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkTextureLODGatherFormatPropertiesAMD, supportsTextureGatherLODBiasAMD}--instance Show VkTextureLODGatherFormatPropertiesAMD where-        showsPrec d x-          = showString "VkTextureLODGatherFormatPropertiesAMD {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "supportsTextureGatherLODBiasAMD = " .-                            showsPrec d (getField @"supportsTextureGatherLODBiasAMD" x) .-                              showChar '}'+           #{size VkTextureLODGatherFormatPropertiesAMD}+           #{alignment VkTextureLODGatherFormatPropertiesAMD}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkTextureLODGatherFormatPropertiesAMD, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkTextureLODGatherFormatPropertiesAMD, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "supportsTextureGatherLODBiasAMD" VkBool32 'False+                #{offset VkTextureLODGatherFormatPropertiesAMD, supportsTextureGatherLODBiasAMD}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'True -- ' closing tick for hsc2hs+           '[VkImageFormatProperties2] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/Validation.hsc view
@@ -2,23 +2,17 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.Validation-       (VkValidationCacheCreateInfoEXT, VkValidationCacheCreateInfoEXT', -- ' closing tick for hsc2hs-        VkValidationFlagsEXT, VkValidationFlagsEXT') -- ' closing tick for hsc2hs-       where-import Foreign.Storable                                (Storable (..))+       (VkValidationCacheCreateInfoEXT, VkValidationFlagsEXT) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Bitmasks                  (VkValidationCacheCreateFlagsEXT) import Graphics.Vulkan.Types.Enum.StructureType        (VkStructureType) import Graphics.Vulkan.Types.Enum.ValidationC          (VkValidationCheckEXT) import Graphics.Vulkan.Types.Struct.InstanceCreateInfo (VkInstanceCreateInfo)-import System.IO.Unsafe                                (unsafeDupablePerformIO)  -- | > typedef struct VkValidationCacheCreateInfoEXT { --   >     VkStructureType sType;@@ -30,228 +24,44 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkValidationCacheCreateInfoEXT VkValidationCacheCreateInfoEXT registry at www.khronos.org> type VkValidationCacheCreateInfoEXT =-     VulkanStruct VkValidationCacheCreateInfoEXT' -- ' closing tick for hsc2hs+     VkStruct VkValidationCacheCreateInfoEXT' -- ' closing tick for hsc2hs  data VkValidationCacheCreateInfoEXT' -- ' closing tick for hsc2hs -instance Eq VkValidationCacheCreateInfoEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkValidationCacheCreateInfoEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkValidationCacheCreateInfoEXT where-        sizeOf ~_ = #{size VkValidationCacheCreateInfoEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkValidationCacheCreateInfoEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkValidationCacheCreateInfoEXT where-        type StructFields VkValidationCacheCreateInfoEXT =-             '["sType", "pNext", "flags", "initialDataSize", "pInitialData"] -- ' closing tick for hsc2hs-        type CUnionType VkValidationCacheCreateInfoEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkValidationCacheCreateInfoEXT = 'False -- ' closing tick for hsc2hs-        type StructExtends VkValidationCacheCreateInfoEXT = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "sType" VkValidationCacheCreateInfoEXT where-        type FieldType "sType" VkValidationCacheCreateInfoEXT =-             VkStructureType-        type FieldOptional "sType" VkValidationCacheCreateInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkValidationCacheCreateInfoEXT =-             #{offset VkValidationCacheCreateInfoEXT, sType}-        type FieldIsArray "sType" VkValidationCacheCreateInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkValidationCacheCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkValidationCacheCreateInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkValidationCacheCreateInfoEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkValidationCacheCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkValidationCacheCreateInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkValidationCacheCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkValidationCacheCreateInfoEXT where-        type FieldType "pNext" VkValidationCacheCreateInfoEXT = Ptr Void-        type FieldOptional "pNext" VkValidationCacheCreateInfoEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkValidationCacheCreateInfoEXT =-             #{offset VkValidationCacheCreateInfoEXT, pNext}-        type FieldIsArray "pNext" VkValidationCacheCreateInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkValidationCacheCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkValidationCacheCreateInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkValidationCacheCreateInfoEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkValidationCacheCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkValidationCacheCreateInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkValidationCacheCreateInfoEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "flags" VkValidationCacheCreateInfoEXT where-        type FieldType "flags" VkValidationCacheCreateInfoEXT =-             VkValidationCacheCreateFlagsEXT-        type FieldOptional "flags" VkValidationCacheCreateInfoEXT = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkValidationCacheCreateInfoEXT =-             #{offset VkValidationCacheCreateInfoEXT, flags}-        type FieldIsArray "flags" VkValidationCacheCreateInfoEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkValidationCacheCreateInfoEXT, flags}--instance {-# OVERLAPPING #-}-         CanReadField "flags" VkValidationCacheCreateInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkValidationCacheCreateInfoEXT, flags})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkValidationCacheCreateInfoEXT, flags}--instance {-# OVERLAPPING #-}-         CanWriteField "flags" VkValidationCacheCreateInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkValidationCacheCreateInfoEXT, flags}--instance {-# OVERLAPPING #-}-         HasField "initialDataSize" VkValidationCacheCreateInfoEXT where-        type FieldType "initialDataSize" VkValidationCacheCreateInfoEXT =-             CSize-        type FieldOptional "initialDataSize" VkValidationCacheCreateInfoEXT-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "initialDataSize" VkValidationCacheCreateInfoEXT =-             #{offset VkValidationCacheCreateInfoEXT, initialDataSize}-        type FieldIsArray "initialDataSize" VkValidationCacheCreateInfoEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkValidationCacheCreateInfoEXT, initialDataSize}--instance {-# OVERLAPPING #-}-         CanReadField "initialDataSize" VkValidationCacheCreateInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkValidationCacheCreateInfoEXT, initialDataSize})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkValidationCacheCreateInfoEXT, initialDataSize}--instance {-# OVERLAPPING #-}-         CanWriteField "initialDataSize" VkValidationCacheCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkValidationCacheCreateInfoEXT, initialDataSize}--instance {-# OVERLAPPING #-}-         HasField "pInitialData" VkValidationCacheCreateInfoEXT where-        type FieldType "pInitialData" VkValidationCacheCreateInfoEXT =-             Ptr Void-        type FieldOptional "pInitialData" VkValidationCacheCreateInfoEXT =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pInitialData" VkValidationCacheCreateInfoEXT =-             #{offset VkValidationCacheCreateInfoEXT, pInitialData}-        type FieldIsArray "pInitialData" VkValidationCacheCreateInfoEXT =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkValidationCacheCreateInfoEXT, pInitialData}--instance {-# OVERLAPPING #-}-         CanReadField "pInitialData" VkValidationCacheCreateInfoEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkValidationCacheCreateInfoEXT, pInitialData})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkValidationCacheCreateInfoEXT, pInitialData}--instance {-# OVERLAPPING #-}-         CanWriteField "pInitialData" VkValidationCacheCreateInfoEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkValidationCacheCreateInfoEXT, pInitialData}--instance Show VkValidationCacheCreateInfoEXT where-        showsPrec d x-          = showString "VkValidationCacheCreateInfoEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "flags = " .-                            showsPrec d (getField @"flags" x) .-                              showString ", " .-                                showString "initialDataSize = " .-                                  showsPrec d (getField @"initialDataSize" x) .-                                    showString ", " .-                                      showString "pInitialData = " .-                                        showsPrec d (getField @"pInitialData" x) . showChar '}'+    type StructRep VkValidationCacheCreateInfoEXT =+         'StructMeta "VkValidationCacheCreateInfoEXT" -- ' closing tick for hsc2hs+           VkValidationCacheCreateInfoEXT+           #{size VkValidationCacheCreateInfoEXT}+           #{alignment VkValidationCacheCreateInfoEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkValidationCacheCreateInfoEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkValidationCacheCreateInfoEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "flags" VkValidationCacheCreateFlagsEXT 'True +                                                                       #{offset VkValidationCacheCreateInfoEXT, flags}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "initialDataSize" CSize 'True +                                                       #{offset VkValidationCacheCreateInfoEXT, initialDataSize}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pInitialData" (Ptr Void) 'False +                                                          #{offset VkValidationCacheCreateInfoEXT, pInitialData}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | > typedef struct VkValidationFlagsEXT { --   >     VkStructureType                  sType;@@ -261,193 +71,36 @@ --   > } VkValidationFlagsEXT; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkValidationFlagsEXT VkValidationFlagsEXT registry at www.khronos.org>-type VkValidationFlagsEXT = VulkanStruct VkValidationFlagsEXT' -- ' closing tick for hsc2hs+type VkValidationFlagsEXT = VkStruct VkValidationFlagsEXT' -- ' closing tick for hsc2hs  data VkValidationFlagsEXT' -- ' closing tick for hsc2hs -instance Eq VkValidationFlagsEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkValidationFlagsEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkValidationFlagsEXT where-        sizeOf ~_ = #{size VkValidationFlagsEXT}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkValidationFlagsEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkValidationFlagsEXT where-        type StructFields VkValidationFlagsEXT =-             '["sType", "pNext", "disabledValidationCheckCount", -- ' closing tick for hsc2hs-               "pDisabledValidationChecks"]-        type CUnionType VkValidationFlagsEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkValidationFlagsEXT = 'False -- ' closing tick for hsc2hs-        type StructExtends VkValidationFlagsEXT = '[VkInstanceCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkValidationFlagsEXT-         where-        type FieldType "sType" VkValidationFlagsEXT = VkStructureType-        type FieldOptional "sType" VkValidationFlagsEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkValidationFlagsEXT =-             #{offset VkValidationFlagsEXT, sType}-        type FieldIsArray "sType" VkValidationFlagsEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkValidationFlagsEXT, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkValidationFlagsEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkValidationFlagsEXT, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkValidationFlagsEXT, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkValidationFlagsEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkValidationFlagsEXT, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkValidationFlagsEXT-         where-        type FieldType "pNext" VkValidationFlagsEXT = Ptr Void-        type FieldOptional "pNext" VkValidationFlagsEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkValidationFlagsEXT =-             #{offset VkValidationFlagsEXT, pNext}-        type FieldIsArray "pNext" VkValidationFlagsEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkValidationFlagsEXT, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkValidationFlagsEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkValidationFlagsEXT, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkValidationFlagsEXT, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkValidationFlagsEXT where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkValidationFlagsEXT, pNext}--instance {-# OVERLAPPING #-}-         HasField "disabledValidationCheckCount" VkValidationFlagsEXT where-        type FieldType "disabledValidationCheckCount" VkValidationFlagsEXT-             = Word32-        type FieldOptional "disabledValidationCheckCount"-               VkValidationFlagsEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "disabledValidationCheckCount"-               VkValidationFlagsEXT-             =-             #{offset VkValidationFlagsEXT, disabledValidationCheckCount}-        type FieldIsArray "disabledValidationCheckCount"-               VkValidationFlagsEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkValidationFlagsEXT, disabledValidationCheckCount}--instance {-# OVERLAPPING #-}-         CanReadField "disabledValidationCheckCount" VkValidationFlagsEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkValidationFlagsEXT, disabledValidationCheckCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkValidationFlagsEXT, disabledValidationCheckCount}--instance {-# OVERLAPPING #-}-         CanWriteField "disabledValidationCheckCount" VkValidationFlagsEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkValidationFlagsEXT, disabledValidationCheckCount}--instance {-# OVERLAPPING #-}-         HasField "pDisabledValidationChecks" VkValidationFlagsEXT where-        type FieldType "pDisabledValidationChecks" VkValidationFlagsEXT =-             Ptr VkValidationCheckEXT-        type FieldOptional "pDisabledValidationChecks" VkValidationFlagsEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pDisabledValidationChecks" VkValidationFlagsEXT =-             #{offset VkValidationFlagsEXT, pDisabledValidationChecks}-        type FieldIsArray "pDisabledValidationChecks" VkValidationFlagsEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkValidationFlagsEXT, pDisabledValidationChecks}--instance {-# OVERLAPPING #-}-         CanReadField "pDisabledValidationChecks" VkValidationFlagsEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkValidationFlagsEXT, pDisabledValidationChecks})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkValidationFlagsEXT, pDisabledValidationChecks}--instance {-# OVERLAPPING #-}-         CanWriteField "pDisabledValidationChecks" VkValidationFlagsEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkValidationFlagsEXT, pDisabledValidationChecks}--instance Show VkValidationFlagsEXT where-        showsPrec d x-          = showString "VkValidationFlagsEXT {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "disabledValidationCheckCount = " .-                            showsPrec d (getField @"disabledValidationCheckCount" x) .-                              showString ", " .-                                showString "pDisabledValidationChecks = " .-                                  showsPrec d (getField @"pDisabledValidationChecks" x) .-                                    showChar '}'+    type StructRep VkValidationFlagsEXT =+         'StructMeta "VkValidationFlagsEXT" VkValidationFlagsEXT  -- ' closing tick for hsc2hs+                                                                 #{size VkValidationFlagsEXT}+           #{alignment VkValidationFlagsEXT}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkValidationFlagsEXT, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkValidationFlagsEXT, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "disabledValidationCheckCount" Word32 'False +                                                                      #{offset VkValidationFlagsEXT, disabledValidationCheckCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pDisabledValidationChecks" (Ptr VkValidationCheckEXT) -- ' closing tick for hsc2hs+                'False -- ' closing tick for hsc2hs+                #{offset VkValidationFlagsEXT, pDisabledValidationChecks}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[VkInstanceCreateInfo] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/VertexInput.hsc view
@@ -2,24 +2,18 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VertexInput        (VkVertexInputAttributeDescription,-        VkVertexInputAttributeDescription', -- ' closing tick for hsc2hs-        VkVertexInputBindingDescription, VkVertexInputBindingDescription', -- ' closing tick for hsc2hs-        VkVertexInputBindingDivisorDescriptionEXT,-        VkVertexInputBindingDivisorDescriptionEXT') -- ' closing tick for hsc2hs+        VkVertexInputBindingDescription,+        VkVertexInputBindingDivisorDescriptionEXT)        where-import Foreign.Storable                           (Storable (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.Format          (VkFormat) import Graphics.Vulkan.Types.Enum.VertexInputRate (VkVertexInputRate)-import System.IO.Unsafe                           (unsafeDupablePerformIO)  -- | > typedef struct VkVertexInputAttributeDescription { --   >     uint32_t               location;@@ -30,194 +24,39 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkVertexInputAttributeDescription VkVertexInputAttributeDescription registry at www.khronos.org> type VkVertexInputAttributeDescription =-     VulkanStruct VkVertexInputAttributeDescription' -- ' closing tick for hsc2hs+     VkStruct VkVertexInputAttributeDescription' -- ' closing tick for hsc2hs  data VkVertexInputAttributeDescription' -- ' closing tick for hsc2hs -instance Eq VkVertexInputAttributeDescription where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkVertexInputAttributeDescription where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkVertexInputAttributeDescription where-        sizeOf ~_ = #{size VkVertexInputAttributeDescription}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkVertexInputAttributeDescription}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkVertexInputAttributeDescription where-        type StructFields VkVertexInputAttributeDescription =-             '["location", "binding", "format", "offset"] -- ' closing tick for hsc2hs-        type CUnionType VkVertexInputAttributeDescription = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkVertexInputAttributeDescription = 'False -- ' closing tick for hsc2hs-        type StructExtends VkVertexInputAttributeDescription = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "location" VkVertexInputAttributeDescription where-        type FieldType "location" VkVertexInputAttributeDescription =-             Word32-        type FieldOptional "location" VkVertexInputAttributeDescription =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "location" VkVertexInputAttributeDescription =-             #{offset VkVertexInputAttributeDescription, location}-        type FieldIsArray "location" VkVertexInputAttributeDescription =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkVertexInputAttributeDescription, location}--instance {-# OVERLAPPING #-}-         CanReadField "location" VkVertexInputAttributeDescription where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkVertexInputAttributeDescription, location})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkVertexInputAttributeDescription, location}--instance {-# OVERLAPPING #-}-         CanWriteField "location" VkVertexInputAttributeDescription where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkVertexInputAttributeDescription, location}--instance {-# OVERLAPPING #-}-         HasField "binding" VkVertexInputAttributeDescription where-        type FieldType "binding" VkVertexInputAttributeDescription = Word32-        type FieldOptional "binding" VkVertexInputAttributeDescription =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "binding" VkVertexInputAttributeDescription =-             #{offset VkVertexInputAttributeDescription, binding}-        type FieldIsArray "binding" VkVertexInputAttributeDescription =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkVertexInputAttributeDescription, binding}--instance {-# OVERLAPPING #-}-         CanReadField "binding" VkVertexInputAttributeDescription where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkVertexInputAttributeDescription, binding})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkVertexInputAttributeDescription, binding}--instance {-# OVERLAPPING #-}-         CanWriteField "binding" VkVertexInputAttributeDescription where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkVertexInputAttributeDescription, binding}--instance {-# OVERLAPPING #-}-         HasField "format" VkVertexInputAttributeDescription where-        type FieldType "format" VkVertexInputAttributeDescription =-             VkFormat-        type FieldOptional "format" VkVertexInputAttributeDescription =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "format" VkVertexInputAttributeDescription =-             #{offset VkVertexInputAttributeDescription, format}-        type FieldIsArray "format" VkVertexInputAttributeDescription =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkVertexInputAttributeDescription, format}--instance {-# OVERLAPPING #-}-         CanReadField "format" VkVertexInputAttributeDescription where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkVertexInputAttributeDescription, format})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkVertexInputAttributeDescription, format}--instance {-# OVERLAPPING #-}-         CanWriteField "format" VkVertexInputAttributeDescription where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkVertexInputAttributeDescription, format}--instance {-# OVERLAPPING #-}-         HasField "offset" VkVertexInputAttributeDescription where-        type FieldType "offset" VkVertexInputAttributeDescription = Word32-        type FieldOptional "offset" VkVertexInputAttributeDescription =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "offset" VkVertexInputAttributeDescription =-             #{offset VkVertexInputAttributeDescription, offset}-        type FieldIsArray "offset" VkVertexInputAttributeDescription =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkVertexInputAttributeDescription, offset}--instance {-# OVERLAPPING #-}-         CanReadField "offset" VkVertexInputAttributeDescription where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkVertexInputAttributeDescription, offset})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkVertexInputAttributeDescription, offset}--instance {-# OVERLAPPING #-}-         CanWriteField "offset" VkVertexInputAttributeDescription where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkVertexInputAttributeDescription, offset}--instance Show VkVertexInputAttributeDescription where-        showsPrec d x-          = showString "VkVertexInputAttributeDescription {" .-              showString "location = " .-                showsPrec d (getField @"location" x) .-                  showString ", " .-                    showString "binding = " .-                      showsPrec d (getField @"binding" x) .-                        showString ", " .-                          showString "format = " .-                            showsPrec d (getField @"format" x) .-                              showString ", " .-                                showString "offset = " .-                                  showsPrec d (getField @"offset" x) . showChar '}'+    type StructRep VkVertexInputAttributeDescription =+         'StructMeta "VkVertexInputAttributeDescription" -- ' closing tick for hsc2hs+           VkVertexInputAttributeDescription+           #{size VkVertexInputAttributeDescription}+           #{alignment VkVertexInputAttributeDescription}+           '[('FieldMeta "location" Word32 'False  -- ' closing tick for hsc2hs+                                                  #{offset VkVertexInputAttributeDescription, location}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "binding" Word32 'False +                                                 #{offset VkVertexInputAttributeDescription, binding}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "format" VkFormat 'False +                                                  #{offset VkVertexInputAttributeDescription, format}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "offset" Word32 'False +                                                #{offset VkVertexInputAttributeDescription, offset}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | > typedef struct VkVertexInputBindingDescription { --   >     uint32_t               binding;@@ -227,155 +66,34 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkVertexInputBindingDescription VkVertexInputBindingDescription registry at www.khronos.org> type VkVertexInputBindingDescription =-     VulkanStruct VkVertexInputBindingDescription' -- ' closing tick for hsc2hs+     VkStruct VkVertexInputBindingDescription' -- ' closing tick for hsc2hs  data VkVertexInputBindingDescription' -- ' closing tick for hsc2hs -instance Eq VkVertexInputBindingDescription where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkVertexInputBindingDescription where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkVertexInputBindingDescription where-        sizeOf ~_ = #{size VkVertexInputBindingDescription}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkVertexInputBindingDescription}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkVertexInputBindingDescription where-        type StructFields VkVertexInputBindingDescription =-             '["binding", "stride", "inputRate"] -- ' closing tick for hsc2hs-        type CUnionType VkVertexInputBindingDescription = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkVertexInputBindingDescription = 'False -- ' closing tick for hsc2hs-        type StructExtends VkVertexInputBindingDescription = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "binding" VkVertexInputBindingDescription where-        type FieldType "binding" VkVertexInputBindingDescription = Word32-        type FieldOptional "binding" VkVertexInputBindingDescription =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "binding" VkVertexInputBindingDescription =-             #{offset VkVertexInputBindingDescription, binding}-        type FieldIsArray "binding" VkVertexInputBindingDescription =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkVertexInputBindingDescription, binding}--instance {-# OVERLAPPING #-}-         CanReadField "binding" VkVertexInputBindingDescription where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkVertexInputBindingDescription, binding})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkVertexInputBindingDescription, binding}--instance {-# OVERLAPPING #-}-         CanWriteField "binding" VkVertexInputBindingDescription where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkVertexInputBindingDescription, binding}--instance {-# OVERLAPPING #-}-         HasField "stride" VkVertexInputBindingDescription where-        type FieldType "stride" VkVertexInputBindingDescription = Word32-        type FieldOptional "stride" VkVertexInputBindingDescription =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "stride" VkVertexInputBindingDescription =-             #{offset VkVertexInputBindingDescription, stride}-        type FieldIsArray "stride" VkVertexInputBindingDescription = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkVertexInputBindingDescription, stride}--instance {-# OVERLAPPING #-}-         CanReadField "stride" VkVertexInputBindingDescription where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkVertexInputBindingDescription, stride})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkVertexInputBindingDescription, stride}--instance {-# OVERLAPPING #-}-         CanWriteField "stride" VkVertexInputBindingDescription where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkVertexInputBindingDescription, stride}--instance {-# OVERLAPPING #-}-         HasField "inputRate" VkVertexInputBindingDescription where-        type FieldType "inputRate" VkVertexInputBindingDescription =-             VkVertexInputRate-        type FieldOptional "inputRate" VkVertexInputBindingDescription =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "inputRate" VkVertexInputBindingDescription =-             #{offset VkVertexInputBindingDescription, inputRate}-        type FieldIsArray "inputRate" VkVertexInputBindingDescription =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkVertexInputBindingDescription, inputRate}--instance {-# OVERLAPPING #-}-         CanReadField "inputRate" VkVertexInputBindingDescription where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkVertexInputBindingDescription, inputRate})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkVertexInputBindingDescription, inputRate}--instance {-# OVERLAPPING #-}-         CanWriteField "inputRate" VkVertexInputBindingDescription where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkVertexInputBindingDescription, inputRate}--instance Show VkVertexInputBindingDescription where-        showsPrec d x-          = showString "VkVertexInputBindingDescription {" .-              showString "binding = " .-                showsPrec d (getField @"binding" x) .-                  showString ", " .-                    showString "stride = " .-                      showsPrec d (getField @"stride" x) .-                        showString ", " .-                          showString "inputRate = " .-                            showsPrec d (getField @"inputRate" x) . showChar '}'+    type StructRep VkVertexInputBindingDescription =+         'StructMeta "VkVertexInputBindingDescription" -- ' closing tick for hsc2hs+           VkVertexInputBindingDescription+           #{size VkVertexInputBindingDescription}+           #{alignment VkVertexInputBindingDescription}+           '[('FieldMeta "binding" Word32 'False  -- ' closing tick for hsc2hs+                                                 #{offset VkVertexInputBindingDescription, binding}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "stride" Word32 'False +                                                #{offset VkVertexInputBindingDescription, stride}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "inputRate" VkVertexInputRate 'False +                                                              #{offset VkVertexInputBindingDescription, inputRate}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | > typedef struct VkVertexInputBindingDivisorDescriptionEXT { --   >     uint32_t          binding;@@ -384,132 +102,27 @@ -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkVertexInputBindingDivisorDescriptionEXT VkVertexInputBindingDivisorDescriptionEXT registry at www.khronos.org> type VkVertexInputBindingDivisorDescriptionEXT =-     VulkanStruct VkVertexInputBindingDivisorDescriptionEXT' -- ' closing tick for hsc2hs+     VkStruct VkVertexInputBindingDivisorDescriptionEXT' -- ' closing tick for hsc2hs  data VkVertexInputBindingDivisorDescriptionEXT' -- ' closing tick for hsc2hs -instance Eq VkVertexInputBindingDivisorDescriptionEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkVertexInputBindingDivisorDescriptionEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkVertexInputBindingDivisorDescriptionEXT where-        sizeOf ~_-          = #{size VkVertexInputBindingDivisorDescriptionEXT}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkVertexInputBindingDivisorDescriptionEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkVertexInputBindingDivisorDescriptionEXT          where-        type StructFields VkVertexInputBindingDivisorDescriptionEXT =-             '["binding", "divisor"] -- ' closing tick for hsc2hs-        type CUnionType VkVertexInputBindingDivisorDescriptionEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkVertexInputBindingDivisorDescriptionEXT =-             'False -- ' closing tick for hsc2hs-        type StructExtends VkVertexInputBindingDivisorDescriptionEXT = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasField "binding" VkVertexInputBindingDivisorDescriptionEXT where-        type FieldType "binding" VkVertexInputBindingDivisorDescriptionEXT-             = Word32-        type FieldOptional "binding"-               VkVertexInputBindingDivisorDescriptionEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "binding"-               VkVertexInputBindingDivisorDescriptionEXT-             =-             #{offset VkVertexInputBindingDivisorDescriptionEXT, binding}-        type FieldIsArray "binding"-               VkVertexInputBindingDivisorDescriptionEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkVertexInputBindingDivisorDescriptionEXT, binding}--instance {-# OVERLAPPING #-}-         CanReadField "binding" VkVertexInputBindingDivisorDescriptionEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkVertexInputBindingDivisorDescriptionEXT, binding})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkVertexInputBindingDivisorDescriptionEXT, binding}--instance {-# OVERLAPPING #-}-         CanWriteField "binding" VkVertexInputBindingDivisorDescriptionEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkVertexInputBindingDivisorDescriptionEXT, binding}--instance {-# OVERLAPPING #-}-         HasField "divisor" VkVertexInputBindingDivisorDescriptionEXT where-        type FieldType "divisor" VkVertexInputBindingDivisorDescriptionEXT-             = Word32-        type FieldOptional "divisor"-               VkVertexInputBindingDivisorDescriptionEXT-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "divisor"-               VkVertexInputBindingDivisorDescriptionEXT-             =-             #{offset VkVertexInputBindingDivisorDescriptionEXT, divisor}-        type FieldIsArray "divisor"-               VkVertexInputBindingDivisorDescriptionEXT-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkVertexInputBindingDivisorDescriptionEXT, divisor}--instance {-# OVERLAPPING #-}-         CanReadField "divisor" VkVertexInputBindingDivisorDescriptionEXT-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkVertexInputBindingDivisorDescriptionEXT, divisor})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkVertexInputBindingDivisorDescriptionEXT, divisor}--instance {-# OVERLAPPING #-}-         CanWriteField "divisor" VkVertexInputBindingDivisorDescriptionEXT-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkVertexInputBindingDivisorDescriptionEXT, divisor}--instance Show VkVertexInputBindingDivisorDescriptionEXT where-        showsPrec d x-          = showString "VkVertexInputBindingDivisorDescriptionEXT {" .-              showString "binding = " .-                showsPrec d (getField @"binding" x) .-                  showString ", " .-                    showString "divisor = " .-                      showsPrec d (getField @"divisor" x) . showChar '}'+    type StructRep VkVertexInputBindingDivisorDescriptionEXT =+         'StructMeta "VkVertexInputBindingDivisorDescriptionEXT" -- ' closing tick for hsc2hs+           VkVertexInputBindingDivisorDescriptionEXT+           #{size VkVertexInputBindingDivisorDescriptionEXT}+           #{alignment VkVertexInputBindingDivisorDescriptionEXT}+           '[('FieldMeta "binding" Word32 'False  -- ' closing tick for hsc2hs+                                                 #{offset VkVertexInputBindingDivisorDescriptionEXT, binding}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "divisor" Word32 'False +                                                 #{offset VkVertexInputBindingDivisorDescriptionEXT, divisor}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/Viewport.hsc view
@@ -2,20 +2,14 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.Viewport-       (VkViewport, VkViewport', VkViewportSwizzleNV, -- ' closing tick for hsc2hs-        VkViewportSwizzleNV', VkViewportWScalingNV, VkViewportWScalingNV')-       where-import Foreign.Storable                                       (Storable (..))+       (VkViewport, VkViewportSwizzleNV, VkViewportWScalingNV) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.ViewportCoordinateSwizzleNV (VkViewportCoordinateSwizzleNV)-import System.IO.Unsafe                                       (unsafeDupablePerformIO)  -- | > typedef struct VkViewport { --   >     float          x;@@ -27,229 +21,60 @@ --   > } VkViewport; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkViewport VkViewport registry at www.khronos.org>-type VkViewport = VulkanStruct VkViewport' -- ' closing tick for hsc2hs+type VkViewport = VkStruct VkViewport' -- ' closing tick for hsc2hs  data VkViewport' -- ' closing tick for hsc2hs -instance Eq VkViewport where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkViewport where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkViewport where-        sizeOf ~_ = #{size VkViewport}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkViewport}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkViewport where-        type StructFields VkViewport =-             '["x", "y", "width", "height", "minDepth", "maxDepth"] -- ' closing tick for hsc2hs-        type CUnionType VkViewport = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkViewport = 'False -- ' closing tick for hsc2hs-        type StructExtends VkViewport = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "x" VkViewport where-        type FieldType "x" VkViewport = #{type float}-        type FieldOptional "x" VkViewport = 'False -- ' closing tick for hsc2hs-        type FieldOffset "x" VkViewport =-             #{offset VkViewport, x}-        type FieldIsArray "x" VkViewport = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkViewport, x}--instance {-# OVERLAPPING #-} CanReadField "x" VkViewport where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkViewport, x})--        {-# INLINE readField #-}-        readField p = peekByteOff p #{offset VkViewport, x}--instance {-# OVERLAPPING #-} CanWriteField "x" VkViewport where-        {-# INLINE writeField #-}-        writeField p = pokeByteOff p #{offset VkViewport, x}--instance {-# OVERLAPPING #-} HasField "y" VkViewport where-        type FieldType "y" VkViewport = #{type float}-        type FieldOptional "y" VkViewport = 'False -- ' closing tick for hsc2hs-        type FieldOffset "y" VkViewport =-             #{offset VkViewport, y}-        type FieldIsArray "y" VkViewport = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkViewport, y}--instance {-# OVERLAPPING #-} CanReadField "y" VkViewport where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkViewport, y})--        {-# INLINE readField #-}-        readField p = peekByteOff p #{offset VkViewport, y}--instance {-# OVERLAPPING #-} CanWriteField "y" VkViewport where-        {-# INLINE writeField #-}-        writeField p = pokeByteOff p #{offset VkViewport, y}--instance {-# OVERLAPPING #-} HasField "width" VkViewport where-        type FieldType "width" VkViewport = #{type float}-        type FieldOptional "width" VkViewport = 'False -- ' closing tick for hsc2hs-        type FieldOffset "width" VkViewport =-             #{offset VkViewport, width}-        type FieldIsArray "width" VkViewport = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkViewport, width}--instance {-# OVERLAPPING #-} CanReadField "width" VkViewport where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkViewport, width})--        {-# INLINE readField #-}-        readField p = peekByteOff p #{offset VkViewport, width}--instance {-# OVERLAPPING #-} CanWriteField "width" VkViewport where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkViewport, width}--instance {-# OVERLAPPING #-} HasField "height" VkViewport where-        type FieldType "height" VkViewport = #{type float}-        type FieldOptional "height" VkViewport = 'False -- ' closing tick for hsc2hs-        type FieldOffset "height" VkViewport =-             #{offset VkViewport, height}-        type FieldIsArray "height" VkViewport = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkViewport, height}--instance {-# OVERLAPPING #-} CanReadField "height" VkViewport where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkViewport, height})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkViewport, height}--instance {-# OVERLAPPING #-} CanWriteField "height" VkViewport-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkViewport, height}--instance {-# OVERLAPPING #-} HasField "minDepth" VkViewport where-        type FieldType "minDepth" VkViewport = #{type float}-        type FieldOptional "minDepth" VkViewport = 'False -- ' closing tick for hsc2hs-        type FieldOffset "minDepth" VkViewport =-             #{offset VkViewport, minDepth}-        type FieldIsArray "minDepth" VkViewport = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkViewport, minDepth}--instance {-# OVERLAPPING #-} CanReadField "minDepth" VkViewport-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkViewport, minDepth})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkViewport, minDepth}--instance {-# OVERLAPPING #-} CanWriteField "minDepth" VkViewport-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkViewport, minDepth}--instance {-# OVERLAPPING #-} HasField "maxDepth" VkViewport where-        type FieldType "maxDepth" VkViewport = #{type float}-        type FieldOptional "maxDepth" VkViewport = 'False -- ' closing tick for hsc2hs-        type FieldOffset "maxDepth" VkViewport =-             #{offset VkViewport, maxDepth}-        type FieldIsArray "maxDepth" VkViewport = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkViewport, maxDepth}--instance {-# OVERLAPPING #-} CanReadField "maxDepth" VkViewport-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkViewport, maxDepth})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkViewport, maxDepth}--instance {-# OVERLAPPING #-} CanWriteField "maxDepth" VkViewport-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkViewport, maxDepth}--instance Show VkViewport where-        showsPrec d x-          = showString "VkViewport {" .-              showString "x = " .-                showsPrec d (getField @"x" x) .-                  showString ", " .-                    showString "y = " .-                      showsPrec d (getField @"y" x) .-                        showString ", " .-                          showString "width = " .-                            showsPrec d (getField @"width" x) .-                              showString ", " .-                                showString "height = " .-                                  showsPrec d (getField @"height" x) .-                                    showString ", " .-                                      showString "minDepth = " .-                                        showsPrec d (getField @"minDepth" x) .-                                          showString ", " .-                                            showString "maxDepth = " .-                                              showsPrec d (getField @"maxDepth" x) . showChar '}'+    type StructRep VkViewport =+         'StructMeta "VkViewport" VkViewport  -- ' closing tick for hsc2hs+                                             #{size VkViewport}+           #{alignment VkViewport}+           '[('FieldMeta "x" (+                              #{type float}+                              ) 'False  -- ' closing tick for hsc2hs+                                       #{offset VkViewport, x}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "y" ( -- ' closing tick for hsc2hs+                              #{type float}+                              ) 'False  -- ' closing tick for hsc2hs+                                       #{offset VkViewport, y}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "width" ( -- ' closing tick for hsc2hs+                                  #{type float}+                                  ) 'False  -- ' closing tick for hsc2hs+                                           #{offset VkViewport, width}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "height" ( -- ' closing tick for hsc2hs+                                   #{type float}+                                   ) 'False  -- ' closing tick for hsc2hs+                                            #{offset VkViewport, height}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "minDepth" ( -- ' closing tick for hsc2hs+                                     #{type float}+                                     ) 'False  -- ' closing tick for hsc2hs+                                              #{offset VkViewport, minDepth}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "maxDepth" ( -- ' closing tick for hsc2hs+                                     #{type float}+                                     ) 'False  -- ' closing tick for hsc2hs+                                              #{offset VkViewport, maxDepth}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | > typedef struct VkViewportSwizzleNV { --   >     VkViewportCoordinateSwizzleNV          x;@@ -259,177 +84,38 @@ --   > } VkViewportSwizzleNV; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkViewportSwizzleNV VkViewportSwizzleNV registry at www.khronos.org>-type VkViewportSwizzleNV = VulkanStruct VkViewportSwizzleNV' -- ' closing tick for hsc2hs+type VkViewportSwizzleNV = VkStruct VkViewportSwizzleNV' -- ' closing tick for hsc2hs  data VkViewportSwizzleNV' -- ' closing tick for hsc2hs -instance Eq VkViewportSwizzleNV where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkViewportSwizzleNV where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkViewportSwizzleNV where-        sizeOf ~_ = #{size VkViewportSwizzleNV}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkViewportSwizzleNV}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkViewportSwizzleNV where-        type StructFields VkViewportSwizzleNV = '["x", "y", "z", "w"] -- ' closing tick for hsc2hs-        type CUnionType VkViewportSwizzleNV = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkViewportSwizzleNV = 'False -- ' closing tick for hsc2hs-        type StructExtends VkViewportSwizzleNV = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "x" VkViewportSwizzleNV where-        type FieldType "x" VkViewportSwizzleNV =-             VkViewportCoordinateSwizzleNV-        type FieldOptional "x" VkViewportSwizzleNV = 'False -- ' closing tick for hsc2hs-        type FieldOffset "x" VkViewportSwizzleNV =-             #{offset VkViewportSwizzleNV, x}-        type FieldIsArray "x" VkViewportSwizzleNV = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkViewportSwizzleNV, x}--instance {-# OVERLAPPING #-} CanReadField "x" VkViewportSwizzleNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkViewportSwizzleNV, x})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkViewportSwizzleNV, x}--instance {-# OVERLAPPING #-} CanWriteField "x" VkViewportSwizzleNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkViewportSwizzleNV, x}--instance {-# OVERLAPPING #-} HasField "y" VkViewportSwizzleNV where-        type FieldType "y" VkViewportSwizzleNV =-             VkViewportCoordinateSwizzleNV-        type FieldOptional "y" VkViewportSwizzleNV = 'False -- ' closing tick for hsc2hs-        type FieldOffset "y" VkViewportSwizzleNV =-             #{offset VkViewportSwizzleNV, y}-        type FieldIsArray "y" VkViewportSwizzleNV = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkViewportSwizzleNV, y}--instance {-# OVERLAPPING #-} CanReadField "y" VkViewportSwizzleNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkViewportSwizzleNV, y})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkViewportSwizzleNV, y}--instance {-# OVERLAPPING #-} CanWriteField "y" VkViewportSwizzleNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkViewportSwizzleNV, y}--instance {-# OVERLAPPING #-} HasField "z" VkViewportSwizzleNV where-        type FieldType "z" VkViewportSwizzleNV =-             VkViewportCoordinateSwizzleNV-        type FieldOptional "z" VkViewportSwizzleNV = 'False -- ' closing tick for hsc2hs-        type FieldOffset "z" VkViewportSwizzleNV =-             #{offset VkViewportSwizzleNV, z}-        type FieldIsArray "z" VkViewportSwizzleNV = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkViewportSwizzleNV, z}--instance {-# OVERLAPPING #-} CanReadField "z" VkViewportSwizzleNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkViewportSwizzleNV, z})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkViewportSwizzleNV, z}--instance {-# OVERLAPPING #-} CanWriteField "z" VkViewportSwizzleNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkViewportSwizzleNV, z}--instance {-# OVERLAPPING #-} HasField "w" VkViewportSwizzleNV where-        type FieldType "w" VkViewportSwizzleNV =-             VkViewportCoordinateSwizzleNV-        type FieldOptional "w" VkViewportSwizzleNV = 'False -- ' closing tick for hsc2hs-        type FieldOffset "w" VkViewportSwizzleNV =-             #{offset VkViewportSwizzleNV, w}-        type FieldIsArray "w" VkViewportSwizzleNV = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkViewportSwizzleNV, w}--instance {-# OVERLAPPING #-} CanReadField "w" VkViewportSwizzleNV-         where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkViewportSwizzleNV, w})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkViewportSwizzleNV, w}--instance {-# OVERLAPPING #-} CanWriteField "w" VkViewportSwizzleNV-         where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkViewportSwizzleNV, w}--instance Show VkViewportSwizzleNV where-        showsPrec d x-          = showString "VkViewportSwizzleNV {" .-              showString "x = " .-                showsPrec d (getField @"x" x) .-                  showString ", " .-                    showString "y = " .-                      showsPrec d (getField @"y" x) .-                        showString ", " .-                          showString "z = " .-                            showsPrec d (getField @"z" x) .-                              showString ", " .-                                showString "w = " . showsPrec d (getField @"w" x) . showChar '}'+    type StructRep VkViewportSwizzleNV =+         'StructMeta "VkViewportSwizzleNV" VkViewportSwizzleNV  -- ' closing tick for hsc2hs+                                                               #{size VkViewportSwizzleNV}+           #{alignment VkViewportSwizzleNV}+           '[('FieldMeta "x" VkViewportCoordinateSwizzleNV 'False  -- ' closing tick for hsc2hs+                                                                  #{offset VkViewportSwizzleNV, x}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "y" VkViewportCoordinateSwizzleNV 'False +                                                                  #{offset VkViewportSwizzleNV, y}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "z" VkViewportCoordinateSwizzleNV 'False +                                                                  #{offset VkViewportSwizzleNV, z}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "w" VkViewportCoordinateSwizzleNV 'False +                                                                  #{offset VkViewportSwizzleNV, w}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs  -- | > typedef struct VkViewportWScalingNV { --   >     float          xcoeff;@@ -437,109 +123,29 @@ --   > } VkViewportWScalingNV; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkViewportWScalingNV VkViewportWScalingNV registry at www.khronos.org>-type VkViewportWScalingNV = VulkanStruct VkViewportWScalingNV' -- ' closing tick for hsc2hs+type VkViewportWScalingNV = VkStruct VkViewportWScalingNV' -- ' closing tick for hsc2hs  data VkViewportWScalingNV' -- ' closing tick for hsc2hs -instance Eq VkViewportWScalingNV where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkViewportWScalingNV where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkViewportWScalingNV where-        sizeOf ~_ = #{size VkViewportWScalingNV}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkViewportWScalingNV}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkViewportWScalingNV where-        type StructFields VkViewportWScalingNV = '["xcoeff", "ycoeff"] -- ' closing tick for hsc2hs-        type CUnionType VkViewportWScalingNV = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkViewportWScalingNV = 'False -- ' closing tick for hsc2hs-        type StructExtends VkViewportWScalingNV = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "xcoeff" VkViewportWScalingNV-         where-        type FieldType "xcoeff" VkViewportWScalingNV =-             #{type float}-        type FieldOptional "xcoeff" VkViewportWScalingNV = 'False -- ' closing tick for hsc2hs-        type FieldOffset "xcoeff" VkViewportWScalingNV =-             #{offset VkViewportWScalingNV, xcoeff}-        type FieldIsArray "xcoeff" VkViewportWScalingNV = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkViewportWScalingNV, xcoeff}--instance {-# OVERLAPPING #-}-         CanReadField "xcoeff" VkViewportWScalingNV where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkViewportWScalingNV, xcoeff})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkViewportWScalingNV, xcoeff}--instance {-# OVERLAPPING #-}-         CanWriteField "xcoeff" VkViewportWScalingNV where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkViewportWScalingNV, xcoeff}--instance {-# OVERLAPPING #-} HasField "ycoeff" VkViewportWScalingNV-         where-        type FieldType "ycoeff" VkViewportWScalingNV =-             #{type float}-        type FieldOptional "ycoeff" VkViewportWScalingNV = 'False -- ' closing tick for hsc2hs-        type FieldOffset "ycoeff" VkViewportWScalingNV =-             #{offset VkViewportWScalingNV, ycoeff}-        type FieldIsArray "ycoeff" VkViewportWScalingNV = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkViewportWScalingNV, ycoeff}--instance {-# OVERLAPPING #-}-         CanReadField "ycoeff" VkViewportWScalingNV where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkViewportWScalingNV, ycoeff})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkViewportWScalingNV, ycoeff}--instance {-# OVERLAPPING #-}-         CanWriteField "ycoeff" VkViewportWScalingNV where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkViewportWScalingNV, ycoeff}--instance Show VkViewportWScalingNV where-        showsPrec d x-          = showString "VkViewportWScalingNV {" .-              showString "xcoeff = " .-                showsPrec d (getField @"xcoeff" x) .-                  showString ", " .-                    showString "ycoeff = " .-                      showsPrec d (getField @"ycoeff" x) . showChar '}'+    type StructRep VkViewportWScalingNV =+         'StructMeta "VkViewportWScalingNV" VkViewportWScalingNV  -- ' closing tick for hsc2hs+                                                                 #{size VkViewportWScalingNV}+           #{alignment VkViewportWScalingNV}+           '[('FieldMeta "xcoeff" (+                                   #{type float}+                                   ) 'False  -- ' closing tick for hsc2hs+                                            #{offset VkViewportWScalingNV, xcoeff}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "ycoeff" ( -- ' closing tick for hsc2hs+                                   #{type float}+                                   ) 'False  -- ' closing tick for hsc2hs+                                            #{offset VkViewportWScalingNV, ycoeff}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/WriteDescriptorSet.hsc view
@@ -2,14 +2,11 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.WriteDescriptorSet-       (VkWriteDescriptorSet, VkWriteDescriptorSet') where -- ' closing tick for hsc2hs-import Foreign.Storable                         (Storable (..))+       (VkWriteDescriptorSet) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.Descriptor    (VkDescriptorType)@@ -17,7 +14,6 @@ import Graphics.Vulkan.Types.Handles            (VkBufferView, VkDescriptorSet) import Graphics.Vulkan.Types.Struct.Descriptor  (VkDescriptorBufferInfo,                                                  VkDescriptorImageInfo)-import System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkWriteDescriptorSet { --   >     VkStructureType sType;@@ -33,400 +29,65 @@ --   > } VkWriteDescriptorSet; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkWriteDescriptorSet VkWriteDescriptorSet registry at www.khronos.org>-type VkWriteDescriptorSet = VulkanStruct VkWriteDescriptorSet' -- ' closing tick for hsc2hs+type VkWriteDescriptorSet = VkStruct VkWriteDescriptorSet' -- ' closing tick for hsc2hs  data VkWriteDescriptorSet' -- ' closing tick for hsc2hs -instance Eq VkWriteDescriptorSet where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkWriteDescriptorSet where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkWriteDescriptorSet where-        sizeOf ~_ = #{size VkWriteDescriptorSet}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkWriteDescriptorSet}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkWriteDescriptorSet where-        type StructFields VkWriteDescriptorSet =-             '["sType", "pNext", "dstSet", "dstBinding", "dstArrayElement", -- ' closing tick for hsc2hs-               "descriptorCount", "descriptorType", "pImageInfo", "pBufferInfo",-               "pTexelBufferView"]-        type CUnionType VkWriteDescriptorSet = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkWriteDescriptorSet = 'False -- ' closing tick for hsc2hs-        type StructExtends VkWriteDescriptorSet = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "sType" VkWriteDescriptorSet-         where-        type FieldType "sType" VkWriteDescriptorSet = VkStructureType-        type FieldOptional "sType" VkWriteDescriptorSet = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkWriteDescriptorSet =-             #{offset VkWriteDescriptorSet, sType}-        type FieldIsArray "sType" VkWriteDescriptorSet = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkWriteDescriptorSet, sType}--instance {-# OVERLAPPING #-}-         CanReadField "sType" VkWriteDescriptorSet where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWriteDescriptorSet, sType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWriteDescriptorSet, sType}--instance {-# OVERLAPPING #-}-         CanWriteField "sType" VkWriteDescriptorSet where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWriteDescriptorSet, sType}--instance {-# OVERLAPPING #-} HasField "pNext" VkWriteDescriptorSet-         where-        type FieldType "pNext" VkWriteDescriptorSet = Ptr Void-        type FieldOptional "pNext" VkWriteDescriptorSet = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkWriteDescriptorSet =-             #{offset VkWriteDescriptorSet, pNext}-        type FieldIsArray "pNext" VkWriteDescriptorSet = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkWriteDescriptorSet, pNext}--instance {-# OVERLAPPING #-}-         CanReadField "pNext" VkWriteDescriptorSet where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWriteDescriptorSet, pNext})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWriteDescriptorSet, pNext}--instance {-# OVERLAPPING #-}-         CanWriteField "pNext" VkWriteDescriptorSet where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWriteDescriptorSet, pNext}--instance {-# OVERLAPPING #-} HasField "dstSet" VkWriteDescriptorSet-         where-        type FieldType "dstSet" VkWriteDescriptorSet = VkDescriptorSet-        type FieldOptional "dstSet" VkWriteDescriptorSet = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dstSet" VkWriteDescriptorSet =-             #{offset VkWriteDescriptorSet, dstSet}-        type FieldIsArray "dstSet" VkWriteDescriptorSet = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkWriteDescriptorSet, dstSet}--instance {-# OVERLAPPING #-}-         CanReadField "dstSet" VkWriteDescriptorSet where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWriteDescriptorSet, dstSet})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWriteDescriptorSet, dstSet}--instance {-# OVERLAPPING #-}-         CanWriteField "dstSet" VkWriteDescriptorSet where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWriteDescriptorSet, dstSet}--instance {-# OVERLAPPING #-}-         HasField "dstBinding" VkWriteDescriptorSet where-        type FieldType "dstBinding" VkWriteDescriptorSet = Word32-        type FieldOptional "dstBinding" VkWriteDescriptorSet = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dstBinding" VkWriteDescriptorSet =-             #{offset VkWriteDescriptorSet, dstBinding}-        type FieldIsArray "dstBinding" VkWriteDescriptorSet = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWriteDescriptorSet, dstBinding}--instance {-# OVERLAPPING #-}-         CanReadField "dstBinding" VkWriteDescriptorSet where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWriteDescriptorSet, dstBinding})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWriteDescriptorSet, dstBinding}--instance {-# OVERLAPPING #-}-         CanWriteField "dstBinding" VkWriteDescriptorSet where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWriteDescriptorSet, dstBinding}--instance {-# OVERLAPPING #-}-         HasField "dstArrayElement" VkWriteDescriptorSet where-        type FieldType "dstArrayElement" VkWriteDescriptorSet = Word32-        type FieldOptional "dstArrayElement" VkWriteDescriptorSet = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dstArrayElement" VkWriteDescriptorSet =-             #{offset VkWriteDescriptorSet, dstArrayElement}-        type FieldIsArray "dstArrayElement" VkWriteDescriptorSet = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWriteDescriptorSet, dstArrayElement}--instance {-# OVERLAPPING #-}-         CanReadField "dstArrayElement" VkWriteDescriptorSet where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWriteDescriptorSet, dstArrayElement})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWriteDescriptorSet, dstArrayElement}--instance {-# OVERLAPPING #-}-         CanWriteField "dstArrayElement" VkWriteDescriptorSet where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWriteDescriptorSet, dstArrayElement}--instance {-# OVERLAPPING #-}-         HasField "descriptorCount" VkWriteDescriptorSet where-        type FieldType "descriptorCount" VkWriteDescriptorSet = Word32-        type FieldOptional "descriptorCount" VkWriteDescriptorSet = 'False -- ' closing tick for hsc2hs-        type FieldOffset "descriptorCount" VkWriteDescriptorSet =-             #{offset VkWriteDescriptorSet, descriptorCount}-        type FieldIsArray "descriptorCount" VkWriteDescriptorSet = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWriteDescriptorSet, descriptorCount}--instance {-# OVERLAPPING #-}-         CanReadField "descriptorCount" VkWriteDescriptorSet where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWriteDescriptorSet, descriptorCount})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWriteDescriptorSet, descriptorCount}--instance {-# OVERLAPPING #-}-         CanWriteField "descriptorCount" VkWriteDescriptorSet where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWriteDescriptorSet, descriptorCount}--instance {-# OVERLAPPING #-}-         HasField "descriptorType" VkWriteDescriptorSet where-        type FieldType "descriptorType" VkWriteDescriptorSet =-             VkDescriptorType-        type FieldOptional "descriptorType" VkWriteDescriptorSet = 'False -- ' closing tick for hsc2hs-        type FieldOffset "descriptorType" VkWriteDescriptorSet =-             #{offset VkWriteDescriptorSet, descriptorType}-        type FieldIsArray "descriptorType" VkWriteDescriptorSet = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWriteDescriptorSet, descriptorType}--instance {-# OVERLAPPING #-}-         CanReadField "descriptorType" VkWriteDescriptorSet where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWriteDescriptorSet, descriptorType})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWriteDescriptorSet, descriptorType}--instance {-# OVERLAPPING #-}-         CanWriteField "descriptorType" VkWriteDescriptorSet where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWriteDescriptorSet, descriptorType}--instance {-# OVERLAPPING #-}-         HasField "pImageInfo" VkWriteDescriptorSet where-        type FieldType "pImageInfo" VkWriteDescriptorSet =-             Ptr VkDescriptorImageInfo-        type FieldOptional "pImageInfo" VkWriteDescriptorSet = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pImageInfo" VkWriteDescriptorSet =-             #{offset VkWriteDescriptorSet, pImageInfo}-        type FieldIsArray "pImageInfo" VkWriteDescriptorSet = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWriteDescriptorSet, pImageInfo}--instance {-# OVERLAPPING #-}-         CanReadField "pImageInfo" VkWriteDescriptorSet where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWriteDescriptorSet, pImageInfo})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWriteDescriptorSet, pImageInfo}--instance {-# OVERLAPPING #-}-         CanWriteField "pImageInfo" VkWriteDescriptorSet where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWriteDescriptorSet, pImageInfo}--instance {-# OVERLAPPING #-}-         HasField "pBufferInfo" VkWriteDescriptorSet where-        type FieldType "pBufferInfo" VkWriteDescriptorSet =-             Ptr VkDescriptorBufferInfo-        type FieldOptional "pBufferInfo" VkWriteDescriptorSet = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pBufferInfo" VkWriteDescriptorSet =-             #{offset VkWriteDescriptorSet, pBufferInfo}-        type FieldIsArray "pBufferInfo" VkWriteDescriptorSet = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWriteDescriptorSet, pBufferInfo}--instance {-# OVERLAPPING #-}-         CanReadField "pBufferInfo" VkWriteDescriptorSet where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWriteDescriptorSet, pBufferInfo})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWriteDescriptorSet, pBufferInfo}--instance {-# OVERLAPPING #-}-         CanWriteField "pBufferInfo" VkWriteDescriptorSet where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWriteDescriptorSet, pBufferInfo}--instance {-# OVERLAPPING #-}-         HasField "pTexelBufferView" VkWriteDescriptorSet where-        type FieldType "pTexelBufferView" VkWriteDescriptorSet =-             Ptr VkBufferView-        type FieldOptional "pTexelBufferView" VkWriteDescriptorSet = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pTexelBufferView" VkWriteDescriptorSet =-             #{offset VkWriteDescriptorSet, pTexelBufferView}-        type FieldIsArray "pTexelBufferView" VkWriteDescriptorSet = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkWriteDescriptorSet, pTexelBufferView}--instance {-# OVERLAPPING #-}-         CanReadField "pTexelBufferView" VkWriteDescriptorSet where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkWriteDescriptorSet, pTexelBufferView})--        {-# INLINE readField #-}-        readField p-          = peekByteOff p #{offset VkWriteDescriptorSet, pTexelBufferView}--instance {-# OVERLAPPING #-}-         CanWriteField "pTexelBufferView" VkWriteDescriptorSet where-        {-# INLINE writeField #-}-        writeField p-          = pokeByteOff p #{offset VkWriteDescriptorSet, pTexelBufferView}--instance Show VkWriteDescriptorSet where-        showsPrec d x-          = showString "VkWriteDescriptorSet {" .-              showString "sType = " .-                showsPrec d (getField @"sType" x) .-                  showString ", " .-                    showString "pNext = " .-                      showsPrec d (getField @"pNext" x) .-                        showString ", " .-                          showString "dstSet = " .-                            showsPrec d (getField @"dstSet" x) .-                              showString ", " .-                                showString "dstBinding = " .-                                  showsPrec d (getField @"dstBinding" x) .-                                    showString ", " .-                                      showString "dstArrayElement = " .-                                        showsPrec d (getField @"dstArrayElement" x) .-                                          showString ", " .-                                            showString "descriptorCount = " .-                                              showsPrec d (getField @"descriptorCount" x) .-                                                showString ", " .-                                                  showString "descriptorType = " .-                                                    showsPrec d (getField @"descriptorType" x) .-                                                      showString ", " .-                                                        showString "pImageInfo = " .-                                                          showsPrec d (getField @"pImageInfo" x) .-                                                            showString ", " .-                                                              showString "pBufferInfo = " .-                                                                showsPrec d-                                                                  (getField @"pBufferInfo" x)-                                                                  .-                                                                  showString ", " .-                                                                    showString "pTexelBufferView = "-                                                                      .-                                                                      showsPrec d-                                                                        (getField-                                                                           @"pTexelBufferView"-                                                                           x)-                                                                        . showChar '}'+    type StructRep VkWriteDescriptorSet =+         'StructMeta "VkWriteDescriptorSet" VkWriteDescriptorSet  -- ' closing tick for hsc2hs+                                                                 #{size VkWriteDescriptorSet}+           #{alignment VkWriteDescriptorSet}+           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs+                                                        #{offset VkWriteDescriptorSet, sType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pNext" (Ptr Void) 'False +                                                   #{offset VkWriteDescriptorSet, pNext}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dstSet" VkDescriptorSet 'False +                                                         #{offset VkWriteDescriptorSet, dstSet}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dstBinding" Word32 'False +                                                    #{offset VkWriteDescriptorSet, dstBinding}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "dstArrayElement" Word32 'False +                                                         #{offset VkWriteDescriptorSet, dstArrayElement}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "descriptorCount" Word32 'False +                                                         #{offset VkWriteDescriptorSet, descriptorCount}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "descriptorType" VkDescriptorType 'False +                                                                  #{offset VkWriteDescriptorSet, descriptorType}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pImageInfo" (Ptr VkDescriptorImageInfo) 'False+                #{offset VkWriteDescriptorSet, pImageInfo}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pBufferInfo" (Ptr VkDescriptorBufferInfo) 'False+                #{offset VkWriteDescriptorSet, pBufferInfo}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "pTexelBufferView" (Ptr VkBufferView) 'False +                                                                      #{offset VkWriteDescriptorSet, pTexelBufferView}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src-gen/Graphics/Vulkan/Types/Struct/XYColorEXT.hsc view
@@ -2,17 +2,12 @@  {-# LANGUAGE DataKinds             #-} {-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.XYColorEXT-       (VkXYColorEXT, VkXYColorEXT') where -- ' closing tick for hsc2hs-import Foreign.Storable                 (Storable (..))+module Graphics.Vulkan.Types.Struct.XYColorEXT (VkXYColorEXT) where import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal-import System.IO.Unsafe                 (unsafeDupablePerformIO)  -- | Chromaticity coordinate --@@ -22,96 +17,29 @@ --   > } VkXYColorEXT; -- --   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkXYColorEXT VkXYColorEXT registry at www.khronos.org>-type VkXYColorEXT = VulkanStruct VkXYColorEXT' -- ' closing tick for hsc2hs+type VkXYColorEXT = VkStruct VkXYColorEXT' -- ' closing tick for hsc2hs  data VkXYColorEXT' -- ' closing tick for hsc2hs -instance Eq VkXYColorEXT where-        a == b = EQ == cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE (==) #-}--instance Ord VkXYColorEXT where-        compare a b = cmpBytes## (sizeOf a) (unsafeAddr a) (unsafeAddr b)--        {-# INLINE compare #-}--instance Storable VkXYColorEXT where-        sizeOf ~_ = #{size VkXYColorEXT}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkXYColorEXT}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}- instance VulkanMarshal VkXYColorEXT where-        type StructFields VkXYColorEXT = '["x", "y"] -- ' closing tick for hsc2hs-        type CUnionType VkXYColorEXT = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkXYColorEXT = 'False -- ' closing tick for hsc2hs-        type StructExtends VkXYColorEXT = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasField "x" VkXYColorEXT where-        type FieldType "x" VkXYColorEXT = #{type float}-        type FieldOptional "x" VkXYColorEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "x" VkXYColorEXT =-             #{offset VkXYColorEXT, x}-        type FieldIsArray "x" VkXYColorEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkXYColorEXT, x}--instance {-# OVERLAPPING #-} CanReadField "x" VkXYColorEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkXYColorEXT, x})--        {-# INLINE readField #-}-        readField p = peekByteOff p #{offset VkXYColorEXT, x}--instance {-# OVERLAPPING #-} CanWriteField "x" VkXYColorEXT where-        {-# INLINE writeField #-}-        writeField p = pokeByteOff p #{offset VkXYColorEXT, x}--instance {-# OVERLAPPING #-} HasField "y" VkXYColorEXT where-        type FieldType "y" VkXYColorEXT = #{type float}-        type FieldOptional "y" VkXYColorEXT = 'False -- ' closing tick for hsc2hs-        type FieldOffset "y" VkXYColorEXT =-             #{offset VkXYColorEXT, y}-        type FieldIsArray "y" VkXYColorEXT = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkXYColorEXT, y}--instance {-# OVERLAPPING #-} CanReadField "y" VkXYColorEXT where-        {-# NOINLINE getField #-}-        getField x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkXYColorEXT, y})--        {-# INLINE readField #-}-        readField p = peekByteOff p #{offset VkXYColorEXT, y}--instance {-# OVERLAPPING #-} CanWriteField "y" VkXYColorEXT where-        {-# INLINE writeField #-}-        writeField p = pokeByteOff p #{offset VkXYColorEXT, y}--instance Show VkXYColorEXT where-        showsPrec d x-          = showString "VkXYColorEXT {" .-              showString "x = " .-                showsPrec d (getField @"x" x) .-                  showString ", " .-                    showString "y = " . showsPrec d (getField @"y" x) . showChar '}'+    type StructRep VkXYColorEXT =+         'StructMeta "VkXYColorEXT" VkXYColorEXT  -- ' closing tick for hsc2hs+                                                 #{size VkXYColorEXT}+           #{alignment VkXYColorEXT}+           '[('FieldMeta "x" (+                              #{type float}+                              ) 'False  -- ' closing tick for hsc2hs+                                       #{offset VkXYColorEXT, x}+                1+                'True -- ' closing tick for hsc2hs+                'True), -- ' closing tick for hsc2hs+             ('FieldMeta "y" ( -- ' closing tick for hsc2hs+                              #{type float}+                              ) 'False  -- ' closing tick for hsc2hs+                                       #{offset VkXYColorEXT, y}+                1+                'True -- ' closing tick for hsc2hs+                'True)] -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           'False -- ' closing tick for hsc2hs+           '[] -- ' closing tick for hsc2hs
src/Graphics/Vulkan/Marshal.hs view
@@ -1,17 +1,14 @@-{-# OPTIONS_GHC -fno-warn-missing-methods #-} {-# LANGUAGE AllowAmbiguousTypes        #-} {-# LANGUAGE ConstraintKinds            #-} {-# LANGUAGE DataKinds                  #-} {-# LANGUAGE DefaultSignatures          #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleContexts           #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures             #-} {-# LANGUAGE MagicHash                  #-} {-# LANGUAGE MultiParamTypeClasses      #-} {-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE RankNTypes                 #-} {-# LANGUAGE RoleAnnotations            #-} {-# LANGUAGE ScopedTypeVariables        #-} {-# LANGUAGE Strict                     #-}@@ -25,16 +22,30 @@ --   Instead, it is hand-written to provide common types and classes. module Graphics.Vulkan.Marshal   ( FlagType (..), FlagMask, FlagBit+  , bitToMask, maskToBits   , VulkanMarshal (..)+  , newVkData, mallocVkData, mallocVkDataArray, unsafePtr+  , fromForeignPtr, toForeignPtr, toPlainForeignPtr, touchVkData   , VulkanPtr (..)   , VkPtr (..)+  , pattern VK_ZERO_FLAGS   , pattern VK_NULL_HANDLE, pattern VK_NULL   , clearStorable, withPtr     -- * Type-indexed access to struct members-  , HasField (..), CanReadField (..), CanWriteField (..)-  , CanReadFieldArray (..), CanWriteFieldArray (..)+  , StructFields, CUnionType, ReturnedOnly, StructExtends+  , StructFieldNames, HasField, FieldRep, FieldType+  , FieldOptional, FieldOffset+  , FieldIsArray, FieldArrayLength+  , CanReadField, CanWriteField+  , CanReadFieldArray, CanWriteFieldArray+  , fieldOptional, fieldOffset, fieldArrayLength+  , getField, readField, writeField+  , getFieldArrayUnsafe, readFieldArrayUnsafe, writeFieldArrayUnsafe   , getFieldArray, readFieldArray, writeFieldArray-  , IsFieldArray, IndexInBounds+  , IndexInBounds+    -- * Type-level info about Structs+  , VulkanStruct (..), VulkanField (..), VulkanFields (..), KnownBool (..)+  , FieldMeta (..), StructMeta (..)     -- * Re-exported functions from 'Foreign.ForeignPtr'   , mallocForeignPtr, withForeignPtr, addForeignPtrFinalizer     -- * Re-exported common types@@ -48,26 +59,22 @@   , cmpCStrings, cmpCStringsN   ) where -import Data.Data             (Data)+import Data.Bits             (Bits (..))+import Data.Coerce import Data.Int              (Int16, Int32, Int64, Int8)-import Data.Kind             (Constraint, Type) import Data.Void             (Void) import Data.Word             (Word16, Word32, Word64, Word8)-import Foreign.C.String      (CString, peekCString)+import Foreign.C.String      (CString) import Foreign.C.Types       (CChar (..), CInt (..), CSize (..), CULong (..),                               CWchar (..))-import Foreign.ForeignPtr    (ForeignPtr, addForeignPtrFinalizer,-                              mallocForeignPtr, withForeignPtr)-import Foreign.Marshal.Array (pokeArray0)+import Foreign.ForeignPtr    (addForeignPtrFinalizer, mallocForeignPtr,+                              withForeignPtr) import Foreign.Marshal.Utils (fillBytes)-import Foreign.Ptr           (FunPtr, nullPtr, plusPtr)-import Foreign.Storable      (Storable (sizeOf))-import GHC.Exts              (Proxy#, proxy#)-import GHC.Generics          (Generic)+import Foreign.Ptr           (FunPtr, nullPtr)+import Foreign.Storable import GHC.Ptr               (Ptr (..))-import GHC.TypeLits-import System.IO.Unsafe      (unsafeDupablePerformIO) + import Graphics.Vulkan.Marshal.Internal  @@ -79,133 +86,30 @@ -- | Vulkan single bit flag value. type FlagBit  = 'FlagBit ---- | All Vulkan structures are stored as-is in byte arrays to avoid any overheads---   for wrapping and unwrapping haskell values.---   VulkanMarshal provides an interfaces to write and read these structures---   in an imperative way.-class VulkanMarshal a where-  -- | Names of fields in vulkan structure or union,-  --   in the same order as they appear in C typedef.-  type StructFields a :: [Symbol]-  -- | Whether this type is a C union.-  --   Otherwise this is a C structure.-  type CUnionType a   :: Bool-  -- | Notes that this struct or union is going to be filled in by the API,-  --   rather than an application filling it out and passing it to the API.-  type ReturnedOnly a :: Bool-  -- | Comma-separated list of structures whose "pNext" can include this type.-  type StructExtends a :: [Type]-  -- | Allocate a pinned aligned byte array to keep vulkan data structure-  --   and fill it using a foreign function.-  ---  --   Note, the function is supposed to use `newAlignedPinnedByteArray#`-  --   and does not guarantee to fill memory with zeroes.-  --   Use `clearStorable` to make sure all bytes are set to zero.-  ---  --   Note, the memory is managed by GHC, thus no need for freeing it manually.-  newVkData :: (Ptr a -> IO ()) -> IO a-  default newVkData :: (Storable a, a ~ VulkanStruct b)-                    => (Ptr a -> IO ()) -> IO a-  newVkData = newVkData#-  {-# INLINE newVkData #-}-  -- | Allocate a pinned aligned byte array to keep vulkan data structure.-  ---  --   Note, the function is supposed to use `newAlignedPinnedByteArray#`-  --   and does not guarantee to fill memory with zeroes.-  --   Use `clearStorable` to make sure all bytes are set to zero.-  ---  --   Note, the memory is managed by GHC, thus no need for freeing it manually.-  mallocVkData :: IO a-  default mallocVkData :: (Storable a, a ~ VulkanStruct b) => IO a-  mallocVkData = mallocVkData#-  {-# INLINE mallocVkData #-}-  -- | Allocate a pinned aligned byte array to keep vulkan data structures.-  --   Returned `Ptr a` points to the first element in the contiguous array of-  --   returned structures. Returned list elements point to the same memory area.-  --   This function is unsafe in two ways:-  ---  --     * Several structures are stored next to each other, with no gaps;-  --       it would break its alignment if the size is not multiple of alignment.-  --     * Returned pointer is not tracked by GHC as a reference to the managed-  --       memory. Thus, the array can be GCed if all references to the returned-  --       list are lost.-  ---  --   Note, the function is supposed to use `newAlignedPinnedByteArray#`-  --   and does not guarantee to fill memory with zeroes.-  --   Use `clearStorable` to make sure all bytes are set to zero.-  ---  --   Note, the memory is managed by GHC, thus no need for freeing it manually.-  mallocVkDataArray :: Int -> IO (Ptr a, [a])-  default mallocVkDataArray :: (Storable a, a ~ VulkanStruct b)-                            => Int -> IO (Ptr a, [a])-  mallocVkDataArray = mallocVkDataArray#-  {-# INLINE mallocVkDataArray #-}-  -- | Get pointer to vulkan structure.-  --   Note, the address is only valid as long as a given vulkan structure exists.-  --   Structures created with newVkData are stored in pinned byte arrays,-  --   so their memory is maintained by Haskell GC.-  unsafePtr  :: a -> Ptr a-  default unsafePtr :: a ~ VulkanStruct b => a -> Ptr a-  unsafePtr a = Ptr (unsafeAddr a)-  {-# INLINE unsafePtr #-}-  -- | Get vulkan structure referenced by a 'ForeignPtr' trying to avoid copying data.-  ---  --   This function does copy data if called on an unmanaged `ForeignPtr`-  --   (i.e. one created from ordinary `Ptr` using something like `newForeignPtr`.).-  ---  --   This function does not copy data if called on a managed `ForeignPtr`-  --   (i.e. one created using `mallocForeignPtr`, or `toForeignPtr`, or `toPlainForeignPtr`).-  ---  --   Note, `fromForeignPtr` does not copy finalizers of `ForeignPtr`.-  --   Thus, if all references to original `ForeignPtr` are lost,-  --     its attached finalizers may run even if the created structure is alive.-  fromForeignPtr :: ForeignPtr a -> IO a-  default fromForeignPtr :: (Storable a, a ~ VulkanStruct b)-                         => ForeignPtr a-> IO a-  fromForeignPtr = fromForeignPtr#-  {-# INLINE fromForeignPtr #-}-  -- | Create a `ForeignPtr` referencing the structure without copying data.-  toForeignPtr :: a -> IO (ForeignPtr a)-  default toForeignPtr :: a ~ VulkanStruct b => a -> IO (ForeignPtr a)-  toForeignPtr = toForeignPtr#-  {-# INLINE toForeignPtr #-}-  -- | Create a `ForeignPtr` referencing the structure without copying data.-  --   This version of a pointer carries no finalizers.-  ---  -- It is not possible to add a finalizer to a ForeignPtr created with-  -- @toPlainForeignPtr@.-  -- Attempts to add a finalizer to a ForeignPtr created this way, or to-  -- finalize such a pointer, will throw an exception.-  toPlainForeignPtr :: a -> IO (ForeignPtr a)-  default toPlainForeignPtr :: a ~ VulkanStruct b => a -> IO (ForeignPtr a)-  toPlainForeignPtr = toPlainForeignPtr#-  {-# INLINE toPlainForeignPtr #-}-  -- | Make sure this data is alive at a given point in a sequence of IO actions.-  touchVkData  :: a -> IO ()-  default touchVkData :: a ~ VulkanStruct b => a -> IO ()-  touchVkData = touchVkData#-  {-# INLINE touchVkData #-}+-- | A synonym for `zeroBits`+pattern VK_ZERO_FLAGS :: Bits a => a+pattern VK_ZERO_FLAGS <- (popCount -> 0)+  where+    VK_ZERO_FLAGS = zeroBits --- | Run some operation with a pointer to vulkan structure.------   Should be used with care:---     the structure pretends to be immutable, so it is better to only read---     from the pointed memory area, not to write.---     If an action needs to write something to the pointer, use `newVkData`.-withPtr :: VulkanMarshal a => a -> (Ptr a -> IO b) -> IO b-withPtr x k = do-  b <- k (unsafePtr x)-  touchVkData x-  return b+-- | Convert a single bit (@XxxBits@) to a bitmask (@XxxFlags@)+bitToMask :: Coercible (x FlagBit) (x FlagMask) => x FlagBit -> x FlagMask+bitToMask = coerce --- | Fill all bytes to zero getting data size from `Storable` instance.-clearStorable :: Storable a => Ptr a -> IO ()-clearStorable p = fillBytes p 0 (sizeOf $ unptr p)+-- | List all set bits of a bitmask (@XxxFlags@) in the increasing order.+maskToBits :: (Bits (x FlagMask), Coercible (x FlagBit) (x FlagMask))+           => x FlagMask -> [x FlagBit]+maskToBits x = go (popCount x) (bit 0)   where-    unptr :: Ptr b -> b-    unptr ~_ = undefined+    zero = zeroBits+    go 0 _ = []+    go n i = let b = i .&. x+                 i' = unsafeShiftL i 1+             in if b == zero+                then go n i'+                else coerce b : go (n-1) i' + -- | ===== @VK_DEFINE_NON_DISPATCHABLE_HANDLE@ -- Non-dispatchable handles are represented as `VkPtr` --@@ -222,7 +126,7 @@ -- > -- newtype VkPtr a = VkPtr Word64-  deriving (Eq, Ord, Show, Storable, Generic, Data)+  deriving (Eq, Ord, Show, Storable) type role VkPtr phantom  @@ -258,246 +162,22 @@ pattern VK_NULL_HANDLE :: (Eq (ptr a), VulkanPtr ptr) => ptr a pattern VK_NULL_HANDLE = VK_NULL --- | Describe fields of a vulkan structure or union.-class HasField (fname :: Symbol) (a :: Type) where-  -- | Type of a field in a vulkan structure or union.-  type FieldType fname a     :: Type-  -- | Whether this field marked optional in vulkan specification.-  --   Usually, this means that `VK_NULL` can be written in place-  --   of this field.-  type FieldOptional fname a :: Bool-  -- | Offset of a field in bytes.-  type FieldOffset fname a :: Nat-  -- | Whether this field is a fixed-length array stored directly in a struct.-  type FieldIsArray fname a :: Bool-  -- | Whether this field marked optional in vulkan specification.-  --   Usually, this means that `VK_NULL` can be written in place-  --   of this field.-  fieldOptional :: Bool-  -- | Offset of a field in bytes.-  fieldOffset :: Int -class ( HasField fname a-      , IsFieldArray fname a 'False-      ) => CanReadField (fname :: Symbol) (a :: Type) where-  getField :: a -> FieldType fname a-  readField :: Ptr a -> IO (FieldType fname a)--class CanReadField fname a => CanWriteField (fname :: Symbol) (a :: Type) where-  writeField :: Ptr a -> FieldType fname a -> IO ()--class ( HasField fname a-      , IsFieldArray fname a 'True-      , KnownNat (FieldArrayLength fname a)-      ) => CanReadFieldArray (fname :: Symbol) (a :: Type) where-  -- | Length of an array that is a field of a structure or union-  type FieldArrayLength fname a :: Nat-  -- | Length of an array that is a field of a structure or union-  fieldArrayLength :: Int-  -- | Index an array-type field. No bound checks.-  getFieldArrayUnsafe :: Int -> a -> FieldType fname a-  -- | Read from an array-type field. No bound checks.-  readFieldArrayUnsafe :: Int -> Ptr a -> IO (FieldType fname a)--getFieldArray :: forall fname idx a-               . (CanReadFieldArray fname a, IndexInBounds fname idx a, KnownNat idx)-              => a -> FieldType fname a-getFieldArray = getFieldArrayUnsafe @fname @a-  (fromInteger $ natVal' (proxy# :: Proxy# idx))-{-# INLINE getFieldArray #-}--readFieldArray :: forall fname idx a-                . (CanReadFieldArray fname a, IndexInBounds fname idx a, KnownNat idx)-               => Ptr a -> IO (FieldType fname a)-readFieldArray = readFieldArrayUnsafe @fname @a-  (fromInteger $ natVal' (proxy# :: Proxy# idx))-{-# INLINE readFieldArray #-}--class CanReadFieldArray fname a-      => CanWriteFieldArray (fname :: Symbol) (a :: Type) where-  -- | Write to an array-type field. No bound checks.-  writeFieldArrayUnsafe :: Int -> Ptr a -> FieldType fname a -> IO ()--writeFieldArray :: forall fname idx a-                 . (CanWriteFieldArray fname a, IndexInBounds fname idx a, KnownNat idx)-                => Ptr a -> FieldType fname a -> IO ()-writeFieldArray = writeFieldArrayUnsafe @fname @a-  (fromInteger $ natVal' (proxy# :: Proxy# idx))-{-# INLINE writeFieldArray #-}--instance {-# OVERLAPPABLE #-}-         TypeError (ErrorNoSuchField fname a) => HasField fname a where--instance {-# OVERLAPPABLE #-}-         ( HasField fname a-         , IsFieldArray fname a 'False-         , TypeError (ErrorNotReadableField fname a)-         ) => CanReadField fname a where-instance {-# OVERLAPPABLE #-}-         ( CanReadField fname a-         , TypeError (ErrorNotWritableField fname a)-         ) => CanWriteField fname a where-instance {-# OVERLAPPABLE #-}-         ( HasField fname a-         , IsFieldArray fname a 'True-         , TypeError (ErrorNotReadableField fname a)-         , KnownNat (FieldArrayLength fname a)-         ) => CanReadFieldArray fname a where-instance {-# OVERLAPPABLE #-}-         ( CanReadFieldArray fname a-         , TypeError (ErrorNotWritableField fname a)-         ) => CanWriteFieldArray fname a where---type IndexInBounds (s :: Symbol) (i :: Nat) (a :: Type)-  = IndexInBounds' s i a (CmpNat i (FieldArrayLength s a))--type family IndexInBounds' (s :: Symbol)-                           (i :: Nat)-                           (a :: Type) (r :: Ordering) :: Constraint where-  IndexInBounds' _ _ _ 'LT = ()-  IndexInBounds' s i a _ = TypeError ( ErrorIndexOutOfBounds s i a )---type IsFieldArray s a e = IsFieldArray' s a (FieldIsArray s a) e--type family IsFieldArray' (s :: Symbol)-                          (a :: Type)-                          (actual :: Bool)-                          (expected :: Bool) :: Constraint where-  IsFieldArray' _ _ 'True  'True  = ()-  IsFieldArray' _ _ 'False 'False = ()-  IsFieldArray' s a 'True  'False = TypeError (ErrorIsArrayField s a)-  IsFieldArray' s a 'False 'True  = TypeError (ErrorIsNotArrayField s a)-------------------------------------------------------------------------------------- * Type-level errors------------------------------------------------------------------------------------type ErrorNoSuchField (s :: Symbol) (a :: Type)-  = 'Text "Structure " ':<>: 'ShowType a-  ':<>: 'Text " does not have field " ':<>: 'ShowType s ':<>: 'Text "."-  ':$$: 'Text "Note, this structure has following fields: "-        ':<>: 'ShowType (StructFields a)---type ErrorIsNotArrayField (s :: Symbol) (a :: Type)-  = 'Text "Field " ':<>: 'ShowType s ':<>:-    'Text " of structure " ':<>: 'ShowType a ':<>:-    'Text " is not an array field."-  ':$$: 'Text "Don't use ***FieldArray functions on it."--type ErrorIsArrayField (s :: Symbol) (a :: Type)-  = 'Text "Field " ':<>: 'ShowType s ':<>:-    'Text " of structure " ':<>: 'ShowType a ':<>:-    'Text " is an array field."-  ':$$: 'Text "Use ***FieldArray functions on it."--type ErrorIndexOutOfBounds (s :: Symbol) (i :: Nat) (a :: Type)-  = 'Text "Array index " ':<>: 'ShowType i ':<>:-    'Text " is out of bounds for '" ':<>:-    'Text s ':<>: 'Text "',  member of type " ':<>: 'ShowType a ':<>: 'Text "."-  ':$$:-    'Text "Note: the array size is "-      ':<>: 'ShowType (FieldArrayLength s a) ':<>: 'Text "."--type ErrorNotReadableField (s :: Symbol) (a :: Type)-  = 'Text "Field " ':<>: 'ShowType s ':<>:-    'Text " of structure " ':<>: 'ShowType a ':<>:-    'Text " is not readable."--type ErrorNotWritableField (s :: Symbol) (a :: Type)-  = 'Text "Field " ':<>: 'ShowType s ':<>:-    'Text " of structure " ':<>: 'ShowType a ':<>:-    'Text " is not writable."-------------------------------------------------------------------------------------- * Utilities for CString------------------------------------------------------------------------------------- | Perform an action on a C string field.---   The string pointers should not be used outside the callback.---   It will point to a correct location only as long as the struct is alive.-withCStringField :: forall fname a b-                 . ( CanReadFieldArray fname a-                   , FieldType fname a ~ CChar-                   , VulkanMarshal a-                   )-                 => a -> (CString -> IO b) -> IO b-withCStringField x f = do-  r <- f (unsafeCStringField @fname @a x)+-- | Run some operation with a pointer to vulkan structure.+--+--   Should be used with care:+--     the structure pretends to be immutable, so it is better to only read+--     from the pointed memory area, not to write.+--     If an action needs to write something to the pointer, use `newVkData`.+withPtr :: VulkanMarshal a => a -> (Ptr a -> IO b) -> IO b+withPtr x k = do+  b <- k (unsafePtr x)   touchVkData x-  pure r---- | Get pointer to a memory location of the C string field in a structure.-unsafeCStringField :: forall fname a-                   . ( CanReadFieldArray fname a-                     , FieldType fname a ~ CChar-                     , VulkanMarshal a-                     )-                   => a -> CString-unsafeCStringField x = unsafePtr x `plusPtr` fieldOffset @fname @a---getStringField :: forall fname a-                . ( CanReadFieldArray fname a-                  , FieldType fname a ~ CChar-                  , VulkanMarshal a-                  )-               => a -> String-getStringField x-    = case takeForce (fieldArrayLength @fname @a)-         . unsafeDupablePerformIO-         $ withCStringField @fname @a x peekCString of-        ((), s) -> s--readStringField :: forall fname a-                . ( CanReadFieldArray fname a-                  , FieldType fname a ~ CChar-                  , VulkanMarshal a-                  )-               => Ptr a -> IO String-readStringField px = do-  ((), s) <- takeForce (fieldArrayLength @fname @a)-         <$> peekCString (px `plusPtr` fieldOffset @fname @a)-  return s--writeStringField :: forall fname a-                  . ( CanWriteFieldArray fname a-                    , FieldType fname a ~ CChar-                    , VulkanMarshal a-                    )-               => Ptr a -> String -> IO ()-writeStringField px =-  pokeArray0 '\0' (px `plusPtr` fieldOffset @fname @a)--takeForce :: Int -> String -> ((), String)-takeForce 0 _      = ((), [])-takeForce _ []     = ((), [])-takeForce n (x:xs) = seq x $ (x:) <$> takeForce (n-1) xs----- | Check first if two CString point to the same memory location.---   Otherwise, compare them using C @strcmp@ function.-cmpCStrings :: CString -> CString -> Ordering-cmpCStrings a b-  | a == b = EQ-  | otherwise = c_strcmp a b `compare` 0---- | Check first if two CString point to the same memory location.---   Otherwise, compare them using C @strncmp@ function.---   It may be useful to provide maximum number of characters to compare.-cmpCStringsN :: CString -> CString -> Int -> Ordering-cmpCStringsN a b n-  | a == b = EQ-  | otherwise = c_strncmp a b (fromIntegral n) `compare` 0---foreign import ccall unsafe "strncmp"-  c_strncmp :: CString -> CString -> CSize -> CInt+  return b -foreign import ccall unsafe "strcmp"-  c_strcmp :: CString -> CString -> CInt+-- | Fill all bytes to zero getting data size from `Storable` instance.+clearStorable :: Storable a => Ptr a -> IO ()+clearStorable p = fillBytes p 0 (sizeOf $ unptr p)+  where+    unptr :: Ptr b -> b+    unptr ~_ = undefined
src/Graphics/Vulkan/Marshal/Create.hs view
@@ -102,10 +102,9 @@ --     with a set of haskell and C finalizers. --   These finalizers make sure all `malloc`ed memory is released and --    no managed memory gets purged too early.-createVk :: forall a fs b .+createVk :: forall a fs .             ( VulkanMarshal a             , HandleRemFields a fs-            , a ~ VulkanStruct b             ) => CreateVkStruct a fs () -> a createVk a = unsafeDupablePerformIO $ do     x <- mallocVkData@@ -132,9 +131,7 @@ {-# NOINLINE createVk #-}  -- | `writeField` wrapped into `CreateVkStruct` monad.-set :: forall fname x-     . ( CanWriteField fname x-       )+set :: forall fname x . CanWriteField fname x     => FieldType fname x -> CreateVkStruct x '[fname] () set v = CreateVkStruct $ \p -> (,) ([],[]) <$> writeField @fname @x p v @@ -307,7 +304,7 @@ type SetUnionMsg x =    'Text "You have to set exactly one field for a union type " ':<>: 'ShowType x    ':$$: 'Text "Note, this type has following fields: "-         ':<>: 'ShowType (StructFields x)+         ':<>: 'ShowType (StructFieldNames x)  instance ( TypeError ( SetUnionMsg x )          , CUnionType x ~ 'True@@ -323,11 +320,11 @@   handleRemFields = pure ()  -instance ( SetOptionalFields x (Difference (StructFields x) fs)+instance ( SetOptionalFields x (Difference (StructFieldNames x) fs)          , CUnionType x ~ 'False          ) => HandleRemainingFields x fs 'False where   handleRemFields-    = ( coerce :: CreateVkStruct x (Difference (StructFields x) fs) ()+    = ( coerce :: CreateVkStruct x (Difference (StructFieldNames x) fs) ()                -> CreateVkStruct x fs ()       ) setOptionalFields 
src/Graphics/Vulkan/Marshal/Internal.hs view
@@ -1,10 +1,25 @@-{-# LANGUAGE ExistentialQuantification #-}-{-# LANGUAGE FlexibleContexts          #-}-{-# LANGUAGE MagicHash                 #-}-{-# LANGUAGE ScopedTypeVariables       #-}-{-# LANGUAGE Strict                    #-}-{-# LANGUAGE UnboxedTuples             #-}-{-# LANGUAGE UnliftedFFITypes          #-}+{-# LANGUAGE AllowAmbiguousTypes        #-}+{-# LANGUAGE ConstraintKinds            #-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DefaultSignatures          #-}+{-# LANGUAGE ExistentialQuantification  #-}+{-# LANGUAGE FlexibleContexts           #-}+{-# LANGUAGE FlexibleInstances          #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MagicHash                  #-}+{-# LANGUAGE MultiParamTypeClasses      #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE RankNTypes                 #-}+{-# LANGUAGE RoleAnnotations            #-}+{-# LANGUAGE ScopedTypeVariables        #-}+{-# LANGUAGE Strict                     #-}+{-# LANGUAGE TypeApplications           #-}+{-# LANGUAGE TypeFamilies               #-}+{-# LANGUAGE TypeOperators              #-}+{-# LANGUAGE UnboxedTuples              #-}+{-# LANGUAGE UndecidableInstances       #-}+{-# LANGUAGE UndecidableSuperClasses    #-}+{-# LANGUAGE UnliftedFFITypes           #-} -- | This module is not part of auto-generated code based on vk.xml. --   Instead, it is hand-written to provide common types and classes. --@@ -12,34 +27,58 @@ --   This is an internal module; it can change a lot between package versions; --   it provides low-level functions, most of which have user-friendly analogues. module Graphics.Vulkan.Marshal.Internal-  ( VulkanStruct (..), unsafeFromByteArrayOffset-  , fromForeignPtr#-  , toForeignPtr#, toPlainForeignPtr#-  , touchVkData#-  , cmpBytes#-  , newVkData#-  , mallocVkData#, mallocVkDataArray#-  , peekVkData#, pokeVkData#+  ( VkStruct (..), unsafeFromByteArrayOffset+  , VulkanMarshal (..)+  , newVkData, mallocVkData, mallocVkDataArray, unsafePtr+  , fromForeignPtr, toForeignPtr, toPlainForeignPtr, touchVkData+    -- * Type-indexed access to struct members+  , StructFields, CUnionType, ReturnedOnly, StructExtends+  , StructFieldNames, HasField, FieldRep, FieldType+  , FieldOptional, FieldOffset+  , FieldIsArray, FieldArrayLength+  , CanReadField, CanWriteField+  , CanReadFieldArray, CanWriteFieldArray+  , fieldOptional, fieldOffset, fieldArrayLength+  , getField, readField, writeField+  , getFieldArrayUnsafe, readFieldArrayUnsafe, writeFieldArrayUnsafe+  , getFieldArray, readFieldArray, writeFieldArray+  , IndexInBounds+    -- * Type-level info about Structs+  , VulkanStruct (..), VulkanField (..), VulkanFields (..), KnownBool (..)+  , FieldMeta (..), StructMeta (..)+    -- * Utilities for string types+  , withCStringField, unsafeCStringField+  , getStringField, readStringField, writeStringField+  , cmpCStrings, cmpCStringsN   ) where -import Foreign.C.Types    (CInt (..), CSize (..))-import Foreign.ForeignPtr (ForeignPtr, newForeignPtr_)-import Foreign.Storable   (Storable (..))-import GHC.Base           (Addr#, ByteArray#, IO (..), Int (..), Int#,-                           byteArrayContents#, copyAddrToByteArray#, eqAddr#,-                           isTrue#, minusAddr#, newAlignedPinnedByteArray#,-                           plusAddr#, touch#, unsafeCoerce#,-                           unsafeFreezeByteArray#, (*#), (+#), (>=#))-import GHC.Ptr            (Ptr (..)) -import GHC.ForeignPtr (ForeignPtr (..), ForeignPtrContents (..))+import Data.Kind             (Constraint, Type)+import Data.Type.Equality+import Foreign.C.String      (CString, peekCString)+import Foreign.C.Types       (CChar, CInt (..), CSize (..))+import Foreign.ForeignPtr    (ForeignPtr, newForeignPtr_)+import Foreign.Marshal.Array (pokeArray0)+import Foreign.Ptr           (plusPtr)+import Foreign.Storable+import GHC.Base              (Addr#, ByteArray#, IO (..), Int (..), Int#,+                              byteArrayContents#, copyAddrToByteArray#, eqAddr#,+                              isTrue#, minusAddr#, newAlignedPinnedByteArray#,+                              plusAddr#, touch#, unsafeCoerce#,+                              unsafeFreezeByteArray#, (*#), (+#), (>=#))+import GHC.Exts              (Proxy#, proxy#)+import GHC.ForeignPtr        (ForeignPtr (..), ForeignPtrContents (..))+import GHC.Ptr               (Ptr (..))+import GHC.TypeLits+import System.IO.Unsafe      (unsafeDupablePerformIO)+import Unsafe.Coerce         (unsafeCoerce)    {- | Internal representation of all Vulkan structures:      a pinned byte array and an address pointing to an area in this array.  -}-data VulkanStruct a = VulkanStruct+data VkStruct a = VkStruct   { unsafeAddr      :: Addr#     -- ^ Get address of vulkan structure.     --   Note, the address is only valid as long as a given vulkan structure exists.@@ -51,77 +90,189 @@     --   Note, the data structure does not necessarily starts at zero offset.   } +-- | Get the type parameter of a `VkStruct`.+type family VkStruct' (a :: Type) :: Type where+    VkStruct' (VkStruct a) = a +-- | This type must be a `VkStruct`.+type IsVkStruct a = a ~ VkStruct (VkStruct' a)+ -- | Combine a vulkan structure from ByteArray and an offset in this array.-unsafeFromByteArrayOffset :: Int# -> ByteArray# -> VulkanStruct a+unsafeFromByteArrayOffset :: Int# -> ByteArray# -> VkStruct a unsafeFromByteArrayOffset off b-  = VulkanStruct (plusAddr# (byteArrayContents# b) off) b+  = VkStruct (plusAddr# (byteArrayContents# b) off) b {-# INLINE unsafeFromByteArrayOffset #-}   +{- |+@FieldMeta fieldName fieldType optional byteOffset length canRead canWrite@+represents a Vulkan structure field at the type level.+ -}+data FieldMeta+  = FieldMeta Symbol Type Bool Nat Nat Bool Bool --- | Create a `ByteArray#`-based type from `ForeignPtr`.---   Try to not copy data, but do it if necessary.-fromForeignPtr# :: forall a . Storable (VulkanStruct a)-                => ForeignPtr (VulkanStruct a) -> IO (VulkanStruct a)-fromForeignPtr# (ForeignPtr addr PlainForeignPtr{})-  | I# n <- sizeOf (undefined :: (VulkanStruct a))-  , I# a <- alignment (undefined :: (VulkanStruct a))-  = IO-  (\s0 -> case newAlignedPinnedByteArray# n a s0 of-    (# s1, mba #) -> case copyAddrToByteArray# addr mba 0# n s1 of-      s2 -> case unsafeFreezeByteArray# mba s2 of-        (# s3, ba #) -> (# s3, unsafeFromByteArrayOffset 0# ba  #)-  )-fromForeignPtr# (ForeignPtr addr (MallocPtr mba _))-  = IO-  (\s0 -> case unsafeFreezeByteArray# mba s0 of-    (# s1, ba #) -> (# s1, unsafeFromByteArrayOffset-                           (minusAddr# addr (byteArrayContents# ba)) ba  #)-  )-fromForeignPtr# (ForeignPtr addr (PlainPtr mba))-  = IO-  (\s0 -> case unsafeFreezeByteArray# mba s0 of-    (# s1, ba #) -> (# s1, unsafeFromByteArrayOffset-                           (minusAddr# addr (byteArrayContents# ba)) ba  #)-  )-{-# INLINE fromForeignPtr# #-}+{- |+@StructMeta structName structType size alignment fields isUnion isReturnedOnly structExtends@+represents a Vulkan structure at the type level.+ -}+data StructMeta+  = StructMeta Symbol Type Nat Nat [FieldMeta] Bool Bool [Type] +-- | This class give a term-level boolean associated with a type-level boolean.+--+--   The same as `KnownNat` for integers.+class KnownBool (b :: Bool) where+    boolSing :: Bool --- | Create a `ForeignPtr` referencing the structure without copying data.-toForeignPtr# :: VulkanStruct a -> IO (ForeignPtr (VulkanStruct a))-toForeignPtr# x-  | a <- unsafeAddr x-  , b <- unsafeByteArray x = do-    ForeignPtr _ (PlainForeignPtr r)-      <- newForeignPtr_ (Ptr a)-    IO (\s -> (# s, ForeignPtr a (MallocPtr (unsafeCoerce# b) r) #))-{-# INLINE toForeignPtr# #-}+instance KnownBool 'True  where boolSing = True+instance KnownBool 'False where boolSing = False --- | Create a `ForeignPtr` referencing the structure without copying data.---   This version of a pointer carries no finalizers.------ It is not possible to add a finalizer to a ForeignPtr created with--- @toPlainForeignPtr@.--- Attempts to add a finalizer to a ForeignPtr created this way, or to--- finalize such a pointer, will throw an exception.-toPlainForeignPtr# :: VulkanStruct a -> IO (ForeignPtr (VulkanStruct a))-toPlainForeignPtr# (VulkanStruct a b) = IO-    (\s -> (# s, ForeignPtr a (PlainPtr (unsafeCoerce# b)) #))-{-# INLINE toPlainForeignPtr# #-}+class (Show (FType m), Storable (FType m))+     => VulkanField (m :: FieldMeta) where+    type FName m       :: Symbol+    type FType m       :: Type+    type FOptional m   :: Bool+    type FByteOffset m :: Nat+    type FLength m     :: Nat+    type FCanRead m    :: Bool+    type FCanWrite m   :: Bool+    fName :: String+    fOptional :: Bool+    fByteOffset :: Int+    fLength :: Int+    fCanRead :: Bool+    fCanWrite :: Bool --- | Make sure the region of memory is not collected at this moment in time.-touchVkData# :: VulkanStruct a -> IO ()-touchVkData# (VulkanStruct _ b) = IO (\s -> (# touch# b s, () #))-{-# INLINE touchVkData# #-}+instance ( KnownSymbol fieldName+         , Show t, Storable t+         , KnownBool   optional+         , KnownNat    byteOffset+         , KnownNat    length+         , KnownBool   canRead+         , KnownBool   canWrite+         ) => VulkanField ('FieldMeta fieldName t optional byteOffset length canRead canWrite) where+    type FName       ('FieldMeta fieldName t optional byteOffset length canRead canWrite) = fieldName+    type FType       ('FieldMeta fieldName t optional byteOffset length canRead canWrite) = t+    type FOptional   ('FieldMeta fieldName t optional byteOffset length canRead canWrite) = optional+    type FByteOffset ('FieldMeta fieldName t optional byteOffset length canRead canWrite) = byteOffset+    type FLength     ('FieldMeta fieldName t optional byteOffset length canRead canWrite) = length+    type FCanRead    ('FieldMeta fieldName t optional byteOffset length canRead canWrite) = canRead+    type FCanWrite   ('FieldMeta fieldName t optional byteOffset length canRead canWrite) = canWrite+    fName       = symbolVal' @fieldName proxy#+    fOptional   = boolSing   @optional+    fByteOffset = fromInteger $ natVal' @byteOffset proxy#+    fLength     = fromInteger $ natVal' @length proxy#+    fCanRead    = boolSing   @canRead+    fCanWrite   = boolSing   @canWrite +type family GetFieldMeta (errMsg :: ErrorMessage) (fname :: Symbol) (ms :: [FieldMeta]) :: FieldMeta where+    GetFieldMeta _ n ('FieldMeta n t o b l r w ': _) = 'FieldMeta n t o b l r w+    GetFieldMeta e n (_ ': ms) = GetFieldMeta e n ms+    GetFieldMeta e n '[] = TypeError e -newVkData# :: forall a . Storable (VulkanStruct a)-           => (Ptr (VulkanStruct a) -> IO ()) -> IO (VulkanStruct a)-newVkData# f-  | I# n <- sizeOf (undefined :: (VulkanStruct a))-  , I# a <- alignment (undefined :: (VulkanStruct a))+class VulkanFields (ms :: [FieldMeta]) where+    withField :: forall (fname :: Symbol) (r :: Type) (errMsg :: ErrorMessage)+               . KnownSymbol fname+              => Proxy# fname+              -> Proxy# errMsg+              -> (VulkanField (GetFieldMeta errMsg fname ms) => r) -> r+    enumerateFields :: forall  (a :: Type)+                     . (forall (m :: FieldMeta) . VulkanField m+                             => Proxy# m -> a -> a)+                    -> a -> a++instance VulkanFields '[] where+    withField = error "VulkanFields.withField: unreachable code (no such field guarded by type family)."+    enumerateFields _ = id++instance (VulkanField m, VulkanFields ms) => VulkanFields (m ': ms) where+    withField pName pErr f+      | symbolVal' pName == fName @m+      , Refl <- proofm  pName pErr = f+      | Refl <- proofms pName pErr = withField @ms pName pErr f+      where+        proofm :: Proxy# fname -> Proxy# errMsg+              -> (m :~: GetFieldMeta errMsg fname (m : ms))+        proofm _ = unsafeCoerce Refl+        proofms :: Proxy# fname -> Proxy# errMsg+                -> (GetFieldMeta errMsg fname ms :~: GetFieldMeta errMsg fname (m : ms))+        proofms _ = unsafeCoerce Refl+    enumerateFields k = k (proxy# @_ @m) . enumerateFields @ms k+++class VulkanFields (SFields m)+   => VulkanStruct (m :: StructMeta) where+    type SName m           :: Symbol+    type SType m           :: Type+    type SSize m           :: Nat+    type SAlign m          :: Nat+    type SFields m         :: [FieldMeta]+    type SIsUnion m        :: Bool+    type SIsReturnedOnly m :: Bool+    type SStructExtends m  :: [Type]+    sName           :: String+    sSize           :: Int+    sAlign          :: Int+    sIsUnion        :: Bool+    sIsReturnedOnly :: Bool++instance ( KnownSymbol structName+         , KnownNat size+         , KnownNat alignment+         , VulkanFields fields+         , KnownBool isUnion+         , KnownBool isReturnedOnly+         )+      => VulkanStruct+          ('StructMeta structName structType size alignment+                         fields isUnion isReturnedOnly structExtends) where+    type SName           ('StructMeta structName structType size alignment fields isUnion isReturnedOnly structExtends) = structName+    type SType           ('StructMeta structName structType size alignment fields isUnion isReturnedOnly structExtends) = structType+    type SSize           ('StructMeta structName structType size alignment fields isUnion isReturnedOnly structExtends) = size+    type SAlign          ('StructMeta structName structType size alignment fields isUnion isReturnedOnly structExtends) = alignment+    type SFields         ('StructMeta structName structType size alignment fields isUnion isReturnedOnly structExtends) = fields+    type SIsUnion        ('StructMeta structName structType size alignment fields isUnion isReturnedOnly structExtends) = isUnion+    type SIsReturnedOnly ('StructMeta structName structType size alignment fields isUnion isReturnedOnly structExtends) = isReturnedOnly+    type SStructExtends  ('StructMeta structName structType size alignment fields isUnion isReturnedOnly structExtends) = structExtends+    sName           = symbolVal' @structName proxy#+    sSize           = fromInteger $ natVal' @size proxy#+    sAlign          = fromInteger $ natVal' @alignment proxy#+    sIsUnion        = boolSing @isUnion+    sIsReturnedOnly = boolSing @isReturnedOnly+++-- | Descriptions of all fields of a vulkan struct+type StructFields a = SFields (StructRep a)+-- | Whether this type is a C union.+--   Otherwise this is a C structure.+type CUnionType a = SIsUnion (StructRep a)+-- | Notes that this struct or union is going to be filled in by the API,+--   rather than an application filling it out and passing it to the API.+type ReturnedOnly a = SIsReturnedOnly (StructRep a)+-- | Comma-separated list of structures whose "pNext" can include this type.+type StructExtends a = SStructExtends (StructRep a)++-- | All Vulkan structures are stored as-is in byte arrays to avoid any overheads+--   for wrapping and unwrapping haskell values.+--   VulkanMarshal provides an interfaces to write and read these structures+--   in an imperative way.+class (VulkanStruct (StructRep a), IsVkStruct a)+     => VulkanMarshal a where+    type StructRep a :: StructMeta++-- | Allocate a pinned aligned byte array to keep vulkan data structure+--   and fill it using a foreign function.+--+--   Note, the function is supposed to use `newAlignedPinnedByteArray#`+--   and does not guarantee to fill memory with zeroes.+--   Use `clearStorable` to make sure all bytes are set to zero.+--+--   Note, the memory is managed by GHC, thus no need for freeing it manually.+newVkData :: forall a . VulkanMarshal a => (Ptr a -> IO ()) -> IO a+newVkData f+  | I# n <- sSize @(StructRep a)+  , I# a <- sAlign @(StructRep a)   = IO   (\s0 -> case newAlignedPinnedByteArray# n a s0 of     (# s1, mba #) -> case unsafeFreezeByteArray# mba s1 of@@ -129,24 +280,46 @@         IO k -> case k s2 of           (# s3, () #) -> (# s3, unsafeFromByteArrayOffset 0# ba #)   )-{-# INLINE newVkData# #-}+{-# INLINE newVkData #-} -mallocVkData# :: forall a . Storable (VulkanStruct a) => IO (VulkanStruct a)-mallocVkData#-  | I# n <- sizeOf (undefined :: (VulkanStruct a))-  , I# a <- alignment (undefined :: (VulkanStruct a))+-- | Allocate a pinned aligned byte array to keep vulkan data structure.+--+--   Note, the function is supposed to use `newAlignedPinnedByteArray#`+--   and does not guarantee to fill memory with zeroes.+--   Use `clearStorable` to make sure all bytes are set to zero.+--+--   Note, the memory is managed by GHC, thus no need for freeing it manually.+mallocVkData :: forall a . VulkanMarshal a => IO a+mallocVkData+  | I# n <- sSize @(StructRep a)+  , I# a <- sAlign @(StructRep a)   = IO   (\s0 -> case newAlignedPinnedByteArray# n a s0 of     (# s1, mba #) -> case unsafeFreezeByteArray# mba s1 of       (# s2, ba #) -> (# s2, unsafeFromByteArrayOffset 0# ba #)   )-{-# INLINE mallocVkData# #-}+{-# INLINE mallocVkData #-} -mallocVkDataArray# :: forall a . Storable (VulkanStruct a)-                   => Int -> IO (Ptr (VulkanStruct a), [(VulkanStruct a)])-mallocVkDataArray# (I# m)-  | I# n <- sizeOf (undefined :: (VulkanStruct a))-  , I# a <- alignment (undefined :: (VulkanStruct a))+-- | Allocate a pinned aligned byte array to keep vulkan data structures.+--   Returned `Ptr a` points to the first element in the contiguous array of+--   returned structures. Returned list elements point to the same memory area.+--   This function is unsafe in two ways:+--+--     * Several structures are stored next to each other, with no gaps;+--       it would break its alignment if the size is not multiple of alignment.+--     * Returned pointer is not tracked by GHC as a reference to the managed+--       memory. Thus, the array can be GCed if all references to the returned+--       list are lost.+--+--   Note, the function is supposed to use `newAlignedPinnedByteArray#`+--   and does not guarantee to fill memory with zeroes.+--   Use `clearStorable` to make sure all bytes are set to zero.+--+--   Note, the memory is managed by GHC, thus no need for freeing it manually.+mallocVkDataArray :: forall a . VulkanMarshal a => Int -> IO (Ptr a, [a])+mallocVkDataArray (I# m)+  | I# n <- sSize @(StructRep a)+  , I# a <- sAlign @(StructRep a)   , nm <- n *# m   = IO   (\s0 -> case newAlignedPinnedByteArray# nm a s0 of@@ -161,28 +334,425 @@           )         #)   )-{-# INLINE mallocVkDataArray# #-}+{-# INLINE mallocVkDataArray #-} +-- | Get pointer to vulkan structure.+--   Note, the address is only valid as long as a given vulkan structure exists.+--   Structures created with newVkData are stored in pinned byte arrays,+--   so their memory is maintained by Haskell GC.+unsafePtr  :: IsVkStruct a => a -> Ptr a+unsafePtr a = Ptr (unsafeAddr a)+{-# INLINE unsafePtr #-} -peekVkData# :: forall a . (Storable (VulkanStruct a))-            => Ptr (VulkanStruct a) -> IO (VulkanStruct a)-peekVkData# (Ptr addr)-  | I# n <- sizeOf (undefined :: (VulkanStruct a))-  , I# a <- alignment (undefined :: (VulkanStruct a))+-- | Get vulkan structure referenced by a 'ForeignPtr' trying to avoid copying data.+--+--   This function does copy data if called on an unmanaged `ForeignPtr`+--   (i.e. one created from ordinary `Ptr` using something like `newForeignPtr`.).+--+--   This function does not copy data if called on a managed `ForeignPtr`+--   (i.e. one created using `mallocForeignPtr`, or `toForeignPtr`, or `toPlainForeignPtr`).+--+--   Note, `fromForeignPtr` does not copy finalizers of `ForeignPtr`.+--   Thus, if all references to original `ForeignPtr` are lost,+--     its attached finalizers may run even if the created structure is alive.+fromForeignPtr :: forall a . VulkanMarshal a => ForeignPtr a -> IO a+fromForeignPtr (ForeignPtr addr PlainForeignPtr{})+  | I# n <- sSize @(StructRep a)+  , I# a <- sAlign @(StructRep a)   = IO-  (\s -> case newAlignedPinnedByteArray# n a s of+  (\s0 -> case newAlignedPinnedByteArray# n a s0 of     (# s1, mba #) -> case copyAddrToByteArray# addr mba 0# n s1 of       s2 -> case unsafeFreezeByteArray# mba s2 of-        (# s3, ba #) -> (# s3, unsafeFromByteArrayOffset 0# ba #)+        (# s3, ba #) -> (# s3, unsafeFromByteArrayOffset 0# ba  #)   )-{-# INLINE peekVkData# #-}+fromForeignPtr (ForeignPtr addr (MallocPtr mba _))+  = IO+  (\s0 -> case unsafeFreezeByteArray# mba s0 of+    (# s1, ba #) -> (# s1, unsafeFromByteArrayOffset+                           (minusAddr# addr (byteArrayContents# ba)) ba  #)+  )+fromForeignPtr (ForeignPtr addr (PlainPtr mba))+  = IO+  (\s0 -> case unsafeFreezeByteArray# mba s0 of+    (# s1, ba #) -> (# s1, unsafeFromByteArrayOffset+                           (minusAddr# addr (byteArrayContents# ba)) ba  #)+  )+{-# INLINE fromForeignPtr #-} -pokeVkData# :: forall a . Storable (VulkanStruct a)-            => Ptr (VulkanStruct a) -> (VulkanStruct a) -> IO ()-pokeVkData# (Ptr addr) x-  = c_memcpy addr (unsafeAddr x) (fromIntegral $ sizeOf x)-{-# INLINE pokeVkData# #-} +-- | Create a `ForeignPtr` referencing the structure without copying data.+toForeignPtr :: IsVkStruct a => a -> IO (ForeignPtr a)+toForeignPtr x+  | a <- unsafeAddr x+  , b <- unsafeByteArray x = do+    ForeignPtr _ (PlainForeignPtr r)+      <- newForeignPtr_ (Ptr a)+    IO (\s -> (# s, ForeignPtr a (MallocPtr (unsafeCoerce# b) r) #))+{-# INLINE toForeignPtr #-}++-- | Create a `ForeignPtr` referencing the structure without copying data.+--   This version of a pointer carries no finalizers.+--+-- It is not possible to add a finalizer to a ForeignPtr created with+-- @toPlainForeignPtr@.+-- Attempts to add a finalizer to a ForeignPtr created this way, or to+-- finalize such a pointer, will throw an exception.+toPlainForeignPtr :: IsVkStruct a => a -> IO (ForeignPtr a)+toPlainForeignPtr (VkStruct a b) = IO+    (\s -> (# s, ForeignPtr a (PlainPtr (unsafeCoerce# b)) #))+{-# INLINE toPlainForeignPtr #-}++-- | Make sure this data is alive at a given point in a sequence of IO actions.+touchVkData  :: IsVkStruct a => a -> IO ()+touchVkData (VkStruct _ b) = IO (\s -> (# touch# b s, () #))+{-# INLINE touchVkData #-}++++type StructFieldNames (a :: Type) = FieldNames (StructFields a)++type family FieldNames (ms :: [FieldMeta]) :: [Symbol] where+    FieldNames '[] = '[]+    FieldNames (m ': ms) = FName m ': FieldNames ms++-- | A Constraint: a vulkan struct must have a field with a given name.+type HasField (fname :: Symbol) (a :: Type)+    = (VulkanMarshal a, VulkanField (FieldRep fname a))++-- | Type-level description of a Vulkan structure field.+type FieldRep (fname :: Symbol) (a :: Type)+    = GetFieldMeta (ErrorNoSuchField fname a) fname (StructFields a)++-- | Type of a field in a vulkan structure or union.+type FieldType (fname :: Symbol) (a :: Type)+    = FType (FieldRep fname a)++-- | Whether this field marked optional in vulkan specification.+--   Usually, this means that `VK_NULL` can be written in place+--   of this field.+type FieldOptional (fname :: Symbol) (a :: Type)+    = FOptional (FieldRep fname a)++-- | Offset of a field in bytes.+type FieldOffset (fname :: Symbol) (a :: Type)+    = FByteOffset (FieldRep fname a)++-- | Whether this field is a fixed-length array stored directly in a struct.+type FieldIsArray (fname :: Symbol) (a :: Type)+    = IsArrayLen (FLength (FieldRep fname a))++type family IsArrayLen (l :: Nat) :: Bool where+    IsArrayLen 1 = 'False+    IsArrayLen _ = 'True++-- | Length of an array that is a field of a structure or union+type FieldArrayLength (fname :: Symbol) (a :: Type)+    = FLength (FieldRep fname a)++type CanReadField (fname :: Symbol) (a :: Type)+    = ( HasField fname a+      , IsTrue (ErrorNotReadableField fname a)+               (FCanRead (FieldRep fname a))+      , Storable (FieldType fname a))++type CanWriteField (fname :: Symbol) (a :: Type)+    = ( HasField fname a+      , IsTrue (ErrorNotWritableField fname a)+               (FCanWrite (FieldRep fname a))+      , Storable (FieldType fname a))++type CanReadFieldArray (fname :: Symbol) (a :: Type)+    = CanReadField fname a++type CanWriteFieldArray (fname :: Symbol) (a :: Type)+    = CanWriteField fname a++instance VulkanMarshal (VkStruct a)+       => Eq (VkStruct a) where+    a == b = EQ == cmpBytes# (sizeOf a) (unsafeAddr a) (unsafeAddr b)+    {-# INLINE (==) #-}++instance VulkanMarshal (VkStruct a)+       => Ord (VkStruct a) where+    compare a b = cmpBytes# (sizeOf a) (unsafeAddr a) (unsafeAddr b)+    {-# INLINE compare #-}++instance VulkanMarshal (VkStruct a)+       => Storable (VkStruct a) where+    sizeOf ~_ = sSize @(StructRep (VkStruct a))+    {-# INLINE sizeOf #-}+    alignment ~_ = sAlign @(StructRep (VkStruct a))+    {-# INLINE alignment #-}+    peek (Ptr addr)+      | I# n <- sSize @(StructRep (VkStruct a))+      , I# a <- sAlign @(StructRep (VkStruct a))+      = IO+      (\s -> case newAlignedPinnedByteArray# n a s of+        (# s1, mba #) -> case copyAddrToByteArray# addr mba 0# n s1 of+          s2 -> case unsafeFreezeByteArray# mba s2 of+            (# s3, ba #) -> (# s3, unsafeFromByteArrayOffset 0# ba #)+      )+    {-# INLINE peek #-}+    poke (Ptr addr) x+      = c_memcpy addr (unsafeAddr x) (fromIntegral $ sSize @(StructRep (VkStruct a)))+    {-# INLINE poke #-}+++instance VulkanMarshal (VkStruct a)+       => Show (VkStruct a) where+    showsPrec d x+      = showParen (d >= 11)+      $ (.) (showString (sName @(StructRep (VkStruct a))) . showString " {")+      $ (\(b, s) -> if b then dropIt . s else s )+      $ enumerateFields @(StructFields (VkStruct a))+        ( \(_ :: Proxy# m) s -> case isThatField @m of+            Refl ->+              ( True+              , sepIt . showString (fName @m)+                . showString " = " . showField @(FName m) @m+                . snd s+              )+        ) (False, showString "}")++      where+        (dropIt, sepIt) = if sIsUnion @(StructRep (VkStruct a))+                          then (drop 3, showString " | ")+                          else (drop 2, showString ", ")+        isThatField :: m :~: FieldRep (FName m) (VkStruct a)+        isThatField = unsafeCoerce (Refl :: m :~: m)+        showField :: forall (fname :: Symbol) (m :: FieldMeta)+                   . ( VulkanField m+                     , fname ~ FName m+                     , m ~ FieldRep fname (VkStruct a)+                     )+                  => ShowS+        showField = case fLength @m of+            0 -> showString "[]"+            1 -> shows @(FType m) (getF 0)+            m -> showChar '[' . drop 2+               . foldr (\i s -> showString ", " . shows @(FType m) (getF i) . s)+                       id [0..m-1]+               . showChar ']'+          where+            getF :: Int -> FType m+            getF i = unsafeDupablePerformIO $+              peekByteOff @(FType m) (unsafePtr x)+                (fByteOffset @m + i * sizeOf @(FType m) undefined)+            {-# NOINLINE getF #-}++++-- | Whether this field marked optional in vulkan specification.+--   Usually, this means that `VK_NULL` can be written in place+--   of this field.+fieldOptional :: forall (fname :: Symbol) (a :: Type)+               . HasField fname a => Bool+fieldOptional = fOptional @(FieldRep fname a)++-- | Offset of a field in bytes.+fieldOffset :: forall (fname :: Symbol) (a :: Type)+             . HasField fname a => Int+fieldOffset = fByteOffset @(FieldRep fname a)++-- | Length of an array that is a field of a structure or union.+--+--   Returns @1@ if this field is not an array.+fieldArrayLength :: forall (fname :: Symbol) (a :: Type)+                  . HasField fname a => Int+fieldArrayLength = fLength @(FieldRep fname a)++getField :: forall (fname :: Symbol) (a :: Type)+          . CanReadField fname a => a -> FieldType fname a+getField x = unsafeDupablePerformIO $+    peekByteOff (unsafePtr x) (fieldOffset @fname @a)+{-# NOINLINE getField #-}++readField :: forall (fname :: Symbol) (a :: Type)+           . CanReadField fname a => Ptr a -> IO (FieldType fname a)+readField p = peekByteOff p (fieldOffset @fname @a)++writeField :: forall (fname :: Symbol) (a :: Type)+            . CanWriteField fname a => Ptr a -> FieldType fname a -> IO ()+writeField p = pokeByteOff p (fieldOffset @fname @a)++-- | Index an array-type field. No bound checks.+getFieldArrayUnsafe :: forall (fname :: Symbol) (a :: Type)+                     . CanReadFieldArray fname a => Int -> a -> FieldType fname a+getFieldArrayUnsafe i = f+  where+    off = fieldOffset @fname @a + i * sizeOf @(FieldType fname a) undefined+    f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+    {-# NOINLINE f #-}++-- | Read from an array-type field. No bound checks.+readFieldArrayUnsafe :: forall (fname :: Symbol) (a :: Type)+                      . CanReadFieldArray fname a => Int -> Ptr a -> IO (FieldType fname a)+readFieldArrayUnsafe i p = peekByteOff p off+  where+    off = fieldOffset @fname @a + i * sizeOf @(FieldType fname a) undefined++-- | Write to an array-type field. No bound checks.+writeFieldArrayUnsafe :: forall (fname :: Symbol) (a :: Type)+                       . CanWriteFieldArray fname a+                      => Int -> Ptr a -> FieldType fname a -> IO ()+writeFieldArrayUnsafe i p = pokeByteOff p off+  where+    off = fieldOffset @fname @a + i * sizeOf @(FieldType fname a) undefined+++getFieldArray :: forall fname idx a+               . (CanReadFieldArray fname a, IndexInBounds fname idx a, KnownNat idx)+              => a -> FieldType fname a+getFieldArray = getFieldArrayUnsafe @fname @a+  (fromInteger $ natVal' (proxy# :: Proxy# idx))+{-# INLINE getFieldArray #-}++readFieldArray :: forall fname idx a+                . (CanReadFieldArray fname a, IndexInBounds fname idx a, KnownNat idx)+               => Ptr a -> IO (FieldType fname a)+readFieldArray = readFieldArrayUnsafe @fname @a+  (fromInteger $ natVal' (proxy# :: Proxy# idx))+{-# INLINE readFieldArray #-}+++writeFieldArray :: forall fname idx a+                 . (CanWriteFieldArray fname a, IndexInBounds fname idx a, KnownNat idx)+                => Ptr a -> FieldType fname a -> IO ()+writeFieldArray = writeFieldArrayUnsafe @fname @a+  (fromInteger $ natVal' (proxy# :: Proxy# idx))+{-# INLINE writeFieldArray #-}++++type IndexInBounds (s :: Symbol) (i :: Nat) (a :: Type)+  = IndexInBounds' s i a (CmpNat i (FieldArrayLength s a))++type family IndexInBounds' (s :: Symbol)+                           (i :: Nat)+                           (a :: Type) (r :: Ordering) :: Constraint where+  IndexInBounds' _ _ _ 'LT = ()+  IndexInBounds' s i a _ = TypeError ( ErrorIndexOutOfBounds s i a )+++--------------------------------------------------------------------------------+-- * Type-level errors+--------------------------------------------------------------------------------++type family IsTrue (errMsg :: ErrorMessage) (bool :: Bool) :: Constraint where+  IsTrue _   'True  = ()+  IsTrue err 'False = TypeError err++type ErrorNoSuchField (s :: Symbol) (a :: Type)+  = 'Text "Structure " ':<>: 'ShowType a+  ':<>: 'Text " does not have field " ':<>: 'ShowType s ':<>: 'Text "."+  ':$$: 'Text "Note, this structure has following fields: "+        ':<>: 'ShowType (StructFieldNames a)++type ErrorIndexOutOfBounds (s :: Symbol) (i :: Nat) (a :: Type)+  = 'Text "Array index " ':<>: 'ShowType i ':<>:+    'Text " is out of bounds for '" ':<>:+    'Text s ':<>: 'Text "',  member of type " ':<>: 'ShowType a ':<>: 'Text "."+  ':$$:+    'Text "Note: the array size is "+      ':<>: 'ShowType (FieldArrayLength s a) ':<>: 'Text "."++type ErrorNotReadableField (s :: Symbol) (a :: Type)+  = 'Text "Field " ':<>: 'ShowType s ':<>:+    'Text " of structure " ':<>: 'ShowType a ':<>:+    'Text " is not readable."++type ErrorNotWritableField (s :: Symbol) (a :: Type)+  = 'Text "Field " ':<>: 'ShowType s ':<>:+    'Text " of structure " ':<>: 'ShowType a ':<>:+    'Text " is not writable."+++--------------------------------------------------------------------------------+-- * Utilities for CString+--------------------------------------------------------------------------------++-- | Perform an action on a C string field.+--   The string pointers should not be used outside the callback.+--   It will point to a correct location only as long as the struct is alive.+withCStringField :: forall fname a b+                 . ( CanReadFieldArray fname a+                   , FieldType fname a ~ CChar+                   , VulkanMarshal a+                   )+                 => a -> (CString -> IO b) -> IO b+withCStringField x f = do+  r <- f (unsafeCStringField @fname @a x)+  touchVkData x+  pure r++-- | Get pointer to a memory location of the C string field in a structure.+unsafeCStringField :: forall fname a+                   . ( CanReadFieldArray fname a+                     , FieldType fname a ~ CChar+                     , VulkanMarshal a+                     )+                   => a -> CString+unsafeCStringField x = unsafePtr x `plusPtr` fieldOffset @fname @a+++getStringField :: forall fname a+                . ( CanReadFieldArray fname a+                  , FieldType fname a ~ CChar+                  , VulkanMarshal a+                  )+               => a -> String+getStringField x+    = case takeForce (fieldArrayLength @fname @a)+         . unsafeDupablePerformIO+         $ withCStringField @fname @a x peekCString of+        ((), s) -> s++readStringField :: forall fname a+                . ( CanReadFieldArray fname a+                  , FieldType fname a ~ CChar+                  , VulkanMarshal a+                  )+               => Ptr a -> IO String+readStringField px = do+  ((), s) <- takeForce (fieldArrayLength @fname @a)+         <$> peekCString (px `plusPtr` fieldOffset @fname @a)+  return s++writeStringField :: forall fname a+                  . ( CanWriteFieldArray fname a+                    , FieldType fname a ~ CChar+                    , VulkanMarshal a+                    )+               => Ptr a -> String -> IO ()+writeStringField px =+  pokeArray0 '\0' (px `plusPtr` fieldOffset @fname @a)++takeForce :: Int -> String -> ((), String)+takeForce 0 _      = ((), [])+takeForce _ []     = ((), [])+takeForce n (x:xs) = seq x $ (x:) <$> takeForce (n-1) xs+++-- | Check first if two CString point to the same memory location.+--   Otherwise, compare them using C @strcmp@ function.+cmpCStrings :: CString -> CString -> Ordering+cmpCStrings a b+  | a == b = EQ+  | otherwise = c_strcmp a b `compare` 0++-- | Check first if two CString point to the same memory location.+--   Otherwise, compare them using C @strncmp@ function.+--   It may be useful to provide maximum number of characters to compare.+cmpCStringsN :: CString -> CString -> Int -> Ordering+cmpCStringsN a b n+  | a == b = EQ+  | otherwise = c_strncmp a b (fromIntegral n) `compare` 0++foreign import ccall unsafe "strncmp"+  c_strncmp :: CString -> CString -> CSize -> CInt++foreign import ccall unsafe "strcmp"+  c_strcmp :: CString -> CString -> CInt  -- | Internal function used to implement Eq and Ord instances for Vulkan structs. --   Compares first n bytes of two memory areas.
vulkan-api.cabal view
@@ -3,7 +3,7 @@ -- it is autogenerated at genvulkan/src/Write/Cabal.hs -- name:                vulkan-api-version:             1.2.0.0+version:             1.3.0.0 synopsis:            Low-level low-overhead vulkan api bindings description:     Haskell bindings for vulkan api as described in vk.xml.@@ -439,7 +439,7 @@     build-depends:         base >= 4.9 && < 5     default-language:    Haskell2010-    ghc-options:         -Wall -fno-warn-duplicate-exports+    ghc-options:         -Wall     include-dirs:        include     c-sources:           cbits/vulkan_loader.c     if flag(useNativeFFI-1-0) || flag(useNativeFFI-1-1)